Está en la página 1de 31

UTN Concordia

Curso de Linux

Materia: Arquitectura y Sistemas Operativos

Parte II

Profesor: Luis M. Magariños

Mail: luismagarinos@yahoo.com.ar
Distribuciones GNU/Linux

GNU/Linux es gratis, ¿pero dónde lo consigo?.

Habría que identificar y bajar, o bien pedir


prestado cada uno de los componentes del
sistema (kernel, gcc, glibc, Emacs, KDE/Gnome,
etc.).

Sin duda, esta es una tarea bastante tediosa...

...pero, por suerte hay gente que se encarga de


ésto por nosotros:

¡¡¡Los maintainers de las distintas


distribuciones!!!
¿Qué es una Distribución?

Una distribución es una colección de paquetes


de software, recopilados por un determinado
grupo de personas.

Actualmente existen 500 distribuciones


indexadas en la conocida página
http://www.distrowatch.com/.

¿ Porque existiran tantas distribuciones ?

A continuación repasaremos los puntos fuertes y


los puntos flojos de las principales distribuciones.
Principales Distribuciones

Slackware (popular entre la guardia vieja)

Debian (el abuelo de casi todas las distros)

RedHat/Fedora Core/CentOS (orientada a servers)

Gentoo (acá compilás hasta el compilador)

Knoppix (la principal distro basada en LiveCD).

Ubuntu/Kubuntu (la más popular actualmente)

Huayra (distro Argentina programa Conectar Igualdad y


Aprender Conectados)
¿Qué es un LiveCD?

Las distribuciones basadas en LiveCD, hacen entrar la


totalidad del sistema operativo en un CD.

La idea es bootear la computadora desde ese CD y


obtener un sistema GNU/Linux operacional.

Autodetecta tanto el hardware como la configuración de


la red o de la placa de sonido.

El disco rígido no se toca para nada.

Es ideal para experimentar nuevas distros. O bien, para


usar una computadora prestada.
¿Por qué tantas?
Para instalar GNU/Linux necesito elegir una distro
entre 500 + o - alternativas.

¿¿Por qué tantas?? (Rsta: ¿y por qué no?)

Los maintainer son libres de hacer lo que quieran.

Suelen surgir como respuesta a alguna carencia de


las distros más populares.

Para consultar sobre las distros mas importantes:


http://www.distrowatch.com
http://www.linux.org/dist.
Archivos

UNIX (y también GNU/Linux) está fuertemente orientado a los


archivos.

Los archivos GNU/Linux cumplen con las siguientes reglas:

Nombres de 1 a 255 caracteres.

Se puede utilizar cualquier caracter excepto /, sin


embargo no se recomienda el uso de =\^~´“'*;-?[]()!&<>

Se pueden emplear números.


Archivos (cont.)

Extensiones GNU/Linux vs. M$-Window$.

Existen tres tipos de archivos GNU/Linux:

Archivos comunes.

Directorios.

Archivos especiales (Dispositivos).


Organización del Sistema de archivos
• Un sistema de archivos define la estructuras de datos que el S.O.
emplea para almacenar, organizar jerárquicamente, acceder,
navegar y recuperar información.
Organización del
Sistema de Archivos (cont.)

Todo disco/partición debe “inicializarse” antes de


funcionar como sistema de archivos.

La mayoría de los UNIX comparten una estructura


similar en lo referente al sistema de archivos, sin
embargo los detalles varían.

GNU/Linux presenta una única estructura jerárquica


de directorios (a diferencia de M$ Windows). Todo
archivo comienza a partir del directorio raiz,
representado por /
Organización del
Sistema de Archivos (cont.)

GNU/Linux utiliza / en vez de \ (M$-Win) debido a


la tradición UNIX.

Case sensitive. hola y HoLa son distintos.


Organización del
Sistema de Archivos (cont.)

Todo sistema de archivos debe “montarse” (mount)


para que pueda emplearse.

Por ejemplo podría montar el directorio /usr de


una máquina remota en mi sistema.
Sistema de Archivos (cont.)
◼ fd0 Primera unidad de disquetes (a: en sistemas MS-DOS y Windows).
◼ fd1 Segunda unidad de disquetes (b: en sistemas MS-DOS y Windows).
◼ hda Primer disco duro IDE (Primary Master).
◼ hda0 Primera partición del primer disco duro IDE (Primary Master).
◼ hda1 Segunda partición del primer disco duro IDE (Primary Slave).
◼ hdb0 Primera partición del segundo disco duro IDE (Secondary Master).
◼ hdb1 Segunda partición del segundo disco duro IDE (Secondary Slave).
◼ sda Primer disco duro SCSI.
◼ sda1 Primera partición del primer disco duro SCSI.
◼ sdb4 Cuarta partición del segundo disco duro SCSI.
◼ scd0 Primera unidad de CD-ROM SCSI.
◼ scd1 Segunda unidad de CD-ROM SCSI.
◼ sga Primer dispositivo genérico SCSI (scanner, etc.).
◼ sgb Primer dispositivo genérico SCSI.
◼ sg0 Primer dispositivo genérico SCSI en sistemas nuevos.
Organización del
Sistema de Archivos (cont.)

Aclaración importante:

El comando umount, el cual se emplea para


“desmontar” un dispositivo en forma lógica, no
física!

Ejemplo: umount /dev/cdrom. Este comando


desmonta el correspondiente dispositivo. NO
separa la lectora de CDs del resto del
sistema!!!

”NO saque la lectora de CDs!”


Organización del
Sistema de Archivos (cont.)
◼ CD-ROM:
◼ mount -t iso9660 /dev/cdrom /mnt/cdrom -o ro
◼ umount /mnt/cdrom

◼ Directorio exportado de host2:


◼ mount -t nfs host2:/tmp /mnt/host2
◼ umount /mnt/host2
El Directorio Raiz
/bin Binarios (comandos) esenciales (para todos los usuarios).

/dev Dispositivos (devices).

/etc Configuración del sistema.

/lib Librerías compartidas (esenciales) y módulos del kernel.

/mnt Punto de “montaje” de sistemas de archivos temporales.

/sbin Binarios de sistema esenciales (para el usuario


administrador).

/tmp Archivos temporales (Windows: c:\TEMP).

/usr Jerarquía secundaria (Windows: C:\Archivos de Programas\).

/var Información variable,Ej archivos log, de registros, bases


de datos, etc.
El Directorio Raiz
/boot Archivos estáticos empleados por el boot loader.

/media Punto de “montaje” de sistemas de archivos


removibles. Ej. /pendrive, /dvd

/Swap Se almacena la memoria virtual.

Si existiesen:

/home Directorios de los usuarios (opcional).

/root Directorio del administrador (root) (opcional).


Seguridad: Permisos

GNU/Linux, al igual que todos los sistemas UNIX, mantiene un sistema


de permisos de acceso a los ficheros muy estricto, a fin de controlar
qué es lo que se puede hacer con ellos, y quién lo puede hacer.

Estos permisos se identifican con letras y son:

r permiso de lectura.

w permiso de escritura.

x permiso de ejecución. EXE Win vs. +x GNU/Linux.

USUARIO GRUPO OTROS(resto)


rwx rwx rwx
Seguridad: Permisos Especiales

Adicionalmente se cuenta con los siguientes permisos especiales:

Permiso para cambiar el propietario (set user ID o setuid)


durante la ejecución del proceso.

Permiso para cambiar el grupo (set group ID o setgid)


durante la ejecución del proceso.
Notación Simbólica
La representación más usual para los permisos es la notación
simbólica. Este esquema emplea series de 10 caracteres.

El primer caracter corresponde al tipo de archivo

Los 9 restantes corresponden a los permisos para usuarios,


grupos y el resto:

3 para el usuario (r w x)

3 para el grupo (r w x)

3 para el resto (r w x)
Ejemplos: tipo usuario grupo otros

- rwx rwx rwx

1 + 3 + 3 + 3 = 10 caracteres
Notación Simbólica
La representación más usual para los permisos es la notación
simbólica. Este esquema emplea series de 10 caracteres.

El primer caracter indica el tipo de archivo:

'-' archivo regular,

'd' directorio,

'b' archivo especial (bloque),

'c' archivo especial (caracter),

'l' link (enlace) simbólico (apunta a otro archivo por su nombre y no


por su i-nodo, esto permite apuntar a archivos localizados en otras particiones)
Notación Simbólica (cont.)

Ejemplo de los 9 caracteres restantes:

"-rwxr-xr-x" para un archivo regular con permisos


completos para el usuario y lectura y ejecución para el
grupo y el resto.

"crw-rw-r--" para un archivo caracter con lectura y


escritura para el dueño y el grupo y sólo lectura para el
resto.

"dr-x------" para un directorio con lectura y ejecución (CD)


para el dueño y sin permisos para el grupo y el resto.
Notación Octal

Para permisos usuales:

r suma 4,

w suma 2,

x suma 1.
Ejemplos: usuario grupo otros

"-rwxr-xr-x" (4+2+1)(4+0+1)(4+0+1) 755

"-rw-rw-r--“ (4+2+0)(4+2+0)(4+0+0) 664

"-r-x------“ (4+0+1)(0+0+0)(0+0+0) 500


Notación Octal Permisos Especiales
Para permisos especiales (4to dígito octal): letra “s”

setuid suma 4,

setgid suma 2,

sticky suma 1.

Ejemplos:

"-rwx r-x r-x" 0755. (4+2+1)(4+0+1)(4+0+1)

"-rw- rw- ---" 0664. (4+2+0)(4+2+0)(0+0+0)

"-rws xr-s -r-x" 6745.(4+2+0)(4+2+1)(4+0+0)(4+0+1)


Perm.Especial-usuario-grupo-resto
Notación Octal Permisos Especiales
Comando Chmod

Modificar permisos de archivos.

chmod 777 miarchivo

Comando Chown

Cambia el propietario de un archivo

chown -R nuevopropietario /rutadelarchivo

Comando Chgrp

modifica el grupo propietario del archivo o directorio.

chgrp nuevogrupo /rutadelarchivo


Shell de Comandos
$ comando [opciones] [parametros]

Ejemplo:

$ ls

$ ls –R //lista todos los archivos recursivamente

$ rm –r carpeta // O J O !!!!! Siendo root se borra todo !!!

$ cp archivoOrigen archivoDestino

$ cp index.html index-orig.html
Shell de Comandos
Comando Significado Ejemplo

pwd Determina el directorio en el cual se esta actualmente # pwd

ls Lista archivos y directorios # ls <opcion> <directorio>

cd Cambia el directorio actual # cd <directorio>

mkdir Crea un directorio nuevo # mkdir <nuevo directorio>

rmdir Elimina un directorio vacio # rmdir <nombre directorio>

touch Crea un archivo vacio # touch <nombre archivo>

cp Copia un archivo # cp <opciones> <origen>


<destino>
Shell de Comandos cont…
Comando Significado Ejemplo

mv Mueve o Renombra un archivo # mv <opcion> <origen>


<destino>

rm Elimina archivos # rm <opciones> <nombre


archivo>

file Determina el tipo de archivo: archivos regulares de # file <opcion> <archivo>


datos, directorio, especiales : caracteres, block.

more Muestra por pantalla un archivo de texto # more <opciones>


<archivo>

head Muestra por pantalla solo el comienzo del contenido # head <opciones>
de un archivo <archivo>

tail Muestra por pantalla solo el final del contenido de un # tail <opciones> <archivo>
archivo

vi Editor de texto # vi <archivo>


Shell de Comandos cont…
Comando Significado Ejemplo

pico Editor de texto # pico <archivo>

emacs Editor de texto # emacs <archivo>

grep Buscar texto dentro de un archivo # grep <opciones>


<archivo> <patron>

; Ejecuta mas de un comando a la vez # comando1; comando2;


comando3

> Redirecciona la salida de un comando, si no existe # comando >


crea el archivo, en caso contrario lo pisa. DESTINO_DE_LA_SALIDA

>> Redirecciona la salida de un comando, si no existe # comando > >


crea el archivo, en caso contrario lo agrega al final. DESTINO_DE_LA_SALIDA

2> Redirecciona la salida correspondiente a un error # comando 2>


de una comando. DESTINO_DE_LOS_ERRO
RES
Shell de Comandos cont…
Comando Significado Ejemplo

| Cañerias (Pipes) La salida de un comando pasa ha # ls | more


ser la entrada de otro comando

ps Muestra la lista de procesos que se están # ps


ejecutando en este momento

jobs Chequea el estado de un proceso # jobs

Ctrl + c Interrumpe una tarea que se esta ejecutando en


primer plano

Ctrl + z Suspende una tarea que se esta ejecutando en


primer plano

fg Coloca un proceso en primer plano # fg <PID>

bg Coloca un proceso en segundo plano, devolviendo el # bg <PID>


control a través de la línea de comando
Shell de Comandos cont…
Comando Significado Ejemplo

& Colocado al final de la linea de comando ejecuta en # comando &


segundo plano

--help Ayuda en línea sobre comando. # comando --help

Man Manual completo de ayuda en línea de comando. # man

sudo Ejecuta procesos con los privilegios del root # sudo comando

su Cambia a otro usuario. Sin parámetros cambia a # su


supervisor o root

kill Envía una señal a un proceso, generalmente la # kill <señal> PID


señal consiste en matarlo.

top Permite ver los procesos que se encuentran # top


ejecutándose en este momento y además enviarles
señales

También podría gustarte