Está en la página 1de 86

Certificacin LPIC-1

Certificacin LPI 101


Mtodos de Instalacin
Mtodos de instalacin alternativos
El proceso de instalacin de Sistemas Operativos Linux es una tarea similar para casi
todas las distribuciones Linux existentes. Una de las formas mas usadas e
implementadas es la basada en los discos de instalacin de Linux los cuales puedes
descargar directamente en formato .ISO desde la pagina oficial de la distribucin Linux
que tu elijas. As mismo, existen mtodos de instalacin alternativos que pueden ser
aplicados cuando por ejemplo no disponemos de un lector DVD en el equipo, algunos
de estos mtodos alternativos de instalacion son los siguientes:

Mediante un servidor HTTP


Mediante un Disco Duro

Instalacion desde CD o DVD


Varias distribuciones linux asignan diferentes nombres para la estructura de sus carpetas
de sus discos de instalacion, la escructura generica de estos directorios es la siguiente:

Carpeta paquetes
Esta carpeta contiene los paquetes precompilados de Linux. La siguiente tabla muestra
los nombres asociados a la carpeta paquetes de cada una de las distribuciones linux
mas relevantes.
Sistema Operativo
Red Hat
CentOS
Fedora
Debian
Ubuntu

Carpeta que almacena los paquetes


precompilados
Server
CentOS
Fedora
dists
dists

Carpeta imagenes
Esta carpeta alberga los ficheros necesarios para llevar a cabo el proceso de instalacion
de Linux como son:
1.Ficheros de boteo para el arranque de Linux 2.Modulos del Nucleo de Linux
3.Ficheros para el rescate de sistemas Linux Algunos de estos ficheros pueden ser
copiados a una memoria USB o CD para ser usados como discos de arranque. Para
sistemas operativos Linux de la familia Red Hat la carpeta imagenes esta relacionada
con las carpetas

Certificacin LPIC-1

images
isolinux

Para sistemas operativos Linux de la Familia Debian la carpeta imagenes esta


relacionada con las carpetas

casper
isolinux

Carpeta dosutils
Este directorio contiene herramientas que pueden ser usadas para preparar la instalacion
de Linux. Estas herramientas son programas diseadas en MS-DOS muy partiularmente
el comando rawrite. Rawrite es un programa que graba una imagen de un archivo en un
disquette,cd o USB. Puede ser usado para grabar la imagen de un sistema operativo que
sea utilizable como disco de arranque. La versin original fue escrita por Mark E.
Becker a peticin de Linus Torvalds Existen versiones para otros sistemas operativos.
En Linux y otros Unix se puede usar la orden dd que ya viene incluida con el sistema
operativo.

Instalacion desde un servidor HTTP

Configuracion de la instalacion HTTP


1.El primer paso sera instalar el servidor HTTP. Para sistemas operativos Linux de la
familia Red Hat la instalacion de hace de la siguiente manera
[BASH] yum install -y httpd

Para sistemas operativos Linux de la familia Debian la instalacion de hace de la


siguiente manera
[BASH] apt-get install -y apache2

2.El siguiente paso sera introducir el medio de instalacion DVD a la unidad lectora de
discos, crear una carpeta dentro de la carpeta publica del servidor HTTP y luego
montarlo sobre dicha carpeta. Para sistemas operativos Linux de la familia Red Hat la
ubicacion de la carpeta publica es la siguiente:
/var/www/html/

Dentro de esta ruta se tiene que crear la carpeta y nombrarla con el nombre que usted
elija.
Para sistemas operativos Linux de la familia Debian la instalacion de hace de la
siguiente manera
/var/www/

Certificacin LPIC-1
Dentro de esta ruta se tiene que crear la carpeta y nombrarla con el nombre que usted
elija.
El comando para montar el medio de instalacion DVD es el siguiente:
[BASH] mount -t iso9660 -o loop /dev/dvd

/var/www/html/carpeta

Esto ultimo para sistemas operativos Linux de la familia Red Hat y para sistemas
operativos Linux de la familia Debian
[BASH] mount -t iso9660 -o loop /dev/dvd

/var/www/carpeta

3.Una vez montado el DVD en la carpeta publica del servidor HTTP deberas copiar el
fichero
boot.iso

al escritorio de trabajo o en algun otro lugar Este fichero lo podras encontrar dentro de
la carpeta
images

La ruta completa donde puedes escontrar este fichero es la siguiente:


/var/www/html/carpeta/images/boot.iso

Esto ultimo para sistemas operativos Linux de la familia Red Hat y para sistemas
operativos Linux de la familia Debian
/var/www/carpeta/images/boot.iso

4.Graba el fichero
boot.iso

en formato .iso en un CD con ayuda da algun programa de grabacion de datos como


K3B o Brasero.
5.Inserta el CD de arranque que acabas de crear en el lector del servidor y teclea enter.
6.Selecciona el idioma y tipo de teclado correspondiente:
7.En la seccion Metodo de Instalacion elige HTTP
8.En configuracion TCP/IP deshabilita la opcion IPv6 y solo deja habilitada la opcion
Ipv4
9.En configuracion HTTP deberas teclear la direccion IP en la cual tienes montado el
medio de instalacion DVD asi como tambien el nombre del directorio publico que
creaste en el servidor HTTP y teclear el boton Acpetar
NOTA:Este metodo de instalacion solo es aplicable a distribuciones Linux de la
familia Red Hat

Certificacin LPIC-1
Instalacion desde un disco duro

Configuracion de la instalacion desde disco duro


1.El procedimiento es relativamente parecido al anterior para ello debera contar con lo
siguiente:

medio de Instalacion DVD


La imagen .ISO de la distribucion

1.Si usted cuenta con el medio de instalacion DVD debera convertir este en una imagen
.ISO, si ya cuenta con la imagen .ISO omita este punto y salte al siguiente paso, si no es
asi siga leyendo. Inserte el medio de instalacion DVD en el lector del equipo y teclee el
siguiente comando para crear la imagen .ISO
[BASH] dd if=/dev/dvd

of=/Ruta/En/Donde/Creara/La/Imagen/imagen.iso

2.Monta la imagen .ISO de la siguiente manera


[BASH] mount -t iso9660 -o loop imagen.iso /punto/De/Montaje

3.Copia los ficheros


* initrd.img

vmlinuz}}}

En alguna carpeta del sistema Estos ficheros los podras encontrar en la carpeta
isolinux

de la imagen .ISO que acabas de montar


5.Edita el fichero
/boot/grub/menu.lst

Y agrega el siguiente contenido al final del archivo


En esta linea usted puede agregar un comentario sobre el Sistema Operativo a
title
Instalar
En esta linea se indica el disco duro y la particion del disco duro en donde se
encuentra localizada la imagen .ISO del sistema operativo
kernel En esta linea se indica la ruta en donde copio el fichero vmlinuz
initrd En esta linea se indica la ruta en donde copio el fichero initrd.img
root

No olvides guardar los cambios hechos al fichero


6.Desmonta la imagen .ISO de la siguiente forma:
[BASH] umount /punto/De/Montaje/imagen.iso

Certificacin LPIC-1
7.Lo siguiente sera reiniciar el equipo y justo cuando arranque el GRUB elegir la linea
de instalacion del sistema Operativo Esta accion cargara el instalador del Sistema
Operativo como si estuviera leeyendolo desde el medio de instalacion DVD

Disco de Rescate Linux


Si tu sistema operativo Linux se corrompe es posible recuperarlo usando un CD de
rescate, este CD de rescate es una version reducida de Linux que implementa un sistema
de ficheros en la memoria RAM del equipo el cual tiene como funcion acceder al
sistema de ficheros del disco duro como usuario root

Comenzado con el Disco de Rescate Linux


1.Introduce el medio de instalacion DVD en el lector de discos del equipo
2.Teclea en la pantalla la palabra
linux rescue

3.Selecciona el idioma y tipo de teclado correspondiente:


4.En configuracion de red, selecciona la opcion No
5.La siguiente ventana emergente intentara montar el sistema de ficheros de nuestro
equipo en la ruta virtual /mnt/sysimage. Seleccione la opcion Continuar
6.Al terminar el proceso de arranque este nos mostrara una interfaz parecida al BASH
7.Teclee el comando
[BASH] fdisk /dev/hda

Esta accion nos arrojara el siguiente mensaje Presione la tecla p , esto nos mostrara
una lista con las distintas particiones alojadas en el disco duro, algo muy parecido al
siguiente ejemplo
8.De acuerdo a la informacion obtenida en el anterior punto, monte la particion que
contenga el sistema de ficheros de linux. Ejemplo:
[BASH] mount -t ext3 /dev/hda1 /tmp

9.Aplique el comando
chroot

Sobre la particion que acaba de montar Ejemplo:


[BASH] chroot /tmp

Esto es porque existen dos sistemas de archivos , uno relacionado al virtualizando en la


memoria RAM y el segundo relacionado al sistema de ficheros del disco duro. Al

Certificacin LPIC-1
aplicar chroot sobre la particion montada tomaremos el control sobre el sistema de
ficheros del disco duro y con ello podremos ajecutar comandos administrativos sobre el
equipo. 10.Por ultimo, si olvido la contrasea de root o si esta fue cambiada por alguien
mas , podra recuperarla tecleando en consola lo siguiente:
[BASH] passwd

Cambiando la contrasea del usuario root. Nueva UNIX contrasea:}}}

Certificacin LPIC-1
Arquitectura del Sistema
Asignacion de recursos
Para permitir que los perifericos y dispositivos del equipo se comuniquen directamente
con los recursos del sistema , en particular con el CPU (Central Processing Unit) el
sistema asigna recursos tales como lneas y canales de comunicacion para cada
dispositivo. Muy particulamente, estos recursos son conocidos como solicitudes de
interrupcion (IRQ), direcciones de entrada/salida y accesos directos a memoria(DMA).

Solicitudes de interrupcion (IRQ)


Antes de explicar que es una solicitud de interrupcion, entendamos primero cual es la
funcion de un procesador. El procesador es el encargado de procesar y administrar los
datos y peticiones que a este llegan, sin embargo un solo procesador no es capaz de
procesar simultaneamente varias peticiones , por lo que solo atiende de una a una las
peticiones que a el llegan, aqui es donde las solicitudes de interrupcion empiezan a jugar
un papel importante. Suponga que un programa1 est siendo atendido por el procesador
pero subitamente una solicitud de interrupcin llega al procesador,es entonces cuando el
programa1 llega a ser momentaneamente suspendido por un programa2. Este programa2
es ahora el atendido por el procesador y hasta que este termine de ser atendido el
programa1 interrumpido puede continuar ejecutndose . Una interrupcin se convierte
en una interrupcin de hardware cuando es solicitada por uno de los componentes de
hardware del equipo. Cuando un perifrico desea acceder a un recurso, enva un pedido
de interrupcin al procesador para llamar su atencin. Los perifricos cuentan con un
nmero de interrupcin que se denomina IRQ (Peticiones de Interrupcin. Es como si
cada perifrico tirara de un "hilo" que est atado a una campana para indicarle al equipo
que desea que le preste atencin. Este "hilo" es, de hecho, una lnea fsica que conecta
cada ranura de expansin as como cada interfaz entrada/salida a la motherboard.

Direcciones de Entrada/Salida
Las direcciones de entrada/ salida representan direcciones especificas en la memoria del
sistema, dichas direcciones son asignadas por el CPU a cada uno de los dipositivos del
hardware del sistema para que puedan escribir y leer datos sobre la misma.

Accesos Directos a Memoria (DMA)


El acceso directo a memoria (DMA) permite a cierto tipo de componentes del equipo
acceder a la memoria del sistema para leer o escribir independientemente del
procesador. Muchos sistemas hardware utilizan DMA, incluyendo controladores de
unidades de disco, tarjetas grficas y tarjetas de sonido. DMA es una caracterstica
esencial en todos los equipos modernos, ya que permite a dispositivos de diferentes
velocidades comunicarse sin someter al procesador a una carga masiva de
interrupciones. Una transferencia DMA consiste principalmente en copiar un bloque de
memoria de un dispositivo a otro. En lugar de que el procesador inicie la transferencia,
la transferencia se lleva a cabo por el controlador DMA. Un ejemplo tpico es mover un

Certificacin LPIC-1
bloque de memoria desde una memoria externa a una interna ms rpida. Tal operacin
no ocupa el procesador y como resultado puede ser planificado para efectuar otras
tareas. Las transferencias DMA son esenciales para aumentar el rendimiento de
aplicaciones que requieran muchos recursos.
Regularmente un equipo consta de 8 canales DMA. Los primeros cuatro canales DMA
poseen un ancho de banda de 8 bits mientras que los DMA 4 a 7 poseen a su vez un
ancho de banda de 16 bits. Los canales DMA por lo general suelen asignarse de la
siguiente manera:

DMA0: libre
DMA1: (tarjeta de sonido)/libre
DMA2: controlador de disquete
DMA3: puerto paralelo (puerto de la impresora)
DMA4: controlador de acceso directo a memoria (conectado a DMA0)
DMA1: (tarjeta de sonido)/libre
DMA6: (SCSI)/libre
DMA7: disponible

Listado de asignacion de recursos


El nucleo de linux agrupa la informacion relacionada a la asignacion de recursos en la
carpeta
/proc

Los ficheros relevantes de esta carpeta son los siguientes:


* /proc/dma

---> Fichero que contiene el historio DMA del equipo

/proc/interrupts ---> Fichero que contiene el historico IRQ del equipo


/proc/ioports ---> Fichero que contiene el historico Entrada/Salida del equipo
/proc/pci}}}

La asignacion de recursos tambien pueden ser consultada usando comandos como


* lspci

dmesg}}}

lspci
Lspci es un comando que nos imprime informacion detallada sobre los buses y
dispositivos PCI conectados al equipo. Asi mismo nos da informacion detallada sobre
los IRQ y direcciones de Entrada/Salida asociados a los dispositivos PCI entontrados,
para ello solo se tiene que agregar el parametro -v al comando. Ejemplo
[BASH] lspci -v

Certificacin LPIC-1
dmesg
dmesg (diagnostic message)es un comando que lista el buffer de mensajes del kernel de
linux. Este buffer contiene una gran variedad de mensajes importantes generados
durante el arranque del sistema y durante la depuracin de aplicaciones. Estos mensajes
pueden ser consultado en el fichero
/var/log/messages

Soporte USB
El bus universal en serie (Universal Serial Bus) es un protocolo de comunicacion
diseado para conectar dispositivos a un equipo de computo. Estos dispositivos estan
divididos en cuatro clases
1.Dispositivos de comunicacion (Tarjetas WiFi) 2.Dispositivos de audio (Bocinas,
Microfonos) 3.Dispositivos de almacenamiento de datos (Memorias, Discos Duros,
Lectores DVD) 4.Dispositivos de interfaz humana (Mouse, Teclado)
El soporte para dispositivos USB estuvo disponible hasta la version 2.2.7 del kernel de
linux y con ello la liberacion de 3 modulos o controladores para la misma.
Controlador Desarrollador Modulo para el Kernel
OHCI
Compaq
usb-ohci.o
UHCI
Intel
usb-uhci.o
EHCI
ehci-hdc.o
Asi mismo existe un comando en linux que nos imprime informacion detallada sobre los
buses, dispositivos USB conectados al equipo, IRQ y direcciones de Entrada/Salida
asociados a los dispositivos USB encontrados, el nombre de este comando es el
siguiente.
[BASH] lsusb -v

}
El parametro -v es el encargado de listar la infomacion referente a los IRQ, DMA y las
direcciones de entrada/salida de los dispositivos USB.
Una forma para cononcer si en nuestro sistema operativo tiene soporte para estos
controladores es revisando directamente el fichero de modulos del kernel de linux. La
ruta de este fichero es la siguiente:
/proc/modules

Dispositivos SCSI
Existen dos tipos de interfaces scsi, estas son

Certificacin LPIC-1

Una interfaz de 8 bits con un bus que soporta 8 dispositivos, esta incluye el
controlador por lo tanto slo hay espacio para 7 dispositivos de bloque
Una interfaz de 16 bits con un bus que soporta 16 dispositivos, esta incluye el
controlador por lo tanto slo hay espacio para 15 dispositivos de bloque

Los dispositivos SCSI pueden ser identificados mediante una serie de 3 numeros
llamados SCSI ID, estos son:
1.El canal SCSI 2.El numero ID del dispositivo 3.Numero de unidad logica

El canal SCSI
Cada adaptador SCSI soporta un canal de datos en la que atribuimos los dispositivos
SCSI (discos, CD-ROM, etc). Estos canales estn numerados de 0 en adelante

El numero ID del dispositivo


A cada dispositivo se le asigna un nmero nico de identificacin que se puede ajustar
usando los jumpers del disco SCSI. Este rango de numeros de identificacion van de 0 a
7 para las interfaces de 8 Bits y de 0 a 15 para las interfaces de 16 Bits

Numero de unidad logica


El trmino es originario del protocolo SCSI como una forma de diferenciar unidades de
disco individuales dentro de un bus SCSI tal que un array de discos

Deteccion de dispositivos SCSI


Todos los dispositivos SCSI son listados en el fichero
/proc/scsi/scsi

El cual contiene las caractersitcas de los dispositivos scsi que el equipo a detectado.
Ejemplo:
Attached devices:

Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: ST3200820AS Rev: 3.AA
Type: Direct-Access ANSI SCSI revision: 05}}}

Tarjetas de Red
Las tarjetas de red son el punto neuralgico de la comunicacion del equipo con el exterior
y viceversa. Para ello el kernel debera tener soporte para este tipo de dispositivos. Una
forma de obtener informacion referente a las tarjetas de red del sistema es haciendo uso
de los siguientes comandos:
[BASH] dmesg

[BASH] lspci}}} Ejemplo:


[BASH] dmesg

10

Certificacin LPIC-1
eth0: ADMtek Comet rev 17 at MMIO 0xdffffc00, 00:02:2a:cb:10:2b, IRQ 19.
[BASH] lspci 01:0a.0 Ethernet controller: ADMtek NC100 Network Everywhere Fast
Ethernet 10/100 (rev 11)}}}
En el ejemplo podemos observar que la tarjeta de red cuenta con un chipset ADMtek ,
direccion de entrada/salida 0xdffffc00 y solicitud de interrupcion (IRQ)19. Esta
informacion puede ser usada si el modulo asociado a la tarjeta de red comienza a entrar
en conflictos con el kernel. Tambien es util si se requiere insertar un modulo con una
diferente direccion entrada/salida a travez del comando modprobe.

Configuracion de impresoras
Aunque el tema de impresion es tratado mas a profundidad en el curso LPI 102 aqui
daremos una breve introduccion. Desde la perspectiva del hardware, las impresoras son
detectadas automaticamente por el equipo cuando este es encendido , asi mismo las
impresoras detectadas por el sistema son listadas en el fichero
/var/log/dmesg

La forma de gestionar impresoras en linux se puede hacer de dos metodos. El primero es


mediante una herramienta actualmente en desuso llamada printtool la cual
proporciona un entorno grfico para montar y gestionar impresoras, sin embargo este
paquete ha desaparecido para la mayoria de las distribuciones linux existentes. El
segundo metodo es actualmente el mas implementado para la mayoria de las
distribuciones linux y este lleva por nombre CUPS. CUPS(Common Unix Printing
System) es un sistema de impresin modular para sistemas operativos de tipo Unix que
permite que un equipo acte como servidor de impresin.
Usualmente CUPS guarda todos sus ficheros de configuracion en el fichero
/etc/cups

Y generalmente hace uso del puerto 631 para llevar a cabo la administracion de estos
recursos

Tarjetas de Audio
Existen dos proyectos para el soporte de audio en linux , estos son:

OSS.- Open Sound System


ALSA.- Advanced Linux Sound Architecture

OSS (Open Sound System)


En efecto, OSS es un proyecto comercial que proporciona controladores de audio a otras
plataformas. El controlador libre paso a formar parte del proyecto Linux a partir de la
version 2.0 del kernel de linux

11

Certificacin LPIC-1
ALSA (Advanced Linux Sound Architecture)
Advanced Linux Sound Architecture es un componente del ncleo de Linux destinado a
sustituir al Open Sound Sistema Algunas de las metas de este proyecto desde su
concepcin fueron la configuracin automtica de tarjetas de sonido y el manejo de
mltiples dispositivos de sonido en un slo sistema, metas que han sido alcanzadas en
su mayor parte.

Identificando las tarjetas de audio


Una forma usual de identificar las tarjetas de audio es haciendo uso del comando dmesg
el cual nos informa si el kernel de linux detecto alguna tarjeta de audio. Ejemplo:
[BASH] dmesg | grep ALSA

ALSA sound/pci/hda/hda_codec.c:3303: autoconfig: line_outs=4


(0x14/0x15/0x16/0x17/0x0) ALSA sound/pci/hda/hda_codec.c:3307: speaker_outs=0
(0x0/0x0/0x0/0x0/0x0) ALSA sound/pci/hda/hda_codec.c:3311: hp_outs=0
(0x0/0x0/0x0/0x0/0x0) ALSA sound/pci/hda/hda_codec.c:3312: mono: mono_out=0x0
ALSA sound/pci/hda/hda_codec.c:3320: inputs: mic=0x18, fmic=0x0, line=0x1a,
fline=0x0, cd=0x1c, aux=0x0}}}

Administracion de tarjetas de audio


Una forma de administrar graficamente las tarjetas de audio en Linux es mediante la
herramienta alsamixer. alsamixer es un programa de mezclado de audio para la
arquitectura de sonido de Linux ALSA. Se utiliza para configurar el sonido y ajustar los
volmenes. Tiene una interface para usuarios basada en ncurses (modo texto) y no
necesita del sistema X Window System. Soporta gran variedad de placas de sonidos con
dispositivos mltiples.
-h, -help
-c <nmero de placa o
identificacin>
-D <identificacin de
dispositivo>
-g
-s
-V <modo de vista>

Ayuda: muestra las opciones disponibles.


Selecciona la placa de sonido a utilizar, si en el sistema
existen ms de una placa. Las placas se numeran desde 0 (por
defecto).
Selecciona el mezclador para el control.
Cambia el uso de colores.
Minimiza la ventana del mezclador
Selecciona el modo de vista inicial, reproduccin, captura o
todos.

12

Certificacin LPIC-1
Conociendo el Arranque de Linux
Sobre los Discos Duros
Un disco duro es un dispositivo de almacenamiento masivo de datos que a su vez
tambin puede tener instalado algn Sistema Operativo, as mismo funge como
memoria no voltil, es decir, cuando por alguna razn se interrumpe la energa elctrica
de nuestra casa u oficina la informacin anidada en el mismo se almacena de manera
correcta, salvo algunas excepciones, como por ejemplo cuando se trabaja en tiempo real
con el disco duro y no se guardan con anticipacin dichos cambios. Un ejemplo de
memoria voltil es la memoria RAM (Random Access Memory), ya que este tipo de
memoria solo almacena la informacin de manera temporal y es borrada nuevamente
cuando se interrumpe la energa elctrica de la computadora. Un disco duro (Hard Disk)
emplea un sistema de grabacin magntica el cual es aplicado a una una serie de platos
metlicos apilados girando a gran velocidad. Sobre estos platos se sitan los cabezales
encargados de leer o escribir los impulsos magnticos. Existen distintos tipos de
interfaces y entre las mas comunes se encuentran las siguientes:

IDE-ATA (Integrated Drive Electronics)


SATA (Serial Advanced Technology Attachment)
SCSI generalmente usado en servidores

Tipos de Discos Duros


Como anteriormente mencionamos existen 3 tipos de discos duros:

Discos Duros IDE-ATA

Los discos duros con esta denominacin hacen uso de una interfaz llamada
IDE(Integrated Device Electronics) ATA(Advanced Technology Attachment) que es la
encargada de comunicar al Disco Duro con la tarjeta madre. El estndar IDE-ATA fue
diseado originalmente para conectar discos duros; sin embargo, se desarroll una
extensin llamada ATAPI que permite interconectar otros perifricos de
almacenamiento como unidades de CD o unidades de DVD en una interfaz IDE-ATA.
Habitualmente, un disco duro IDE-ATA puede estar configurado de 3 maneras
diferentes, las cuales son:

Maestro.- Los discos duros con esta configuracin indican a la tarjeta madre que
el debe ser el primero en ser leido y por ende el primero en arrancar
Esclavo.- Los discos duros con este tipo de configuracin no son tomados en
cuenta al momento de arrancar el sistema por lo que el disco duro maestro puede
disponer de los dems discos duros configurados como discos esclavos
Seleccin por cable.- El dispositivo ser maestro o esclavo en funcin de su
posicin en el cable. Si hay otro dispositivo, tambin debe estar configurado

13

Certificacin LPIC-1
como cable select. Si el dispositivo es el nico en el cable, debe estar situado en
la posicin de maestro.
Este diseo IDE-ATA tiene el inconveniente de que mientras se accede a un dispositivo
el otro dispositivo del mismo conector IDE no se puede usar. Este inconveniente est
resuelto en discos duros como los SATA y en SCSI, que pueden usar dos dispositivos
por canal.
Los discos IDE estn mucho ms extendidos que los SCSI debido a su precio mucho
ms bajo. El rendimiento de IDE es menor que SCSI pero se estn reduciendo las
diferencias. En la siguiente figura podemos observar un diagrama que muestra la forma
en cual debe ser conectado un disco duro IDE-ATA.

Discos Duros SATA


Los discos duros con esta denominacin hacen uso de una interfaz llamada Serial
Advanced Technology Attachment que es la encargada de comunicar los dotos del
Disco Duro con la tarjeta madre. Estos discos duros sustituyen a los tradicionales IDEATA, ademas de que proporciona mayores velocidades, mejor aprovechamiento cuando
hay varios discos, mayor longitud del cable de transmisin de datos y capacidad para
conectar discos en caliente (con la computadora encendida). El estndar Serial ATA se
basa en una comunicacin en serie. Se utiliza una ruta de datos para transmitir los datos
y otra ruta para transmitir las confirmaciones de recepcin. En cada una de estas rutas,
los datos se transmiten mediante el modo de transmisin LVDS (Seal diferencial de
bajo voltaje) que consiste en transferir una seal a un hilo y su contrapartida a un
segundo hilo para permitir que el destinatario recree la seal por diferencia. Los datos
de control se transmiten por la misma ruta que los datos mediante una secuencia
especfica de bits que los distingue. Por lo tanto, la comunicacin requiere de dos rutas
de transmisin, cada una de las cuales est compuesta por dos hilos, con un total de
cuatro hilos utilizados para la transmisin.

Conectores de Serial ATA


El cable utilizado por el estndar Serial ATA es un cable redondeado que contiene 7
hilos con un conector de 8 milimetros en su extremo, tres hilos tienen conexin a tierra
y dos pares se utilizan para la transmisin de datos, el conector de la fuente de
alimentacin tambin es diferente ya que comprende 15 clavijas que alimentan al
perifrico con una potencia que varia entre 3.3 Volts, 5 Volts o 12 Volts y tiene una
apariencia similar al conector de datos:

Caractersticas
El estndar Serial ATA brinda una velocidad de 187.5 MB/s 1.5 Gb/s, cada octeto se
transmite con un bit de arranque y un bit de parada, con una velocidad efectiva terica
de 150 MB/s 1,2 Gb/s. El estndar Serial ATA II debe contribuir a alcanzar 375 MB/s
3 Gb/s, es decir, una velocidad efectiva terica de 300 MB/s, y finalmente 750 MB/s
6 Gb/s, es decir, una velocidad efectiva terica de 600 MB/s. Los cables del estndar
Serial ATA pueden medir hasta 1 metro de longitud (en comparacin con los 45 cm que
miden los cables IDE). Adems, la baja cantidad de hilos en una envoltura redonda
14

Certificacin LPIC-1
permite una mayor flexibilidad y una mejor circulacin del aire dentro de la carcasa que
la de los cables IDE (incluso si existieran los cables IDE redondeados). A diferencia de
los perifricos del estndar ATA, los del Serial ATA se encuentran solos en cada cable
y ya no es necesario diferenciar los discos duros maestros de los discos duros esclavos.
Otra de la ventajas con este tipo de disco es que permite la conexin en caliente o en
pocas palabras, mientras el equipo esta encendido.

Discos Duros SCSI


El estndar SCSI (Small Computers System Interface) es una interfaz que se utiliza para
permitir la conexin de distintos tipos de perifricos a un ordenador mediante una
tarjeta denominada adaptador SCSI o controlador SCSI generalmente mediante un
conector PCI. El nmero de perifricos que se pueden conectar depende del ancho del
bus SCSI. Con un bus de 8 bits, se pueden conectar 8 unidades fsicas y con uno de 16
bits, 16 unidades.

Direccionamiento de los Perifricos SCSI


Los perifricos se direccionan mediante nmeros de identificacin. El primer nmero es
el ID, nmero que designa al controlador que se encuentra dentro de cada perifrico
(definido a travs de los caballetes posicionados en cada perifrico SCSI o por el
software). El perifrico puede tener hasta 8 unidades lgicas (por ejemplo, una unidad
de CD-ROM con varios cajones). Las unidades lgicas se identifican mediante un LUN
(Nmero de unidad lgica). Por ltimo, un ordenador puede contener diversas tarjetas
SCSI y, por lo tanto, a cada una le corresponde un nmero diferente.

SCSI asimtrico y diferencial


Existen dos tipos de bus SCSI:

el bus asimtrico, conocido como SE (por Single-Ended o Terminacin nica),


basado en una arquitectura paralela en la que cada canal circula en un alambre,
sensible a las interferencias. Los cables SCSI en modo SE poseen 8 alambres
para una transmisin de 8 bits (que se denominan limitados) o 16 alambres para
cables de 16 bits (conocidos como extendidos). Este es el tipo de bus SCSI ms
comn.

el bus diferencial transporta seales a un par de alambres. La informacin se


codifica por diferencia entre los dos alambres (cada uno transmite el voltaje
opuesto) para desplazar las interrupciones electromagnticas, lo que permite
obtener una distancia de cableado considerable (alrededor de 25 metros). En
general, existen dos modos: el modo LVD (Voltaje bajo diferencial), basado en
seales de 3,3 V y el modo HVD (Voltaje Alto Diferencial), que utiliza seales
de 5 V. Los perifricos que utilizan este tipo de transmisin son cada vez ms
raros y por lo general llevan la palabra "DIFF".

Los conectores para las dos categoras de perifricos son los mismos, pero las seales
elctricas son diferentes. Por lo tanto, los perifricos necesitan ser identificados
(mediante los smbolos creados para tal fin) para no daarlos.
15

Certificacin LPIC-1
Estndares SCSI
Los estndares SCSI definen los parmetros elctricos de las interfaces de
entrada/salida. El estndar SCSI-1 de 1986 defini los comandos estndar para el
control de los perifricos SCSI en un bus con una frecuencia de 4,77 MHz con un ancho
de 8 bits, lo que implicaba que era posible alcanzar velocidades de 5 MB/s. Sin
embargo, un gran nmero de dichos comandos eran opcionales, por lo que en 1994 se
adopt el estndar SCSI-2. ste define 18 comandos, conocidos como CCS (Conjunto
de comandos comunes). Se han definido varias versiones del estndar SCSI-2:

El SCSI-2 extendido, basado en un bus de 16 bits (en lugar de 8), ofrece una
velocidad de 10 MB/s
El SCSI-2 rpido es un modo sincrnico rpido que permite un aumento de 5 a
10 MB/s para el estndar SCSI y de 10 a 20 MB/s para el SCSI-2 extendido
(denominado SCSI-2 extendido rpido).
Los modos Rpido-20 y Rpido-40 duplican y cuadriplican dichas velocidades
respectivamente.

El estndar SCSI-3 incluye nuevos comandos y permite la unin de 32 perifricos, as


como una velocidad mxima de 320 MB/s (en modo Ultra-320). El siguiente cuadro
resume las caractersticas de los diversos estndares SCSI

Configuracion de discos
En Linux, los discos fisicos son listados y representados dentro de la carpeta
/dev

Recordemos: Para ser identificados, el kernel les agrega un identificador el cual


comienza con hd para el caso de discos IDE o sd para el caso de discos PATA o SCSI.
Adicionalmente a cada uno de estos identificadores se les agrega una letra del alfabeto
para identificar los discos maestros de los esclavos.
Identificador del Disco Duro Dispositivo Logico
hda
Maestro Primario
hdb
Esclavo Secundario
hdc
Maestro Secundario
hdd
Esclavo Secundario
sda
Primer Disco Sata o SCSI
sdb
Segundo Disco Sata o SCSI

Configuracin de Particiones
Asi como los discos duros son listados y representados, tambien las particiones
correspondientes a cada disco duro son representadas y listadas. Para ser identificados,
el kernel le agrega un numero al final de cada identificador para diferenciar de una
particion primaria, logica o extendida.

16

Certificacin LPIC-1
NOTA:Los discos duros ATA y SATA permiten 4 particiones primarias, de las
cuales 1 puede ser extendida.Las particiones extendidas pueden ser divididas en
particiones logicas y estas pueden tener un maximo de 64 particiones para discos
ATA/SATA y 16 particiones para discos SCSI

Aplicaciones graficas para particionar discos duros


Existen aplicaciones libres como alternativas a las aplicaciones propietarias como es el
caso del Partitioning Magic, a continuacin se exponen 2 de las mejores:

Gparted
GParted es el editor de particiones de GNOME. Esta aplicacin es usada para crear,
eliminar, redimensionar, inspeccionar y copiar particiones, como tambin sistemas de
archivos. Esto es til para crear espacio para nuevos sistemas operativos, reorganizar el
uso del disco y crear imgenes de un disco en una particin. La aplicacin utiliza la
librera libparted para detectar y manipular dispositivos y tablas de particin, mientras
varias herramientas de sistema de archivos dan mantenimiento a sistemas de archivos no
incluidos en libparted. Est escrito en C++ y utiliza gtkmm como herramienta grfica.
Este acercamento es para mantener la interfaz grfica de usuario lo ms simple posible,
conforme con las Human Interface Guidelines.

Gparted LiveCD
Se encuentra disponible en LiveCD, basado en Slackware y construido sobre la ltima
rama estable ncleo de Linux (2.6). LiveCD es actualizado con cada lanzamiento de
GParted. El LiveCD de Ubuntu incluye esta aplicacin entre sus utilidades. Tambin se
encuentra disponible en versin LiveUSB. Cuando se carga LiveCD, se inicia una minidistribucin que contiene las siguientes aplicaciones:

Escritorio Xfce
Thunar como gestor de archivos
Una aplicacin para capturas de pantallas (por medio de Thunar se pueden
guardan en un pendrive)
Documentento de ayuda
GParted
Xfree86

Capacidades y limitaciones
GParted no puede incrementar el tamao de las particiones sin existir un espacio vaco
despus de dicha particin, es decir, si existen dos particiones juntas no se podr
aumentar el tamao de una en detrimento de la otra; pero esto es ms bien una
limitacin tcnica. En esta tabla se muestran las capacidades de GParted, de acuerdo
con cada sistema de archivos.
Si tu deseas probar esta aplicacin, la puedes descargar directamente de la pagina oficial
del proyecto

17

Certificacin LPIC-1
http://gparted.sourceforge.net

Parted Magic
Parte Magic es un LiveCD que incluye una distribucin Linux a medida para poder
operar directamente con ella sin necesidad de ser instalada en el disco duro. No estamos
hablando solo de un particionador de discos mas. En este LiveCD podemos encontrar
varias herramientas entre ellas un editor de particiones llamado VisParted basado en el
genuino Gparted con la que podremos crear, redimensionar y borrar nuestras particiones
del disco duro. Parted Magic soporta los siguientes sistemas de archivos: ext2, ext3,
ext4, fat16, fat32, hfs, hfs+, jfs, linux-swap, ntfs, reiserfs, reiser4 y xfs. Si tu deseas
probar esta aplicacin, la puedes descargar directamente de la pagina oficial del
proyecto
http://partedmagic.com/

Formatear y particionar discos duros desde BASH


Formatear y particionar dispositivos de almacenamiento de datos como discos duros y
memorias USB es una tarea sencilla. Para ello usaremos tres herramientas, estas son:

dd
fdisk
mkfs

Dando formato de bajo nivel con dd


Esta herramienta sirve para dar formato de bajo nivel a un disco duro. La forma de
implementar esta herramienta es la siguiente:
[BASH]

dd if=/dev/zero

of=/dev/sda

dd

El comando dd (duplicate disk) es un comando bastante til para transferir


datos desde un dispositivo o archivo hacia otro dispositivo o archivo

if=/dev/zero

if significa input file, es decir, lo que quieres copiar En el ejemplo de


arriba llenaremos de ceros el disco duro

of=/dev/sda

of significa output file, o sea, el dispositivo o archivo destino donde se van


a copiar los datos.En el ejemplo de arriba nos referimos al disco duro

El proceso puede variar dependiendo del tamao de almacenamiento del disco duro o
del tipo de interfaz (IDE o SATA), por lo que tendra que ser paciente.

Particionando un disco duro con fdisk


Fdisk nos servira para agregar, eliminar, redimensionar o dar formato a un disco duro.
La forma de aplicar esta herramienta es la siguiente:
[BASH]

fdisk -l /dev/sd[a,b,c]

sd[a,b,c] Hace referencia al numero de disco duro al que se le aplicara esta herramienta
18

Certificacin LPIC-1
-l

Este parametro listara la tabla de particiones que contiene el Disco duro

La forma correcta de aplicar fdisk es de la siguiente manera:


[BASH]

fdisk /dev/sd[a,b,c]

La diferencia con el anterior comando radica en la forma en como fue implementado,


pues en el primer comando indicamos explicitamente que deseamos conocer las
particiones anidadas en el disco duro y con este ultimo estamos lanzando la aplicacion
como tal. Una vez aplicado el comando mostrara un mensaje como este:
Orden (m para obtener ayuda):

Prueba tecleando la letra 'm', esto desplegara un menu con las utilidades de esta
aplicacion.:
Orden

Accin

a Conmuta el indicador de iniciable b Modifica la etiqueta de disco bsd c Conmuta el


indicador de compatibilidad con DOS d Suprime una particin l Lista los tipos de
particiones conocidos m Imprime este men n Aade una nueva particin o Crea una
nueva tabla de particiones DOS vaca p Imprime la tabla de particiones q Sale sin
guardar los cambios s Crea una nueva etiqueta de disco Sun t Cambia el identificador de
sistema de una particin u Cambia las unidades de visualizacin/entrada v Verifica la
tabla de particiones w Escribe la tabla en el disco y sale x Funciones adicionales (slo
para usuarios avanzados)}}}
La forma de agregar una particion al disco duro sera tecleando la letra 'n' lo cual nos
desplegara la siguiente informacion:
Accin de la orden

e Particin extendida p Particin primaria (1-4) p}}}


solo habra que especificar si la particion a aadir sera primaria (p) o extendida (e).
NOTA:Los discos duros ATA y SATA permiten 4 particiones primarias, de las
cuales 1 puede ser extendida.Las particiones extendidas pueden ser divididas en
particiones logicas y estas pueden tener un maximo de 64 particiones para discos
ATA/SATA y 16 particiones para discos SCSI
El siguiente paso sera especificar el tamao y numero de la particion a la cual haremos
el cambio. En el siguiente ejemplo crearemos una particion que ocupara todo el tamao
del disco duro.
Nmero de particin (1-4): 1

Primer cilindro (1-1019, valor predeterminado 1): 1 Last cilindro, +cilindros or


+size{K,M,G} (1-1019, valor predeterminado 1019): 1019}}}
Si se quisiera asignar un tamao diferente para la particion tambien se podra hacer, Para
ello podemos hacer uso de las unidades KiloBytes,Megabytes o GigaBytes pero de

19

Certificacin LPIC-1
manera abreviada (K,M,G) Al terminar de aplicar lo cambios solo debera ejecutar la
orden 'w' lo cual escribira los cambios al disco duro.
Se ha modificado la tabla de particiones!

Llamando a ioctl() para volver a leer la tabla de particiones. Se estn sincronizando los
discos. }}}

Dando formato a un disco duro con mkfs


Por ultimo solo restaria asignarle un formato a las particiones que creamos. Para ello
haremos uso de la herramienta mkfs, la cual debe ser aplicada segun la siguiente
sintaxis
[BASH] mkfs.[ext2|ext3|ext4|vfat|ntfs]

/dev/sd[a,b,c][1,2,3]

20

Certificacin LPIC-1
Niveles de Ejecucion en Linux
El Proceso de arranque
El proceso de arranque de un sistema operativo Linux se inicializa de la siguiente
manera: Cuando usted enciende su servidor o su computadora personal, esta hace que el
BIOS de su equipo inicie las operaciones relacionadas con el arranque. El BIOS (Basic
Input Output System) es un pequeo programa escrito en lenguaje ensamblador cuya
funcin es cargar el sistema operativo en la memoria RAM (Random Access Memory),
una vez que el BIOS carga el sistema operativo en RAM este inicia un proceso llamado
POST (Power On Self Test) el cual es un proceso de diagnostico y verificacin de los
componentes de entrada y salida de un servidor o computadora y se encarga de
configurar y diagnosticar el estado del hardware, una vez verificado el hardware se
inicia la fase de arranque del sistema (bootstrapping) el cual cede el control al GRUB
(Grand Unified Bootloader), el GRUB es un gestor de arranque que hace uso de un
men grfico que permite elegir el Sistema Operativo que se desea arrancar; As mismo,
el GRUB realiza las siguientes tareas:
1.Cargar el kernel en memoria. 2.Cargar el sistema de ficheros virtual initrd el cual es
usado tipicamente para hacer los arreglos necesarios antes de que el sistema de ficheros
raz pueda ser montado 3.Pasarle los argumentos runlevel e init al kernel 4.Comenzar la
ejecucin del kernel
Al terminar de ejecutar todas las tareas anteriores el GRUB le cede el control total del
arranque al kernel y este a su vez se encarga de realizar la llamada a la funcin starup la
cual tiene como funcin detectar el tipo de CPU con el que el equipo cuenta as como de
lo principal del sistema operativo, como el manejo de memoria, planificador de tareas,
entradas y salidas, comunicacin interprocesos, y dems sistemas de control, a partir de
este momento se ejecuta el proceso INIT.

El Proceso INIT
INIT es el primer proceso en ejecutarse despues de la carga del kernel de linux e
implementa dos modelos bajo los cuales puede trabajar, estos son
1.SystemV 2.BSD
Estos modelos son arrancados por un programa (script) de arranque que establece como
deben inicializarse los diferentes servicios, programas o registros que sean necesarios
para que el sistema funcione como el administrador lo requiere. Explicaremos
brevemente como es que trabajan estos modelos

SystemV
Es un modelo usado para controlar el inicio y apagado del sistema y fue originalmente
desarrollado por la compaa estadounidense de telecomunicaciones AT&T. SystemV
fue una de las versiones del sistema operativo Unix que se encargaba de controlar el

21

Certificacin LPIC-1
arranque de los programas en el instante de inicio del equipo. Este modelo es
considerado por muchos como facil, potente y flexible en comparacion con el sistema
de inicio BSD
Existen cuatro versiones release de SystemV (SVR) , las cuales son:
1.SVR1.-Primera version de SystemV lanzada en 1984, incluia el editor de textos Vi
2.SVR2.-Incluye mejoras con respecto al nucleo el cual esta implementado como
memoria virtual paginada, el sistema operativo Apple esta basado en este modelo.
3.SVR3.-Incluye mejoras en el sistema de ficheros asi como una nueva API de red, el
sistema operativo AIX de IBM hace uso de este modelo 4.SVR4.- Fue la versin ms
popular de SVR asi como la fuente de varias caractersticas comunes del sistema
operativo Unix, como el script /etc/init.d

Niveles de Ejecucion
Los niveles de ejecucion en SystemV describen ciertos estados del equipo los cuales se
caracterizan por ejecutar ciertos procesos. En general existen 8 niveles de ejecucion los
cuales van del 0 al 6 y S o s, que son alias del mismo nivel de ejecucion, de estos ochos
niveles, tres son considerados reservados, estos son:
0.- Halt 1.-Single user mode 6.-Reboot
Aparte de los niveles de ejecucion 0,1 y 6 todos los sistemas operativos Linux tratan a
los niveles de ejecucion un poco diferente. El denominador comun de todas las
distribuciones linux es el fichero
/etc/inittab

el cual define lo que hace cada nivel de ejecucion. A continuacion un ejemplo de


cuantos niveles de ejecucion tienen cada una de las distribuciones mas importantes de
linux, asi como del sistema operativo solaris y AIX.
En la mayoria de los sistemas operativos linux los usuarios pueden saber bajo que nivel
de ejecucion estan trabajando tecleando en una consola y como root lo siguiente:
[root@localhost ]$ runlevel

N 5}}}
Existen tambien los ficheros llamados rcN.d en donde la letra N representa cada uno de
los niveles de ejecucion en los que trabaja init.d, la funcion de estos ficheros se
explicara mas a detalle en el siguiente tema.

BSD
El modelo BSD init se ejecuta mediante el script de inicializacion situado en la ruta
/etc/rc

22

Certificacin LPIC-1
Algunos de los sistemas operativos que se basan en este modelo son los basados en
BSD como:

FreeBSD
NetBSD
OpenBSD
DragonFlyBSD
DesktopBSD
PCBSD

El fichero init.d
En este fichero se encuentran todos los scripts encargados de levantar cada uno de los
servicios del servidor. La ubicacin de este fichero esta localizada en: Algunos de los
servicios que podemos encontrar en el fichero init.d son los referentes a:

Servidor Web Apache ---->httpd


Servidor Samba ----->smb
Servidor de Correo --->sendmail
Servidor DHCP ---->dhcpd
Servidor DNS ---->named
Manejador de Base de Datos MySQL ---->mysqld

[root@localhost ~] cd /etc/rc.d/init.d/

[root@localhost init.d] ls -l total 428 -rwxr-xr-x 1 root root 2974 jun 23 10:18 dhcpd . . .
-rwxr-xr-x 1 root root 3099 feb 25 2008 httpd -rwxr-xr-x 1 root root 4239 mar 3 2008
mysqld . . . -rwxr-xr-- 1 root root 6154 ago 6 05:05 named -rwxr-xr-x 1 root root 1745
sep 18 10:26 smb -rwxr-xr-x 1 root root 4112 mar 29 2008 sendmail}}}

El fichero rcN.d
rcN.d es un conjunto de directorios que representan cada uno de los niveles de ejecucion
del sistema operativo. Estos directorios a su vez contienen un conjunto de enlaces
simbolicos a los scripts del directorio /etc/rc.d/init.d La funcion que desempean estos
directorios es organizar la manera en como los servicios de un servidor son levantados,
como por ejemplo, imaginemos que tenemos instalado un servidor Web apache, y que
lo tenemos configurado para que trabaje en los niveles de ejecucion 3 y 5 , por ende
deberiamos poder observar dichos enlaces simbolicos en las rutas:

/etc/rc.d/rc3.d
/etc/rc.d/rc5.d

Otra de las caracteristicas de estos enlaces simbolicos es la sintaxis de sus propiedades.


Esta sintaxis esta conformada por 3 parametros
1.El estado del servicio, los cuales son representados con dos variables:

La letra K.-Esta letra representa que el servicio esta dado de baja


La letra S.-Esta letra representa que el servicio esta dado de alta

23

Certificacin LPIC-1
1.El orden en el que es arrancado el servicio.- Este parametro indica el orden en el que
los servicios deben ser dados de alta o de baja 2.El nombre del servicio Un ejemplo de
esto lo podemos observar de la siguiente tabla, la cual la tomamos de la ruta
/etc/rc.d/rc5.d, lo cual indica que los scripts dentro de esta carpeta se ejecutan en el nivel
de ejecucion 5 Los detalles del renglon subrayado se explican a continuacion:

El fichero inittab
La ubicacin de este fichero la podemos localizar en:
El fichero inittab describe que procesos se inician en la carga asi como los scripts de
inicializacion del sistema, tambien distingue los multiples niveles de ejecucion bajo la
cual trabaja el sistema operativo, recordemos que los niveles de ejecucion validos son 8,
de los cuales tres son reservados y otro mas es alias de algun nivel en particular. De
acuerdo a lo mostrado en la siguiente imagen describiremos la funcion que desempea
cada linea. Para ello usamos como ejemplo el fichero inittab del sistema operativo
Centos version 5.2
1.- Este recuadro nos indica los diferentes niveles de ejecucion bajo los cuales trabaja
CentOS 5.2 2.-Este es el nivel de ejecucion en el cual arranca por defecto el equipo 3.Aqui se especifica que script de configuracion se debe cargar para el proceso de
arranque del sistema 4.-Aqui se especifican los scripts de arranque que el sistema
utilizara para cada nivel de ejecucion o tambien llamados runlevels 5.-Esta seccion
controla el reseteo del sistema. Se puede comentar esta linea para que no pueda ser
reseteado el sistema 6.-Estas dos lineas estan relacionadas con las acciones que deben
de seguirse en caso de una falla de voltaje y la segunda indica que debe hacerse cuando
el voltaje ha sido restablecido. 7.-Lineas encargadas de controlar los procesos getty 8.Esta linea arranca el entorno grafico del sistema, las cuales pueden ser GNOME o KDE

El fichero rc.sysinit
Este fichero esta localizado en la siguiente ruta La funcion que desempea este fichero
es ejecutar una serie de scripts que inicializan tareas como:

Configuracion de reloj del sistema


Configuracion de los parametros del Kernel
Levantamiento de dispositivos RAID y LVM
Activacion y Actualizacion de cuotas en disco
Activacion de la particion SWAP

El fichero rc.local
Este fichero esta localizado en la siguiente ruta Este fichero es el utimo en ser ejecutado
por el proceso init. La funcion que tiene este script es agregar comandos que nos haga
facil de realizar tareas necesarias como arrancar servicios especiales o inicializar
dispositivos sin tener que escribir scripts complejos de inicializacion en el directorio
/etc/rc.d/init.d ni creando enlaces simbolicos.

24

Certificacin LPIC-1
Niveles de Ejecucion
Los niveles de ejecucion o tambien llamados runlevels hacen referencia a los sistemas
operativos Linux que implementan el estilo de sistema de arranque de iniciacion tipo
UNIX System V del cual ya hemos hablando extensamente. A lo largo de este tema
mencionamos 8 niveles de ejecucion bajo los cuales trabajan algunos sistemas
operativos linux, en especial los de la Familia Red Hat. A continuacion mencionaremos
las caracteristicas de cada uno de ellos.

Nivel 0 Parada Del Sistema


El nivel 0 es usado para especificarle al sistema que debe apagarse, la forma en que este
lo hace es a travez del comando halt. Al ejecutarse este comando se apagan todos los
servicios que se encuentren activos

Nivel 1 o S -Monousuario o Single User


El nivel 1 o tambien llamado nivel Single (S) solo puede ser iniciado por el
administrador del sistema (root), por lo que ningun usuario podra hacer eso de este nivel
de ejecucion En este nivel no se activan los servicios de Red, y tampoco se inician los
procesos (daemons) de inicio por lo que permite reparar problemas o hacer pruebas al
sistema.

Nivel 2 -Multiusuario sin Red


Este nivel esta caracterizado por la capacidad de permitir que varios usuarios puedan
entrar al sistema pero sin contar con soporte en red, esto quiere decir que no se puede
contar con servidores como NFS o web.

Nivel 3 -Multiusuario con Red


Este sistema esta caracterizado por la capacidad de permitir a varios usuarios entrar al
sistema, a diferencia del nivel de ejecucion 2, este si cuenta con soporte de red.

Nivel 4. -Sin Uso


Para la mayoria de las distribuciones linux este nivel de ejecucion no tiene asignada
ninguna funcion, pero puede ser personalizado por el administrador para que cumpla
con alguna funcion en especial

Nivel 5. -Multiusuario Grafico


Este nivel de ejecucion es identico al nivel 3, la unica diferencia es el alta de entornos
graficos como GNOME o KDE para la administracion del sistema

25

Certificacin LPIC-1
Nivel 6. -Reinicio del Sistema
Comando chkconfig
Este comando es una herramienta util para levantar o desactivar servicios los cuales son
aplicados durante el arranque del equipo asi como tambien conocer el estado de los
servicios que se estan ejecutando.

Para conocer el estado de los procesos que estan corriendo en su sistema puede
ejecutar el siguiente comando

[root@localhost ~]chkconfig

--list

Para conocer el status de algun proceso en particular solo teclee esto

[root@localhost ~]chkconfig -list httpd

httpd 0:desactivado 1:desactivado 2:desactivado 3:desactivado 4:desactivado


5:desactivado 6:desactivado}}}
Lo cual nos mostrara bajo que niveles de ejecucion esta corriendo el proceso o servicio.

Para levantar algun proceso o servicio durante el arranque del sistema solo teclee
esto

[root@localhost ~]chkconfig -level 35 httpd on

De esta manera estamos especificando el sistema que siempre que este inicie levante el
servidor web apache en los niveles de ejecucion 3 y 5

Para detener algun proceso o servicio durante el arranque del sistema solo teclee
esto

[root@localhost ~]chkconfig -level 35 httpd off

De esta manera estamos especificando el sistema que siempre que este inicie tenga
detenido el servidor web apache en los niveles de ejecucion 3 y 5

Levantando, deteniendo y reiniciando servicios


Otra forma de levantar, detener o reiniciar servicios en caliente es mediante el uso del
siguiente comando el cual hace uso del fichero init.d del cual hemos hablado
anteriormente. La estructura de la sintaxis para poder ocupar el comando es la siguiente:
[root@localhost ~]/etc/init.d/nombreDelServicio
{start|stop|status|restart|reload}

A manera de ejemplificar el uso del anterior comando haremos lo siguiente.


Supongamos que tenemos ya instalado y configurado un servidor web apache y lo unico
que falta es levantar el servicio, para ello solo bastara teclear lo siguiente:
26

Certificacin LPIC-1
[root@localhost ~]/etc/init.d/httpd start

Para detener este mismo servicio solo debemos cambiar la palabra start por stop
[root@localhost ~]/etc/init.d/httpd stop

De igual manera si se quiere reiniciar el servicio solo debemos cambiar la palabra stop
por restart
[root@localhost ~]/etc/init.d/httpd restart

Otra manera de arrancar, detener o reiniciar servicios sin necesidad de teclear toda la
ruta anterior es mediante el uso de un alias el cual tiene la siguiente sintaxis
[root@localhost ~] service httpd {start|stop|status|restart|reload}

De igual forma solo debemos teclear start, stop o restar segn sea el caso
Ejemplo:
[root@localhost ~]service httpd start

27

Certificacin LPIC-1
Manejo de Paquetes
Introduccion a la gestion e instalacion de software
Instalar, actualizar o eliminar software en sistemas operativos linux diferira de la forma
en como usted lo hacia en sistemas operativos Windows o Mac, esto es debido a que la
mayoria de las aplicaciones desarrolladas para Linux no cuentan con un asistente de
instalacion, en cambio, usted tendra que aprender a aplicar una serie de comandos en su
equipo para poder llevar a cabo tareas de administracion y de gestion de paquetes. La
forma en que usted llevara a cabo esta administracion y gestion de paquetes sera
mediante el uso de las siguientes herramientas
Yellow dog Updater Modified (YUM) es una herramienta de software libre de
gestin de paquetes para sistemas Linux basados en RPM, fue desarrollada
yum
principalmente para actualizar y controlar los sistemas Red Hat, Fedora,
CentOS, y otras distribuciones de GNU/Linux basadas en RPM, incluyendo el
mismo Yellow Dog.
Red Hat Package Manager (RPM), es una herramienta de administracin de
paquetes. Es capaz de instalar, actualizar, desinstalar, verificar y solicitar
programas. Originalmente desarrollado por Red Hat para Red Hat Linux, en la
rpm
actualidad muchas distribuciones GNU/Linux lo usan, dentro de las cuales las
ms destacadas son Fedora Linux, Mandriva Linux, SuSE Linux. Tambin se
ha portado a otros sistemas operativos.
Advanced Packaging Tool (APT) , es un sistema de gestin de paquetes
apt
creado por el proyecto Debian. APT simplifica en gran medida la instalacin y
eliminacin de programas en los sistemas GNU/Linux.
aptitude es una interfaz para APT. Muestra una lista de paquetes de software y
permite al usuario elegir de modo interactivo cules desea instalar o eliminar.
Dispone de un poderoso sistema de bsqueda que utiliza patrones de bsqueda
aptitude flexibles, que facilitan al usuario entender las complejas relaciones de
dependencia que puedan existir entre los paquetes. En un principio, se dise
para distribuciones GNU/Linux Debian, pero hoy da se utiliza tambin en
distribuciones basadas en paquetes RPM, como Mandriva.
El programa dpkg es la base del sistema de gestin de paquetes de Debian
dpkg GNU/Linux. Se utiliza para instalar, quitar, y proporcionar informacin sobre
los paquetes .deb.

Herramienta RPM
RPM (Red Hat Package Manager) es una herramienta de administracion y gestion de
paquetes orientada para sistemas operativos Linux, la cual es capaz de instalar,
actualizar, desinstalar y verificar paquetes. Los paquetes RPM fueron originalmente
desarrollados por la empresa Red Hat con la intencion de implementarlo en el sistema
operativo Red Hat Linux. Actualmente los paquetes RPM son utilizados por
distribuciones linux como Fedora, Centos, Suse y White Box.

28

Certificacin LPIC-1
Comando
Comentario
rpm -ivh paquete1.rpm
Te permite instalar paquetes .rpm
rpm -Uvh paquete1.rpm Te permite actualizar paquetes .rpm
rpm -e nombreDelPaquete Te permite eliminar un paquete
No hay que aadir la extensin, sino slamente el nombre del paquete, sin la estensin
RPM.
Generalmente, se comienza por listar el paquete para conocer el nombre del mismo
antes de desinstalarlo asi como tambien para asegurarse de que el paquete est instalado
en nuestro sistema. rpm -q nombreDelPaquete Nos permite conocer si un paquete se
encuentra instalado o no en el equipo rpm -qa | grep nombreDelPaquete Realiza una
busqueda mas profunda sobre los paquetes que tenemos instalados o no en el equipo.

Herramienta YUM
Comando
yum install paquete1
paquete2 ...paqueteN
yum update paquete1
paquete2 ...paqueteN
yum remove paquete1
paquete2 .. paqueteN
yum update
yum update --exclude=ekiga

yum search paquete1


yum info paquete1
yum repolist enabled
yum localinstall
paquete1.rpm
yum localupdate
paquete1.rpm
yum list installed
yum list available
yum list updates
yum grouplist
yum groupinfo
"nombreDelGrupo"
yum groupinstall

Comentario
Instala paquetes con sus dependencias
Te permite actualizar paquetes junto con sus
dependencias
Te permite eliminar paquetes junto con sus dependencias
Actualiza e instala todos los paquetes del sistema
operativo
Actualiza e instala los paquetes del sistema operativo,
solo excluye el definido en la opcion --exclude
Nos ofrece un listado de resultados de los paquetes
producto de la bsqueda por coincidencia de cadena de
caracteres en la descripcin, resumen y nombre del
paquete
Nos ofrece informacion detallada sobre algun paquete
Nos permite conocer los repositorios que se encuentran
habilitados
Te permite instalar paquetes RPM
Te permite actualizar un paquete RPM
Lista todos los paquetes instalados en el sistema
Lista los paquetes que pueden ser instalados
Lista los paquetes que pueden ser actualizados
Lista por grupos los paquetes instalados
Obtiene informacin de los grupos y de sus paquetes
constitutivos
Instala un grupo de aplicaciones
29

Certificacin LPIC-1
"nombreDelGrupo"
yum groupupdate
Actualiza un grupo de aplicaciones
"nombreDelGrupo"
yum groupremove "KDE (K
Elimina un grupo de aplicaciones.
Desktop Environment)"

Configuracin de YUM
La configuracin general de YUM se encuentra en
/etc/yum.conf

los repositorios YUM configurados en sistemas operativos de la familia Red Hat se


encuentran declarados en
/etc/yum.repos.d/

Para usos ms avanzados agregaremos nuevas secciones y en caso de no encontrar lo


que busca consulte man yum.conf.
[main]

cachedir=/var/cache/yum keepcache=0 debuglevel=2 logfile=/var/log/yum.log


exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 metadata_expire=1800
installonly_limit=2 tsflasg=repackage
1. PUT YOUR REPOS HERE OR IN separate files named file.repo
2. in /etc/yum.repos.d}}}
La primera cosa que podemos notar de los archivos de configuracin es su estructura de
bloques de secciones con [seccin]. Veremos que esta estructura se repite al momento
de configurar los repositorios. En este caso yum.conf en la seccin [main] define el
comportamiento general de yum y establece las directivas base, por ejemplo, de dnde
se encuentran el cache. Comentamos a abajo un poco cada una de las directivas.
cachedir
Directorio donde yum debe almacenar su cache y archivos db. El valor por omisin es
/var/cache/yum.
keepcache
Ya sea 1 o 0. Determina si yum debe o no mantener el cache de los encabezados y
paquetes despus de una instalacin exitosa. Valor por omisin es 1 (mantener los
archivos)
debuglevel
Nivel de mensajes de depuracin en la salida. El rango prctico es de 0-10. El valor por
omisin es 2.
30

Certificacin LPIC-1
logfile
Ruta completa al nombre de archivo donde yum debe escribir sus actividades.
exactarch
Ya sea 1 o 0. Puesto a 1 provoca que yum update solo actualice los paquete de
arquitectura que haya instalado, es decir, con esta opcin habilitada yum no instalar un
paquete i686 para actualziar un paquete i386. Por omisin el valor es 1.
obsoletes
Esta opcin slo tiene efecto durante una actualizacin. Habilita la lgica de
procesamiento de obsolescencias yum. Es til cuando se realiza actualizaciones de nivel
de distribucin (upgrade). Vea tambin la documentacin del comando yum upgrade
para ms detalles. Opcin en la lnea de comando: --obsoletes
gpgcheck
Ya sea 1 o 0. Esto le indica a yum si debe o no realizar una verficacin de firma
GPG en los paquetes. Cuando est habilitado en la seccin [main], establece el
comportamiento por omisin para todos los repositorios. Esta opcin tambin determina
si una instalacin de un archivo local RPM ser verificado por su firma GPG o no. El
valor por omisin es 0.
plugins
Ya sea 0 o 1. Conmutador global para habilitar o deshabilitar las extensiones
(plugins) de yum. Por omisin su valor es 0 (extensiones deshabilitadas). Vea la
seccin PLUGINS del manual yum(8) para ms informacin acerca de la instalacin de
extensiones yum.
metadata_expire
Duracin en segundos despus del cual los metadatos caducarn. As entonces si los
metadatos actuales descargados son menos segundos de antiguo, entonces yum no
actualizar dichos metadatos a partir del repositorio. Si encuentra que yum no est
descargando la informacin para actualizaciones tan frecuente como usted quisiera,
disminuya el valor de este parmetro. Tambin puede cambiar del formato por omisin
en segundos a das, horas o minutos agregando d, h o m respectivamente al valor
especificado. El valor por omisin es 1.5 hours, para complementar yum-updatesd
ejecutndose una vez por hora. Tambin es posible usar la palabra "never" implicando
que los metadatos nunca expirarn.
installonly_limit
Cantidad de paquetes listados en installonlypkgs que se deben mantener instalados al
mismo tiempo. Poner este valor a 0 deshabilita la funcionalidad. Por omisin el valor es
3.
31

Certificacin LPIC-1
tsflasg
Lista separado por comas o espacios de banderas de transaccin que sern pasadas a
rpm. Estas incluyen noscripts, notriggers, nodocs, test, y repackage. Puede
poner todas o cualquiera de ellas. Sin embargo, si no sabe qu hacen stas banderas en
el contexto de una transaccin rpm, mejor no toque. Por omisin la lista est vaca.
Estas son slo algunas directivas, para ms, man yum.conf. Dentro de yum.conf puede
incluir la configuracin de los repositorios pero esa forma de configuracine est en
desuso y se prefiere utilizar archivos individuales en /etc/yum.repos.d/ que
comentaremos ms adelante.

Extensiones de YUM
downloadonly
Este paquete nos permite descargar los paquetes RPM de alguna aplicacin sin que
estos sean instalados. La forma de instalar esta herramienta sera tecleando lo siguiente ..
[BASH] yum install yum-downloadonly
Implementando downloadonly

La manera de usar este comando es de la siguiente forma..


[BASH] yum install downloadonly paquete1

fastestmirror
Esta extensin est diseada para ordenar la lista de espejos por velocidad de respuestas
de cada uno antes de comenzar una descarga. La forma de instalar esta herramienta sera
tecleando lo siguiente ..
[BASH] yum install yum-fastestmirror
Implementando downloadonly

La manera de usar este comando es de la siguiente forma..


[BASH] yum install paquete1

Utilidades YUM
yumdownloader
Esta herramienta complementa al plugin downloadonly ya que dicho plugin slo
funciona si el software deseado no est instalado. Veamos como falla y cmo podemos
resolver este problema con yumdownloader.
[BASH] yum --downloadonly install openssh-server

32

Certificacin LPIC-1
Loading "downloadonly" plugin Setting up Install Process Setting up repositories
Reading repository metadata in from local files Parsing package install arguments
Nothing to do}}}
Pues claro, no hay nada que instalar, ya est instalado. Intentemos ahora con
yumdownloader.
[BASH]

yumdownloader openssh-server

openssh-server-4.3p2-19.f 100% |=========================| 252 kB 00:01}}}


Listo, ya tenemos el rpm que queramos.

package-cleanup
Esta herramienta ayuda a detectar problemas en la base de datos rpm y a resolverlos.
Comando
package-cleanup -orphans
package-cleanup -dupes
package-cleanup -problems

Comentario
Lista paquetes hurfanos o aquellos paquetes que no son provistos
por ninguno de los repositorios configurados
Lista los paquetes con duplicados en la base de datos RPM
Lista los problemas de dependencias en la base de datos RPM

yum-complete-transaction
yum-complete-transaction es un program que busca transacciones yum incompletas o
abortadas en el sistema e intenta completarlas. Busca en los archivos transaction-all y
transaction-done que normalmente se encuentran en /var/lib/yum si una transaccin ha
sido abortada en el medio de su ejecucin. Si se encuentra ms de una transaccin no
terminada se intentar completar la ms reciente primero. Puede ejecutar este programa
ms de una vez para limpiar todas las transacciones sin terminar. Ejemplo..
[BASH] yum-complete-transaction

Herramienta DPKG
Comando
dpkg -i
paquete1.deb
dpkg -i .deb
dpkg -r
paquete1.deb
dpkg --purge
paquete1.deb
dpkg -l
paquete1.deb

Comentario
Te permite instalar paquetes deb.
Te permite instalar varios paquetes deb.
Borra paquete instalado en el sistemas.
Borra paquete instalado sin dejar rastro.
Hace bsquedas en SO de los paquetes ya instalados.

33

Certificacin LPIC-1
dpkg --info
paquete1.deb
dpkg --status
paquete1.deb
dpkg --search
paquete1.deb
dpkg help

Muestra la informacin del paquete.


Muestra el estado del paquete.
Muestra la informacin de donde se instalo el paquete.

Obtienes la ayuda del comando dpkg.


Ayuda arreglar a terminar de configurar paquetes rotos o que no se
dpkg --configure
terminaron de instalar, se ocupa solo en emergencias cuando las
-a
herramientas avanzadas no pueden solucionar el problema.

Herramienta APTITUDE
Comando
aptitude install
paquete1
aptitude remove
paquete1
aptitude purge
paquete1
aptitude hold
paquete1
aptitude unhold
paquete1
aptitude update
aptitude upgrade
aptitude distupgrade
aptitude search
paquete1
aptitude show
paquete1
aptitude clean
aptitude autoclean

Comentario
Instala paquete y con las dependencias que tenga.
Borra paquete y sus dependencias pero no las configuraciones.
Borra paquete, sus dependencias y archivos de configuracin.
Bloquea paquete, para que no sean actualizados o eliminados.
Desbloquea paquete.
Actualiza lista de paquetes nuevos.
Actualiza los paquetes que tengamos instalados en nuestro sistema.
Actualiza SO a la nueva versin de la misma.
Busca paquetes por nombre o expresin.
Muestra informacin detallada de un paquete.
Elimina los fichero de paquetes descargados.
Elimina los ficheros de paquetes descargados, como tambin
limpia las llaves de los repositorios.

Herramienta APT
Comando
apt-get update
apt-get upgrade
apt-get install paquete1
apt-get install --reinstall
paquete1
apt-get -f install

Comentario
Actualiza la lista de paquetes.
Actualiza los paquetes de la SO.
Instala paquetes y con sus dependencias.
Reinstala paquetes daados.
Instala/borra paquetes y dependencias que esten o sin

34

Certificacin LPIC-1
apt-get remove paquete1
apt-get remove purge
paquete1
apt-get dist-upgrade
apt-get clean
apt-get autoclean
apt-get check
apt-cache search paquete1
apt-cache showpkg
apt-cache dumpavail
apt-cache pkgnames
apt-get autoremove

cumplir paquetes.
Borra paquete y sus dependencias.
Borra paquete, sus dependencias y archivos de
configuracin.
Actualiza distribucin a la mas reciente.
Elimina paquetes descargados.
Elimina paquetes descargados, tambin borra cabeceras
de repositorios.
Verifica que hay dependencias o paquetes .
Busca paquete o una cadena de texto.
Muestra informacin sobre el paquete.
Muestra informacin sobre los paquetes que estan
disponibles.
Muestra una lista rpida de todos los paquetes del sistema.
Borra paquetes ya obsoletos o no necesarios.

Manejo de comandos
Sobre SHELL
El shell es una interprete de comandos diseado especificamente para sistemas
operativos Unix y derivados como Linux y BSD, su principal funcion es la de servir
como puente entre los usuarios y el hardare fisico de un equipo; Por puente me refiero a
que el shell se encargara de interpretar y traducir los comandos en un lenguaje que
pueda ser entendido por el hardware del equipo. El trmino shell tambin hace
referencia a un programa particular, tal como el Bourne shell o BASH. El BASH fue el
shell usado en las primeras versiones de los sistemas operativos Unix , posteriormente
paso a convertirse en estandar para todos los sistemas operativos Linux

El Ambiente Linux
Para que entiendas lo que es y como funciona el Shell, primero te mostrar como
funciona el ambiente en capas. Para ello analizaremos la siguiente imagen.
En este grfico se ve que la capa del hardware es la mas profunda y se encuentra
conformada por los componentes fsicos de tu equipo. Envolviendo a sta, viene la capa
del kernel que es el corazn de Linux, su ncleo, y es quien hace que el hardware
funcione, efectuando su manejo y control. Los programas y comandos que envuelven el
kernel, lo utilizan para realizar las tareas especificas para las cuales fueron
desarrolladas. Encerrando todo eso viene el Shell que tiene este nombre porque en
ingles, Shell significa concha, envoltura, o sea que, queda entre los usuarios y el sistema
operativo, de forma que todo lo que interacciona con el sistema operativo, tiene que
pasar por su filtro.

35

Certificacin LPIC-1
Algunas variantes del SHELL

Bourne Shell (sh)


Desarrollado por Stephen Bourne de la Bell Labs (de AT&T donde tambin fue
desarrollado el Unix), este fue durante muchos aos el Shell patrn del sistema
operativo Unix. Es tambin llamado de Standard Shell por haber sido durante varios
aos, el nico y hasta hoy es el mas utilizado ya que fue transportado para todos los
ambientes Unix y distribuciones Linux.

Korn Shell (ksh)


Desarrollado por David Korn, tambin de la Bell Labs, es un superconjunto del sh, o
sea, posee todas las facilidades del sh y a ellas se agregaron muchas otras. La
compatibilidade total con el sh esta atrayendo a muchos usuarios y programadores de
Shell para este ambiente.

Boune Again Shell (bash)


Este es el Shell mas moderno y cuyo nmero de adeptos crece mas en todo el mundo,
sea por ser el Shell default de Linux, su sistema operativo natural, o sea por su gran
diversidad de comandos, que incorpora inclusive diversas instrucciones caractersticas
del C Shell.

CShell (csh)
Desarrollado por Bill Joy de la Berkley University es el Shell mas utilizado en
ambientes BSD e Xenix. La estrutura de sus comandos es bastante similar al del
lenguage C. Su gran pecado fue ignorar la compatibilidad con el sh, partiendo por un
camino propio. Adems de estos Shells existen otros, pero contigo voy a hablar
solamente sobre los tres primeros, tratandolos genricamente por Shell y sealando las
peculiaridades de cada uno que eventualmente tengan.

Introduccion a BASH

Conociendo el SHELL de nuestro equipo


Una forma de conocer sobre cual SHELL estamos trabajando es tecleando el siguiente
comando en una terminal
echo $SHELL

/bin/bash}}}
Si obtuviste el mismo resultado que en la linea de ariba entonces estas utilizando el
Shell Bash, en caso contrario de no haber obtenido lo mismo, significa entonces que tu
estas usando algun otro Shell.

36

Certificacin LPIC-1
Usando el comando cd
current working directory o cd es el comando utilizado para indicar al Shell el directorio
en el cual queremos trabajar. Hagamos una prueba de este comando navegando en
nuestro propio sistema de ficheros. En la terminal teclee lo siguiente:
[BASH] cd /

Este comando le indica al BASH que queremos trabajar en el directorio /, tambien


conocido como raiz

Rutas (Paths)
Para conocer el directorio actual de trabajo en el que se encuentra el BASH escriba:
[BASH] pwd

/ }}}
En el ejemplo anterior , el argumento / es conocido como la ruta o camino hacia donde
queremos dirigirnos. En particular, el argumento / es un ruta absoluta

Rutas Absolutas
Algunos ejemplos de rutas absolutas son las siguientes:
/boot

/etc /root /usr/local/bin}}}


Note que todas estas rutas absolutas tienen un comun denominador, nos referimos a la
barra / Analicemos a detalle la ultima linea del ejemplo: Si usted teclea cd
/usr/local/bin En ella indicamos al Shell a traves del comando cd (current working
directory) que primero entre al directorio / , desde ahi luego entrara al directorio usr
posteriormente al directorio local y recien desde ahi entrara a bin. Las rutas absolutas
siempre comenzaran a evaluarse a partir de /.

Rutas Relativas
Las rutas relativas son todas aquellas que no comienzan a evaluarse desde /
Por ejemplo, si estamos trabajando en la ruta /usr
[BASH] cd /usr

Entonces, ahora usted podra usar una ruta relativa para cambiar el directorio actual de
trabajo a /usr/local/bin de la siguiente forma:
[BASH] cd local/bin

[BASH] pwd /usr/local/bin}}}

37

Certificacin LPIC-1
Usando el . . (punto a punto)
El uso del . . sirve unicamente para regresar un nivel desde el directorio de trabajo en el
cual estamos trabajando. Ejemplo:
[BASH] cd /usr/local/bin

[BASH] pwd /usr/local/bin}}}


[BASH] cd ../../

[BASH] pwd /usr}}}


En la primera seccion del ejemplo indicamos a traves del comando cd (current working
directory) que primero entre al directorio / , desde ahi luego entrara al directorio usr
posteriormente al directorio local y recien desde ahi entrara a bin. En la segunda seccion
del ejemplo indicamos mediante el uso del (../) punto punto que regrese un nivel, pero
inmediatamente indicamos nuevamente que retroceda otro nivel mas (../) Por cada
retorno de nivel debera hacerse uso del (..) punto punto

Entendiendo el . (punto)
El uso del punto (. ) sirve para ejecutar algn programa situado en el directorio actual.
Ejemplo :
[BASH] ./ejecutable

En este ejemplo, se ejecutara el archivo llamado ejecutable que reside en el directorio


actual de trabajo.

38

Certificacin LPIC-1
Usando los comandos de Linux
El comando ls
Vamos a darle una pequea mirada al comando ls, el cual, ya conozca tal vez, pero por
si no lo sabe , este sirve para listar el contenido del directorio actual de trabajo.
Hagamos un ejercicio, con ayuda del comando cd muevase al directorio de trabajo
/var
[BASH]

cd

/var

Ahora con ayuda del comando ls liste el contenido de dicho directorio


[BASH]

ls

X11R6 cache crash games lib lock log mail opt run spool tmp }}}
Si al comando ls le agregamos el parametro -a nos listara todos los ficheros del
directorio incluyendo los ficheros ocultos.Los ficheros ocultos son indentidicados por
llevar un punto (.) al princio del nombre del fichero. Ejemplo:
[BASH]

ls -a

.emacs .gvfs .pulse .wapi }}}


Para realizar un listado completo sobre la informacion de algun directorio basta con
agregar al comando ls el parametro -l Nuevamente con ayuda del comando cd
muevase al directorio de trabajo /var, pero esta vez use el comando ls junto el parametro
-l y compare sus resultados con el primer ejemplo
[BASH]

cd

/var

[BASH] ls -l total 52 drwxr-xr-x 11 root root 4096 jun 9 04:59 adm drwxr-xr-x 19 root
root 4096 jun 9 11:28 cache drwxrwxrwt 2 root root 4096 dic 3 2008 crash drwxr-xr-x 2
root root 4096 dic 9 2008 games drwxr-xr-x 41 root root 4096 jun 9 11:28 lib
drwxrwxr-t 6 root uucp 4096 jun 17 11:40 lock drwxr-xr-x 13 root root 4096 jun 16
15:38 log lrwxrwxrwx 1 root root 10 jun 9 04:46 mail -> spool/mail drwxr-xr-x 2 root
root 4096 dic 3 2008 opt drwxr-xr-x 25 root root 4096 jun 17 11:40 run drwxr-xr-x 12
root root 4096 jun 9 04:49 spool drwxrwxrwt 8 root root 4096 jun 17 10:44 tmp drwxrxr-x 3 root root 4096 dic 9 2008 X11R6 drwxr-xr-x 3 root root 4096 dic 9 2008 yp}}}
La opcion -l le resultara de gran utilidad cuando quiera ver informacion sobre permisos,
tiempos de modificacion, tamao o propiedad de los contenidos listados.
De forma mas detallada, la primer columna muestra la informacion sobre los permisos
para cada elemento listado. La columna siguiente lista el numero de links para cada
objeto del sistema de ficheros. La tercer y cuarta columna listan el propietario del
elemento, y el grupo al cual pertenece, respectivamente. La quinta muestra el tamao de
los objetos, mientras que la sexta lista cuando fue realizada la ultima modificacion del
objeto . La ultima columna es el nombre del objeto. Si el archivo es un enlace
simbolico, entonces usted ver una flecha --> y la ruta hacia la cual el link simbolico
apunta. En el capitulo 7 veremos mas a fondo este comando

39

Certificacin LPIC-1
Comodines
Los comodines son caracteres que se utilizan en lugar de otros caracteres que el sistema
rellena. Los dos comodines ms frecuentes son:

El asterisco
*

La interrogacin ?

Aunque en ocasiones se confundan, su significado es diferente y producirn resultados


totalmente distintos. El asterisco significa ninguno, alguno o todos los caracteres:
Ejemplo:
[BASH]

ls e*

ed edusat.txt xito.pdf eduardo.gif educacion}}}


Este comando mostrar todas las entradas de archivos o directorios dentro del directorio
actual que comiencen con la letra e, y que tengan cualquier nmero de caracteres. Hay
que prestar atencin a que el comando encuentra la e sola y la e seguida de
cualquier nmero de caracteres a continuacin. En contraste, la interrogacin (?) es un
contenedor para un y slo un carcter. Utilizando las mismas posibilidades que antes, el
comando:
[BASH]

ls e?

ed }}}
Encontrar entradas de archivos y directorios dentro del directorio actual que comiencen
por la letra s y que nicamente tengan una letra ms. Si quisisemos encontrar las
entradas que comiencen por e y cuyo nombre tenga 5 caracteres en total, utilizaramos:
[BASH]

ls e????

En resumen, el asterisco significa todos o ninguno, y el interrogante siempre significa


uno.
Estos dos comodines no son excluyentes, de modo que se pueden combinar segn las
necesidades.
Por ejemplo, para encontrar slo los archivos que tengan una extensin de tres letras
dentro del directorio actual, utilizaremos:
[BASH]

ls *.???

Para complicar un poco ms las cosas tambin podemos utilizar los corchetes ( [ ] ) para
especificar posibles valores. Todos los valores posibles deben estar dentro de los
corchetes, y el shell los tratar individualmente: En el siguiente ejemplo encontrar

40

Certificacin LPIC-1
todas las entradas que comiencen por d o por e y que contengan un nmero
ilimitado de caracteres.
[BASH]

ls [de]*

Para encontrar las entradas de longitud de 3 caracteres que comiencen por d o por e,
utilizaremos:
[BASH]

ls [de]???

El nmero de caracteres que podemos incluir dentro de los corchetes es tericamente


ilimitado. Sin embargo, si lo que queremos es encontrar todas las entradas que
comiencen por una letra minscula pero no por un nmero u otro carcter, podemos
utilizar [abcdefghijklmnopqrstuvwxyz]. Debido a que esto es un rango, una forma
mucho ms simple de obtener el mismo resultado es poniendo:
[BASH]

ls [a-z]???

Los rangos no tienen que ser series completas de nmeros o caracteres, podemos
expresar subconjuntos de ellos. Por ejemplo, si queremos buscar entradas que
comiencen por alguna letra entre la d y la t, podemos utilizar indistintamente
[defghijklmnopqrst] o [d-t]. Si la entrada puede comenzar por esas letras tanto en
maysculas como en minsculas, podemos usar
[DEFGHIJKLMNOPQRSTdefghijklmnopqrst] o [D-Td-t] .

El comando mkdir
Vamos a darle una pequea mirada ahora al comando mkdir. La funcion de este
comando es la de crear nuevos directorios. Ejemplo:
[BASH] mkdir

agenda.emacs .gvfs .pulse .wapi }}}


Por defecto, el comando mkdir no crea directorios padre; la ruta completa hasta el
anteultimo elemento debe existir previamente. De esta manera, si quiere crear los
directorios principal/secundario/ultimo tendra que crearlos uno a uno.
[BASH] mkdir principal/secundario/ultimo

mkdir: no se puede crear el directorio "principal/secundario/ultimo": No such file or


directory [BASH] mkdir principal [BASH] mkdir principal/secundario [BASH] mkdir
principal/secundario/ultimo }}}
Sin embargo, mkdir tiene la opcion -p la cual puede crear una rama de directorios en un
solo paso
[BASH] mkdir

-p

principal/secundario/ultimo

Para obtener mas informacion sobre el comando mkdir escriba


[BASH] man mkdir

41

Certificacin LPIC-1
comando touch
Touch es un comando que sirve para crear ficheros sin contenido
[BASH] touch archivo1

comando echo
Ahora que el archivo existe, le agregaremos algunos datos. Esto podemos hacerlo
mediante el comando echo , que toma sus argumentos y los imprime en la salida est
ndar (standard output). Probemos como funciona el comando echo
[BASH] echo "HELLO LINUX"

Ejecutemos ahora el mismo comando pero ahora redireccionando su salida al fichero


vacio que creamos en el punto anterior.
[BASH] echo "HELLO LINUX" > archivo1

El signo mayor (>) le dice al BASH que escriba la salida de echo a un archivo llamado
archivo1.

comando cat y cp
Para ver los contenidos de un archivo en una terminal, use el comando cat:
[BASH] cat archivo1 HELLO LINUX

Bien,ahora podemos hacer uso del comando cp para crear una copia del fichero
nombrado archivo1
[BASH] cp archivo1 copiadearchivo1

comando mv
Usemos ahora el comando mv para renombrar archivo1 a nuevoarchivo1.
[BASH] mv archivo1 nuevoarchivo1

Veamos otra manera de usar el comando mv, ya que este comando, ademas de
permitirnos renombrar archivos, nos permite mover uno o mas archivos hacia otra
ubicacion. Por ejemplo, para mover archivo1 a /var/ escribira
[BASH] mv archivo1 /var/

Procesando cadenas de texto usando filtros


En este capitulo cubriremos los temas referentes a las herramientas comunmente
implementadas en los procesadores de textos disponibles para Linux stas incluyen
diversas utilidades de filtrado, que se usan para buscar y cambiar archivos, as como las
42

Certificacin LPIC-1
herramientas de entrada y salida. Es necesario comprender el uso de estas herramientas,
debido a que son especialmente tiles en las labores administrativas diarias.

Listando el contenido de un fichero


En en capitulo 6.5.6 hablamos un poco sobre el comando cat, el cual como
mencionamos es un comando muy usado para listar los contenidos de ficheros de
configuracion. La sintaxis para usar este comando es la siguiente:
[BASH] cat nombreDelFichero

Ordenando lineas de un fichero con Sort


Sort nos permite ordenar los registros o lneas de uno o ms archivos. Se usa para
ordenar, mezclar, y comparar lneas de ficheros. Este comando sigue la siguiente
sintaxis:
[BASH] sort opciones nombreDelFichero

Opciones
Descripcion
-b
Ignora espacios en blanco
-c
Revisa si el fichero esta ordenado
-d
-f
-m
-M
-n
-o FILE
-r
-u
-k numero
- - field separator
- -help
- -version

Considera solo los caracteres alfanumericos y ordena por directorio de


telefono
Este parmetro nos sirve para indicar que las maysculas y las minsculas
se van a tratar de forma diferente y que por tanto se va a seguir un
ordenamiento alfabtico
Une los ficheros ya ordenados sin reordenarlos
Compara ficheros ordenado
Este parmetro nos sirve para ordenar los campos numricos por su valor
numrico
Escribe en un fichero especfico de salida en lugar de la salida estndar
Nos permite realizar una ordenacin inversa, es decir, de mayor a menor.
Nos permite suprimir todas las lneas repetidas despus de realizar la
ordenacin.
De este modo especificaremos por qu columna o campo vamos a realizar
la ordenacin en las versiones ms recientes de Linux.
Normalmente, se usa como delimitador de campos el espacio en blanco.
Podemos utilizar el parmetro --field-separator para indicar que vamos a
usar otro delimitador de campo cualquiera. Ej: --field-separator=, La
opcin abreviada de --field-separator es -t.
Muestra la ayuda y salida
Muestra versin y salida

Ejemplo: Cremos un fichero de texto llamado lista con el siguiente contenido:


[BASH] vi lista

43

Certificacin LPIC-1
- - - - - - - - - - - - - - - - - - - - 3 centos 7 Red Hat debian 13 Novell Inc edubuntu 27
Canonical fedora 32}}}
Al terminal, ejecute la siguiente orden:
[BASH] sort lista

Observe el resultado, por defecto, se ordena la lista por orden numrico seguido de
orden alfabtico, con maysculas antes que las minsculas.
13

27 3 32 7 Canonical centos debian edubuntu fedora Novell Inc Red Hat }}}
Genere los siguientes ficheros
Al terminal, ejecute la siguiente orden:
[BASH] sort fichero1 fichero2

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - centos debian fedora ubuntu }}}


En este otro ejemplo, dos ficheros se fusionan y se ordenan. Tambin es posible ordenar
listas de nombres por campos. Los campos se pueden separar por espacios o tabuladores
y son numerados empezando por cero. Cuando se ordenan campos, el smbolo +
precede al numero de campo con cada fichero separado por espacios. Genere el fichero
llamado lista con el siguiente contenido
[BASH] vi lista

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iliana castillo zaira munive


alethya zamano pilar diaz mayra rodriguez mariana rivera }}}
Ordenaremos esta lista por el apellido de estas personas de la siguiente manera:
[BASH] sort +1 +0 lista

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iliana castillo pilar diaz zaira


munive mariana rivera mayra rodriguez alethya zamano }}}
El uso de estos campos permite mucha flexibilidad en ordenar listas en ficheros. Es
importante recordar que la utilidad sort no cambia el fichero original. La salida se enva
a la salida estndar donde se puede visualizar o redireccionar hacia otro comando o
fichero.

Segmentando un texto con Cut


La utilidad cut se usa para escribir partes seleccionadas de un fichero en la salida
estndar o BASH. La utilidad cut tambin se puede usar para seleccionar columnas o
campos desde ficheros especficos. Es posible tambien seleccionar un trozo de una lnea
especfica, varios trozos, o un rango especifico. La siguiente tabla muestra la gama de
opciones que pueden ser integradas al comando cut:

44

Certificacin LPIC-1
Opciones
Descripcion
-b
Escribe en la salida el rango de bytes especificos
-c
Escribe en la salida solo los caracteres especificados
-f
- - help
-version

Escribe en la salida solo los campos especificados, delimitados por


tabuladores
Muestra la ayuda
Muestra informacion sobre la version

A continuacin un ejemplo del uso de estos rangos para escribir en la salida solo los
primeros 5 caracteres de cada lnea del fichero que dimos de alta al final de la seccion
6.6.2 llamado listas.
[BASH] cut -c 1-5 listas

ilian zaira aleth pilar mayra maria }}}

Pegando texto con Paste


La utilidad paste permite juntar texto desde mltiples ficheros. Las lneas
correspondientes del fichero especfico se escriben en la salida estndar con cada lnea
separada por un carcter tabulador . La siguiente tabla muestra la gama de opciones que
pueden ser integradas al comando cut:
Opciones
-s
-d delimitlist

Descripcion
Pega lneas desde un fichero a la vez
Usa los caracteres especificados en delimit-list consecutivamente en vez
del carcter tab cuando separa ficheros mezclados.

Genere el fichero llamado apodos con el siguiente contenido


[BASH] vi apodos

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - hackhat gaymarc bigbuitre


javarambo rufodog }}}
Ahora veremos un ejemplo del comando paste aplicandolo al fichero que acabamos de
generar en conjunto con el fichero de la seccion 6.6.2 llamado listas.
[BASH] paste listas apodos

Nos dara como resultado los nombres de la lista seguidos de los apodos.
[BASH] paste lista apodos

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iliana castillo hackhat zaira


munive gaymarc alethya zamano bigbuitre pilar diaz javarambo mayra rodriguez
rufodog mariana rivera }}}

45

Certificacin LPIC-1
Formateando parrafos
El comando fmt formatea cada prrafo en un fichero y la enva a la salida estandar. Este
comando es utilizado para especificar la anchura de las lneas, tambien puede juntar o
separa lneas en un esfuerzo para que estas tengan la misma longitud. Otra de las
funciones de fmt es la de intentar separar las lneas al final de cada sentencia. Cuando
esto no es posible, intenta romper la lnea despus de la primera palabra o antes de la
ltima palabra de la sentencia. La anchura por defecto que utiliza fmt para una lnea es
de 75 caracteres. El ancho por defecto puede ser modificado usando la opcin adecuada
en el comando fmt. La siguiente tabla muestra la gama de opciones que pueden ser
integradas al comando fmt.
Opciones
-c
-t
-s
-u

Descripcion
Mantiene igual los espacios de principio de prrafo y alinea el prrafo
con margen izquierda en la segunda lnea
Trabaja como -c excepto que los espacios de comienzo de la segunda
lnea sean igual que la primera, considerando la segunda lnea como
un prrafo de una lnea
Especifica que las lneas van a ser divididas y no juntadas
Especifica que espacio uniforme se va a utilizar; esto reduce la
separacin entre todas las palabras a un espacio y a dos espacios entre
las sentencias

-NUMERO o Establece la largura de la lnea al NUMERO indicado


wNumero
-p PREFIX

Especifica que las lneas que empiecen por PREFIX sern


modificadas

Genere el fichero llamado apodos con el siguiente contenido


[BASH] vi fedora

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fedora es un sistema operativo


basado en Linux que incluye lo ltimo en software libre y de cdigo abierto. Fedora es
siempre gratis para que cualquiera lo use, modifique o distribuya. Lo construye gente
alrededor del mundo que trabajan juntos como una comunidad: El Proyecto Fedora es
abierto y todos son bienvenidos.}}}
Y aplique el comando fmt de la siguiente forma:
[BASH] fmt -40 fedora

Podra verificar que el texto se formateo correctamente.

Borrando o sustituyendo caracteres.


Hay veces en las que se quiere buscar en un documento caracteres especficos y luego
borrarlos o reemplazarlos por otros. Un ejemplo sera un documento que utiliza
maysculas y minsculas, pero se prefiere que todo el documento est en minsculas,

46

Certificacin LPIC-1
para ello, el comando tr se encarga de llevar a cabo esta area Este comando sigue la
siguiente sintaxis:
[BASH] tr opciones

La siguiente tabla muestra la gama de opciones que pueden ser integradas al comando
tr.
Opciones
Descripcion
-d
Borra un carcter especificado.
-s
Remplaza una secuencia de caracteres por un carcter.
- - help Muestra la ayuda
- - version Muestra la version
Genere un fichero llamado semana con el siguiente contenido
[BASH] vi semana

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Lunes Martes Miercoles Jueves


Viernes Sabado Domingo }}}
Y aplique el comando fmt de la siguiente forma:
[BASH] tr -d aeiou

Dicha accion borrara todas las vocales del archivo semana


[BASH] cat semana | tr -d

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Lns Mrts Mrcls Jvs Vrns Sbd


Dmng }}}

Ver el inicio de un fichero


El comando head nos permite ver el comienzo de un fichero. Por defecto nos muestra
las 10 primeras lneas. La siguiente tabla muestra la gama de opciones que pueden ser
integradas al comando head.
Opciones
Descripcion
-c NUMERO Especifica el nmero de bytes a ser mostrados.
-n NUMERO Muestra el NUMERO de lneas especificado.
-q
No muestra las cabeceras.
-v
Muestra las cabeceras.
- - help
Muestra la ayuda
- - version
Muestra la versin.
Este comando sigue la siguiente sintaxis:
[BASH] head opciones nombreDelFichero

47

Certificacin LPIC-1
Ver el final de un fichero
Tail nos permite ver el final de un fichero. Como head, el comando tail muestra las
ltimas 10 lineas de un fichero por defecto . La siguiente tabla muestra la gama de
opciones que pueden ser integradas al comando tail.
Opciones
Descripcion
-NUMERO Especifica el nmero de lneas a ser mostrado.
+NUMERO

Especifica el nmero de lneas desde el comienzo a partir de donde


empieza a mostrar.

- - retry

Indica a las instruccin que se mantenga intentando abrir un fichero


cuando este est inaccesible.

-c
NUMERO

Especifica el nmero de bytes a ser mostrados.

-f

Muestra las lneas y va mostrando lneas segn se escriben en el fichero.


Este comando puede venir bien para ficheros que crecen como por
ejemplo los ficheros LOG.

-n
NUMERO
-q
-v
- -help
- - version

Muestra el NUMERO de lneas especificado.


No muestra las cabeceras.
Muestra las cabeceras.
Muestra la ayuda
Muestra la versin.

Este comando sigue la siguiente sintaxis:


[BASH] tail opciones nombreDelFichero

Uniendo multiples ficheros


El comando join en realidad busca en dos ficheros entradas comunes. Las entradas
encontradas en los dos ficheros son mostradas en la salida estandar donde pueden ser
redireccionadas a un fichero. Puedes combinar ficheros usando campos. El comando
join usa campos de unin para combinar lneas de mltiples ficheros. Antes de usar el
comando join, el fichero debe de comenzar con los campos de unin. Esto se consigue
muchas veces con el comando sort basado en los campos que van a ser juntados. As, si
tu ests utilizando dos ficheros que contienen el nombre y el primer apellido y quieres
juntar los ficheros utilizando el apellido, entonces los dos ficheros deben ser ordenados
previamente utilizando el campo apellido. La siguiente tabla muestra la gama de
opciones que pueden ser integradas al comando join.
Opciones
Descripcion
-I
Especifica que caso es ignorado cuando se combinan los ficheros.
-1 FIELD Especifica el campo en el fichero 1
-2 FIELD Especifica el campo del fichero 2

48

Certificacin LPIC-1
-t char

Especifica el carcter separador del fichero de entrada y de salida.


Se imprime una lnea por cada lnea no pareada encontrada en el fichero
-v FILE
FILE
- - help Muestra la ayuda
- - version Muestra la versin.
Este comando sigue la siguiente sintaxis:
[BASH] join opciones nombreDelFichero

Segmentando un fichero
La utilidad SPLIT se usa para dividir un fichero grande en varios segmentos mas
pequeos. Esta utilidad crea ficheros de una cierta longitud, cuyo valor por defecto es de
1000 lneas, y los nombra de forma secuencial. Los nombres de los archivos estn
formados por un prefijo, de valor x por defecto, seguido por una combinacin de
letras que sigue el patrn de aa, ab, ac, etc. Si se deben crear ms de 676 ficheros,
la sintaxis ser zaa, zab, etc. Cuando no se especifica ningn fichero de entrada
para la utilidad SPLIT, la entrada de datos estndar se utilizar por defecto.
La sintaxis correcta para el comando split es la siguiente:
[BASH] split opciones nombreDelFichero ficheroSalida

La siguiente tabla muestra la gama de opciones que pueden ser integradas al comando
split.
Opciones
Descripcion
-l LiNEAS Especifica que caso es ignorado cuando se combinan los ficheros.
-b BYTES Especifica el campo en el fichero 1
-c BYTES Especifica el campo del fichero 2
- - verbose Especifica el carcter separador del fichero de entrada y de salida.
- - help
Muestra la ayuda
- - version Muestra la versin.
Genere un fichero llamado arreglo con el siguiente contenido
[BASH] vi arreglo

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - primero segundo tercero cuarto


quinto sexto septimo octavo novedo decimo}}}
Y aplique el comando split de la siguiente forma:
[BASH] split -l2 arreglo arreglosegmentado

El fichero arreglo se divide en varios archivos nombrados arreglosegmentado, cada


uno de los cuales contiene cinco lneas.

49

Certificacin LPIC-1
Eliminando lineas repetidas en un fichero
El comando uniq es una herramienta que nos ayuda a eliminar los datos repetidos en un
fichero Este comando sigue la siguiente sintaxis:
[BASH] uniq opciones nombreDelFichero

La siguiente tabla muestra la gama de opciones que pueden ser integradas al comando
uniq.
Opciones
Descripcion
-c
Enumera el nmero de ocurrencias (lneas que se repiten)
-d
Solo conserva las lneas que se repiten
-u
Solo conserva las lneas que son nicas

Convirtiendo ficheros para imprimir


La utilidad pr formatea y prepara ficheros para imprimir, escribindolos en la salida
estndar, paginndolos y opcionalmente escribindolos en un formato de multicolumna.
Adicionalmente, tambin puede unir ficheros, imprimindolos en paralelo, uno por
columna . La sintaxis correcta para el comando pr es la siguiente
[BASH] pr opciones nombreDelFichero

Por defecto, en cada pgina se escribe un encabezado de cinco lneas: dos lneas en
blanco, una lnea con la fecha, el nombre del archivo y el contador de pgina, y dos
lneas ms en blanco. Igualmente, tambin se escribe un pie de pgina de cinco lneas.
Hay numerosas opciones para especificar el formato producido con la utilidad PR,
algunas de las cuales se muestran en la siguiente tabla :
Opciones
-COLUMNAS
-a
-d
-f
-h TEXTO
-l LINEAS
-m

Descripcion
Produce tantas columnas como el nmero COLUMNAS y equilibra
el nmero de lneas en cada columna dentro de cada pgina.
Imprime las columnas en horizontal en lugar de en vertical.
Inserta un doble espacio en la salida
Utiliza saltos de pgina en lugar de caracteres de nueva lnea para
separar pginas.
Utiliza el texto especificado en TEXTO en lugar del nombre del
fichero dentro del encabezado
Establece el nmero de lneas por pgina
Imprime todos los ficheros en paralelo, uno por columna.

Empieza contando por NMERO en la primera lnea de la primera


pgina impresa.
Establece el ancho de pgina a un nmero de caracteres igual a
-w
CARACTERES (el valor por defecto es 72). Solamente se utiliza
CARACTERES
para formatos de salida multicolumna

-N NUMERO

50

Certificacin LPIC-1
-W
Establece el ancho de pgina a un nmero de caracteres igual a
CARACTERES CARACTERES siempre. El valor por defecto es 72.

Mostrando estadisticas de un fichero


La utilidad WC cuenta el nmero de bytes, palabras separadas por espacios en blanco y
saltos de lnea para cada uno de los ficheros indicados. Se muestra una lnea de
resultados para cada uno de los ficheros, y si el fichero fue indicado como un
argumento, muestra su nombre a continuacin. Si se indica ms de un fichero, la
utilidad muestra una lnea final indicando los resultados acumulativos con el texto
total. El orden en el que se muestran los resultados es el siguiente: en primer lugar los
saltos de lnea, luego las palabras y finalmente los bytes. Por defecto, cada resultado se
muestra justificado a la derecha en un campo de siete bytes con un espacio en blanco
entre cada uno de los resultados, de manera que los nmeros y los nombres de los
ficheros se alinean correctamente en columnas, algunas de las cuales se muestran en la
siguiente tabla :
Opciones
Descripcion
-c
Muestra nicamente el nmero de bytes
-w
Muestra nicamente el nmero de palabras
-l
Muestra nicamente el nmero de lneas
-L
Muestra la longitud de la lnea ms larga
- - help Muestra informacin de ayuda y termina
- - version Muestra informacin sobre la versin y termina
La sintaxis correcta para el comando wc es la siguiente
[BASH] wc opciones nombreDelFichero

Aadiendo numeros de linea a un fichero.


La utilidad nl es til para mostrar los nmeros de lnea de un fichero. Se organiza el
fichero de entrada en pginas lgicas y por defecto, el nmero de lnea se inicializa a 1
al principio de cada una de ellas. Se tratan todos los ficheros de entrada como un nico
documento y no se inicializan los nmeros de lnea ni las pginas lgicas entre ficheros.
Una pgina lgica consiste en tres secciones separadas por una lnea en blanco:
encabezado, cuerpo y pie de pgina. Cualquier de ellas puede estar vaca y puede estar
numerada de una forma distinta a las otras dos. El texto que preceda el primer separador
de seccin en el fichero de entrada se considerar parte del cuerpo, de manera que la
utilidad nl tratar un fichero sin delimitadores de seccin como una nica seccin de
cuerpo , algunas de las cuales se muestran en la siguiente tabla :
Opciones
Descripcion
-a
Numera todas las lneas
-t
Numera nicamente las lneas no vacas
-n
No numera las lneas. Es el valor por defecto de los encabezados y los

51

Certificacin LPIC-1
-i
NUMERO
-p
-s CADENA
-v
NUMERO
-w
NUMERO

pies de pgina.
Incrementa el nmero de lnea en una cantidad igual a NMERO. El
valorpor defecto es uno.
No inicializa los nmeros de lnea al principio de cada pgina lgica.
Aade la cadena de caracteres CADENA despus de cada nmero de
lnea.
Establece el NMERO inicial de cada pgina lgica.
Especifica el NMERO de espacios que se reservan para los nmeros de
lnea. El valor por defecto es seis

La sintaxis correcta para el comando nl es la siguiente


[BASH] nl opciones nombreDelFichero

Administracion de Archivos
Listando el contenido de un directorio
Anteriormente estuvimos trabajando un poco con el comando ls (list), el cual como
explicamos en el capitulo anterior, es un comando para listar el contenido de un
directorio A continuacion indagaremos un poco mas en el uso de este comando. El
comando ls puede aceptar opciones como argumento. Hay un gran nmero de opciones
para ste comando que permiten un gran control sobre el resultado. En la tabla siguiente
se muestran las opciones ms usadas:
Opciones
Descripcion
-a
Lista todos los contenidos del directorio.
-A
Trabaja como el -a excepto que no lista . y el ..
-B
No se lista los ficheros que finalizan con |
-d
Muestra el nombre del directorio en el listado
-L
Muestra la informacin para los ficheros enlaces o referenciales
-R
Muestra los directorios recursivamente.
Una variedad de opciones pueden ser usadas para especificar la informacin mostrada
en un listado de ficheros, algunas de estas opciones se muestran en la siguiente tabla :
Opciones
Descripcion
-G
Especifica que grupo de informacion no se muestra
-I
Muestra el numero inode
-l
-o
-s

Muestra el tipo de fichero, permisos, contador de enlaces permanentes,


propietario, grupo propietario y fecha de la ltima modificacin
Muestra la misma informacin que -l menos la informacin de grupo que es
excluida
Muestra el tamao del fichero en bloques de 1024 Kb
52

Certificacin LPIC-1
El comando ls utiliza a veces opciones para ordenar la salida, las cuales se muestran en
la siguiente tabla.
Opciones

Descripcion
Muestra el resultado acorde con la fecha de modificacin o la fecha de
modificacin de inode
Muestra el resultado con el orden en que han sido salvados en el directorio
Muestra el listado en orden inverso
Muestra el listado de acuerdo al tamao, del ms grande al ms pequeo

-c
-f
-r
-S
-t

Muestra el listado de acuerdo a la fecha de modificacin, mostrando primero


el ms reciente.

-u

Muestra el listado de acuerdo al ltimo acceso, empezando por el ms


reciente.

La salida producida por el comando ls puede ser tambin controlada con otra serie de
opciones. Estas opciones se muestran en la siguiente tabla
Opciones
Descripcion
-l
La salida se muestra una fila por linea
-C
La salida se muestra en columnas
-F
-k
-m
-n
-p
-x
-T
COLTS
-W
COLTS

Muestra el nombre del fichero con una letra para especificar el tipo de
fichero
Muestra el tamao del fichero en Kb
Muestra los nombres de ficheros separados por comas
Muestra el usuario y el nmero de grupo
Muestra los nombres de ficheros con un carcter para especificar el tipo
Muestra el nombre de fichero en columnas ordenadas horizontalmente
Asume que cada parada de tabulacin est a cols columnas de ancho; el
valor predeterminado es 8. ls emplea tabuladores donde es posible en la
salida, por eficiencia. Si cols es cero, no usa tabuladores para nada.
Asume que la pantalla tiene cols columnas de ancho. El valor
predeterminado se toma del controlador de terminal si es posible; si no, se
emplea la variable de ambiente COLUMNS si est definida; de otro modo el
valor predeterminado es 80

Todas stas opciones se pueden combinar para crear una salida muy especifica

Determinando el tipo de fichero


El comando ls provee de mucha informacin cuando se examinan ficheros, pero no
muestra informacin sobre el tipo de contenido de los mismos. El comando file puede
ser usado para aprender ms sobre el tipo contenido de los ficheros en un sistema Linux.
La salida del comando file incluye una de las siguientes palabras:

text
53

Certificacin LPIC-1

executable
data o directory

Este comando acepta argumentos para especificar que ficheros examina Este comando
acepta argumentos para especificar que ficheros examina. Se pueden usar una serie de
opciones con este comando, como se muestran en la siguiente tabla.
Opciones
-b
-f

Descripcion
Especifica que el nombre de fichero no se muestre en la salida

Especifica que el fichero <nombrefichero> contiene los nombres de


nombreDelFichero los ficheros a examinar.
[
]

-n
-v
-z

Muestra el resultado despus del chequeo. Esto puede ser til


cuando trabajamos con una serie de ficheros que van a ser enviados
a otro comando.
Muestra la versin
Intenta examinar el contenido de los ficheros comprimidos.

La sintaxis para aplicar de manera correcta el comando es la siguiente:


[BASH] file [opciones] nombreDelFichero

Copiando Archivos
Cuando se trabaja con archivos en cualquier sistema, generalmente se necesita copiar
archivos. Linux incluye dos comandos para copiar archivos. El comando cp se usa para
copiar archivos y directorios y es el comando estndar para copiar archivos de una
localizacin del sistema a otra. Cuando se quiere copiar archivos de un formato de
archivo a otro, se har uso el comando dd. El comando cp se utiliza para la copia
estndar de archivos en sistemas Linux. Este comando se usa para crear una copia nueva
e independiente del archivo o directorio original. Se pueden usar muchas opciones con
el comando cp para modificar las copias creadas. Las opciones se resumen en la
siguiente tabla
Opciones
-a
-d
-f
-i
-l
-p
-r

Descripcion
Especifica que los enlaces y atributos del archivo original deben ser
transferidos a la nueva copia.
Especifica que los enlaces se deben mantener cuando se copia.
Sobreescribe cualquier archivo de destino existente.
Pregunta antes de sobreescribir cualquier archivo de destino existente.
Especifica que se creen enlaces fuertes (ver ms adelante en este captulo) en
lugar de copias del archivo.
Mantiene el propietario, grupo, permisos y timestamp del archivo original.
Copia directorios y sus contenidos de forma recursiva mientras copia cada
archivo como archivo estndar. Esta opcin no podr ser usada con algunos

54

Certificacin LPIC-1
archivos especiales.
-R
-s
-v

Copia directorios y sus contenidos de forma recursiva, manteniendo los


directorios.
Crea enlaces simblicos (ver ms adelante) de los archivos que no sean
directorios.
Muestra todos los nombres de los archivos segn se van copiando.

Estas opciones se pueden combinar cuando se copian archivos. Junto con las opciones,
tambin se usan argumentos con el comando cp . La sintaxis para aplicar de manera
correcta el comando es la siguiente:
[BASH] cp [opciones] origenDelFichero

destinoDelFichero

Copiando y convirtiendo archivos con diferente formato


El comando dd (abreviatura de Direct Dump) se usa para copiar y convertir archivos de
un formato a otro simultneamente. El comando dd, por defecto, escribe datos desde la
entrada estndar hacia la salida estndar. Las opciones se utilizan para cambiar estos
valores por defecto. Las opciones para el comando dd se muestran en la siguiente tabla :
Opciones
if=FILE
of=FILE
ibs=FILE
obs=FILe
bs=FILE
cbs=FILE

Descripcion
Especifica la localizacin del archivo de origen para ser utilizado en lugar
de la entrada estndar. ste es el archivo de origen.
Especifica la localizacin del archivo de destino para ser utilizado en lugar
de la salida estndar. ste es el archivo de destino.
Especifica el nmero de bytes ledos de cada vez.
Especifica el nmero de bytes escritos de cada vez.
Especifica el nmero de bytes a escribir y leer de cada vez.
Especifica el nmero de bytes a convertir de cada vez.

skips=FILE

Especifica los bloques a saltar en el archivo de origen antes de empezar a


copiar.

seek=FILE

Especifica los bloques a saltar en el archivo de destino antes de empezar a


escribir.

count=FILE

Especifica los bloques a copiar del archivo de origen en lugar de copiar el


archivo completo.

Este comando tiene diferentes opciones y diferente sintaxis que el comando cp .La
sintaxis utilizada para el comando dd es la siguiente:
[BASH] cp [opciones] origenDelFichero

destinoDelFichero

El comando dd se puede utilizar para variedad de tareas especiales. Por ejemplo:


[BASH] dd if=/dev/dispositivo of=respaldombr.bkp

bs=512 count=1

55

Certificacin LPIC-1
Esto significa que se copiara bit a bit los primeros 512 bytes del dispositivo ubicado en
/dev/dispositivo a un archivo de nombre respaldombr.bkp.

Moviendo Archivos
Se puede mover un archivo manualmente copindolo a la nueva localizacin y borrando
luego el archivo original. Sin embargo, Linux incluye un comando para mover archivos
que automatiza esta tarea. El comando mv (abreviatura de move) permite mover y
renombrar archivos en sistemas Linux. Este comando funciona como el comando cp,
utilizando la misma sintaxis. Las opciones para el comando mv son algo diferentes y se
resumen en la tabla siguiente:
Opciones
Descripcion
-f
Borra los archivos existentes sin pedir confirmacin.
-i
Pide confirmacin al usuario antes de sobreescribir archivos.
-u
v

Especifica que los archivos no sern movidos al destino si tienen fecha de


modificacin igual o ms reciente.
Muestra por pantalla los archivos movidos.

La sintaxis para aplicar de manera correcta el comando es la siguiente:


[BASH] mv [opciones] origenDelFichero

destinoDelFichero

Moviendo Archivos
Otra tarea frecuentemente necesaria cuando trabajamos con archivos y directorios es la
eliminacin de los mismos. El comando rm se utiliza para borrar archivos y directorios
en sistemas Linux . Se pueden utilizar muchas opciones con el comando rm. Las
utilizadas ms frecuentemente son las que se muestran en la tabla siguiente
Opciones
-d
-f
-i
-r
-v

Descripcion
Utilizada por el superusuario. Elimina directorios sin tener en cuenta si estn
vacos.
Ejecuta el comando sin pedir confirmacin, incluso si los archivos
especificados no existen.
Pide confirmacin al usuario para eliminar los archivos.
Elimina el contenido del directorio de forma recursiva.
Elimina archivos y muestra por pantalla los nombres de los archivos
eliminados.

La sintaxis para aplicar de manera correcta el comando es la siguiente:


[BASH] rm [opciones] nombreDelFichero

56

Certificacin LPIC-1
Creando, monitorizando y matando procesos
Sobre procesos
Un proceso es un concepto manejado por el sistema operativo que consiste en el
conjunto formado por:

Las instrucciones de un programa destinadas a ser ejecutadas por el


microprocesador.
Su estado de ejecucin en un momento dado, esto es, los valores de los registros
de la CPU para dicho programa.
Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.
Otra informacin que permite al sistema operativo su planificacin.

Esta definicin vara ligeramente en el caso de sistemas operativos multihilo, donde un


proceso consta de uno o ms hilos, la memoria de trabajo (compartida por todos los
hilos) y la informacin de planificacin. Cada hilo consta de instrucciones y estado de
ejecucin. Los procesos son creados y destruidos por el sistema operativo, as como
tambin este se debe hacer cargo de la comunicacin entre procesos, pero lo hace a
peticin de otros procesos. El mecanismo por el cual un proceso crea otro proceso se
denomina bifurcacin o fork. Los nuevos procesos pueden ser independientes y no
compartir el espacio de memoria con el proceso que los ha creado o ser creados en el
mismo espacio de memoria. En los sistemas operativos multihilo es posible crear tanto
hilos como procesos. La diferencia estriba en que un proceso solamente puede crear
hilos para s mismo y en que dichos hilos comparten toda la memoria reservada para el
proceso.

Estados de un proceso
El principal trabajo del procesador es ejecutar las instrucciones de mquina que se
encuentran en memoria principal. Estas instrucciones se encuentran en forma de
programas. Para que un programa pueda ser ejecutado, el sistema operativo crea un
nuevo proceso, y el procesador ejecuta una tras otra las instrucciones del mismo. En un
entorno de multiprogramacin, el procesador intercalar la ejecucin de instrucciones
de varios programas que se encuentran en memoria. El sistema operativo es el
responsable de determinar las pautas de intercalado y asignacin de recursos a cada
proceso.

Diagrama de formacion de un proceso


Se trata de la utilizacin de dos archivos, un objeto ejecutable y una biblioteca del
sistema, que despus se colocan en la imagen del proceso dentro de la memoria RAM y
posteriormente tambin se dan de alta dentro de la tabla de procesos, Bloque de control
del proceso.

57

Certificacin LPIC-1
Modelo de dos estados
El modelo de estados ms simple es el de dos estados. En este modelo, un proceso
puede estar ejecutndose o no. Cuando se crea un nuevo proceso, se pone en estado de
No ejecucin. En algn momento el proceso que se est ejecutando pasar al estado No
ejecucin y otro proceso se elegir de la lista de procesos listos para ejecutar para
ponerlo en estado Ejecucin. De esta explicacin se desprende que es necesario que el
sistema operativo pueda seguirle la pista a los procesos, conociendo su estado y el lugar
que ocupa en memoria. Adems los procesos que no se estn ejecutando deben
guardarse en algn tipo de cola mientras esperan su turno para ejecutar.

Modelo de cinco estados


El modelo anterior de 2 estados funcionara bien con una cola FIFO y planificacin por
turno rotatorio para los procesos que no estn en ejecucin, si los procesos estuvieran
siempre listos para ejecutar. En la realidad, los procesos utilizan datos para operar con
ellos, y puede suceder que no se encuentren listos, o que se deba esperar algn suceso
antes de continuar, como una operacin de Entrada/Salida. Es por esto que se necesita
un estado donde los procesos permanezcan esperando la realizacin de la operacin de
Entrada Salida por parte del Sistema Operativo hasta que puedan proseguir. Se divide
entonces al estado No ejecucin en dos estados: Listo y Espera. Se agregan adems un
estado Nuevo y otro Terminado.
Los cinco estados de este diagrama son los siguientes segn Osliyo:

Ejecucin: el proceso est actualmente en ejecucin.


Listo: el proceso est listo para ser ejecutado, slo est esperando que el
planificador de corto plazo as lo disponga.
Espera: el proceso no puede ejecutar hasta que no se produzca cierto suceso,
como la finalizacin de una operacin de Entrada/Salida solicitada por una
llamada al sistema operativo.
Nuevo: El proceso recin fue creado y todava no fue admitido por el sistema
operativo. En general los procesos que se encuentran en este estado todava no
fueron cargados en la memoria principal.
Terminado: El proceso fue expulsado del grupo de procesos ejecutables, ya sea
porque termin o por algn fallo, como un error de proteccin, aritmtico, etc.

Los nuevos estados Nuevo y Terminado son tiles para la gestin de procesos. En este
modelo los estados Espera y Listo tienen ambos colas de espera. Cuando un nuevo
proceso es admitido por el sistema operativo, se sita en la cola de listos. A falta de un
esquema de prioridades sta puede ser una cola FIFO. Cuando se da un suceso se pasan
a la cola de listos los procesos que esperaban por ese suceso. Si existe un esquema con
diferentes niveles de prioridad de procesos es conveniente mantener varias colas de
procesos listos, una para cada nivel de prioridad, lo que ayuda a determinar cul es el
proceso que ms conviene ejecutar a continuacin. Asimismo, existen varias colas en
estado de espera, como mnimo una por cada perifrico. Una de las razones para
implementar el estado Espera era poder hacer que los procesos se puedan mantener
esperando algn suceso, por ejemplo una Entrada/Salida. Sin embargo, al ser mucho
ms lentas estas operaciones, puede suceder que en nuestro modelo de cinco estados
58

Certificacin LPIC-1
todos los procesos en memoria estn esperando en el estado Espera y que no haya ms
memoria disponible para nuevos procesos. Podra conseguirse ms memoria, aunque es
probable que esto slo permita procesos ms grandes y no necesariamente nuevos
procesos. Adems hay un costo asociado a la memoria y de cualquier forma es probable
que se llegara al mismo estado con el tiempo. Otra solucin es el intercambio. El
intercambio se lleva a cabo moviendo una parte de un proceso o un proceso completo
desde la memoria principal al disco, quedando en el estado Suspendido. Despus del
intercambio, se puede aceptar un nuevo proceso o traer a memoria un proceso
suspendido anteriormente. El problema que se presenta ahora es que puede ser que si se
decide traer a memoria un proceso que est en el estado Suspendido, el mismo todava
se encuentre en espera. Slo convendra traerlo cuando ya est listo para ejecutar, esto
implica que ya aconteci el suceso que estaba esperando. Para tener esta diferenciacin
entre procesos suspendidos, ya sean listos como en espera, se utilizan cuatro estados:
Listo, Espera, Espera y suspendido y Listo y suspendido.

Sobre demonios
Un demonio, daemon o dmon (de sus siglas en ingls Disk And Execution MONitor),
es un tipo especial de proceso informtico que se ejecuta en segundo plano en vez de ser
controlado directamente por el usuario (es un proceso no interactivo). Este tipo de
programas se ejecutan de forma continua (infinita), vale decir, que aunque se intente
cerrar o matar el proceso, este continuar en ejecucin o se reiniciar automticamente.
Todo esto sin intervencin de terceros y sin dependencia de consola alguna. El origen
de la palabra daemon (demonio), se encuentra en la antigua Grecia, y la figura del
daimon, un espritu interior, equivalente a un "ngel protector" que guiaba y protega a
los hombres. Los programas demonios reciben este nombre en los sistemas UNIX. En
otros sistemas existen procesos similares como los TSRs de MS-DOS o los servicios de
Windows.

Caracteristicas
Los demonios suelen tener las siguientes caractersticas:

No disponen de una interfaz directa con el usuario, ya sea grfica o textual.


No hacen uso de la entradas y salidas estndar para comunicar errores o registrar
su funcionamiento, sino que usan archivos del sistema en zonas especiales
(/var/log/ en los UNIX ms modernos) o utilizan otros demonios especializados
en dicho registro como el syslogd.

Por ejemplo, una mquina que alberga un servidor web utilizar un demonio httpd
(HTTP Daemon) para ofrecer el servicio y que los visitantes a dicha web puedan
acceder. Otro ejemplo son los demonios "cronolgicos" como cron, que realizan tareas
programadas como mantenimiento del sistema en segundo plano.

Comando ps (process state)


El comando ps es el que permite informar sobre el estado de los procesos. ps esta
basado en el sistema de archivos /proc, es decir, lee directamente la informacin de los

59

Certificacin LPIC-1
archivos que se encuentran en este directorio. Tiene una gran cantidad de opciones,
incluso estas opciones varan dependiendo del estilo en que se use el comando. Estas
variaciones sobre el uso de ps son las siguientes:

Estilo UNIX, donde las opciones van precedidas por un guin Estilo BSD, donde las opciones no llevan guin
Estilo GNU, donde se utilizan nombres de opciones largas y van precedidas por
doble guin --

Sea cual sea el estilo utilizado, dependiendo de las opciones indicadas, varias columnas
se mostrarn en el listado de procesos que resulte, estas columnas pueden ser entre
muchas otras, las siguientes:
Opciones
p o PID
P o PPID
U o UID
t o TT o
TTY
T o TIME
c o CMD
RSS
SZ o SIZE

Descripcion
Process ID, nmero nico o de identificacin del proceso.
Parent Process ID, padre del proceso
User ID, usuario propietario del proceso
Terminal asociada al proceso, si no hay terminal aparece entonces un '?'
Tiempo de uso de cpu acumulado por el proceso
El nombre del programa o camndo que inici el proceso
Resident Sise, tamao de la parte residente en memoria en kilobytes
Tamao virtual de la imagen del proceso

Nice, valor nice (prioridad) del proceso, un nmero positivo significa


menos tiempo de procesador y negativo ms tiempo (-19 a 19)
C o PCPU Porcentaje de cpu utilizado por el proceso
STIME
Starting Time, hora de inicio del proceso
Status del proceso, estos pueden ser los siguientes:
R runnable, en ejecucin, corriendo o ejecutndose
S sleeping, proceso en ejecucin pero sin actividad por el momento, o
esperando por algn evento para continuar
T sTopped, proceso detenido totalmente, pero puede ser reiniciado
S o STAT Z zombie, difunto, proceso que por alguna razn no termin de manera
correcta, no debe haber procesos zombies
D uninterruptible sleep, son procesos generalmente asociados a acciones
de IO del sistema
X dead, muerto, proceso terminado pero que sigue apareciendo, igual que
los Z no deberan verse nunca

NI

Las opciones para el comando dd se muestran en la siguiente tabla :


Opciones
-a
-x

Descripcion
El comando ps tambin muestra los procesos iniciados por los otros
usuarios.
Tambin muestra los procesos sin terminal de control alguna o con una

60

Certificacin LPIC-1
terminal de control diferente a la que se est utilizando.
-u
-m
-j
-r

Muestra, para cada proceso, el nombre del usuario que lo inici y la hora a la
cual fue iniciado.
Opcin del comando ps para mostrar informacin de memoria (combinese
con p para obtener el nmero de pginas)
Formato de trabajo (jobs) pgid sid
Slo procesos que se estan ejecutando

La sintaxis para aplicar de manera correcta el comando es la siguiente:


[BASH] ps [opciones] nombreDelFichero

Podemos obtener mas informacion sobre este comando tecleando en una terminal lo
siguiente:
[BASH] man ps

O tambien
[BASH] ps --help

Comando pstree y top


Existen dos comandos relacionados con el comando ps que ofrecen una vista de los
procesos ligeramente diferente a como lo hace ps. El primero de ellos es pstree, que
ofrece una visualizacin grfica de las relaciones que existen entre los procesos: La
sintaxis para aplicar de manera correcta el comando es la siguiente:
[BASH] pstree

Como se ve a continuacion
[BASH] pstree

initacpid auditdaudispd{audispd} {auditd} avahi-daemon


beagled12[{beagled}] beagled-helper7[{beagled-helper}]
bluetoothd bonobo-activati{bonobo-activati} console-kitdae63[{console-kit-dae}] cron cupsd 2[dbus-daemon] 2[dbuslaunch] dhcpcd evince{evince} 2[evolution-data-2[{evolutiondata-}]] firefoxfirefox5[{firefox}] gconfd-2 }}}
El segundo comando relacionado con ps es top. ste comando, no slo muestra los
procesos actuales, sino que automticamente se va actualizando para mostrar los
cambios acontecidos. Adicionalmente, en la parte superior se muestra informacin sobre
el nmero de das que ha estado la maquina en marcha, el nmero de usuarios, la
memoria, estadsticas de la memoria de intercambio, etc. Mientras el comando top est
en marcha, se pueden usar las siguientes teclas para interactuar con l:
Opciones

Descripcion

61

Certificacin LPIC-1
h
q
s
espacio
u

Ayuda
Salir
Cambia el tiempo entre actualizaciones (por defecto, 5 segundos)
Actualizar ahora en lugar de esperar al siguiente intervalo de actualizacin
Muestra un nico usuario

Finalizando un proceso
Bajo circunstancias normales, un proceso hijo acta bajo el padre que lo ha creado.
Cuando el proceso hijo ya no es necesario, desaparece. Algunas veces, sin embargo, los
procesos se convierten en procesos 'fugitivos', y aunque no sea necesario que se sigan
ejecutando, continan su ejecucin consumiendo recursos innecesarios.
Un proceso padre no puede (y no debe) finalizar su ejecucin mientras tenga procesos
hijos asociados a l que estn en funcionamiento. Teniendo sto en cuenta, cuando un
proceso hijo no puede finalizar correctamente su ejecucin, origina que el proceso padre
se quede en un estado inconsistente, y que no pueda, a su vez, terminar su ejecucin,
quedando el proceso padre (y el o los hijos 'colgados') en un estado conocido como
'zombie', haciendo uso de recursos innecesarios del sistema.
Un ejemplo para entender todo esto: el shell de un usuario ejecuta un proceso (A), que
no puede hacer todo por si mismo, as que ejecuta otro proceso (B), que a su vez ejecuta
otro proceso (C). Pueden suceder entonces varias cosas: Bajo condiciones normales,
cuando el proceso C termina su ejecucin, se lo notifica al proceso B, y desaparece (C).
El proceso B trata la informacin, notifica los datos al proceso A, y muere (B). El
proceso A, hace lo propio con los datos recibidos, y retorna la informacin al shell del
usuario, y entonces muere (A) En condiciones anormales, supongamos que el proceso
C, despus de pasar la informacin al proceso padre (el proceso B), no muere. Continua
ejecutndose, lo que impide que el proceso B finalice, dado que tiene un proceso hijo
(C) en marcha. El proceso B trata la informacin y la reporta hacia el proceso padre (A),
que a su vez, devuelve la informacin hacia el shell que lo origin. Tanto el proceso A
como el proceso B, no pueden finalizar su ejecucin dado que tienen procesos hijos en
marcha. As pues, un error en el proceso C, que hace que se quede en ejecucin cuando
no debera, origina que haya tres procesos en marcha en el sistema, consumiendo
recursos de forma innecesaria. Otro tipo de problema, podra darse de la siguiente
manera: el proceso C, como antes, entra en un estado inestable, y no finaliza su
ejecucin. Aun as, el proceso B, acaba su ejecucin y desaparece. El proceso A,
tambin finaliza dado que su hijo, el proceso B, ha finalizado. As pues, se queda
nicamente el proceso C en marcha (en estado inestable), pero ahora, no tiene procesos
padre a los que reportar. Para resolver los problemas que pueden ocasionar estos
procesos extraos, se puede usar el comando kill. La sintaxis del comando kill es la
siguiente:
[BASH] kill [opciones] PID

62

Certificacin LPIC-1
Procesos en segundo y primer plano
Cuando se ejecuta un proceso, por defecto se ejecuta en primer plano. Cuando un
proceso se ejecuta en primer plano, se convierte en el nico trabajo en el que puede
trabajar el usuario, la interaccin se basa entonces, en que se acabe ste trabajo. Por
ejemplo, cuando un usuario ejecuta el comando ls -l, se mostrar por pantalla el
resultado, y hasta que no acabe el comando, no se podr ejecutar ningn otro comando.
Para ejecutar un proceso en segundo plano, simplemente se ha de aadir al final del
comando el signo ampersand (&), esta opcin permitir ejecutar ms de un comando a
la vez: La sintaxis del comando kill es la siguiente:
[BASH] proceso&

Creando particiones y sistemas de ficheros


Sobre fdisk
Fdisk es una aplicacion disponible para varios sistemas operativos, el cual permite
dividir en forma lgica un disco duro, siendo denominado este nuevo espacio como
particin. La descripcin de las particiones se guarda en la tabla de particiones que se
localiza en el sector 0 de cada disco. La versin Fdisk de Linux permite crear
particiones en 94 sistemas de archivos distintos, incluyendo FAT32, Ext3, Solaris y
QNX. Esta versin de Fdisk cuenta con un men de texto de ayuda en lnea para realizar
las operaciones.

Utilizando fdisk
La forma de comenzar a utilizar fdisk sera de la siguiente manera.
[BASH] fdisk /dev/sd[a|b|c|d][1,2,3,4]

Donde
sd [a|b|c|d] [1|2|3|4]

Hace referencia a una unidad de disco duro,particion o unidad USB Al lanzar la


aplicacin , esta nos arrojara informacion referente a numero de cabezas, sectores ,
cilindros, particiones o tamao del dispositivo. Ejemplo:
[BASH] fdisk /dev/sda

Command (m for help):


Disk /dev/sda: 146.8 GB, 146815737856 bytes 255 heads, 63 sectors/track, 17849
cylinders Units = cylinders of 16065 512 = 8225280 bytes}}}
Una vez que la aplicacin esta iniciada, se nos presenta el siguiente mensaje:
Command (m for help):

63

Certificacin LPIC-1
Si usted presiona la tecla 'm' se imprimira el menu con las herramientas propias del
comando fdisk. Estas herramientas son:
Opciones
Descripcion
a
Conmuta el indicador de iniciable
b
Modifica la etiqueta de disco bsd
c
Conmuta el indicador de compatibilidad con DOS
d
Suprime una particin
a
Conmuta el indicador de iniciable
b
Modifica la etiqueta de disco bsd
c
Conmuta el indicador de compatibilidad con DOS
d
Suprime una particin
l
Lista los tipos de particiones conocidos
m
Imprime este men
n
Aade una nueva particin
o
Crea una nueva tabla de particiones DOS vaca
p
Imprime la tabla de particiones
q
Sale sin guardar los cambios
s
Crea una nueva etiqueta de disco Sun
t
Cambia el identificador de sistema de una particin
u
Cambia las unidades de visualizacin/entrada
v
Verifica la tabla de particiones
w
Escribe la tabla en el disco y sale
x
Funciones adicionales (slo para usuarios avanzados)
Como podemos notar, con la opcin "m" podemos imprimir nuevamente este menu.
Otro ejemplo, con "p" obtendremos la tabla de particiones actual del disco duro en
cuestin: Ejemplo:
Command (m for help): p

Disk /dev/sda: 146.8 GB, 146815737856 bytes 255 heads, 63 sectors/track, 17849
cylinders Units = cylinders of 16065 512 = 8225280 bytes
Device Boot
Start
End Blocks Id System /dev/sda1
1
25
200781 83 Linux /dev/sda2
26
2575 20482875 83 Linux
/dev/sda3
2576
2706 1052257+ 82 Linux swap / Solaris /dev/sda4
2707
4000 10394055 8e Linux LVM }}}
Si lo que queremos es borrar una particin (digamos la 3):
Command (m for help): d

Partition number (1-4): 3


Command (m for help) }}}
64

Certificacin LPIC-1
Veamos como qued nuestra tabla de particiones:
Command (m for help): p

Disk /dev/sda: 146.8 GB, 146815737856 bytes 255 heads, 63 sectors/track, 17849
cylinders Units = cylinders of 16065 512 = 8225280 bytes
Device Boot
Start
End
Blocks Id System /dev/sda1
1
200781 83 Linux /dev/sda2
26
2575 20482875 83 Linux
/dev/sda4
2707
4000 10394055 8e Linux LVM }}}

25

En el ejemplo hemos borrado la particin correspondiente a la memoria extendida


(swap). Vamos a volver a crearla, para ello usamos "n":
Command (m for help): n

Command action e extended p primary partition (1-4) p Selected partition 3 First


cylinder (2576-17849, default 2576): Using default value 2576 Last cylinder or +size or
+sizeM or +sizeK (2576-2706, default 2706): Using default value 2706 }}}
Pongamos atencin en las preguntas que se nos hicieron:

Tipo de particin: Aqu se nos pide elegir entre particin primaria y particin
extendida. En un disco IDE o SATA podemos crear nicamente hasta 3
particiones primaria en el disco duro. Si requerimos de ms particiones podemos
crear una extendida y ah seguir particionando (hasta un total de 60 particiones
lgicas). Si requerimos ms, no queda otra que utilizar un segundo disco duro.
En el caso de un disco SCSI, ste admite hasta 15 particiones primarias.
Seleccin de la particin. Aqu escribimos en nmero de la particin que
estamos creando. "3" en nuestro ejemplo.
Primer cilindro. Es el cilindro en el que comienza la particin. Normalmente
elegimos el que el sistema nos marca por default.
ltimo cilindro o tamao de la particin. En el caso del ejemplo tom de nuevo
la opcin por default pues de este modo aprovecho todo el espacio
libre.Generalmente resulta ms cmodo proporcionar el tamao en megas (o en
K's). Una opcin sera entonces dar: +2048M

Podemos, nuevamente con "p", checar el estado de nuestra tabla de particiones actual:
Command (m for help): p

Disk /dev/sda: 146.8 GB, 146815737856 bytes 255 heads, 63 sectors/track, 17849
cylinders Units = cylinders of 16065 512 = 8225280 bytes
Device Boot
Start
End Blocks Id System /dev/sda1
1
200781 83 Linux /dev/sda2
26
2575 20482875 83 Linux
/dev/sda3
2576
2706 1052257+ 83 Linux /dev/sda4
2707
4000 10394055 8e Linux LVM }}}

25

65

Certificacin LPIC-1
Analicemos en este punto las siete columnas que la impresin de la tabla de particiones
nos da. En la primera columna se encuentra el dispositivo resultado de la particin de
disco sda. As, podemos observar que en este momento contamos con 4 particiones:
sda1, sda2, sda3 ysda4. La segunda columna nos informa que es la primera particin del
disco la que contiene la parte booteable. La tercera y cuarta columna nos dan
informacin acerca del cilindro en el cual comienza y termina la particin
respectivamente. La quinta nos dice cuantos blocks ocupa sta. Por ltimo, con la sexta
y sptima columna sabemos el tipo de particin (Identificador y sistema
respectivamente).
De nuestro ejemplo, sabemos que contamos con 3 particiones "Linux" (Id 83) y una
"Linux LVM" (ide 8e). Si pensamos utilizar la particin recin creada como memoria
extendida, es el momento de asignar el tipo de particin. sto lo hacemos con:
Command (m for help): t

Partition number (1-4): 3 Hex code (type L to list codes): 82 Changed system type of
partition 3 to 82 (Linux swap / Solaris)}}}
Es decir, asignamos el sistema "Linux swap / Solaris" (con id=82). Checamos:
Command (m for help): p

Disk /dev/sda: 146.8 GB, 146815737856 bytes 255 heads, 63 sectors/track, 17849
cylinders Units = cylinders of 16065 512 = 8225280 bytes
Device Boot
Start
End Blocks Id System /dev/sda1
1
25
200781 83 Linux /dev/sda2
26
2575 20482875 83 Linux
/dev/sda3
2576
2706 1052257+ 82 Linux swap / Solaris /dev/sda4
2707
4000 10394055 8e Linux LVM}}}
Con fdisk podemos asignar muchos otros tipos de sistema. Con "l" podemos obtener la
lista completa de opciones:
Command (m for help): l

0 Empty
1e Hidden W95 FAT1 80 Old Minix
be Solaris boot 1
FAT12
24 NEC DOS
81 Minix / old Lin bf Solaris
2 XENIX root
39 Plan 9
82 Linux swap / So c1 DRDOS/sec (FAT- 3 XENIX usr
3c
PartitionMagic 83 Linux
c4 DRDOS/sec (FAT- 4 FAT16 <32M
40 Venix
80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT- 5 Extended
41 PPC PReP
Boot 85 Linux extended c7 Syrinx
6 FAT16
42 SFS
86 NTFS
volume set da Non-FS data 7 HPFS/NTFS
4d QNX4.x
87 NTFS volume
set db CP/M / CTOS / . 8 AIX
4e QNX4.x 2nd part 88 Linux plaintext de
Dell Utility 9 AIX bootable 4f QNX4.x 3rd part 8e Linux LVM
df BootIt
a OS/2 Boot Manag 50 OnTrack DM
93 Amoeba
e1 DOS access
b W95
FAT32
51 OnTrack DM6 Aux 94 Amoeba BBT
e3 DOS R/O
c W95
FAT32 (LBA) 52 CP/M
9f BSD/OS
e4 SpeedStor
e W95 FAT16
(LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
f W95 Ext'd
(LBA) 54 OnTrackDM6
a5 FreeBSD
ee EFI GPT
10 OPUS
55

66

Certificacin LPIC-1
EZ-Drive
a6 OpenBSD
ef EFI (FAT-12/16/ 11 Hidden FAT12 56 Golden
Bow
a7 NeXTSTEP
f0 Linux/PA-RISC b 12 Compaq diagnost 5c Priam
Edisk a8 Darwin UFS
f1 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor
a9 NetBSD
f4 SpeedStor 16 Hidden FAT16 63 GNU HURD or Sys ab
Darwin boot f2 DOS secondary 17 Hidden HPFS/NTF 64 Novell Netware b7
BSDI fs
fd Linux raid auto 18 AST SmartSleep 65 Novell Netware b8 BSDI
swap
fe LANstep
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot
Wizard hid ff BBT
1c Hidden W95 FAT3 75 PC/IX
}}}
inalmente, guardamos los cambios:
Command (m for help): w

y salimos

Utilizando mkfs
Una vez se ha creado la particin, el sistema de ficheros debe ser aadido para que
Linux pueda hacer uso de este espacio. La utilidad mkfs se usa para crear sistemas de
ficheros en particiones vacas. La utilidad mkfs se utiliza con muchas opciones distintas,
las cuales se pueden ver en la siguiente tabla
Opciones
Descripcion
-t fstype Especifica el tipo de sistema de ficheros a crear. Por defecto se usa ext2
fs Opciones especficas de sistema de ficheros para ser pasados al sistema real
options de ficheros que vamos a crear.
Comprueba el dispositivo en busca de bloques defectuosos antes de crear el
sistema de ficheros.
-l fichero Lee los bloques defectuosos del fichero.
Produce una salida con ms informacin, incluyendo todas las rdenes
-v
especficas del sistema de ficheros concreto que se ejecutan. sto es
realmente slo til para comprobaciones.
-c

Las opciones usadas por mkfs estn seguidas por un argumento especificando la
particin que debe ser formateada. Despus de la ejecucin del comando, el cdigo de
salida de 0 (cero) indicar que se ha llevado a cabo con xito mientras que el cdigo de
salida 1 (uno) indicar fallo. La sintaxis correcta para este comando es la siguiente
[BASH] mkfs [opciones] unidadAFormatear

/dev/sd[abcd][1234]

Algunas otras utilidades del comando mkfs son las siguientes:


Opciones
Descripcion mkfs.ext2
o mke2f
Crea un sistema de ficheros ext2 mkfs.msdos o
mkdosfs Crea un sistema de ficheros MS-DOS mkswap
Crea un sistema de ficheros de Linux swap
mkraid
Inicializa y actualiza cadenas de dispositivos RAID

67

Certificacin LPIC-1
mkfs.minix
mkfs.bfs

Crea un sistema de ficheros Minix


Crea un sistema de ficheros SCO BFS

Manteniendo la integridad de los sistemas de ficheros


El monitoreo periodico del sistema de ficheros de sistema operativo resulta tema de
suma importancia para los administradores de red, ya que durante el transcurso del
tiempo estos sistemas de ficheros pueden terminar presentando problemas como los
siguientes:

El sistema de ficheros se llena hasta el lmite de su capacidad, causando que los


aplicaciones o quizs, el sistema entero dejen de funcionar.
El sistema de ficheros se corrompe, seguramente por un corte de alimentacin o
por una cada del sistema.
El sistema de ficheros se queda sin inodos libres de tal forma que no se pueden
crear nuevos objetos en el mismo.

Monitorizar y comprobar cuidadosa y regularmente los filesystems de Linux nos


ayudar a prevenir o corregir estos problemas.

Monitorizando el espacio y los inodos libres del disco


Un sistema de lectura escritura no sirve de mucho si crece hasta el punto en que no
pueda admitir nuevos ficheros. Esto podra ocurrir si nuestro sistea de ficheros se llena o
si se queda sin inodos libres. Los inodos son las estructuras de datos dentro del sistema
de ficheros que describen los ficheros (valga la redundancia) en el disco. Cada sistema
de ficheros contiene un nmero finito de inodos que se establece en el momento de
creacin del sistema de fcheros. Este nmero es, a su vez, el mximo nmero de
ficheros que un sistema de ficheros puede acomodar. Como los sistemas de ficheros se
crean con un nmero de inodos enorme, probablemente nunca crears tantos ficheros
como para agotar este nmero. No obstante, es posible quedarse sin inodos libres en
particiones que contengan muchos ficheros pequeos.
Es muy importante prevenir la escasez de inodos libres en las particiones del sistema. El
comando df proporciona informacin necesaria tanto sobre la uso del espacio en disco
como de los inodos libres. El comando df nos muestra informacin general sobre el uso
del disco en los sistemas de ficheros montados en directorios. Normalmente, en
directorios indicamos ficheros de dispositivos de particiones como / dev/hda1, pero si
indicamos otro tipo de nombre de fichero o directorio obtendremos informacin sobre la
particin donde est ubicado dicho fichero o directorio. Si omitimos directorios, se
mostrar la informacin relativa a los sistemas de ficheros montados en los dispositivos
incluidos en / etc/fstab. La forma correcta de utilizar el comando df sera de la siguiente
manera.
[BASH] df

[opciones]

/dev/sd[a|b|c|d][1,2,3,4]

En la tabla siguiente se muestran las opciones ms usadas:

68

Certificacin LPIC-1
Opciones

Descripcion

-h

Muestra los resultados en un formato legible para las personas, incluyendo


sufijos como M(megabytes) y G (gigabytes).

-i

Muestra informacin sobre los inodos libres en lugar de la informacin por


defecto sobre el espacio libre en disco.

Monitorizando el espacio y los inodos libres del disco


El comando du nos puede ayudar, mostrndonos directorio por directorio el uso del
espacio en disco, asi mismo examina los directorios recursivamente y muestra
informacin detallada o resumida sobre el espacio en disco consumido. La forma
correcta de utilizar el comando du sera de la siguiente manera.
[BASH] du

[opciones] [directorio]

En la tabla siguiente se muestran las opciones ms usadas:


Opciones
Descripcion
-a
Muestra todos los ficheros, no solo los directorios.
-c
Genera un gran total de todos los elementos listados
-h

Muestra los resultados en un formato legible para las personas, incluyendo


sufijos como M (megabytes) y G (gigabytes).

-s

Visualiza un sumario para cada uno de los directorios especificados, en lugar


de los totales encontrados recursivamente en cada subdirectorio.

-S

Excluye los subdirectorios de las sumas y los totales, limitndose a totalizar


los directorios.

Comprobando la integridad del sistema de ficheros


El comando fsck (file system consistency check) es una utilidad de los sistemas Unix y
similares, como Linux y AIX que se utiliza ante alguna inconsistencia del sistema de
archivos para corregir los posibles errores en el sistema. fsck se ejecuta
automticamente al inicio del sistema ante alguna anomala, pero tambin puede ser
utilizada manualmente por el administrador del sistema para forzar un chequeo.
Durante la comprobacin del sistema de fsck se hace lo siguiente:
1. Comprueba inodos, bloques y tamaos. 2. Comprueba la estructura de directorios. 3.
Comprueba la conectividad de directorios. 4.Comprueba las referencias. 5. Comprueba
el total de la informacin.
Para verificar un sistema de archivos es muy aconsejable hacerlo mientras ste est
desmontado. La sintaxis bsica de esta utilidad es la siguiente:
[BASH] fsck [-opciones] /dev/hdXXX (o sdXXX)

En la tabla siguiente se muestran las opciones ms usadas:


69

Certificacin LPIC-1
Opciones

Descripcion
Ejecuta comprobaciones en todos los sistemas de ficheros incluidos en
-A
/etc/fstab. Esta opcin est pensada para utilizarse en tiempo de carga del
sistema, antes de montar los filesystems.
-N
No se ejecuta, pero muestra lo que debera hacerse.
Especifica el tipo de sistema de ficheros a comprobar; por defecto se
-t tipo
asume ext2. El valor de tipo determina que verificador especfico para el
sistema de ficheros es utilizado.
Utiliza una copia del superbloque alternativa. En el modo interactivo,
-b
e2fsck utiliza automticamente superbloques alternativos. Normalmente,
superbloque para restaurar un superbloque defectuoso, utilizars -b 8193 en el modo
no interactivo.
-c
Comprobar bloques defectuosos.
-f
Fuerza una comprobacin, incluso si el sistema de ficheros parece limpio.
-p
Repara automticamente el sistema de ficheros sin hacer preguntas.
-y
-v

Responde automticamente "yes" a todas las preguntas interactivas


permitiendo la utilizacin no interactiva de e2fsck.
Muestra el estado del proceso

Montando y desmontando sistemas de ficheros


Controlando el montaje y desmontaje del sistema de ficheros
Como ya se vi anteriormente, la estructura de los sistemas de ficheros estn
generalmente divididos en particiones, unidas todas ellas en el punto de montaje raiz (/)
o seapradas . Los sistemas de ficheros de los dispositivos removibles como un USB o
un Disco CD se unen a la raiz del sistema de la misma manera, como directorios o
puntos de montaje. En principio estos directorios destinados a los dispositivos estn
vacos, a la espera de su montaje, puede darse el caso de que el directorio destinado a
este fin contenga subdirectorios o archivos, en cuyo caso quedarn ocultos hasta que el
dispositivo se desmonte.

Administrando la tabla del sistema de ficheros


Para que las diferentes particiones estn disponibles desde un primer momento es
necesario montarlas durante el arranque del sistema, los dispositivos removibles
tambin se usan frecuentemente y es aconsejable tenerlos preparados para usar los
comandos de montaje. Toda este informacin se guarda en el fichero /etc/fstab . Los
sistemas de ficheros definidos en este fichero son revisados y montados durante el
arranque del sistema. Sus entradas se consultan como fuente de informacin por defecto
cuando los usuarios quieren montar dispositivos removibles. En el siguiente ejemplo de
/etc/fstab se puede ver que se trata de un fichero de texto con 6 campos en cada linea:
Device

Mount point

F. type

M. Options

DF PN

/dev/sda1 / ext2 defaults 1 1 /dev/sda5 /boot ext2 defaults 1 2 /dev/sda9 /home ext2
defaults 1 2 /dev/sda10 /tmp ext2 defaults 1 2 /dev/sda11 swap swap defaults 0 0

70

Certificacin LPIC-1
/dev/fd0 /mnt/floppy ext2 noauto,users 0 0 /dev/hdc /mnt/cdrom iso966 noauto,ro,users
0 0 }}}
Este campo especifica la particin del sistema de ficheros, por ejemplo
Device
/dev/hda1. Este campo no puede contenter el dispositivo entero
(/dev/sda)
Aqu se introduce el directorio donde se quiere que el dispositivo sea
Mount point montado. Por ejemplo si la particin /dev/hda1 tiene el sistema de
ficheros root, donde est el sistema se montar en /
Filesystem
En este campo se indica que tipo de particin se trata, ext2, ext3, ext4,
type
reiserfs, swap, iso9660
Mount options Se explican ms adelante, se separan por comas.
El programa dump consulta la entrada del /etc/fstab para ver cada
Dump
cuanto tiempo debe hacer el backup. Normalmente tiene el valor 1 para
frecuency
filesystems basados en ext2y ext3 y 0 para los dems.
Este campo es usado por la utilidad fsck cuando la opcin -A se
especifica, normalmente en tiempo de arranque. Tiene valores:
0 - No chequear el sistema
Pass number
1 - Debe ponerse para el filesystem root (/) y ordena al fsck a
para el fsck
chequearlo primero
2 - Hace el chequeo de la unidad, despus del chequeo de los marcados
con un 1
En el ejemplo se tiene un disco duro SATA La primera particin /dev/sda1 tiene el
directorio root (/), la quinta contiene las imgenes del kernel para el arranque, la 9 para
el directorio de los usuarios, la particin 10 es la temporal, la particion 11 para el
sistema de swap. Luego se tiene la /dev/fd0 para diskettes y la /dev/hdc para el lector de
CD Se pueden aadir/modificar estas entradas en cada caso y segn las necesidades de
cada uno.

Montando el sistema de ficheros


Los sistemas de ficheros son montados con el comando mount. Durante el arranque, los
sistemas de ficheros que no contienen un 0 en el pass number son chequeados y luego
montados. Despus del arranque se pueden aadir ms sistemas de ficheros
manualmente con el comando mount. El comando mount se usa para montar sistemas
de fichros dentro de la estructura del rbol del sistema. La primera y segunda entrada
consultan al fichero /etc/fstab para montar los dispositivos y as tomar las opciones que
se le especifiquen en el /etc/fstab. La tercera opcin es independiente del fichero
/etc/fstab y monta el sistema de ficheros en el directorio El comando mount admite dos
tipos de opciones, unos para el comando en si, y otros para especificar opciones del
sistema de ficheros. La sintaxis bsica de esta utilidad es la siguiente:
[BASH] mount [opciones] [dispositivo|directorio]

El comando mount admite dos tipos de opciones, unos para el comando en si, y otros
para especificar opciones del sistema de ficheros:

71

Certificacin LPIC-1
Opciones

Descripcion

Monta todos los fileystems especificados en el /etc/fstab menos los que


tengan la opcin noauto
-h
Ayuda del comando mount
-o
Especifica las opciones del mount en la linea de comandos
-r
Monta filesystems en modo de solo lectura
-t fstype Especifica un tipo de fileystem
-v
Salida interactiva
-w
Monta fileystems de lectura/escritura

-a

Opciones del mount


Estas opciones se especifican en el fichero /etc/fstab o bien en la linea de comandos con
la opcin -o. Estas opciones modifican el modo de montaje del comando mount, algunas
de las opciones son:
Opciones
Descripcion
async
Toda la E/S al sistema de ficheros debera hacerse asncronamente.
auto
Puede montarse con la opcin -a
defaults
dev
exec
noauto
noexec
nosuid
nouser
ro
rw
suid
sync
user
users

Establece las opciones: rw, suid, dev, exec, auto, nouser y async. Es la
opcion por defecto en sistemas ext2
nterpretar dispositivos especiales de caracteres o bloques en el sistema de
ficheros
Permitir la ejecucin de binarios
Slo puede montarse explcitamente (esto es, la opcin -a no har que el
sistema de ficheros se monte)
No permitir la ejecucin de ningn binario en el sistema de ficheros
montado. Esta opcin puede ser til para un servidor que tiene sistemas de
ficheros que contienen binarios para otras arquitecturas distintas de la suya.
No permitir el efecto de los bits SUID ni SGID
Prohibir a un usuario ordinario (esto es, distinto de root) montar el sistema
de ficheros. Esto es lo predeterminado
Montar el sistema de ficheros en modo de slo lectura.
Montar el sistema de ficheros de lectura y escritura
Permitir el efecto de los bits SUID y SGID
Toda la E/S al sistema de ficheros debera hacerse sncronamente.
Permitir a un usuario ordinario montar el sistema de ficheros
Permite a cualquier usuario el montaje/desmontaje de el sistema de ficheros

Desmontando el sistema de ficheros


Los sistemas de ficheros pueden ser desmontados usando el comando umount. Cuando
un sistema de ficheros es desmontado, los contenidos del rbol principal se actualizan,
no pudiendose usar el umount si el sistema de ficheros que se quiere desmontar est en
72

Certificacin LPIC-1
uso. Si el sistema de ficheros est en uso el comando umount dar un error. Esto puede
ocurrir por ejemplo cuando tenemos abierto un fichero de un DVD o un proceso est
haciendo uso del mismo. Otros errores pueden surgir si quitamos dispositivos
removibles sin antes desmontarlos: La sintaxis bsica de esta utilidad es la siguiente:
[BASH] umount [opciones] [dispositivo|directorio]

El comando mount admite dos tipos de opciones, unos para el comando en si, y otros
para especificar opciones del sistema de ficheros.
Opciones

Descripcion
Desmonta todos los filesystems descritos en /etc/mtab. Este fichero est
-a
mantenido por los comando mount y umount en tiempo real, se usa
normalmente cuando se apaga/reinicia el PC.
-t fstype Desmonta slo los filesystems del tipo especificado

Administrando cuotas de disco


Establecer y consultar cuotas de disco
La administracin del espacio en disco duro del equipo puede ser una tarea
problemtica. El espacio disponible es un recurso limitado que muy a menudo se
consume a un ritmo alarmante provocando que un sistema de ficheros bien
proporcionado se vuelva insuficiente al cabo del tiempo. En los sistemas multiusuario
no importa lo grande que sea el sistema de ficheros los usuarios siempre terminarn
llenndolo. Y a nadie le interesa que un sistema de ficheros se llene demasiado pronto.
Una forma de prevenir que sto ocurra es el establecimiento de cuotas de disco, de esta
forma podrn establecerse lmites a la cantidad de espacio en disco consumido por
usuarios independientes o por grupos de stos. Tpicamente un tamao de cuota es
mucho menor que el espacio libre del sistema de fichers donde se configura, de esta
forma se puede evitar que un usuario o un grupo consuma demasiado espacio. Pueden
configurarse cuotas para cada sistemas de ficheros incluido en /etc/fstab, aunque
normalmente solo se aplican en aquellos sistemas de ficheros donde los usuarios finales
guardan sus archivos por ejemplo el /home/nombreDelUsuario No es necesario
establecer una cuota en /usr, por ejemplo, ya que los usuarios finales no pueden guardar
ficheros all. Pueden configurarse cuotas para los usuarios individuales incluidos en
/etc/passwd y para los grupos en /etc/group.

Cuotas de Limitacion
Pueden establecerse hasta cinco tipos de cuotas de limitacin por cada sistema de
ficheros. Estas limitaciones se especifican en bloques de disco, normalmente de 1024
bytes cada uno y estas son:
Opciones

Descripcion
El lmite hard es la mxima cantidad de espacio en disco que un usuario
Lmite hard
puede disponer en el sistema. Una vez que el usuario alcanza este lmite
por usuario
ya no se le permitir realizar nuevas escrituras en el disco.
73

Certificacin LPIC-1

Lmite soft
por usuario

Lmite hard
por grupo
Lmite soft
por grupo

Periodo de
gracia

Cada usuario puede almacenar datos libremente en el sstema de ficheros


hasta que alcance el lmite soft. ste lmite acta como una especie de
zona de aviso, advirtiendo al usuario que debe ir limpiando sus directorios
pero, a diferencia del lmite hard se le permite seguir trabajando. Cuando
el espacio consumido por un usuario supera el lmite soft pero no el lmite
hard se envan mensajes de aviso al terminal del usuario advirtindole que
est excediendo su cuota pero las operaciones de escritura terminarn
correctamente.
Se trata del lmite final asignado a un grupo por el sistema de cuotas. Una
vez que se alcanza este lmite, ninguno de los miembros de dicho grupo
podrn realizar escrituras en el disco, incluso aunque no hayan excedido
sus lmites individuales.
Este lmite se comporta de la misma forma que el de usuario pero se
controla en base al espacio consumido por el grupo en lugar de por el
usuario individual.
Una vez que se alcanza el lmite soft comienza el periodo de gracia para el
usuario o el grupo. Cuando expira ste periodo de gracia, el lmite soft se
convierte en lmite hard hasta que se hayan eliminado los ficheros
suficientes para que se resuelva el exceso de cuota. El periodo de gracia
puede ajustarse para cualquier nmero de meses, semanas, das, horas,
minutos o segundos. Un valor tpico es el de siete das.

Todos estos lmites pueden establecerse utilizando el comando edquota, que se detallar
a continuacin. Cuando una escritura en disco excede un lmite hard o un lmite soft con
el periodo de gracia expirado, solo se completar una parte de la operacin de escritura
dejando un fichero truncado y, probablemente, inservible. Puede que el usuario no haya
podido ver los mensajes de fin de cuota porque la aplicacin haya ocultado la shell y los
mensajes de dicha aplicacin lo lleven a confusin al indicarle que el disco est lleno o
protegido de escritura.

Comandos de cuotas
Linux proporciona una serie de comandos para gestin y consulta de las cuotas en los
sistemas de ficheros Parte de la configuracin requerida para establecer las cuotas
inicialmente ha de hacerse a mano y sin ninguno de los comandos especficos de cuotas.
Este proceso se explicar en la seccion Habilitando Cuotas.

quota
Muestra las limitaciones de cuota en usuario o en grupo. La opcin -u est activada por
defecto. Solo root puede utilizar la opcin -u y usuario para ver las limitaciones de otros
usuarios. El resto de los usuarios usuarios podrn usar la opcin -g y grupo para ver
solamente las limitaciones de los grupos de los que sean miembros, siempre y cuando
tengan permiso de lectura en los ficheros quota.group. La sintaxis bsica de esta utilidad
es la siguiente:
[BASH] quota [-u] [opciones] usuario

[BASH] quota -g [opciones] grupo }}}

74

Certificacin LPIC-1
Se pueden utilizar muchas opciones con el comando quota. Las utilizadas ms
frecuentemente son las que se muestran en la tabla siguiente:
Opciones

Descripcion

-q

Establece el modo silencioso que solo muestra las situaciones de exceso


de cuota.

-v

Establece el modo explcito que muestra las cuotas incluso cuando no se ha


consumido ningn espacio en disco o no se hayan definido.

Ejemplo 1: Siendo roo t, examina todas las cuotas del usuario mayra:
[BASH] quota -uv mayra

Disk quotas for user mayra (uid 512): Filesystem blks quota limit grace files quota limit
grace /dev/sda9 9456 10000 10200 32 0 0 /dev/hda1 23 0 0 17 0 0 }}}
Este ejemplo muestra que el usuario mayra est cerca de consumir su lmite soft de
10000 bloques, con un lmite hard de 10200 bloques en /dev/sda9, y que no tiene cuota
establecida en /dev/hda1. La lnea correspondiente /dev/hda1 se muestra debido a la
utilizacin de la opcin -v. No se muestran los valores correspondientes al periodo de
gracia porque aun no se ha excedido el lmite soft.
Ejemplo 2: Siendo el usuario mayra, examina las cuotas para el grupo contaduria, del
que dicho usuario es miembro:
[BASH] quota -gv contaduria

Disk quotas for user mayra (uid 513): Filesystem blks quota limit grace files quota limit
grace /dev/sda9 1000 990 1000 6days 34 3980 4000 /dev/hda1 0 0 0 0 0 0 }}}
En este caso, el grupo contaduria ha excedido el escaso lmite soft de 990 bloques y ha
alcanzado su lmite hard de 1000 bloques. El periodo de gracia original en este ejemplo
se estableci en siete das de los cuales quedan seis das restantes, lo que quiere decir
que ha pasado un da desde que se excedi el lmite soft.

quotaon
Activa las cuotas configuradas previamente en uno o ms sistemas de ficheros. La
sintaxis bsica de esta utilidad es la siguiente:
[BASH] quotaon [opciones] puntoDeMontaje ( Ejemplo:/home /var)

[BASH] quotaon [opciones] -a }}}


Se pueden utilizar muchas opciones con el comando quotaon. Las utilizadas ms
frecuentemente son las que se muestran en la tabla siguiente:
Opciones
-a

Descripcion
Activa las cuotas en todos los sistemas de ficheros incluidos en /etc/fstab y
que estn marcados como de lectura-escritura y con cuotas. Normalmente se
utiliza en el proceso de arranque para activar las cuotas.
75

Certificacin LPIC-1
-g
-u
-v

Activa las cuotas de grupo. Esta opcin no es necesaria si se utiliza -a ya que


sta otra activa tanto las cuotas de usuario como las de grupo.
Activa las cuotas de usuario; esta es la opcin por defecto.
Establece el modo explcito de tal forma que se muestra un mensaje por cada
sistema de ficheros en el que se han activado las cuotas.

Ejemplo 1: Activar todas las cuotas definidas en el fichero /etc/fstab


[BASH] quotaon -av

Ejemplo 2: Activar las cuotas de usuario slo en el sistema de ficheros /home


[BASH] quotaon -av /home

quotaoff
Desactiva las cuotas de disco en uno o ms sistemas de ficheros La sintaxis bsica de
esta utilidad es la siguiente:
[BASH] quotaoff [opciones] puntoDeMontaje ( Ejemplo:/home /var)

[BASH] quotaoff [opciones] -a }}}


Se pueden utilizar muchas opciones con el comando quotaoff. Las utilizadas ms
frecuentemente son las que se muestran en la tabla siguiente:
Opciones
Descripcion
-a
Desactiva las cuotas en todos los sistemas de ficheros en /etc/fstab.
-g
-u
-v

Desactiva las cuotas de grupo. Esta opcin no es necesaria si se utiliza la -a


ya que sta ltima incluye tanto las cuotas de usuario como las de grupo.
Desactiva las cuotas de usuario; esta es la opcin por defecto.
Establece el modo explcito que mostrar un mensaje para cada sistema de
ficheros en el que se desactiven las cuotas.

Ejemplo 1: Desactivar todas las cuotas mostrando todos los mensajes


[BASH] quotaoff -av

quotacheck
Revisa los sistemas de ficheros y compila las bases de datos de cuotas. Esta comando no
est incluido especficamente en los objetivos del examen LPI 101, pero es un
componente importante en el sistema de cuotas de Linux. El comando quotacheck -a
debera ser ejecutado de forma regular por medio de cron. La sintaxis bsica de esta
utilidad es la siguiente:
[BASH] quotacheck [opciones] puntoDeMontaje ( Ejemplo:/home /var)

[BASH] quotacheck [opciones] -a }}}

76

Certificacin LPIC-1
Se pueden utilizar muchas opciones con el comando quotacheck. Las utilizadas ms
frecuentemente son las que se muestran en la tabla siguiente:
Opciones

Descripcion
Comprueba todas las cuotas de los sistemas de ficheros incluidos en
-a
/etc/fstab. Se comprobarn tanto las cuotas de usuario como las de grupo
segn se indique en las opciones usrquota y grpquota.
-g grupo Compila solamente la informacin de grupo.
Compila solamente la informacin de usuario; sta es la opcin por defecto.
-u
No obstante, si se especificase la opcin -g, entonces habra que incluir esta
usuario
si se desea que se procesen tambin las cuotas de usuario.
Establece el modo explcito que mostrar toda la informacin de lo que el
programa est haciendo. Esta opcin indica que el programa est activo
-v
mediante un smbolo giratorio en el terminal. sto queda muy bonito pero
podra ser un problema si estamos conectados mediante un mdem lento.
Ejemplo 1: Inicializa todos los ficheros de cuotas
[BASH] quotaoff -a

[BASH] quotacheck -aguv [BASH] quotaon -a }}}


Para actualizar los ficheros de bases de datos de cuotas debemos desactivar primero las
mismas.
Ejemplo 2: Con las cuotas activas, actualizar las cuotas de usuario en memoria para el
sistema de ficheros /home
[BASH] quotacheck -v /home

edquota
Modifica las cuotas de usuario o grupo. Este es un comando interactivo que utiliza un
editor de texto para configurar los parmetros de cuotas para usuarios o grupos. Por
defecto se utiliza el editor vi. Cuando se enva el comando, se ejecuta un editor con un
fichero temporal que contiene las opciones de cuotas. Al guardar el fichero temporal, el
editor finaliza y los cambios se guardan en las bases de datos de cuotas. En la primera
forma del comando, se modifica una lista de usuarios o grupos separados por espacios
en blanco especificados en el apartado nombres. Si se incluye la opcin -p y protousuario, las cuotas de ese usuario o grupo se utilizarn para los nombres y no se lanzar
ningn editor. En la segunda forma del comando, con la opcin -t, se editarn
interactivamente los lmites soft para cada sistema de ficheros La sintaxis bsica de esta
utilidad es la siguiente:
[BASH] edquota [-p proto-usuario] [opciones] nombres

[BASH] edquota [opciones] -t }}}


Se pueden utilizar muchas opciones con el comando edquota. Las utilizadas ms
frecuentemente son las que se muestran en la tabla siguiente:

77

Certificacin LPIC-1
Opciones
-g
-p protousuario
-t
-u

Descripcion
Modifica las cuotas de grupo. Si se especifica -g, se asumir que todos los
nombres son grupos y no usuarios, incluso si se especificase tambin -u.
Duplica las cuotas del usuario prototipo para cada grupo o usuario
especificado. Este es el mecanismo mas habitualmente utilizado para
inicializar al mismo tiempo las cuotas de varios usuarios o grupos.
Modifica los lmites soft. Este comando interpreta unidades de sec
(segundos), min(minutos), hour (horas), day (das), week (semanas), y
month (meses).
Modifica las cuotas de usuario. Es la opcin por defecto, pero se ignorar
si se especificase la opcin -g

Ejemplo 1: Modifica las cuotas de usuario para mayra


[BASH] edquota -u mayra

Quotas for user mayra: /dev/sda9: blocks in use: 87, limits (soft = 99900, hard =
100000) inodes in use: 84, limits (soft = 0, hard = 0) /dev/hda1: blocks in use: 0, limits
(soft = 0, hard = 0) inodes in use: 0, limits (soft = 0, hard = 0) "/tmp/EdP.auHTZJ0" 5
lines, 241 characters }}}
En este ejemplo, a mayra se le ha definido en /dev/sda9 un lmite soft de 99.900
bloques, un lmite hard de 100.000 bloques, y ningn lmite de ficheros. No tiene
ninguna limitacin en /dev/hda1.
Ejemplo 2: Modificar los lmites soft para usuarios en todos los sistemas de ficheros
[BASH] edquota -tu

Time units may be: days, hours, minutes, or seconds Grace period before enforcing soft
limits for users: /dev/sda9: block grace period: 7 days, file grace period: 3 days
/dev/hda1: block grace period: 7 days, file grace period: 3 days "/tmp/EdP.aiTShJB" 5
lines, 249 characters }}}
En este caso se han establecido unos periodos de gracia de siete das para bloques
(espacio en disco) y de tres das para ficheros (inodos).

repquota
Se utiliza para obtener un informe de la situacin de las cuotas. En la primera forma del
comando, repquota mostrar un informe por usuario o por grupo de las cuotas de los
sistemas de ficheros indicados. En la segunda forma, la opcin -a har que se muestre
un sumario de todos los sistemas de ficheros con cuotas. Este comando solo podr
ejecutarlo el usuario root, a menos que los ficheros de bases de datos de las cuotas
tengan permisos de lectura universales. Para cada usuario se imprime el nmero de
ficheros y el espacio en disco utilizados en ese momento junto con las cuotas creadas
con edquota. La sintaxis bsica de esta utilidad es la siguiente:
[BASH] quotaoff [opciones] puntoDeMontaje ( Ejemplo:/home /var)

[BASH] quotaoff -a [opciones] }}}


78

Certificacin LPIC-1
Se pueden utilizar muchas opciones con el comando repquota. Las utilizadas ms
frecuentemente son las que se muestran en la tabla siguiente:
Opciones
-a
-g
-u
-v

Descripcion
Hace informes de todas las cuotas de todos los sistemas de fichero de
lectura-escritura incluidos en /etc/fstab. Se mostrarn tanto las cuotas de
usuario como las de grupo segn se indique en las opciones usrquota y
grpquota.
Muestra las cuotas de grupos.
Muestra las cuotas de usuarios; es la opcin por defecto.
Activa el modo explcito, el cual aade una cabecera descriptiva a la salida
del comando.

Ejemplo 1: Informe de las cuotas de usuario para el sistema de ficheros /home


[BASH] repoquota -v /home

Habilitando las cuotas


Para poder utilizar las cuotas, en primer lugar hay que habilitarlas (El kernel debe estar
compilado con soporte para cuotas. En el caso improbable de que no fuese as, habra
que recompilarlo con esta opcin.). No es un proceso dificultoso pero,
desgraciadamente, tampoco es simple. Para aclarar un poco este proceso, en esta
seccin se incluir un breve tutorial explicando como habilitar las cuotas de usuario y de
grupo en el filesystem /dev/sda9 montado bajo /home. Hay que tener en cuenta que
pueden habilitarse cuotas solo de usuario, de grupo o ambas segn sea necesario.
1. Definir las opciones en /etc/fstab. En la lnea que contiene el sistema de ficheros
/home, aadir las opciones usrquota y grpquota a la opcin default, como en este
ejemplo
/dev/sda9

/home

ext3

defaults,usrquota,grpquota

Estas opciones indican a las utilidades de configuracin de cuotas que particiones deben
ser tratadas por dichas utilidades cuando stas busquen en /etc/fstab.
2.Crear los ficheros quota.user y quota.group en la raz del sistema de ficheros /home y
dar permisos slo para root:
[BASH] touch /home/quota.user

/home/quota.group

[BASH] chmod 600 /home/quota.user /home/quota.group}}}


Estos dos ficheros son las bases de datos de las cuotas de usuarios y grupos. Cada
sistema de ficheros con cuotas utilizar sus propias bases de datos. Al habilitar las
cuotas, estos ficheros contendrn datos binarios (no son ficheros de texto). Si se quisiera
que los usuarios puedan examinar las cuotas de los grupos a los que pertenecen, el
fichero quota.group necesitar un permiso de 644 en lugar de 600.

79

Certificacin LPIC-1
3.Ejecutar quotacheck para inicializar las bases de datos:
[BASH] quotacheck -avug

4.Ahora, verificar que los ficheros de bases de datos se han inicializado realmente, para
ello nos aseguramos que su tamao no sea cero (en este ejemplo cada uno ocupa
16.192):
[BASH] ls -al /home/quota.*

-rw------- 1 root root 16192 Dec 27 19:53 /home/quota.group -rw------- 1 root root
16192 Dec 27 19:53 /home/quota.user }}}
5.Ejecutar quotaon para activar el sistema de cuotas:
[BASH] quotaon -a

6.Verificar que el script de inicializacin del sistema ( /etc/rc.d/rc.sysinit o similar)


activar las cuotas cada vez que el sistema cargue. Puede ser algo similar al ejemplo
siguiente aunque puede variar de sistema a sistema:
if [ -x /sbin/quotacheck ]

then echo "Checking quotas." /sbin/quotacheck -avug echo " Done." fi if [ -x


/sbin/quotaon ] then echo "Turning on quotas." /sbin/quotaon -avug fi }}}
7.Aadir un script al directorio crontab del sistema (por ejemplo /etc/crontab.weekly)
para que se ejecute quotacheck rutinariamente. El script del ejemplo puede ser vlido:
!/bin/bash

/sbin/quotacheck -avug }}}


Alternativamente, podra ponerse /sbin/quotacheck en el fichero crontab de root
(utilizando el comando crontab -e) para su ejecucin semanal, como en este ejemplo:
ejecutar quotacheck semanalmente

0 3 0 /sbin/quotacheck -avug }}}


En este momento, el sistema de ficheros /home est listo para aceptar cuotas de usuario
o de grupo, controlarlas y emitir informes sobre ellas.

80

Certificacin LPIC-1
Permisos de archivos y directorios
Administracion de Permisos
Los comandos que usaremos para asignar permisos tanto a carpetas como a ficheros
seran los sigueintes: La forma es como deben ser usados estos comando sera de la
siguiente manera:

Permisos de archivos y directorios


Los componentes informativos de un fichero estan compuestos por 1 campo y 3
secciones, este campo y secciones son las siguientes:
Estas 3 secciones estan compuestas por los siguientes elementos
Opciones
r

- (guion)

Descripcion
Permite la lectura de un archivo. ste es el nico permiso necesario para
copiar un archivo.
Cuando se aplica a un directorio, se pueden leer ver sus archivos.
Permite escribir en un archivo. Con l se pueden cambiar, modificar o
sobreescribir los contenidos del archivo. Cuando se aplica en un directorio,
este permite borrar y mover archivos incluso si no se tiene el permiso de
escritura especfico sobre el archivo individual
Permiso de ejecucin: permite ejecutar el archivo si contiene los scripts
necesarios o puede ser ejecutado por el sistema. Aplicado a un directorio,
este permite el acceso al mismo. Cuando se aplica a un conjunto con
permisos de lectura dentro de un escritorio, este permite buscar dentro de
dicho directorio.
Indica la ausencia de permiso. Por ejemplo, r-x indica que ese usuario puede
leer y ejecutar, pero no escribir

El elemento llamado campo es un identificador que indica si un elemento es un


directorio, un documento o un enlace simbolico
Por tanto, los 10 campos de permisos se resumen en:
1.Tipo de elementro (archivo, directorio, otro) 2.El propietario puede leer 1.El
propietario puede escribir 2.El propietario puede ejecutar 3.El grupo puede leer
4.El grupo puede escribir 5.El grupo puede ejecutar6.Usuario (no pertenece al
grupo y al propietario) puede leer 7.Usuario puede escribir 8.Usuario puede
ejecutar

81

Certificacin LPIC-1
Estos permisos tienen valores numricos como se muestran en la siguiente tabla
Permiso Valor Numerico
r
4
w
2
x
1
- (guion) 0
Los valores numricos hacen posible aadir permisos a la vez y expresarlo de un modo
sencillo. Por ejemplo, si un archivo permite al usuario rwx, el valor numrico sera
4(r)+2(w)+1(x)=7. El formato del conjunto de los permisos de un archivo se muestra en
la siguiente figura.
La tabla siguiente muestra la conversin numrica de un conjunto de distintos permisos
posibles:
Permiso Valor Numerico
1
--------x
2
-------w3
-------wx
4
------r-5
------r-x
6
------rw10
-----x--11
-----x--x
22
-----w--w33
----wx-wx
55
---r-xr-x
77
---rwxrwx
100
--x-----101
--x-----x
111
--x--x--x
222
-w--w--w311
-wx--x--x
322
-wx-w--w400
r-------444
r--r--r-511
r-x---x--x
544
r-xr--r-644
rw-r--r-666
rw-rw-rw
755
rwxr-xr-x

82

Certificacin LPIC-1
777

rwxrwxrwx

Comando chmod
Chmod ( change mode ) permite cambiar los permisos de acceso de un archivo o
directorio.
La sintaxis bsica de esta utilidad es la siguiente:
[BASH] chmod [modificadores] [opciones] [archivo/directorio]

Donde los modificadores son los antes vistos en la tabla anterior.


Se pueden utilizar muchas opciones con el comando chmod. Las utilizadas ms
frecuentemente son las que se muestran en la tabla siguiente:
Opciones

Descripcion

-v

Lista los archivos y directorios a los que se les va aplicando el comando a


medida que el mismo se ejecuta

-R

Aplica el comando chmod recursivamente a todos los archivos y


subdirectorios.

Permisos especiales
Pueden ser utilizados 3 tipos de permisos en determinadas circunstancias. Aparte de los
siempre aplicables de lectura, escritura y ejecucin, algunas veces es necesario algo ms
para un archivo o directorio. Estos permisos especiales son los 3 siguientes:

Asignar ID de usuario (set user ID) (SUID)


Asignar ID de grupo (set group ID) (SGID)
Sticky bit

SUID
La asignacin de ID de usuario se aplica cuando se desea que un determinado usuario
ejecute un programa que de otro modo no podra. Por ejemplo, slo el usuario root sera
capaz de ejecutar la funcin funcion xyz (comenzar backups, restaurar el sistema, entrar
en otros recursos, etc) a causa de las ramificaciones de seguridad, pero se necesita que
los usuarios ejecuten un shell script para realizar esta accin, porque no se dispone del
tiempo necesario para hacerlo personalmente. Se puede crear este shell script como root
y asignar el permiso SUID de modo que el usuario que ejecute el script sea root slo
dentro de ese script. Antes y despus del manuscrito, es nicamente un usuario, pero
durante la ejecucion del script es como si fuera root. El permiso numerico de SUID,
4000, es sumado al valor de otros permisos. Una vez aplicado este, cambia la x en el
campo del ejecutable para el propietario de los permisos a una s:

83

Certificacin LPIC-1
SGID
Similar en la naturaleza a SUID, el permiso de la identificacin de grupo del sistema se
aplica cuando es necesario que la persona que ejecuta el archivo sea un miembro del
grupo que posee el archivo (y no el propietario). Esto cambia el x en el permiso del
grupo a un s, y el valor numrico es 2000:

Stiky Bit
Este permiso no trabaja como los otros permisos especiales. Con un valor numrico de
1000, sus operaciones difieren cuando estn aplicadas a un directorio o a un archivo.
Cuando est aplicado a un directorio, evita que los usuarios supriman archivos de las
carpetas que les conceden el permiso de escritura, a menos que sean el propietario del
archivo. Por defecto, cualquier usuario que tenga permiso de escritura en un directorio
puede suprimir archivos dentro de ese directorio, incluso si no tiene el permiso de
escritura de ese archivo.
Cuando se aplica sobre un archivo, el archivo se convierte en sticky (bloqueado). La
primera vez que se accede o se ejecuta el archivo y se carga en memoria, permanece
cargado en memoria fsica (RAM) o espacio swap de modo que pueda funcionar ms
rpidamente que si se lee desde el disco. Si el archivo no es ejecutable, el ltimo bit de
permiso ( para otra categoria) se convierte en T. Si el archivo es un fichero ejecutable, o
el permiso se aplica a un directorio, el bit pasado se convierte en una t. Cuando se aplica
el permiso chmod y las letras, aparece t de todos modos (sea archivo o directorio).

Administrando el propietario de los ficheros


Comando chown
El comando chown cambia el propietario de cada fichero, usuario o grupo, si slo se da
un nombre de usuario (o UID numrico), entonces ese usuario se convierte en el
propietario de cada fichero dado, y el grupo al que pertenece el fichero no cambia. Si al
nombre de usuario sigue un signo de dos puntos y un nombre de grupo o GID numrico,
sin espacios entre ellos, entonces tambin se cambia el grupo al que pertenece cada
fichero, se usa con la siguiente sintaxis: La sintaxis bsica de esta utilidad es la
siguiente:
[BASH] chown [opciones] usuario:grupo fichero

Se pueden utilizar muchas opciones con el comando quotaon. Las utilizadas ms


frecuentemente son las que se muestran en la tabla siguiente:
Opciones
-c
-f
-R

Descripcion
Muestra un mensaje donde menciona solamente aquellos ficheros cuyo
propietario cambia realmente.
No muestra mensajes de error sobre ficheros cambiarse.
Cambia recursivamente el propietario de directorios y sus contenidos.

84

Certificacin LPIC-1
-v

Describe la accin efectuada (o no) para cada fichero de forma interactiva.

Comando chgrp
El comando chgrp se usa para cambiar el grupo propietario de un fichero o directorio. El
comando busca en el fichero /etc/group para confirmar la existencia del grupo
especificado antes de cambiar los permisos. La sintaxis bsica de esta utilidad es la
siguiente:
[BASH] chgrp [opciones] grupo fichero

Se pueden utilizar muchas opciones con el comando quotaon. Las utilizadas ms


frecuentemente son las que se muestran en la tabla siguiente:
Opciones
-c
-h
-f
-R
-v

Descripcion
Muestra un mensaje donde menciona solamente aquellos ficheros cuyo
propietario cambia realmente.
Acta sobre enlaces simblicos propiamente en vez de sobre lo que apunten.
Disponible solamente si el sistema proporciona la primitiva lchown
No muestra mensajes de error sobre ficheros cuyo grupo no pueda
cambiarse.
Cambia recursivamente el grupo al que pertenecen directorios y sus
contenidos. (Y contina incluso si se encuentran errores.)
Describe la accin efectuada (o no) para cada fichero de forma interactiva.

El usuario root puede efectuar los cambios al grupo que desee; para que un usuario
pueda hacerlo, debe ser el propietario del archivo y pertenecer al grupo donde est
efectuando el cambio.

85

Certificacin LPIC-1
Crear y cambiar enlaces de ficheros
Creando links a ficheros
A veces es til o necesario tener un mismo fichero en varias localizaciones del sistema
de ficheros, por ejemplo, para acceder con diferentes permisos sobre un fichero
dependiendo de su localizacin. En Linux existe una solucin para eso: los enlaces o
links.
Estos son de dos tipos:
1. Los Duros o Hard Links, y 2. Los Suaves, Symbolic Links o Symlinks.

Los Hard Links


Estos enlaces comparten el inodo del fichero original. De hecho, un hard link es
indistinguible del original y por eso los cambios en el link afectan al fichero original,
excepto en el borrado. Borrar el link no elimina al original ni a la inversa. Este tipo de
enlace conserva los permisos del original y marcas de tiempo. Por contra, no se pueden
usar para hacer enlaces a directorios ni pueden extenderse a otros sistemas de ficheros.
Su sintaxis es como sigue:
[BASH] ln /ruta/completa/fichero nombre_enlace

Los Symlinks
Estos enlaces si que pueden extenderse a otros sistemas de ficheros. Tambin pueden
hacer referencia a directorios, de hecho, pueden referenciar hasta ficheros inexistentes.
La lectura y escritura, as como la copia del enlace, afectan al fichero objetivo, mientras
que el borrado afecta al propio enlace. Borrar el fichero objetivo tampoco elimina el
enlace automticamente. Su sintaxis es como sigue:
[BASH] ln -s /ruta/completa/fichero nombre_enlace

86

También podría gustarte