Vous êtes sur la page 1sur 43

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.

net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

Acceder

Inicio

Noticias y Blogs

Foro de Soporte

Base de Conocimiento

Podcast

Acerca de la Comunidad

Servicios Empresariales

FrontPage

Cambios recientes

Todas las pginas

Pginas hurfanas

Borradores

Buscar

Certificacin LPI 101


Etiquetas: lpi

Volver a Certificacin LPI Detalles Imprimir

Table of Contents [-]


1. Mtodos de Instalacin I. Metodos de instalacion alternativos II. Instalacion desde CD o DVD I. Carpeta paquetes II. Carpeta imagenes III. Carpeta dosutils III. Instalacion desde un servidor HTTP I. Configuracion de la instalacion HTTP IV. Instalacion desde un disco duro I. Configuracion de la instalacion desde disco duro V. Disco de Rescate Linux I. Comenzado con el Disco de Rescate Linux 2. Arquitectura del Sistema I. Asignacion de recursos I. Solicitudes de interrupcion (IRQ) II. Direcciones de Entrada/Salida III. Accesos Directos a Memoria (DMA) 3. Listado de asignacion de recursos I. lspci II. dmesg III. Soporte USB IV. Dispositivos SCSI I. El canal SCSI II. El numero ID del dispositivo III. Numero de unidad logica IV. Deteccion de dispositivos SCSI V. Tarjetas de Red VI. Configuracion de impresoras VII. Tarjetas de Audio I. OSS (Open Sound System) II. ALSA (Advanced Linux Sound Architecture) III. Identificando las tarjetas de audio IV. Administracion de tarjetas de audio 4. Conociendo el Arranque de Linux I. Sobre los Discos Duros II. Tipos de Discos Duros

1 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

I. Discos Duros IDE-ATA 5. I. Discos Duros SATA I. Conectores de Serial ATA II. Caractersticas II. Discos Duros SCSI I. Direccionamiento de los Perifricos SCSI II. SCSI asimtrico y diferencial III. Estndares SCSI III. Configuracion de discos IV. Configuracion de Particiones V. Aplicaciones graficas para particionar discos duros I. Gparted I. Gparted LiveCD II. Capacidades y limitaciones II. Parted Magic VI. Formatear y particionar discos duros desde BASH I. Dando formato de bajo nivel con dd II. Particionando un disco duro con fdisk III. Dando formato a un disco duro con mkfs VII. Niveles de Ejecucion en Linux I. El Proceso de arranque II. El Proceso INIT I. SystemV I. Niveles de Ejecucion II. BSD III. El fichero init.d IV. El fichero rcN.d V. El fichero inittab VI. El fichero rc.sysinit VII. El fichero rc.local VIII. Niveles de Ejecucion I. Nivel 0 Parada Del Sistema II. Nivel 1 o S -Monousuario o Single User III. Nivel 2 -Multiusuario sin Red IV. Nivel 3 -Multiusuario con Red V. Nivel 4. -Sin Uso VI. Nivel 5. -Multiusuario Grafico VII. Nivel 6. -Reinicio del Sistema IX. Comando chkconfig X. Levantando, deteniendo y reiniciando servicios VIII. Manejo de Paquetes I. Introduccion a la gestion e instalacion de software II. Herramienta RPM III. Herramienta YUM I. Configuracin de YUM II. Extensiones de YUM I. downloadonly I. Implementando downloadonly

2 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

II. fastestmirror I. Implementando downloadonly III. Utilidades YUM I. yumdownloader II. package-cleanup III. yum-complete-transaction IV. Herramienta DPKG V. Herramienta APTITUDE VI. Herramienta APT IX. Manejo de comandos I. Sobre SHELL II. El Ambiente Linux III. Algunas variantes del SHELL I. Bourne Shell (sh) II. Korn Shell (ksh) III. Boune Again Shell (bash) IV. CShell (csh) IV. Introduccion a BASH I. Conociendo el SHELL de nuestro equipo II. Usando el comando cd III. Rutas (Paths) IV. Rutas Absolutas V. Rutas Relativas VI. Usando el . . (punto a punto) VII. Entendiendo el . (punto) V. Usando los comandos de Linux I. El comando ls II. Comodines III. El comando mkdir IV. comando touch V. comando echo VI. comando cat y cp VII. comando mv VI. Procesando cadenas de texto usando filtros VII. Listando el contenido de un fichero VIII. Ordenando lineas de un fichero con Sort I. Segmentando un texto con Cut II. Pegando texto con Paste III. Formateando parrafos IV. Borrando o sustituyendo caracteres. V. Ver el inicio de un fichero VI. Ver el final de un fichero VII. Uniendo multiples ficheros VIII. Segmentando un fichero IX. Eliminando lineas repetidas en un fichero X. Convirtiendo ficheros para imprimir XI. Mostrando estadisticas de un fichero XII. Aadiendo numeros de linea a un fichero.

3 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

X. Administracion de Archivos I. Listando el contenido de un directorio II. Determinando el tipo de fichero III. Copiando Archivos IV. Copiando y convirtiendo archivos con diferente formato V. Moviendo Archivos VI. Moviendo Archivos XI. Creando, monitorizando y matando procesos I. Sobre procesos I. Estados de un proceso II. Diagrama de formacion de un proceso III. Modelo de dos estados IV. Modelo de cinco estados II. Sobre demonios I. Caracteristicas XII. Comando ps (process state) I. Comando pstree y top II. Finalizando un proceso III. Procesos en segundo y primer plano XIII. Creando particiones y sistemas de ficheros I. Sobre fdisk II. Utilizando fdisk III. Utilizando mkfs IV. Manteniendo la integridad de los sistemas de ficheros V. Monitorizando el espacio y los inodos libres del disco VI. Monitorizando el espacio y los inodos libres del disco VII. Comprobando la integridad del sistema de ficheros XIV. Montando y desmontando sistemas de ficheros I. Controlando el montaje y desmontaje del sistema de ficheros II. Administrando la tabla del sistema de ficheros III. Montando el sistema de ficheros IV. Desmontando el sistema de ficheros XV. Administrando cuotas de disco I. Establecer y consultar cuotas de disco XVI. Cuotas de Limitacion I. Comandos de cuotas I. quota II. quotaon III. quotaoff IV. quotacheck V. edquota VI. repquota II. Habilitando las cuotas XVII. Permisos de archivos y directorios I. Administracion de Permisos II. Permisos de archivos y directorios III. Comando chmod IV. Permisos especiales

4 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

I. SUID II. SGID III. Stiky Bit XVIII. Administrando el propietario de los ficheros I. Comando chown II. Comando chgrp XIX. Crear y cambiar enlaces de ficheros I. Creando links a ficheros II. Los Hard Links III. Los Symlinks

Mtodos de Instalacin#
Metodos de instalacion 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 OperativoCarpeta que almacena los paquetes precompilados Red Hat Server CentOS CentOS Fedora Fedora Debian dists Ubuntu 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
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

5 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

[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/

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

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

6 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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 title En esta linea usted puede agregar un comentario sobre el Sistema Operativo a Instalar root 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 kernelEn 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

No olvides guardar los cambios hechos al fichero 6.Desmonta la imagen .ISO de la siguiente forma:
[BASH]# umount /punto/De/Montaje/imagen.iso 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 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:}}}

Arquitectura del Sistema


Asignacion de recursos#

7 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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 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

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

8 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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.
ControladorDesarrolladorModulo 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
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 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.

9 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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

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 Ayuda: muestra las opciones disponibles. -c <nmero de placa o identificacin>Selecciona la placa de sonido a utilizar, si en el sistema existen ms de una placa. Las placas se numeran desde 0 (por defecto). -D <identificacin de dispositivo> Selecciona el mezclador para el control. -g Cambia el uso de colores. -s Minimiza la ventana del mezclador -V <modo de vista> Selecciona el modo de vista inicial, reproduccin, captura o todos.

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)

10 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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 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 IDE-ATA, 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 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.

11 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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 DuroDispositivo 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

Configuracion 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. 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 mini-distribucin 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 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

12 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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/zeroif significa input file, es decir, lo que quieres copiar En el ejemplo de arriba llenaremos de ceros el disco duro of=/dev/sdaof 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 -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 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

13 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

[BASH]# mkfs.[ext2|ext3|ext4|vfat|ntfs]

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

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 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

Algunos de los sistemas operativos que se basan en este modelo son los basados en BSD como:
FreeBSD NetBSD

14 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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

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.

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

15 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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

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:
[root@localhost ~]#/etc/init.d/httpd start

Para detener este mismo servicio solo debemos cambiar la palabra start por stop

16 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

[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

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 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. rpm Originalmente desarrollado por Red Hat para Red Hat Linux, en la 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 creado por el proyecto Debian. APT simplifica en gran medida la instalacin y eliminacin de apt 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 flexibles, que facilitan al usuario entender las complejas relaciones de dependencia que puedan aptitude 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 GNU/Linux. Se utiliza para instalar, quitar, y proporcionar informacin sobre los paquetes dpkg .deb. yum

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.
Comando Comentario rpm -ivh paquete1.rpm Te permite instalar paquetes .rpm rpm -Uvh paquete1.rpm Te permite actualizar paquetes .rpm rpm -e nombreDelPaqueteTe 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 Comentario yum install paquete1 paquete2 ...paqueteN Instala paquetes con sus dependencias yum update paquete1 paquete2 Te permite actualizar paquetes junto con sus dependencias ...paqueteN yum remove paquete1 paquete2 .. Te permite eliminar paquetes junto con sus dependencias paqueteN yum update Actualiza e instala todos los paquetes del sistema operativo yum update --exclude=ekiga 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 yum search paquete1 descripcin, resumen y nombre del paquete yum info paquete1 Nos ofrece informacion detallada sobre algun paquete yum repolist enabled Nos permite conocer los repositorios que se encuentran habilitados yum localinstall paquete1.rpm Te permite instalar paquetes RPM yum localupdate paquete1.rpm Te permite actualizar un paquete RPM yum list installed Lista todos los paquetes instalados en el sistema yum list available Lista los paquetes que pueden ser instalados yum list updates Lista los paquetes que pueden ser actualizados yum grouplist Lista por grupos los paquetes instalados

17 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

yum groupinfo "nombreDelGrupo" yum groupinstall "nombreDelGrupo" yum groupupdate "nombreDelGrupo" yum groupremove "KDE (K Desktop Environment)"

Obtiene informacin de los grupos y de sus paquetes constitutivos Instala un grupo de aplicaciones Actualiza un grupo de aplicaciones Elimina un grupo de aplicaciones.

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. 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. tsflasg

18 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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 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 Comentario package-cleanup --orphans Lista paquetes hurfanos o aquellos paquetes que no son provistos por ninguno de los repositorios configurados package-cleanup --dupes Lista los paquetes con duplicados en la base de datos RPM package-cleanup --problemsLista 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 dpkg --info paquete1.deb dpkg --status paquete1.deb dpkg --search paquete1.deb dpkg help 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. 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.

19 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

dpkg --configure -a

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

Herramienta APTITUDE#
Comando Comentario aptitude install paquete1 Instala paquete y con las dependencias que tenga. aptitude remove paquete1Borra paquete y sus dependencias pero no las configuraciones. aptitude purge paquete1 Borra paquete, sus dependencias y archivos de configuracin. aptitude hold paquete1 Bloquea paquete, para que no sean actualizados o eliminados. aptitude unhold paquete1 Desbloquea paquete. aptitude update Actualiza lista de paquetes nuevos. aptitude upgrade Actualiza los paquetes que tengamos instalados en nuestro sistema. aptitude dist-upgrade Actualiza SO a la nueva versin de la misma. aptitude search paquete1 Busca paquetes por nombre o expresin. aptitude show paquete1 Muestra informacin detallada de un paquete. aptitude clean Elimina los fichero de paquetes descargados. aptitude autoclean Elimina los ficheros de paquetes descargados, como tambin limpia las llaves de los repositorios.

Herramienta APT#
Comando Comentario apt-get update Actualiza la lista de paquetes. apt-get upgrade Actualiza los paquetes de la SO. apt-get install paquete1 Instala paquetes y con sus dependencias. apt-get install --reinstall paquete1Reinstala paquetes daados. apt-get -f install Instala/borra paquetes y dependencias que esten o sin cumplir paquetes. apt-get remove paquete1 Borra paquete y sus dependencias. apt-get remove purge paquete1 Borra paquete, sus dependencias y archivos de configuracin. apt-get dist-upgrade Actualiza distribucin a la mas reciente. apt-get clean Elimina paquetes descargados. apt-get autoclean Elimina paquetes descargados, tambin borra cabeceras de repositorios. apt-get check Verifica que hay dependencias o paquetes . apt-cache search paquete1 Busca paquete o una cadena de texto. apt-cache showpkg Muestra informacin sobre el paquete. apt-cache dumpavail Muestra informacin sobre los paquetes que estan disponibles. apt-cache pkgnames Muestra una lista rpida de todos los paquetes del sistema. apt-get autoremove 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.

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)#

20 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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.

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}}}

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)#

21 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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.

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 drwxr-xr-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

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]# ed }}} ls e?

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:

22 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

[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 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

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 #

23 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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 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 -b -c -d -f -m -M -n -o FILE -r -u -k numero - - field -separator - -help - -version Descripcion Ignora espacios en blanco Revisa si el fichero esta ordenado 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 - - - - - - - - - - - - - - - - - - - - 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 }}}

24 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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:
OpcionesDescripcion -b Escribe en la salida el rango de bytes especificos -c Escribe en la salida solo los caracteres especificados -f Escribe en la salida solo los campos especificados, delimitados por tabuladores - - help Muestra la ayuda - - version 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 Descripcion -s Pega lneas desde un fichero a la vez -d delimit-listUsa 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 }}}

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 -NUMERO o -wNumero -p PREFIX 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 Establece la largura de la lnea al NUMERO indicado 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

25 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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, 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.
OpcionesDescripcion -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 NUMEROEspecifica el nmero de bytes a ser mostrados. -n NUMEROMuestra 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

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 NUMEROEspecifica el nmero de bytes a ser mostrados. Muestra las lneas y va mostrando lneas segn se escriben en el fichero. -f Este comando puede venir bien para ficheros que crecen como por ejemplo los ficheros LOG. -n NUMEROMuestra 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]# 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.
OpcionesDescripcion

26 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

Especifica que caso es ignorado cuando se combinan los ficheros. Especifica el campo en el fichero 1 Especifica el campo del fichero 2 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.

-I -1 FIELD -2 FIELD -t char

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 - - verboseEspecifica 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.

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.
OpcionesDescripcion -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 -N NUMERO 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 CARACTERES (el valor por defecto es 72). Solamente se utiliza para formatos de salida -w CARACTERES multicolumna

27 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

-W CARACTERES

Establece el ancho de pgina a un nmero de caracteres igual a 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 :
OpcionesDescripcion -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 pies de pgina. -i NUMERO Incrementa el nmero de lnea en una cantidad igual a NMERO. El valorpor defecto es uno. -p No inicializa los nmeros de lnea al principio de cada pgina lgica. -s CADENA Aade la cadena de caracteres CADENA despus de cada nmero de lnea. -v NUMERO Establece el NMERO inicial de cada pgina lgica. -w NUMEROEspecifica 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:
OpcionesDescripcion -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 :
OpcionesDescripcion -G Especifica que grupo de informacion no se muestra -I Muestra el numero inode -l Muestra el tipo de fichero, permisos, contador de enlaces permanentes, propietario, grupo propietario y fecha de la ltima modificacin -o Muestra la misma informacin que -l menos la informacin de grupo que es excluida -s Muestra el tamao del fichero en bloques de 1024 Kb

El comando ls utiliza a veces opciones para ordenar la salida, las cuales se muestran en la siguiente tabla.
OpcionesDescripcion -c Muestra el resultado acorde con la fecha de modificacin o la fecha de modificacin de inode -f Muestra el resultado con el orden en que han sido salvados en el directorio -r Muestra el listado en orden inverso -S Muestra el listado de acuerdo al tamao, del ms grande al ms pequeo -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

28 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

Opciones Descripcion -l La salida se muestra una fila por linea -C La salida se muestra en columnas -F Muestra el nombre del fichero con una letra para especificar el tipo de fichero -k Muestra el tamao del fichero en Kb -m Muestra los nombres de ficheros separados por comas -n Muestra el usuario y el nmero de grupo -p Muestra los nombres de ficheros con un carcter para especificar el tipo -x 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 -T COLTS eficiencia. Si cols es cero, no usa tabuladores para nada. -W 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 COLTS 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 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 [ nombreDelFichero ] -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. Especifica que el fichero <nombrefichero> contiene los nombres de los ficheros a examinar. Descripcion Especifica que el nombre de fichero no se muestre en la salida

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
OpcionesDescripcion -a Especifica que los enlaces y atributos del archivo original deben ser transferidos a la nueva copia. -d Especifica que los enlaces se deben mantener cuando se copia. -f Sobreescribe cualquier archivo de destino existente. -i Pregunta antes de sobreescribir cualquier archivo de destino existente. -l Especifica que se creen enlaces fuertes (ver ms adelante en este captulo) en lugar de copias del archivo. -p 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 archivos -r especiales. -R Copia directorios y sus contenidos de forma recursiva, manteniendo los directorios. -s Crea enlaces simblicos (ver ms adelante) de los archivos que no sean directorios. -v 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 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.

29 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

bs=FILE Especifica el nmero de bytes a escribir y leer de cada vez. cbs=FILE 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=FILEEspecifica 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

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:
OpcionesDescripcion -f Borra los archivos existentes sin pedir confirmacin. -i Pide confirmacin al usuario antes de sobreescribir archivos. -u Especifica que los archivos no sern movidos al destino si tienen fecha de modificacin igual o ms reciente. v 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
OpcionesDescripcion -d Utilizada por el superusuario. Elimina directorios sin tener en cuenta si estn vacos. -f Ejecuta el comando sin pedir confirmacin, incluso si los archivos especificados no existen. -i Pide confirmacin al usuario para eliminar los archivos. -r Elimina el contenido del directorio de forma recursiva. -v 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

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.

Modelo de dos estados#

30 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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 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 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 Descripcion p o PID Process ID, nmero nico o de identificacin del proceso. P o PPID Parent Process ID, padre del proceso U o UID User ID, usuario propietario del proceso t o TT o TTYTerminal asociada al proceso, si no hay terminal aparece entonces un '?' T o TIME Tiempo de uso de cpu acumulado por el proceso c o CMD El nombre del programa o camndo que inici el proceso

31 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

RSS SZ o SIZE NI C o PCPU STIME

S o STAT

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) Porcentaje de cpu utilizado por el proceso 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 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

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


OpcionesDescripcion -a El comando ps tambin muestra los procesos iniciados por los otros usuarios. -x Tambin muestra los procesos sin terminal de control alguna o con una terminal de control diferente a la que se est utilizando. -u Muestra, para cada proceso, el nombre del usuario que lo inici y la hora a la cual fue iniciado. -m Opcin del comando ps para mostrar informacin de memoria (combinese con p para obtener el nmero de pginas) -j Formato de trabajo (jobs) pgid sid -r 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-kit-dae63[{console-kit-dae}] cron cupsd 2[dbus-daemon] 2[dbus-launch] dhcpcd evince{evince} 2[evolution-data-2[{evolution-data-}]] 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:
OpcionesDescripcion h Ayuda q Salir s Cambia el tiempo entre actualizaciones (por defecto, 5 segundos) espacio Actualizar ahora en lugar de esperar al siguiente intervalo de actualizacin u 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

32 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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

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):

Si usted presiona la tecla 'm' se imprimira el menu con las herramientas propias del comando fdisk. Estas herramientas son:
OpcionesDescripcion 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:

33 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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 Linux /dev/sda3 End 2576 Blocks Id System /dev/sda1 1 25 200781 83 Linux /dev/sda2 26 2575 20482875 83 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) }}} 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 Linux /dev/sda4 Start 2707 End Blocks Id System /dev/sda1 4000 10394055 8e Linux LVM }}} 1 25 200781 83 Linux /dev/sda2 26 2575 20482875 83

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 Linux /dev/sda3 Start 2576 End Blocks Id System /dev/sda1 2706 1052257+ 83 Linux /dev/sda4 1 25 2707 200781 83 Linux /dev/sda2 26 4000 10394055 8e Linux LVM }}} 2575 20482875 83

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 Linux /dev/sda3 Start 2576 End Blocks Id System /dev/sda1 1 25 2706 1052257+ 82 Linux swap / Solaris /dev/sda4 200781 83 Linux /dev/sda2 26 2575 2707 4000 10394055 8e Linux LVM}}} 20482875 83

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

34 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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 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
OpcionesDescripcion -t fstype Especifica el tipo de sistema de ficheros a crear. Por defecto se usa ext2 fs -optionsOpciones especficas de sistema de ficheros para ser pasados al sistema real de ficheros que vamos a crear. -c 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 especficas del sistema de ficheros concreto que se ejecutan. sto es realmente slo til para -v comprobaciones.

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 mkdosfsCrea un sistema de ficheros MS-DOS mkswap Crea un sistema de ficheros de Linux swap mkraid Inicializa y actualiza cadenas de dispositivos RAID mkfs.minix Crea un sistema de ficheros Minix mkfs.bfs 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:


OpcionesDescripcion -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

35 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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:


OpcionesDescripcion -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:


Descripcion Ejecuta comprobaciones en todos los sistemas de ficheros incluidos en /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 asume ext2. El valor de tipo determina que verificador especfico para el sistema de ficheros -t tipo es utilizado. -b Utiliza una copia del superbloque alternativa. En el modo interactivo, e2fsck utiliza automticamente superbloques alternativos. Normalmente, para restaurar un superbloque 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 Responde automticamente "yes" a todas las preguntas interactivas permitiendo la utilizacin no interactiva de e2fsck. -v Muestra el estado del proceso -A Opciones

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 /dev/fd0 /mnt/floppy ext2 noauto,users 0 0 /dev/hdc /mnt/cdrom iso966 noauto,ro,users 0 0 }}} Device Este campo especifica la particin del sistema de ficheros, por ejemplo /dev/hda1. Este campo no puede contenter el dispositivo entero (/dev/sda) Aqu se introduce el directorio donde se quiere que el dispositivo sea montado. Por ejemplo si la particin /dev/hda1 tiene el sistema de ficheros root, donde est el sistema se montar en / Filesystem type En este campo se indica que tipo de particin se trata, ext2, ext3, ext4, 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 cuanto tiempo debe hacer el backup. Normalmente tiene el valor 1 para filesystems Dump frecuency 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: Pass number para el 0 - No chequear el sistema 1 - Debe ponerse para el filesystem root (/) y ordena al fsck a chequearlo primero fsck 2 - Hace el chequeo de la unidad, despus del chequeo de los marcados con un 1 Mount point

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

36 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

/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:
OpcionesDescripcion -a 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

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:
OpcionesDescripcion async Toda la E/S al sistema de ficheros debera hacerse asncronamente. auto Puede montarse con la opcin -a defaults Establece las opciones: rw, suid, dev, exec, auto, nouser y async. Es la opcion por defecto en sistemas ext2 dev nterpretar dispositivos especiales de caracteres o bloques en el sistema de ficheros exec Permitir la ejecucin de binarios noauto 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 noexec binarios para otras arquitecturas distintas de la suya. nosuid No permitir el efecto de los bits SUID ni SGID nouser Prohibir a un usuario ordinario (esto es, distinto de root) montar el sistema de ficheros. Esto es lo predeterminado ro Montar el sistema de ficheros en modo de slo lectura. rw Montar el sistema de ficheros de lectura y escritura suid Permitir el efecto de los bits SUID y SGID sync Toda la E/S al sistema de ficheros debera hacerse sncronamente. user Permitir a un usuario ordinario montar el sistema de ficheros users 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 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.
OpcionesDescripcion Desmonta todos los filesystems descritos en /etc/mtab. Este fichero est mantenido por los comando mount y umount en tiempo real, se usa normalmente cuando se -a 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#

37 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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 Lmite hard por usuario Lmite soft por usuario Lmite hard por grupo Lmite soft por grupo Periodo de gracia Descripcion El lmite hard es la mxima cantidad de espacio en disco que un usuario puede disponer en el sistema. Una vez que el usuario alcanza este lmite ya no se le permitir realizar nuevas escrituras en el disco. 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 }}}

Se pueden utilizar muchas opciones con el comando quota. Las utilizadas ms frecuentemente son las que se muestran en la tabla siguiente:
OpcionesDescripcion -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:
OpcionesDescripcion 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 -a proceso de arranque para activar las cuotas. -g 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. -u Activa las cuotas de usuario; esta es la opcin por defecto. -v 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

38 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

[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:
OpcionesDescripcion -a Desactiva las cuotas en todos los sistemas de ficheros en /etc/fstab. -g 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. -u Desactiva las cuotas de usuario; esta es la opcin por defecto. -v 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 }}}

Se pueden utilizar muchas opciones con el comando quotacheck. Las utilizadas ms frecuentemente son las que se muestran en la tabla siguiente:
OpcionesDescripcion Comprueba todas las cuotas de los sistemas de ficheros incluidos en /etc/fstab. Se comprobarn tanto las cuotas de usuario como las de grupo segn se indique en las -a opciones usrquota y grpquota. -g grupo Compila solamente la informacin de grupo. Compila solamente la informacin de usuario; sta es la opcin por defecto. No obstante, si se especificase la opcin -g, entonces habra que incluir esta si se desea -u usuario 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 mediante un smbolo -v 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 proto-usuario, 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:
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

39 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

[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] }}}

Se pueden utilizar muchas opciones con el comando repquota. Las utilizadas ms frecuentemente son las que se muestran en la tabla siguiente:
OpcionesDescripcion 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 -a grupo segn se indique en las opciones usrquota y grpquota. -g Muestra las cuotas de grupos. -u Muestra las cuotas de usuarios; es la opcin por defecto. -v 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 1 2

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. 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

40 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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.

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
OpcionesDescripcion Permite la lectura de un archivo. ste es el nico permiso necesario para copiar un archivo. r 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 w 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 x acceso al mismo. Cuando se aplica a un conjunto con permisos de lectura dentro de un escritorio, este permite buscar dentro de dicho directorio. - (guion) 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 Estos permisos tienen valores numricos como se muestran en la siguiente tabla
PermisoValor 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:
PermisoValor 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--w-

41 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

311 322 400 444 511 544 644 666 755 777

-wx--x--x -wx-w--wr-------r--r--r-r-x---x--x r-xr--r-rw-r--r-rw-rw-rw rwxr-xr-x 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:
OpcionesDescripcion -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:

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:
OpcionesDescripcion -c Muestra un mensaje donde menciona solamente aquellos ficheros cuyo propietario cambia realmente. -f No muestra mensajes de error sobre ficheros cambiarse.

42 de 43

09/06/2012 07:21 p.m.

Certificacin LPI 101 - Base de Conocimiento - linuxparatodos.net

http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

-R -v

Cambia recursivamente el propietario de directorios y sus contenidos. 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:
OpcionesDescripcion -c Muestra un mensaje donde menciona solamente aquellos ficheros cuyo propietario cambia realmente. -h Acta sobre enlaces simblicos propiamente en vez de sobre lo que apunten. Disponible solamente si el sistema proporciona la primitiva lchown -f No muestra mensajes de error sobre ficheros cuyo grupo no pueda cambiarse. -R Cambia recursivamente el grupo al que pertenecen directorios y sus contenidos. (Y contina incluso si se encuentran errores.) -v 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.

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 0 archivos adjuntos 15715 Accesos

Promedio (1 Votar)

Comentarios

Recommend

Be the first of your friends to recommend this. Twittear 0

Este obra est bajo una licencia Creative Commons Atribucin-NoComercial-CompartirIgual 2.5 Mxico.

Inicio | Empresa | Servicios y Soluciones | Sectores | Comunidad | Contctanos | Trmino y Condiciones de Uso Av. Plutarco Elas Calles 1355 Piso 2, Col. Nativitas, Del. Benito Jurez Tel: 01+(55)-85908505 Derechos de marcas y contenido de Factor Evolucin S.A. de C.V. o sus respectivos autores

43 de 43

09/06/2012 07:21 p.m.

Vous aimerez peut-être aussi