43
FrontPage Cambios recientes Todas las páginas Páginas huérfanas Borradores Buscar Buscar « Volver a Certificación LPI Certificación LPI 101 Detalles Imprimir Etiquetas: lpi Table of Contents [-] Métodos de Instalación Metodos de instalacion alternativos I. Instalacion desde CD o DVD Carpeta paquetes I. Carpeta imagenes II. Carpeta dosutils III. II. Instalacion desde un servidor HTTP Configuracion de la instalacion HTTP I. III. Instalacion desde un disco duro Configuracion de la instalacion desde disco duro I. IV. Disco de Rescate Linux Comenzado con el Disco de Rescate Linux I. V. 1. Arquitectura del Sistema Asignacion de recursos Solicitudes de interrupcion (IRQ) I. Direcciones de Entrada/Salida II. Accesos Directos a Memoria (DMA) III. I. 2. Listado de asignacion de recursos lspci I. dmesg II. Soporte USB III. Dispositivos SCSI El canal SCSI I. El numero ID del dispositivo II. Numero de unidad logica III. Deteccion de dispositivos SCSI IV. IV. Tarjetas de Red V. Configuracion de impresoras VI. Tarjetas de Audio OSS (Open Sound System) I. ALSA (Advanced Linux Sound Architecture) II. Identificando las tarjetas de audio III. Administracion de tarjetas de audio IV. VII. 3. Conociendo el Arranque de Linux Sobre los Discos Duros I. Tipos de Discos Duros II. 4. Acceder Inicio Noticias y Blogs Foro de Soporte Base de Conocimiento Podcast Acerca de la Comunidad Servicios Empresariales Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/... 1 de 43 09/06/2012 07:21 p.m.

Certificación LPI 101 - Base de Conocimiento - linuxparatodos

Embed Size (px)

Citation preview

Page 1: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

FrontPage Cambios recientes Todas las páginas Páginas huérfanas Borradores BuscarBuscar

« Volver a Certificación LPICertificación LPI 101

Detalles ImprimirEtiquetas: lpi

Table of Contents [-]

Métodos de Instalación

Metodos de instalacion alternativosI.

Instalacion desde CD o DVD

Carpeta paquetesI.

Carpeta imagenesII.

Carpeta dosutilsIII.

II.

Instalacion desde un servidor HTTP

Configuracion de la instalacion HTTPI.

III.

Instalacion desde un disco duro

Configuracion de la instalacion desde disco duroI.

IV.

Disco de Rescate Linux

Comenzado con el Disco de Rescate LinuxI.

V.

1.

Arquitectura del Sistema

Asignacion de recursos

Solicitudes de interrupcion (IRQ)I.

Direcciones de Entrada/SalidaII.

Accesos Directos a Memoria (DMA)III.

I.

2.

Listado de asignacion de recursos

lspciI.

dmesgII.

Soporte USBIII.

Dispositivos SCSI

El canal SCSII.

El numero ID del dispositivoII.

Numero de unidad logicaIII.

Deteccion de dispositivos SCSIIV.

IV.

Tarjetas de RedV.

Configuracion de impresorasVI.

Tarjetas de Audio

OSS (Open Sound System)I.

ALSA (Advanced Linux Sound Architecture)II.

Identificando las tarjetas de audioIII.

Administracion de tarjetas de audioIV.

VII.

3.

Conociendo el Arranque de Linux

Sobre los Discos DurosI.

Tipos de Discos DurosII.

4.

Acceder

Inicio Noticias y Blogs Foro de Soporte Base de Conocimiento Podcast Acerca de la Comunidad Servicios Empresariales

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

1 de 43 09/06/2012 07:21 p.m.

Page 2: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

Discos Duros IDE-ATAI.

Discos Duros SATA

Conectores de Serial ATAI.

CaracterísticasII.

I.

Discos Duros SCSI

Direccionamiento de los Periféricos SCSII.

SCSI asimétrico y diferencialII.

Estándares SCSIIII.

II.

Configuracion de discosIII.

Configuracion de ParticionesIV.

Aplicaciones graficas para particionar discos duros

Gparted

Gparted LiveCDI.

Capacidades y limitacionesII.

I.

Parted MagicII.

V.

Formatear y particionar discos duros desde BASH

Dando formato de bajo nivel con ddI.

Particionando un disco duro con fdiskII.

Dando formato a un disco duro con mkfsIII.

VI.

Niveles de Ejecucion en Linux

El Proceso de arranqueI.

El Proceso INIT

SystemV

Niveles de EjecucionI.

I.

BSDII.

II.

El fichero init.dIII.

El fichero rcN.dIV.

El fichero inittabV.

El fichero rc.sysinitVI.

El fichero rc.localVII.

Niveles de Ejecucion

Nivel 0 –Parada Del SistemaI.

Nivel 1 o S -Monousuario o Single UserII.

Nivel 2 -Multiusuario sin RedIII.

Nivel 3 -Multiusuario con RedIV.

Nivel 4. -Sin UsoV.

Nivel 5. -Multiusuario GraficoVI.

Nivel 6. -Reinicio del SistemaVII.

VIII.

Comando chkconfigIX.

Levantando, deteniendo y reiniciando serviciosX.

VII.

Manejo de Paquetes

Introduccion a la gestion e instalacion de softwareI.

Herramienta RPMII.

Herramienta YUM

Configuración de YUMI.

Extensiones de YUM

downloadonly

Implementando downloadonlyI.

I.

II.

III.

VIII.

5.

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

2 de 43 09/06/2012 07:21 p.m.

Page 3: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

fastestmirror

Implementando downloadonlyI.

II.

Utilidades YUM

yumdownloaderI.

package-cleanupII.

yum-complete-transactionIII.

III.

Herramienta DPKGIV.

Herramienta APTITUDEV.

Herramienta APTVI.

Manejo de comandos

Sobre SHELLI.

El Ambiente LinuxII.

Algunas variantes del SHELL

Bourne Shell (sh)I.

Korn Shell (ksh)II.

Boune Again Shell (bash)III.

CShell (csh)IV.

III.

Introduccion a BASH

Conociendo el SHELL de nuestro equipoI.

Usando el comando cdII.

Rutas (Paths)III.

Rutas AbsolutasIV.

Rutas RelativasV.

Usando el . . (punto a punto)VI.

Entendiendo el . (punto)VII.

IV.

Usando los comandos de Linux

El comando lsI.

ComodinesII.

El comando mkdirIII.

comando touchIV.

comando echoV.

comando cat y cpVI.

comando mvVII.

V.

Procesando cadenas de texto usando filtrosVI.

Listando el contenido de un ficheroVII.

Ordenando lineas de un fichero con Sort

Segmentando un texto con CutI.

Pegando texto con PasteII.

Formateando parrafosIII.

Borrando o sustituyendo caracteres.IV.

Ver el inicio de un ficheroV.

Ver el final de un ficheroVI.

Uniendo multiples ficherosVII.

Segmentando un ficheroVIII.

Eliminando lineas repetidas en un ficheroIX.

Convirtiendo ficheros para imprimirX.

Mostrando estadisticas de un ficheroXI.

Añadiendo numeros de linea a un fichero.XII.

VIII.

IX.

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

3 de 43 09/06/2012 07:21 p.m.

Page 4: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

Administracion de Archivos

Listando el contenido de un directorioI.

Determinando el tipo de ficheroII.

Copiando ArchivosIII.

Copiando y convirtiendo archivos con diferente formatoIV.

Moviendo ArchivosV.

Moviendo ArchivosVI.

X.

Creando, monitorizando y matando procesos

Sobre procesos

Estados de un procesoI.

Diagrama de formacion de un procesoII.

Modelo de dos estadosIII.

Modelo de cinco estadosIV.

I.

Sobre demonios

CaracteristicasI.

II.

XI.

Comando ps (process state)

Comando pstree y topI.

Finalizando un procesoII.

Procesos en segundo y primer planoIII.

XII.

Creando particiones y sistemas de ficheros

Sobre fdiskI.

Utilizando fdiskII.

Utilizando mkfsIII.

Manteniendo la integridad de los sistemas de ficherosIV.

Monitorizando el espacio y los inodos libres del discoV.

Monitorizando el espacio y los inodos libres del discoVI.

Comprobando la integridad del sistema de ficherosVII.

XIII.

Montando y desmontando sistemas de ficheros

Controlando el montaje y desmontaje del sistema de ficherosI.

Administrando la tabla del sistema de ficherosII.

Montando el sistema de ficherosIII.

Desmontando el sistema de ficherosIV.

XIV.

Administrando cuotas de disco

Establecer y consultar cuotas de discoI.

XV.

Cuotas de Limitacion

Comandos de cuotas

quotaI.

quotaonII.

quotaoffIII.

quotacheckIV.

edquotaV.

repquotaVI.

I.

Habilitando las cuotasII.

XVI.

Permisos de archivos y directorios

Administracion de PermisosI.

Permisos de archivos y directoriosII.

Comando chmodIII.

Permisos especialesIV.

XVII.

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

4 de 43 09/06/2012 07:21 p.m.

Page 5: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

SUIDI.

SGIDII.

Stiky BitIII.

Administrando el propietario de los ficheros

Comando chownI.

Comando chgrpII.

XVIII.

Crear y cambiar enlaces de ficheros

Creando links a ficherosI.

Los Hard LinksII.

Los SymlinksIII.

XIX.

Métodos de Instalación#

Metodos de instalacion alternativos#

El proceso de instalación de Sistemas Operativos Linux es una tarea similar para casi todas las distribuciones Linux existentes. Una de las formas mas usadas eimplementadas es la basada en los discos de instalación de Linux los cuales puedes descargar directamente en formato .ISO desde la pagina oficial de ladistribución Linux que tu elijas. Así mismo, existen métodos de instalación alternativos que pueden ser aplicados cuando por ejemplo no disponemos de un lectorDVD en el equipo, algunos de estos métodos alternativos de instalacion son los siguientes:

Mediante un servidor HTTPMediante 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 directorioses 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 lasdistribuciones linux mas relevantes.

Sistema OperativoCarpeta que almacena los paquetes precompiladosRed Hat ServerCentOS CentOSFedora FedoraDebian distsUbuntu 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 sercopiados 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 estarelacionada con las carpetas

imagesisolinux

Para sistemas operativos Linux de la Familia Debian la carpeta imagenes esta relacionada con las carpetas

casperisolinux

Carpeta dosutils#

Este directorio contiene herramientas que pueden ser usadas para preparar la instalacion de Linux. Estas herramientas son programas diseñadas en MS-DOSmuy 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 laimagen de un sistema operativo que sea utilizable como disco de arranque. La versión original fue escrita por Mark E. Becker a petición de Linus Torvalds Existenversiones 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

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

5 de 43 09/06/2012 07:21 p.m.

Page 6: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

[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 yluego 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 publicoque 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 DVDLa 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 alsiguiente 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

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

6 de 43 09/06/2012 07:21 p.m.

Page 7: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

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 Instalarroot En esta linea se indica el disco duro y la particion del disco duro en donde se encuentra localizada la imagen .ISO del sistema operativokernelEn 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 SistemaOperativo 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 implementaun 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 muyparecido 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 discoduro. Al aplicar “chroot” sobre la particion montada tomaremos el control sobre el sistema de ficheros del disco duro y con ello podremos ajecutar comandosadministrativos sobre el equipo. 10.Por ultimo, si olvido la contraseña de root o si esta fue cambiada por alguien mas , podra recuperarla tecleando en consola losiguiente:

[BASH]# passwd

Cambiando la contraseña del usuario root. Nueva UNIX contraseña:}}}

Arquitectura del Sistema #

Asignacion de recursos#

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

7 de 43 09/06/2012 07:21 p.m.

Page 8: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

Para permitir que los perifericos y dispositivos del equipo se comuniquen directamente con los recursos del sistema , en particular con el CPU (CentralProcessing Unit) el sistema asigna recursos tales como líneas y canales de comunicacion para cada dispositivo. Muy particulamente, estos recursos sonconocidos 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 yadministrar los datos y peticiones que a este llegan, sin embargo un solo procesador no es capaz de procesar simultaneamente varias peticiones , por lo que soloatiende 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 unprograma1 está siendo atendido por el procesador pero subitamente una solicitud de interrupción llega al procesador,es entonces cuando el programa1 llega aser momentaneamente suspendido por un programa2. Este programa2 es ahora el atendido por el procesador y hasta que este termine de ser atendido elprograma1 interrumpido puede continuar ejecutándose . Una interrupción se convierte en una interrupción de hardware cuando es solicitada por uno de loscomponentes de hardware del equipo. Cuando un periférico desea acceder a un recurso, envía un pedido de interrupción al procesador para llamar su atención.Los periféricos cuentan con un número de interrupción que se denomina IRQ (Peticiones de Interrupción. Es como si cada periférico tirara de un "hilo" que estáatado a una campana para indicarle al equipo que desea que le preste atención. Este "hilo" es, de hecho, una línea física que conecta cada ranura de expansiónasí 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 delos 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 independientementedel procesador. Muchos sistemas hardware utilizan DMA, incluyendo controladores de unidades de disco, tarjetas gráficas y tarjetas de sonido. DMA es unacaracterística esencial en todos los equipos modernos, ya que permite a dispositivos de diferentes velocidades comunicarse sin someter al procesador a unacarga masiva de interrupciones. Una transferencia DMA consiste principalmente en copiar un bloque de memoria de un dispositivo a otro. En lugar de que elprocesador inicie la transferencia, la transferencia se lleva a cabo por el controlador DMA. Un ejemplo típico es mover un bloque de memoria desde una memoriaexterna a una interna más rápida. Tal operación no ocupa el procesador y como resultado puede ser planificado para efectuar otras tareas. Las transferenciasDMA 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 asu vez un ancho de banda de 16 bits. Los canales DMA por lo general suelen asignarse de la siguiente manera:

DMA0: libreDMA1: (tarjeta de sonido)/libreDMA2: controlador de disqueteDMA3: puerto paralelo (puerto de la impresora)DMA4: controlador de acceso directo a memoria (conectado a DMA0)DMA1: (tarjeta de sonido)/libreDMA6: (SCSI)/libreDMA7: 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 detalladasobre 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 importantesgenerados durante el arranque del sistema y durante la depuración de aplicaciones. Estos mensajes pueden ser consultado en el fichero

/var/log/messages

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

8 de 43 09/06/2012 07:21 p.m.

Page 9: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

Soporte USB#

El bus universal en serie (Universal Serial Bus) es un protocolo de comunicacion diseñado para conectar dispositivos a un equipo de computo. Estos dispositivosestan divididos en cuatro clases

1.Dispositivos de comunicacion (Tarjetas WiFi) 2.Dispositivos de audio (Bocinas, Microfonos) 3.Dispositivos de almacenamiento de datos (Memorias, DiscosDuros, 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 KernelOHCI Compaq usb-ohci.oUHCI Intel usb-uhci.oEHCI 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 deEntrada/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 delinux. 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 sólo hay espacio para 7 dispositivos de bloqueUna interfaz de 16 bits con un bus que soporta 16 dispositivos, esta incluye el controlador por lo tanto sólo 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 están numerados de 0 enadelante

El numero ID del dispositivo#

A cada dispositivo se le asigna un número único de identificación que se puede ajustar usando los jumpers del disco SCSI. Este rango de numeros deidentificacion 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 término 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 dedispositivos. 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.

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

9 de 43 09/06/2012 07:21 p.m.

Page 10: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

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 unmodulo 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, lasimpresoras son detectadas automaticamente por el equipo cuando este es encendido , asi mismo las impresoras detectadas por el sistema son listadas en elfichero

/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” lacual proporciona un entorno gráfico para montar y gestionar impresoras, sin embargo este paquete ha desaparecido para la mayoria de las distribuciones linuxexistentes. El segundo metodo es actualmente el mas implementado para la mayoria de las distribuciones linux y este lleva por nombre CUPS. CUPS(CommonUnix Printing System) es un sistema de impresión modular para sistemas operativos de tipo Unix que permite que un equipo actúe como servidor de impresión.

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 SystemALSA.- 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 proyectoLinux a partir de la version 2.0 del kernel de linux

ALSA (Advanced Linux Sound Architecture)#

Advanced Linux Sound Architecture es un componente del núcleo de Linux destinado a sustituir al Open Sound Sistema Algunas de las metas de este proyectodesde su concepción fueron la configuración automática de tarjetas de sonido y el manejo de múltiples dispositivos de sonido en un sólo sistema, metas que hansido 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) ALSAsound/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 audiopara la arquitectura de sonido de Linux ALSA. Se utiliza para configurar el sonido y ajustar los volúmenes. 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 múltiples.

-h, -help Ayuda: muestra las opciones disponibles.-c <número de placa o identificación>Selecciona la placa de sonido a utilizar, si en el sistema existen más de una placa. Las placas se numeran desde 0 (por defecto).-D <identificación 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, reproducción, 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 también puede tener instalado algún Sistema Operativo, así mismo funge comomemoria no volátil, es decir, cuando por alguna razón se interrumpe la energía eléctrica de nuestra casa u oficina la información anidada en el mismo sealmacena de manera correcta, salvo algunas excepciones, como por ejemplo cuando se trabaja en tiempo real con el disco duro y no se guardan con anticipacióndichos cambios. Un ejemplo de memoria volátil es la memoria RAM (Random Access Memory), ya que este tipo de memoria solo almacena la información demanera temporal y es borrada nuevamente cuando se interrumpe la energía eléctrica de la computadora. Un disco duro (Hard Disk) emplea un sistema degrabación magnética el cual es aplicado a una una serie de platos metálicos apilados girando a gran velocidad. Sobre estos platos se sitúan los cabezalesencargados de leer o escribir los impulsos magnéticos. Existen distintos tipos de interfaces y entre las mas comunes se encuentran las siguientes:

IDE-ATA (Integrated Drive Electronics)SATA (Serial Advanced Technology Attachment)

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

10 de 43 09/06/2012 07:21 p.m.

Page 11: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

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 denominación hacen uso de una interfaz llamada IDE(Integrated Device Electronics) ATA(Advanced Technology Attachment) que es laencargada de comunicar al Disco Duro con la tarjeta madre. El estándar IDE-ATA fue diseñado originalmente para conectar discos duros; sin embargo, sedesarrolló una extensión llamada ATAPI que permite interconectar otros periféricos de almacenamiento como unidades de CD o unidades de DVD en una interfazIDE-ATA. Habitualmente, un disco duro IDE-ATA puede estar configurado de 3 maneras diferentes, las cuales son:

Maestro.- Los discos duros con esta configuración indican a la tarjeta madre que el debe ser el primero en ser leido y por ende el primero en arrancarEsclavo.- Los discos duros con este tipo de configuración no son tomados en cuenta al momento de arrancar el sistema por lo que el disco duro maestro puede disponerde los demás discos duros configurados como discos esclavosSelección por cable.- El dispositivo será maestro o esclavo en función de su posición en el cable. Si hay otro dispositivo, también debe estar configurado como cableselect. Si el dispositivo es el único en el cable, debe estar situado en la posición de maestro.

Este diseño IDE-ATA tiene el inconveniente de que mientras se accede a un dispositivo el otro dispositivo del mismo conector IDE no se puede usar. Esteinconveniente está resuelto en discos duros como los SATA y en SCSI, que pueden usar dos dispositivos por canal.

Los discos IDE están mucho más extendidos que los SCSI debido a su precio mucho más bajo. El rendimiento de IDE es menor que SCSI pero se estánreduciendo 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 denominación hacen uso de una interfaz llamada Serial Advanced Technology Attachment que es la encargada de comunicar los dotosdel Disco Duro con la tarjeta madre. Estos discos duros sustituyen a los tradicionales IDE-ATA, ademas de que proporciona mayores velocidades, mejoraprovechamiento cuando hay varios discos, mayor longitud del cable de transmisión de datos y capacidad para conectar discos en caliente (con la computadoraencendida). El estándar Serial ATA se basa en una comunicación en serie. Se utiliza una ruta de datos para transmitir los datos y otra ruta para transmitir lasconfirmaciones de recepción. En cada una de estas rutas, los datos se transmiten mediante el modo de transmisión LVDS (Señal diferencial de bajo voltaje) queconsiste en transferir una señal a un hilo y su contrapartida a un segundo hilo para permitir que el destinatario recree la señal por diferencia. Los datos de controlse transmiten por la misma ruta que los datos mediante una secuencia específica de bits que los distingue. Por lo tanto, la comunicación requiere de dos rutas detransmisión, cada una de las cuales está compuesta por dos hilos, con un total de cuatro hilos utilizados para la transmisión.

Conectores de Serial ATA#

El cable utilizado por el estándar Serial ATA es un cable redondeado que contiene 7 hilos con un conector de 8 milimetros en su extremo, tres hilos tienenconexión a tierra y dos pares se utilizan para la transmisión de datos, el conector de la fuente de alimentación también es diferente ya que comprende 15 clavijasque alimentan al periférico con una potencia que varia entre 3.3 Volts, 5 Volts o 12 Volts y tiene una apariencia similar al conector de datos:

Características#

El estándar 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 velocidadefectiva teórica de 150 MB/s ó 1,2 Gb/s. El estándar Serial ATA II debe contribuir a alcanzar 375 MB/s ó 3 Gb/s, es decir, una velocidad efectiva teórica de 300MB/s, y finalmente 750 MB/s ó 6 Gb/s, es decir, una velocidad efectiva teórica de 600 MB/s. Los cables del estándar Serial ATA pueden medir hasta 1 metro delongitud (en comparación con los 45 cm que miden los cables IDE). Además, la baja cantidad de hilos en una envoltura redonda permite una mayor flexibilidad yuna mejor circulación del aire dentro de la carcasa que la de los cables IDE (incluso si existieran los cables IDE redondeados). A diferencia de los periféricos delestándar 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 conexión en caliente o en pocas palabras, mientras el equipo esta encendido.

Discos Duros SCSI#

El estándar SCSI (Small Computers System Interface) es una interfaz que se utiliza para permitir la conexión de distintos tipos de periféricos a un ordenadormediante una tarjeta denominada adaptador SCSI o controlador SCSI generalmente mediante un conector PCI. El número de periféricos que se pueden conectardepende del ancho del bus SCSI. Con un bus de 8 bits, se pueden conectar 8 unidades físicas y con uno de 16 bits, 16 unidades.

Direccionamiento de los Periféricos SCSI#

Los periféricos se direccionan mediante números de identificación. El primer número es el ID, número que designa al controlador que se encuentra dentro decada periférico (definido a través de los caballetes posicionados en cada periférico SCSI o por el software). El periférico puede tener hasta 8 unidades lógicas(por ejemplo, una unidad de CD-ROM con varios cajones). Las unidades lógicas se identifican mediante un LUN (Número de unidad lógica). Por último, unordenador puede contener diversas tarjetas SCSI y, por lo tanto, a cada una le corresponde un número diferente.

SCSI asimétrico y diferencial#

Existen dos tipos de bus SCSI:

el bus asimétrico, conocido como SE (por Single-Ended o Terminación única), basado en una arquitectura paralela en la que cada canal circula en un alambre, sensible alas interferencias. Los cables SCSI en modo SE poseen 8 alambres para una transmisión 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 más común.

el bus diferencial transporta señales a un par de alambres. La información se codifica por diferencia entre los dos alambres (cada uno transmite el voltaje opuesto) paradesplazar las interrupciones electromagnéticas, lo que permite obtener una distancia de cableado considerable (alrededor de 25 metros). En general, existen dos modos: elmodo LVD (Voltaje bajo diferencial), basado en señales de 3,3 V y el modo HVD (Voltaje Alto Diferencial), que utiliza señales de 5 V. Los periféricos que utilizan este tipo detransmisión son cada vez más raros y por lo general llevan la palabra "DIFF".

Los conectores para las dos categorías de periféricos son los mismos, pero las señales eléctricas son diferentes. Por lo tanto, los periféricos necesitan seridentificados (mediante los símbolos creados para tal fin) para no dañarlos.

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

11 de 43 09/06/2012 07:21 p.m.

Page 12: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

Estándares SCSI#

Los estándares SCSI definen los parámetros eléctricos de las interfaces de entrada/salida. El estándar SCSI-1 de 1986 definió los comandos estándar para elcontrol de los periféricos 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 5MB/s. Sin embargo, un gran número de dichos comandos eran opcionales, por lo que en 1994 se adoptó el estándar SCSI-2. Éste define 18 comandos,conocidos como CCS (Conjunto de comandos comunes). Se han definido varias versiones del estándar SCSI-2:

El SCSI-2 extendido, basado en un bus de 16 bits (en lugar de 8), ofrece una velocidad de 10 MB/sEl SCSI-2 rápido es un modo sincrónico rápido que permite un aumento de 5 a 10 MB/s para el estándar SCSI y de 10 a 20 MB/s para el SCSI-2 extendido (denominadoSCSI-2 extendido rápido).Los modos Rápido-20 y Rápido-40 duplican y cuadriplican dichas velocidades respectivamente.

El estándar SCSI-3 incluye nuevos comandos y permite la unión de 32 periféricos, así como una velocidad máxima de 320 MB/s (en modo Ultra-320). El siguientecuadro resume las características de los diversos estándares 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 Logicohda Maestro Primariohdb Esclavo Secundariohdc Maestro Secundariohdd Esclavo Secundariosda Primer Disco Sata o SCSIsdb 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 seridentificados, 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 continuación se exponen 2 de las mejores:

Gparted#

GParted es el editor de particiones de GNOME. Esta aplicación es usada para crear, eliminar, redimensionar, inspeccionar y copiar particiones, como tambiénsistemas de archivos. Esto es útil para crear espacio para nuevos sistemas operativos, reorganizar el uso del disco y crear imágenes de un disco en unapartición. La aplicación utiliza la librería libparted para detectar y manipular dispositivos y tablas de partición, mientras varias herramientas de sistema de archivosdan mantenimiento a sistemas de archivos no incluidos en libparted. Está escrito en C++ y utiliza gtkmm como herramienta gráfica. Este acercamento es paramantener la interfaz gráfica de usuario lo más 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 núcleo de Linux (2.6). LiveCD es actualizado con cadalanzamiento de GParted. El LiveCD de Ubuntu incluye esta aplicación entre sus utilidades. También se encuentra disponible en versión LiveUSB. Cuando se cargaLiveCD, se inicia una mini-distribución que contiene las siguientes aplicaciones:

Escritorio XfceThunar como gestor de archivosUna aplicación para capturas de pantallas (por medio de Thunar se pueden guardan en un pendrive)Documentento de ayudaGPartedXfree86

Capacidades y limitaciones#

GParted no puede incrementar el tamaño de las particiones sin existir un espacio vacío después de dicha partición, es decir, si existen dos particiones juntas nose podrá aumentar el tamaño de una en detrimento de la otra; pero esto es más bien una limitación técnica. En esta tabla se muestran las capacidades deGParted, de acuerdo con cada sistema de archivos.

Si tu deseas probar esta aplicación, la puedes descargar directamente de la pagina oficial del proyecto

http://gparted.sourceforge.net

Parted Magic#

Parte Magic es un LiveCD que incluye una distribución 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 particionesllamado VisParted basado en el genuino Gparted con la que podremos crear, redimensionar y borrar nuestras particiones del disco duro. Parted Magic soportalos siguientes sistemas de archivos: ext2, ext3, ext4, fat16, fat32, hfs, hfs+, jfs, linux-swap, ntfs, reiserfs, reiser4 y xfs. Si tu deseas probar esta aplicación, lapuedes descargar directamente de la pagina oficial del proyecto

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

12 de 43 09/06/2012 07:21 p.m.

Page 13: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

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 tresherramientas, estas son:

ddfdiskmkfs

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 archivoif=/dev/zeroif significa input file, es decir, lo que quieres copiar En el ejemplo de arriba llenaremos de ceros el disco duroof=/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 tamaño 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 deseamosconocer las particiones anidadas en el disco duro y con este ultimo estamos lanzando la aplicacion como tal. Una vez aplicado el comando mostrara un mensajecomo este:

Orden (m para obtener ayuda):

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

Orden Acción

a Conmuta el indicador de iniciable b Modifica la etiqueta de disco bsd c Conmuta el indicador de compatibilidad con DOS d Suprime una partición l Lista los tipos de particionesconocidos m Imprime este menú n Añade una nueva partición o Crea una nueva tabla de particiones DOS vacía p Imprime la tabla de particiones q Sale sin guardar los cambios sCrea una nueva etiqueta de disco Sun t Cambia el identificador de sistema de una partición u Cambia las unidades de visualización/entrada v Verifica la tabla de particiones wEscribe la tabla en el disco y sale x Funciones adicionales (sólo para usuarios avanzados)}}}

La forma de agregar una particion al disco duro sera tecleando la letra 'n' lo cual nos desplegara la siguiente informacion:

Acción de la orden

e Partición extendida p Partición primaria (1-4) p}}}

solo habra que especificar si la particion a añadir 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 tamaño y numero de la particion a la cual haremos el cambio. En el siguiente ejemplo crearemos una particion que ocuparatodo el tamaño del disco duro.

Número de partición (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 tamaño diferente para la particion tambien se podra hacer, Para ello podemos hacer uso de las unidades KiloBytes,Megabytes oGigaBytes 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 están 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 lasiguiente sintaxis

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

13 de 43 09/06/2012 07:21 p.m.

Page 14: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

[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, estahace que el BIOS de su equipo inicie las operaciones relacionadas con el arranque. El BIOS (Basic Input Output System) es un pequeño programa escrito enlenguaje ensamblador cuya función es cargar el sistema operativo en la memoria RAM (Random Access Memory), una vez que el BIOS carga el sistemaoperativo en RAM este inicia un proceso llamado POST (Power On Self Test) el cual es un proceso de diagnostico y verificación de los componentes de entraday 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 dearranque 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úgráfico 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 elsistema de ficheros raíz pueda ser montado 3.Pasarle los argumentos runlevel e init al kernel 4.Comenzar la ejecución 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 lafunción starup la cual tiene como función detectar el tipo de CPU con el que el equipo cuenta así como de lo principal del sistema operativo, como el manejo dememoria, planificador de tareas, entradas y salidas, comunicación interprocesos, y demás sistemas de control, a partir de este momento se ejecuta el procesoINIT.

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 quesean 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 compañía estadounidense de telecomunicacionesAT&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 delequipo. 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 implementadocomo memoria virtual paginada, el sistema operativo Apple esta basado en este modelo. 3.SVR3.-Incluye mejoras en el sistema de ficheros asi como una nuevaAPI de red, el sistema operativo AIX de IBM hace uso de este modelo 4.SVR4.- Fue la versión más popular de SVR asi como la fuente de varias característicascomunes 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 nivelesde 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 todaslas 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 masimportantes 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 losiguiente:

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

FreeBSDNetBSD

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

14 de 43 09/06/2012 07:21 p.m.

Page 15: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

OpenBSDDragonFlyBSDDesktopBSDPCBSD

El fichero init.d#

En este fichero se encuentran todos los scripts encargados de levantar cada uno de los servicios del servidor. La ubicación 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 ---->httpdServidor Samba ----->smbServidor de Correo --->sendmailServidor DHCP ---->dhcpdServidor DNS ---->namedManejador 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 conjuntode enlaces simbolicos a los scripts del directorio /etc/rc.d/init.d La funcion que desempeñan estos directorios es organizar la manera en como los servicios de unservidor son levantados, como por ejemplo, imaginemos que tenemos instalado un servidor Web apache, y que lo tenemos configurado para que trabaje en losniveles 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 bajaLa 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 servicioUn 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 carpetase ejecutan en el nivel de ejecucion 5 Los detalles del renglon subrayado se explican a continuacion:

El fichero inittab#

La ubicación 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 ejecucionbajo 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 algunnivel en particular. De acuerdo a lo mostrado en la siguiente imagen describiremos la funcion que desempeña cada linea. Para ello usamos como ejemplo elfichero 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 defectoel 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 arranqueque el sistema utilizara para cada nivel de ejecucion o tambien llamados runlevels 5.-Esta seccion controla el reseteo del sistema. Se puede comentar esta lineapara 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 lasegunda indica que debe hacerse cuando el voltaje ha sido restablecido. 7.-Lineas encargadas de controlar los procesos getty 8.-Esta linea arranca el entornografico del sistema, las cuales pueden ser GNOME o KDE

El fichero rc.sysinit#

Este fichero esta localizado en la siguiente ruta La funcion que desempeña este fichero es ejecutar una serie de scripts que inicializan tareas como:

Configuracion de reloj del sistemaConfiguracion de los parametros del KernelLevantamiento de dispositivos RAID y LVMActivacion y Actualizacion de cuotas en discoActivacion 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 agregarcomandos que nos haga facil de realizar tareas necesarias como arrancar servicios especiales o inicializar dispositivos sin tener que escribir scripts complejos deinicializacion 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 deiniciacion 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

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

15 de 43 09/06/2012 07:21 p.m.

Page 16: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

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 seapagan 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 estenivel 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 ohacer 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 queno 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 soportede 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 quecumpla 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 elestado 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 hemoshablado 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 losiguiente:

[root@localhost ~]#/etc/init.d/httpd start

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

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

16 de 43 09/06/2012 07:21 p.m.

Page 17: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

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

[root@localhost ~]# service httpd {start|stop|statu s|restart|reload}

De igual forma solo debemos teclear start, stop o restar según 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 esdebido a que la mayoria de las aplicaciones desarrolladas para Linux no cuentan con un asistente de instalacion, en cambio, usted tendra que aprender a aplicaruna 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 estaadministracion y gestion de paquetes sera mediante el uso de las siguientes herramientas

yumYellow dog Updater Modified (YUM) es una herramienta de software libre de gestión de paquetes para sistemas Linux basados en RPM, fue desarrollada principalmentepara actualizar y controlar los sistemas Red Hat, Fedora, CentOS, y otras distribuciones de GNU/Linux basadas en RPM, incluyendo el mismo Yellow Dog.

rpmRed Hat Package Manager (RPM), es una herramienta de administración de paquetes. Es capaz de instalar, actualizar, desinstalar, verificar y solicitar programas.Originalmente desarrollado por Red Hat para Red Hat Linux, en la actualidad muchas distribuciones GNU/Linux lo usan, dentro de las cuales las más destacadas sonFedora Linux, Mandriva Linux, SuSE Linux. También se ha portado a otros sistemas operativos.

aptAdvanced Packaging Tool (APT) , es un sistema de gestión de paquetes creado por el proyecto Debian. APT simplifica en gran medida la instalación y eliminación deprogramas en los sistemas GNU/Linux.

aptitude

aptitude es una interfaz para APT. Muestra una lista de paquetes de software y permite al usuario elegir de modo interactivo cuáles desea instalar o eliminar. Dispone deun poderoso sistema de búsqueda que utiliza patrones de búsqueda flexibles, que facilitan al usuario entender las complejas relaciones de dependencia que puedanexistir entre los paquetes. En un principio, se diseñó para distribuciones GNU/Linux Debian, pero hoy día se utiliza también en distribuciones basadas en paquetes RPM,como Mandriva.

dpkgEl programa dpkg es la base del sistema de gestión de paquetes de Debian GNU/Linux. Se utiliza para instalar, quitar, y proporcionar información sobre los paquetes.deb.

Herramienta RPM#

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

Comando Comentariorpm -ivh paquete1.rpm Te permite instalar paquetes .rpmrpm -Uvh paquete1.rpm Te permite actualizar paquetes .rpmrpm -e nombreDelPaqueteTe permite eliminar un paquete

No hay que añadir la extensión, sino sólamente el nombre del paquete, sin la estensión 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 paqueteestá instalado en nuestro sistema. rpm -q nombreDelPaquete Nos permite conocer si un paquete se encuentra instalado o no en el equipo rpm -qa | grepnombreDelPaquete Realiza una busqueda mas profunda sobre los paquetes que tenemos instalados o no en el equipo.

Herramienta YUM#

Comando Comentarioyum install paquete1 paquete2 ...paqueteN Instala paquetes con sus dependenciasyum update paquete1 paquete2...paqueteN

Te permite actualizar paquetes junto con sus dependencias

yum remove paquete1 paquete2 ..paqueteN

Te permite eliminar paquetes junto con sus dependencias

yum update Actualiza e instala todos los paquetes del sistema operativoyum update --exclude=ekiga Actualiza e instala los paquetes del sistema operativo, solo excluye el definido en la opcion --exclude

yum search paquete1Nos ofrece un listado de resultados de los paquetes producto de la búsqueda por coincidencia de cadena de caracteres en ladescripción, resumen y nombre del paquete

yum info paquete1 Nos ofrece informacion detallada sobre algun paqueteyum repolist enabled Nos permite conocer los repositorios que se encuentran habilitadosyum localinstall paquete1.rpm Te permite instalar paquetes RPMyum localupdate paquete1.rpm Te permite actualizar un paquete RPMyum list installed Lista todos los paquetes instalados en el sistemayum list available Lista los paquetes que pueden ser instaladosyum list updates Lista los paquetes que pueden ser actualizadosyum grouplist Lista por grupos los paquetes instalados

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

17 de 43 09/06/2012 07:21 p.m.

Page 18: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

yum groupinfo "nombreDelGrupo" Obtiene información de los grupos y de sus paquetes constitutivosyum groupinstall "nombreDelGrupo" Instala un grupo de aplicacionesyum groupupdate "nombreDelGrupo" Actualiza un grupo de aplicacionesyum groupremove "KDE (K DesktopEnvironment)"

Elimina un grupo de aplicaciones.

Configuración de YUM #

La configuración 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 más 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=2tsflasg=repackage

PUT YOUR REPOS HERE OR IN separate files named file.repo1.in /etc/yum.repos.d}}}2.

La primera cosa que podemos notar de los archivos de configuración es su estructura de bloques de secciones con [sección]. Veremos que esta estructura serepite al momento de configurar los repositorios. En este caso yum.conf en la sección [main] define el comportamiento general de yum y establece las directivasbase, por ejemplo, de dónde 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 omisión es ‘/var/cache/yum’.

keepcache

Ya sea ‘1’ o ‘0’. Determina si yum debe o no mantener el cache de los encabezados y paquetes después de una instalación exitosa. Valor por omisión es ’1’(mantener los archivos)

debuglevel

Nivel de mensajes de depuración en la salida. El rango práctico es de 0-10. El valor por omisión 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 opción habilitada yum noinstalará un paquete i686 para actualziar un paquete i386. Por omisión el valor es ‘1’.

obsoletes

Esta opción sólo tiene efecto durante una actualización. Habilita la lógica de procesamiento de obsolescencias yum. Es útil cuando se realiza actualizaciones denivel de distribución (upgrade). Vea también la documentación del comando yum upgrade para más detalles. Opción en la línea de comando: --obsoletes

gpgcheck

Ya sea ‘1’ o ‘0’. Esto le indica a yum si debe o no realizar una verficación de firma GPG en los paquetes. Cuando está habilitado en la sección [main], establece elcomportamiento por omisión para todos los repositorios. Esta opción también determina si una instalación de un archivo local RPM será verificado por su firmaGPG o no. El valor por omisión es ‘0’.

plugins

Ya sea ‘0’ o ‘1’. Conmutador global para habilitar o deshabilitar las extensiones (plugins) de yum. Por omisión su valor es ‘0’ (extensiones deshabilitadas). Vea lasección PLUGINS del manual yum(8) para más información acerca de la instalación de extensiones yum.

metadata_expire

Duración en segundos después del cual los metadatos caducarán. 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 información para actualizaciones tanfrecuente como usted quisiera, disminuya el valor de este parámetro. También puede cambiar del formato por omisión en segundos a días, horas o minutosagregando d, h o m respectivamente al valor especificado. El valor por omisión es 1.5 hours, para complementar yum-updatesd ejecutándose una vez por hora.También es posible usar la palabra "never" implicando que los metadatos nunca expirarán.

installonly_limit

Cantidad de paquetes listados en installonlypkgs que se deben mantener instalados al mismo tiempo. Poner este valor a 0 deshabilita la funcionalidad. Poromisión el valor es ’3’.

tsflasg

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

18 de 43 09/06/2012 07:21 p.m.

Page 19: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

Lista separado por comas o espacios de banderas de transacción que serán 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 transacción rpm, mejor no toque.Por omisión la lista está vacía. Estas son sólo algunas directivas, para más, man yum.conf. Dentro de yum.conf puede incluir la configuración de los repositoriospero esa forma de configuracióne está en desuso y se prefiere utilizar archivos individuales en /etc/yum.repos.d/ que comentaremos más adelante.

Extensiones de YUM#

downloadonly#

Este paquete nos permite descargar los paquetes RPM de alguna aplicación sin que estos sean instalados. La forma de instalar esta herramienta sera tecleandolo 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 extensión está diseñada para ordenar la lista de espejos por velocidad de respuestas de cada uno antes de comenzar una descarga. La forma de instalaresta 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 sólo funciona si el software deseado no está instalado. Veamos como falla y cómopodemos 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 queríamos.

package-cleanup#

Esta herramienta ayuda a detectar problemas en la base de datos rpm y a resolverlos.

Comando Comentariopackage-cleanup --orphans Lista paquetes huérfanos o aquellos paquetes que no son provistos por ninguno de los repositorios configuradospackage-cleanup --dupes Lista los paquetes con duplicados en la base de datos RPMpackage-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 archivostransaction-all y transaction-done que normalmente se encuentran en /var/lib/yum si una transacción ha sido abortada en el medio de su ejecución. Si seencuentra más de una transacción no terminada se intentará completar la más reciente primero. Puede ejecutar este programa más de una vez para limpiartodas las transacciones sin terminar. Ejemplo..

[BASH]# yum-complete-transaction

Herramienta DPKG#

Comando Comentariodpkg -i paquete1.deb Te permite instalar paquetes deb.dpkg -i .deb Te permite instalar varios paquetes deb.dpkg -r paquete1.deb Borra paquete instalado en el sistemas.dpkg --purgepaquete1.deb

Borra paquete instalado sin dejar rastro.

dpkg -l paquete1.deb Hace búsquedas en SO de los paquetes ya instalados.dpkg --infopaquete1.deb

Muestra la información del paquete.

dpkg --statuspaquete1.deb

Muestra el estado del paquete.

dpkg --searchpaquete1.deb

Muestra la información de donde se instalo el paquete.

dpkg –help Obtienes la ayuda del comando dpkg.

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

19 de 43 09/06/2012 07:21 p.m.

Page 20: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

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

Herramienta APTITUDE#

Comando Comentarioaptitude 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 configuración.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 versión de la misma.aptitude search paquete1 Busca paquetes por nombre o expresión.aptitude show paquete1 Muestra información detallada de un paquete.aptitude clean Elimina los fichero de paquetes descargados.aptitude autoclean Elimina los ficheros de paquetes descargados, como también 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 dañados.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 configuración.apt-get dist-upgrade Actualiza distribución a la mas reciente.apt-get clean Elimina paquetes descargados.apt-get autoclean Elimina paquetes descargados, también 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 información sobre el paquete.apt-cache dumpavail Muestra información sobre los paquetes que estan disponibles.apt-cache pkgnames Muestra una lista rápida 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 diseñado especificamente para sistemas operativos Unix y derivados como Linux y BSD, su principal funcion es la deservir 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 comandosen un lenguaje que pueda ser entendido por el hardware del equipo. El término shell también hace referencia a un programa particular, tal como el Bourne shell oBASH. El BASH fue el shell usado en las primeras versiones de los sistemas operativos Unix , posteriormente paso a convertirse en estandar para todos lossistemas 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 gráfico se ve que la capa del hardware es la mas profunda y se encuentra conformada por los componentes físicos de tu equipo. Envolviendo a ésta,viene la capa del kernel que es el corazón de Linux, su núcleo, y es quien hace que el hardware funcione, efectuando su manejo y control. Los programas ycomandos que envuelven el kernel, lo utilizan para realizar las tareas especificas para las cuales fueron desarrolladas. Encerrando todo eso viene el Shell quetiene 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 queinteracciona 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 también fue desarrollado el Unix), este fue durante muchos años el Shell patrón del sistemaoperativo Unix. Es también llamado de Standard Shell por haber sido durante varios años, el único y hasta hoy es el mas utilizado ya que fue transportado paratodos los ambientes Unix y distribuciones Linux.

Korn Shell (ksh)#

Desarrollado por David Korn, también 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 número de adeptos crece mas en todo el mundo, sea por ser el Shell default de Linux, su sistema operativo natural, o seapor su gran diversidad de comandos, que incorpora inclusive diversas instrucciones características del C Shell.

CShell (csh)#

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

20 de 43 09/06/2012 07:21 p.m.

Page 21: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

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 dellenguage C. Su gran pecado fue ignorar la compatibilidad con el sh, partiendo por un camino propio. Además de estos Shells existen otros, pero contigo voy ahablar solamente sobre los tres primeros, tratandolos genéricamente por Shell y señalando 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, significaentonces 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 comandonavegando 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 aldirectorio 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 aldirectorio usr posteriormente al directorio local y recien desde ahi entrara a bin. En la segunda seccion del ejemplo indicamos mediante el uso del (../) punto puntoque regrese un nivel, pero inmediatamente indicamos nuevamente que retroceda otro nivel mas (../) Por cada retorno de nivel debera hacerse uso del (..) puntopunto

Entendiendo el . (punto)#

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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

Page 22: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

El uso del punto (. ) sirve para ejecutar algún 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 pequeña 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 detrabajo. 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 indentidicadospor 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 rootroot 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 1root 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 spooldrwxrwxrwt 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, tamaño 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 linkspara cada objeto del sistema de ficheros. La tercer y cuarta columna listan el propietario del elemento, y el grupo al cual pertenece, respectivamente. La quintamuestra el tamaño de los objetos, mientras que la sexta lista cuando fue realizada la ultima modificacion del objeto . La ultima columna es el nombre del objeto. Siel 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 estecomando

Comodines#

Los comodines son caracteres que se utilizan en lugar de otros caracteres que el sistema rellena. Los dos comodines más frecuentes son:

El asterisco

*

La interrogación ?

Aunque en ocasiones se confundan, su significado es diferente y producirán resultados totalmente distintos. El asterisco significa ninguno, alguno o todos loscaracteres: 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 número decaracteres. Hay que prestar atención a que el comando encuentra la “e” sola y la “e” seguida de cualquier número de caracteres a continuación. En contraste, lainterrogación (?) es un contenedor para un y sólo un carácter. Utilizando las mismas posibilidades que antes, el comando:

[BASH]# ls e?

ed }}}

Encontrará entradas de archivos y directorios dentro del directorio actual que comiencen por la letra “s” y que únicamente tengan una letra más. Si quisiésemosencontrar las entradas que comiencen por e y cuyo nombre tenga 5 caracteres en total, utilizaríamos:

[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 según las necesidades.

Por ejemplo, para encontrar sólo los archivos que tengan una extensión de tres letras dentro del directorio actual, utilizaremos:

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

22 de 43 09/06/2012 07:21 p.m.

Page 23: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

[BASH]# ls *.???

Para complicar un poco más las cosas también podemos utilizar los corchetes ( [ ] ) para especificar posibles valores. Todos los valores posibles deben estardentro 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 quecontengan un número 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 número de caracteres que podemos incluir dentro de los corchetes es teóricamente ilimitado. Sin embargo, si lo que queremos es encontrar todas las entradasque comiencen por una letra minúscula pero no por un número u otro carácter, podemos utilizar [abcdefghijklmnopqrstuvwxyz]. Debido a que esto es un rango,una forma mucho más simple de obtener el mismo resultado es poniendo:

[BASH]# ls [a-z]???

Los rangos no tienen que ser series completas de números o caracteres, podemos expresar subconjuntos de ellos. Por ejemplo, si queremos buscar entradasque comiencen por alguna letra entre la “d” y la “t”, podemos utilizar indistintamente [defghijklmnopqrst] o [d-t]. Si la entrada puede comenzar por esas letrastanto en mayúsculas como en minúsculas, podemos usar [DEFGHIJKLMNOPQRSTdefghijklmnopqrst] o [D-Td-t] .

El comando mkdir#

Vamos a darle una pequeña 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 crearlos 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]# mkdirprincipal/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 lasalida 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#

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

23 de 43 09/06/2012 07:21 p.m.

Page 24: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

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 haciaotra 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 Éstasincluyen diversas utilidades de filtrado, que se usan para buscar y cambiar archivos, así como las herramientas de entrada y salida. Es necesario comprender eluso 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 deconfiguracion. 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 líneas de uno o más archivos. Se usa para ordenar, mezclar, y comparar líneas de ficheros. Este comando sigue lasiguiente sintaxis:

[BASH]# sort opciones nombreDelFichero

Opciones Descripcion

-b Ignora espacios en blanco-c Revisa si el fichero esta ordenado-d Considera solo los caracteres alfanumericos y ordena por directorio de telefono

-fEste parámetro nos sirve para indicar que las mayúsculas y las minúsculas se van a tratar de forma diferente y que por tanto se va a seguir un ordenamientoalfabético

-m Une los ficheros ya ordenados sin reordenarlos-M Compara ficheros ordenado-n Este parámetro nos sirve para ordenar los campos numéricos por su valor numérico-o FILE Escribe en un fichero específico de salida en lugar de la salida estándar-r Nos permite realizar una ordenación inversa, es decir, de mayor a menor.-u Nos permite suprimir todas las líneas repetidas después de realizar la ordenación.-k numero De este modo especificaremos por qué columna o campo vamos a realizar la ordenación en las versiones más recientes de Linux.- - field-separator

Normalmente, se usa como delimitador de campos el espacio en blanco. Podemos utilizar el parámetro --field-separator para indicar que vamos a usar otrodelimitador de campo cualquiera. Ej: --field-separator=, La opción abreviada de --field-separator es -t.

- -help Muestra la ayuda y salida- -version Muestra versión y salida

Ejemplo: Creémos 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 numérico seguido de orden alfabético, con mayúsculas antes que las minúsculas.

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. También es posible ordenar listas de nombres por campos. Los campos se pueden separar porespacios o tabuladores y son numerados empezando por cero. Cuando se ordenan campos, el símbolo + precede al numero de campo con cada ficheroseparado 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 }}}

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

24 de 43 09/06/2012 07:21 p.m.

Page 25: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

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 salidase envía a la salida estándar 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 estándar o BASH. La utilidad cut también se puede usar para seleccionarcolumnas o campos desde ficheros específicos. Es posible tambien seleccionar un trozo de una línea específica, varios trozos, o un rango especifico. Lasiguiente 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 continuación un ejemplo del uso de estos rangos para escribir en la salida solo los primeros 5 caracteres de cada línea del fichero que dimos de alta al final dela 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 múltiples ficheros. Las líneas correspondientes del fichero específico se escriben en la salida estándar con cada líneaseparada por un carácter tabulador . La siguiente tabla muestra la gama de opciones que pueden ser integradas al comando cut:

Opciones Descripcion-s Pega líneas desde un fichero a la vez-d delimit-listUsa los caracteres especificados en delimit-list consecutivamente en vez del carácter 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 daría 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 marianarivera }}}

Formateando parrafos#

El comando fmt formatea cada párrafo en un fichero y la envía a la salida estandar. Este comando es utilizado para especificar la anchura de las líneas, tambienpuede juntar o separa líneas en un esfuerzo para que estas tengan la misma longitud. Otra de las funciones de fmt es la de intentar separar las líneas al final decada sentencia. Cuando esto no es posible, intenta romper la línea después de la primera palabra o antes de la última palabra de la sentencia. La anchura pordefecto que utiliza fmt para una línea es de 75 caracteres. El ancho por defecto puede ser modificado usando la opción adecuada en el comando fmt. Lasiguiente tabla muestra la gama de opciones que pueden ser integradas al comando fmt.

Opciones Descripcion

-c Mantiene igual los espacios de principio de párrafo y alinea el párrafo con margen izquierda en la segunda línea

-tTrabaja como -c excepto que los espacios de comienzo de la segunda línea sean igual que la primera, considerando la segunda línea como un párrafo deuna línea

-s Especifica que las líneas van a ser divididas y no juntadas-u Especifica que espacio uniforme se va a utilizar; esto reduce la separación entre todas las palabras a un espacio y a dos espacios entre las sentencias-NUMERO o-wNumero

Establece la largura de la línea al NUMERO indicado

-p PREFIX Especifica que las líneas que empiecen por PREFIX serán 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 código abierto. Fedora es siempregratis 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 ytodos son bienvenidos.}}}

Y aplique el comando fmt de la siguiente forma:

[BASH]# fmt -40 fedora

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

25 de 43 09/06/2012 07:21 p.m.

Page 26: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

Podra verificar que el texto se formateo correctamente.

Borrando o sustituyendo caracteres.#

Hay veces en las que se quiere buscar en un documento caracteres específicos y luego borrarlos o reemplazarlos por otros. Un ejemplo sería un documento queutiliza mayúsculas y minúsculas, pero se prefiere que todo el documento esté en minúsculas, para ello, el comando tr se encarga de llevar a cabo esta area Estecomando 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 carácter especificado.-s Remplaza una secuencia de caracteres por un carácter.- - 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 líneas. La siguiente tabla muestra la gama de opciones quepueden ser integradas al comando head.

Opciones Descripcion

-c NUMEROEspecifica el número de bytes a ser mostrados.-n NUMEROMuestra el NUMERO de líneas especificado.-q No muestra las cabeceras.-v Muestra las cabeceras.- - help Muestra la ayuda- - version Muestra la versión.

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 gamade opciones que pueden ser integradas al comando tail.

Opciones Descripcion

-NUMERO Especifica el número de líneas a ser mostrado.+NUMERO Especifica el número de líneas desde el comienzo a partir de donde empieza a mostrar.- - retry Indica a las instrucción que se mantenga intentando abrir un fichero cuando este esté inaccesible.-c NUMEROEspecifica el número de bytes a ser mostrados.

-fMuestra las líneas y va mostrando líneas según se escriben en el fichero.Este comando puede venir bien para ficheros que crecen como por ejemplo los ficheros LOG.

-n NUMEROMuestra el NUMERO de líneas especificado.-q No muestra las cabeceras.-v Muestra las cabeceras.- -help Muestra la ayuda- - version Muestra la versión.

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 dondepueden ser redireccionadas a un fichero. Puedes combinar ficheros usando campos. El comando join usa campos de unión para combinar líneas de múltiplesficheros. Antes de usar el comando join, el fichero debe de comenzar con los campos de unión. Esto se consigue muchas veces con el comando sort basado enlos campos que van a ser juntados. Así, si tu estás utilizando dos ficheros que contienen el nombre y el primer apellido y quieres juntar los ficheros utilizando elapellido, entonces los dos ficheros deben ser ordenados previamente utilizando el campo apellido. La siguiente tabla muestra la gama de opciones que puedenser integradas al comando join.

OpcionesDescripcion

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

26 de 43 09/06/2012 07:21 p.m.

Page 27: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

-I Especifica que caso es ignorado cuando se combinan los ficheros.-1 FIELD Especifica el campo en el fichero 1-2 FIELD Especifica el campo del fichero 2-t char Especifica el carácter separador del fichero de entrada y de salida.

-v FILE#Se imprime una línea por cada línea no “pareada” encontrada en el ficheroFILE#

- - help Muestra la ayuda- - version Muestra la versión.

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 pequeños. Esta utilidad crea ficheros de una cierta longitud, cuyo valor pordefecto es de 1000 líneas, y los nombra de forma secuencial. Los nombres de los archivos están formados por un prefijo, de valor “x” por defecto, seguido poruna combinación de letras que sigue el patrón de “aa”, “ab”, “ac”, etc. Si se deben crear más de 676 ficheros, la sintaxis será “zaa”, “zab”, etc. Cuando no seespecifica ningún fichero de entrada para la utilidad SPLIT, la entrada de datos estándar se utilizará por defecto.

La sintaxis correcta para el comando split es la siguiente:

[BASH]# split opciones nombreDelFichero ficheroSali da

La siguiente tabla muestra la gama de opciones que pueden ser integradas al comando split.

OpcionesDescripcion

-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 carácter separador del fichero de entrada y de salida.- - help Muestra la ayuda- - version Muestra la versión.

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 líneas.

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 número de ocurrencias (líneas que se repiten)-d Solo conserva las líneas que se repiten-u Solo conserva las líneas que son únicas

Convirtiendo ficheros para imprimir#

La utilidad pr formatea y prepara ficheros para imprimir, escribiéndolos en la salida estándar, paginándolos y opcionalmente escribiéndolos en un formato demulticolumna. Adicionalmente, también puede unir ficheros, imprimiéndolos en paralelo, uno por columna . La sintaxis correcta para el comando pr es la siguiente

[BASH]# pr opciones nombreDelFichero

Por defecto, en cada página se escribe un encabezado de cinco líneas: dos líneas en blanco, una línea con la fecha, el nombre del archivo y el contador depágina, y dos líneas más en blanco. Igualmente, también se escribe un pie de página de cinco líneas. Hay numerosas opciones para especificar el formatoproducido con la utilidad PR, algunas de las cuales se muestran en la siguiente tabla :

Opciones Descripcion

-COLUMNAS Produce tantas columnas como el número COLUMNAS y equilibra el número de líneas en cada columna dentro de cada página.-a Imprime las columnas en horizontal en lugar de en vertical.-d Inserta un doble espacio en la salida-f Utiliza saltos de página en lugar de caracteres de nueva línea para separar páginas.-h TEXTO Utiliza el texto especificado en TEXTO en lugar del nombre del fichero dentro del encabezado-l LINEAS Establece el número de líneas por página-m Imprime todos los ficheros en paralelo, uno por columna.-N NUMERO Empieza contando por NÚMERO en la primera línea de la primera página impresa.

-w CARACTERESEstablece el ancho de página a un número de caracteres igual a CARACTERES (el valor por defecto es 72). Solamente se utiliza para formatos de salidamulticolumna

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

27 de 43 09/06/2012 07:21 p.m.

Page 28: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

-WCARACTERES

Establece el ancho de página a un número de caracteres igual a CARACTERES siempre. El valor por defecto es 72.

Mostrando estadisticas de un fichero#

La utilidad WC cuenta el número de bytes, palabras separadas por espacios en blanco y saltos de línea para cada uno de los ficheros indicados. Se muestra unalínea de resultados para cada uno de los ficheros, y si el fichero fue indicado como un argumento, muestra su nombre a continuación. Si se indica más de unfichero, la utilidad muestra una línea 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 línea, luego las palabras y finalmente los bytes. Por defecto, cada resultado se muestra justificado a la derecha en un campo desiete bytes con un espacio en blanco entre cada uno de los resultados, de manera que los números y los nombres de los ficheros se alinean correctamente encolumnas, algunas de las cuales se muestran en la siguiente tabla :

OpcionesDescripcion

-c Muestra únicamente el número de bytes-w Muestra únicamente el número de palabras-l Muestra únicamente el número de líneas-L Muestra la longitud de la línea más larga- - help Muestra información de ayuda y termina- - version Muestra información sobre la versión y termina

La sintaxis correcta para el comando wc es la siguiente

[BASH]# wc opciones nombreDelFichero

Añadiendo numeros de linea a un fichero.#

La utilidad nl es útil para mostrar los números de línea de un fichero. Se organiza el fichero de entrada en páginas lógicas y por defecto, el número de línea seinicializa 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 números de línea ni laspáginas lógicas entre ficheros. Una página lógica consiste en tres secciones separadas por una línea en blanco: encabezado, cuerpo y pie de página. Cualquierde ellas puede estar vacía y puede estar numerada de una forma distinta a las otras dos. El texto que preceda el primer separador de sección en el fichero deentrada se considerará parte del cuerpo, de manera que la utilidad nl tratará un fichero sin delimitadores de sección como una única sección de cuerpo , algunasde las cuales se muestran en la siguiente tabla :

Opciones Descripcion

-a Numera todas las líneas-t Numera únicamente las líneas no vacías-n No numera las líneas. Es el valor por defecto de los encabezados y los pies de página.-i NUMERO Incrementa el número de línea en una cantidad igual a NÚMERO. El valorpor defecto es uno.-p No inicializa los números de línea al principio de cada página lógica.-s CADENA Añade la cadena de caracteres CADENA después de cada número de línea.-v NUMERO Establece el NÚMERO inicial de cada página lógica.-w NUMEROEspecifica el NÚMERO de espacios que se reservan para los números de línea. 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 undirectorio A continuacion indagaremos un poco mas en el uso de este comando. El comando ls puede aceptar opciones como argumento. Hay un gran número deopciones para éste comando que permiten un gran control sobre el resultado. En la tabla siguiente se muestran las opciones más 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 información para los ficheros enlaces o referenciales-R Muestra los directorios recursivamente.

Una variedad de opciones pueden ser usadas para especificar la información mostrada en un listado de ficheros, algunas de estas opciones se muestran en lasiguiente 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 modificación-o Muestra la misma información que -l menos la información de grupo que es excluida-s Muestra el tamaño 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 modificación o la fecha de modificación 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 tamaño, del más grande al más pequeño-t Muestra el listado de acuerdo a la fecha de modificación, mostrando primero el más reciente.-u Muestra el listado de acuerdo al último acceso, empezando por el más reciente.

La salida producida por el comando ls puede ser también controlada con otra serie de opciones. Estas opciones se muestran en la siguiente tabla

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

28 de 43 09/06/2012 07:21 p.m.

Page 29: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

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 tamaño del fichero en Kb-m Muestra los nombres de ficheros separados por comas-n Muestra el usuario y el número de grupo-p Muestra los nombres de ficheros con un carácter para especificar el tipo-x Muestra el nombre de fichero en columnas ordenadas horizontalmente

-T COLTSAsume que cada parada de tabulación está a cols columnas de ancho; el valor predeterminado es 8. ls emplea tabuladores donde es posible en la salida, poreficiencia. Si cols es cero, no usa tabuladores para nada.

-WCOLTS

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 deambiente 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 información cuando se examinan ficheros, pero no muestra información sobre el tipo de contenido de los mismos. El comando filepuede ser usado para aprender más sobre el tipo contenido de los ficheros en un sistema Linux. La salida del comando file incluye una de las siguientes palabras:

textexecutabledata o directory

Este comando acepta argumentos para especificar que ficheros examina Este comando acepta argumentos para especificar que ficheros examina. Se puedenusar una serie de opciones con este comando, como se muestran en la siguiente tabla.

Opciones Descripcion

-b Especifica que el nombre de fichero no se muestre en la salida-f

[

nombreDelFichero

]

Especifica que el fichero <nombrefichero> contiene los nombres de los ficheros a examinar.

-n Muestra el resultado después del chequeo. Esto puede ser útil cuando trabajamos con una serie de ficheros que van a ser enviados a otro comando.-v Muestra la versión-z Intenta examinar el contenido de los ficheros comprimidos.

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

[BASH]# file [opciones] nombreDelFichero

Copiando Archivos#

Cuando se trabaja con archivos en cualquier sistema, generalmente se necesita copiar archivos. Linux incluye dos comandos para copiar archivos. El comando cpse usa para copiar archivos y directorios y es el comando estándar para copiar archivos de una localización del sistema a otra. Cuando se quiere copiar archivosde un formato de archivo a otro, se hará uso el comando dd. El comando cp se utiliza para la copia estándar de archivos en sistemas Linux. Este comando seusa para crear una copia nueva e independiente del archivo o directorio original. Se pueden usar muchas opciones con el comando cp para modificar las copiascreadas. 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 más adelante en este capítulo) en lugar de copias del archivo.-p Mantiene el propietario, grupo, permisos y timestamp del archivo original.

-rCopia directorios y sus contenidos de forma recursiva mientras copia cada archivo como archivo estándar. Esta opción no podrá ser usada con algunos archivosespeciales.

-R Copia directorios y sus contenidos de forma recursiva, manteniendo los directorios.-s Crea enlaces simbólicos (ver más adelante) de los archivos que no sean directorios.-v Muestra todos los nombres de los archivos según se van copiando.

Estas opciones se pueden combinar cuando se copian archivos. Junto con las opciones, también se usan argumentos con el comando cp . La sintaxis para aplicarde manera correcta el comando es la siguiente:

[BASH]# cp [opciones] origenDelFichero destinoDelF ichero

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 simultáneamente. El comando dd, por defecto, escribedatos desde la entrada estándar hacia la salida estándar. Las opciones se utilizan para cambiar estos valores por defecto. Las opciones para el comando dd semuestran en la siguiente tabla :

Opciones Descripcion

if=FILE Especifica la localización del archivo de origen para ser utilizado en lugar de la entrada estándar. Éste es el archivo de origen.of=FILE Especifica la localización del archivo de destino para ser utilizado en lugar de la salida estándar. Éste es el archivo de destino.ibs=FILE Especifica el número de bytes leídos de cada vez.obs=FILe Especifica el número de bytes escritos de cada vez.

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

29 de 43 09/06/2012 07:21 p.m.

Page 30: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

bs=FILE Especifica el número de bytes a escribir y leer de cada vez.cbs=FILE Especifica el número 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 destinoDelF ichero

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 copiándolo a la nueva localización y borrando luego el archivo original. Sin embargo, Linux incluye un comando paramover archivos que automatiza esta tarea. El comando mv (abreviatura de move) permite mover y renombrar archivos en sistemas Linux. Este comando funcionacomo 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 confirmación.-i Pide confirmación al usuario antes de sobreescribir archivos.-u Especifica que los archivos no serán movidos al destino si tienen fecha de modificación igual o más reciente.v Muestra por pantalla los archivos movidos.

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

[BASH]# mv [opciones] origenDelFichero destinoDelF ichero

Moviendo Archivos#

Otra tarea frecuentemente necesaria cuando trabajamos con archivos y directorios es la eliminación de los mismos. El comando rm se utiliza para borrar archivosy directorios en sistemas Linux . Se pueden utilizar muchas opciones con el comando rm. Las utilizadas más frecuentemente son las que se muestran en la tablasiguiente

OpcionesDescripcion

-d Utilizada por el superusuario. Elimina directorios sin tener en cuenta si están vacíos.-f Ejecuta el comando sin pedir confirmación, incluso si los archivos especificados no existen.-i Pide confirmación 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 ejecución 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 información que permite al sistema operativo su planificación.

Esta definición varía ligeramente en el caso de sistemas operativos multihilo, donde un proceso consta de uno o más hilos, la memoria de trabajo (compartida portodos los hilos) y la información de planificación. Cada hilo consta de instrucciones y estado de ejecución. Los procesos son creados y destruidos por el sistemaoperativo, así como también este se debe hacer cargo de la comunicación entre procesos, pero lo hace a petición de otros procesos. El mecanismo por el cualun proceso crea otro proceso se denomina bifurcación o fork. Los nuevos procesos pueden ser independientes y no compartir el espacio de memoria con elproceso 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. Ladiferencia 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 máquina que se encuentran en memoria principal. Estas instrucciones se encuentran en formade programas. Para que un programa pueda ser ejecutado, el sistema operativo crea un nuevo proceso, y el procesador ejecuta una tras otra las instruccionesdel mismo. En un entorno de multiprogramación, el procesador intercalará la ejecución de instrucciones de varios programas que se encuentran en memoria. Elsistema operativo es el responsable de determinar las pautas de intercalado y asignación de recursos a cada proceso.

Diagrama de formacion de un proceso#

Se trata de la utilización de dos archivos, un objeto ejecutable y una biblioteca del sistema, que después se colocan en la imagen del proceso dentro de lamemoria RAM y posteriormente también se dan de alta dentro de la tabla de procesos, Bloque de control del proceso.

Modelo de dos estados#

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

30 de 43 09/06/2012 07:21 p.m.

Page 31: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

El modelo de estados más simple es el de dos estados. En este modelo, un proceso puede estar ejecutándose o no. Cuando se crea un nuevo proceso, se poneen estado de No ejecución. En algún momento el proceso que se está ejecutando pasará al estado No ejecución y otro proceso se elegirá de la lista de procesoslistos para ejecutar para ponerlo en estado Ejecución. De esta explicación se desprende que es necesario que el sistema operativo pueda seguirle la pista a losprocesos, conociendo su estado y el lugar que ocupa en memoria. Además los procesos que no se están ejecutando deben guardarse en algún tipo de colamientras esperan su turno para ejecutar.

Modelo de cinco estados#

El modelo anterior de 2 estados funcionaría bien con una cola FIFO y planificación por turno rotatorio para los procesos que no están en ejecución, si losprocesos estuvieran siempre listos para ejecutar. En la realidad, los procesos utilizan datos para operar con ellos, y puede suceder que no se encuentren listos, oque se deba esperar algún suceso antes de continuar, como una operación de Entrada/Salida. Es por esto que se necesita un estado donde los procesospermanezcan esperando la realización de la operación de Entrada Salida por parte del Sistema Operativo hasta que puedan proseguir. Se divide entonces alestado No ejecución en dos estados: Listo y Espera. Se agregan además un estado Nuevo y otro Terminado.

Los cinco estados de este diagrama son los siguientes según Osëliyo:

Ejecución: el proceso está actualmente en ejecución.Listo: el proceso está listo para ser ejecutado, sólo 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 finalización de una operación de Entrada/Salida solicitada por una llamada alsistema operativo.Nuevo: El proceso recién fue creado y todavía no fue admitido por el sistema operativo. En general los procesos que se encuentran en este estado todavía no fueroncargados en la memoria principal.Terminado: El proceso fue expulsado del grupo de procesos ejecutables, ya sea porque terminó o por algún fallo, como un error de protección, aritmético, etc.

Los nuevos estados Nuevo y Terminado son útiles para la gestión 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 sitúa 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 deprocesos es conveniente mantener varias colas de procesos listos, una para cada nivel de prioridad, lo que ayuda a determinar cuál es el proceso que másconviene ejecutar a continuación. Asimismo, existen varias colas en estado de espera, como mínimo una por cada periférico. Una de las razones paraimplementar el estado Espera era poder hacer que los procesos se puedan mantener esperando algún suceso, por ejemplo una Entrada/Salida. Sin embargo, alser mucho más lentas estas operaciones, puede suceder que en nuestro modelo de cinco estados todos los procesos en memoria estén esperando en el estadoEspera y que no haya más memoria disponible para nuevos procesos. Podría conseguirse más memoria, aunque es probable que esto sólo permita procesosmás grandes y no necesariamente nuevos procesos. Además hay un costo asociado a la memoria y de cualquier forma es probable que se llegaría al mismoestado con el tiempo. Otra solución es el intercambio. El intercambio se lleva a cabo moviendo una parte de un proceso o un proceso completo desde la memoriaprincipal al disco, quedando en el estado Suspendido. Después del intercambio, se puede aceptar un nuevo proceso o traer a memoria un proceso suspendidoanteriormente. 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 mismotodavía se encuentre en espera. Sólo convendría traerlo cuando ya está listo para ejecutar, esto implica que ya aconteció el suceso que estaba esperando. Paratener esta diferenciación entre procesos suspendidos, ya sean listos como en espera, se utilizan cuatro estados: Listo, Espera, Espera y suspendido y Listo ysuspendido.

Sobre demonios#

Un demonio, daemon o dæmon (de sus siglas en inglés Disk And Execution MONitor), es un tipo especial de proceso informático que se ejecuta en segundoplano en vez de ser controlado directamente por el usuario (es un proceso no interactivo). Este tipo de programas se ejecutan de forma continua (infinita), valedecir, que aunque se intente cerrar o matar el proceso, este continuará en ejecución o se reiniciará automáticamente. Todo esto sin intervención de terceros y sindependencia de consola alguna. El origen de la palabra daemon (demonio), se encuentra en la antigua Grecia, y la figura del daimon, un espíritu interior,equivalente a un "ángel protector" que guiaba y protegía a los hombres. Los programas demonios reciben este nombre en los sistemas UNIX. En otros sistemasexisten procesos similares como los TSRs de MS-DOS o los servicios de Windows.

Caracteristicas#

Los demonios suelen tener las siguientes características:

No disponen de una interfaz directa con el usuario, ya sea gráfica o textual.No hacen uso de la entradas y salidas estándar para comunicar errores o registrar su funcionamiento, sino que usan archivos del sistema en zonas especiales (/var/log/ enlos UNIX más modernos) o utilizan otros demonios especializados en dicho registro como el syslogd.

Por ejemplo, una máquina que alberga un servidor web utilizará un demonio httpd (HTTP Daemon) para ofrecer el servicio y que los visitantes a dicha webpuedan acceder. Otro ejemplo son los demonios "cronológicos" 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 lainformación de los archivos que se encuentran en este directorio. Tiene una gran cantidad de opciones, incluso estas opciones varían dependiendo del estilo enque se use el comando. Estas variaciones sobre el uso de ps son las siguientes:

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

Sea cual sea el estilo utilizado, dependiendo de las opciones indicadas, varias columnas se mostrarán en el listado de procesos que resulte, estas columnaspueden ser entre muchas otras, las siguientes:

Opciones Descripcion

p o PID Process ID, número único o de identificación del proceso.P o PPID Parent Process ID, padre del procesoU o UID User ID, usuario propietario del procesot 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 procesoc o CMD El nombre del programa o camndo que inició el proceso

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

31 de 43 09/06/2012 07:21 p.m.

Page 32: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

RSS Resident Sise, tamaño de la parte residente en memoria en kilobytesSZ o SIZE Tamaño virtual de la imagen del procesoNI Nice, valor nice (prioridad) del proceso, un número positivo significa menos tiempo de procesador y negativo más tiempo (-19 a 19)C o PCPU Porcentaje de cpu utilizado por el procesoSTIME Starting Time, hora de inicio del proceso

S o STAT

Status del proceso, estos pueden ser los siguientes:R runnable, en ejecución, corriendo o ejecutándoseS sleeping, proceso en ejecución pero sin actividad por el momento, o esperando por algún evento para continuarT sTopped, proceso detenido totalmente, pero puede ser reiniciadoZ zombie, difunto, proceso que por alguna razón no terminó de manera correcta, no debe haber procesos zombiesD uninterruptible sleep, son procesos generalmente asociados a acciones de IO del sistemaX dead, muerto, proceso terminado pero que sigue apareciendo, igual que los Z no deberían verse nunca

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

OpcionesDescripcion

-a El comando ps también muestra los procesos iniciados por los otros usuarios.-x También 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 Opción del comando ps para mostrar información de memoria (combinese con p para obtener el número de páginas)-j Formato de trabajo (jobs) pgid sid-r Sólo 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 espstree, que ofrece una visualización gráfica de las relaciones que existen entre los procesos: La sintaxis para aplicar de manera correcta el comando es lasiguiente:

[BASH]# pstree

Como se ve a continuacion

[BASH]# pstree

init─┬─acpid ├─auditd─┬─audispd───{audispd} │ └─{auditd} ├─avahi-daemon ├─beagled───12[{beagled}] ├─beagled-helper───7[{beagled-helper}] ├─bluetoothd├─bonobo-activati───{bonobo-activati} ├─console-kit-dae───63[{console-kit-dae}] ├─cron ├─cupsd ├─2[dbus-daemon] ├─2[dbus-launch] ├─dhcpcd ├─evince───{evince}├─2[evolution-data-───2[{evolution-data-}]] ├─firefox───firefox───5[{firefox}] ├─gconfd-2 }}}

El segundo comando relacionado con ps es top. Éste comando, no sólo muestra los procesos actuales, sino que automáticamente se va actualizando paramostrar los cambios acontecidos. Adicionalmente, en la parte superior se muestra información sobre el número de días que ha estado la maquina en marcha, elnúmero de usuarios, la memoria, estadísticas de la memoria de intercambio, etc. Mientras el comando top está en marcha, se pueden usar las siguientes teclaspara interactuar con él:

OpcionesDescripcion

h Ayudaq Salirs Cambia el tiempo entre actualizaciones (por defecto, 5 segundos)espacio Actualizar ahora en lugar de esperar al siguiente intervalo de actualizaciónu Muestra un único usuario

Finalizando un proceso#

Bajo circunstancias normales, un proceso hijo actúa bajo el padre que lo ha creado. Cuando el proceso hijo ya no es necesario, desaparece. Algunas veces, sinembargo, los procesos se convierten en procesos 'fugitivos', y aunque no sea necesario que se sigan ejecutando, continúan su ejecución consumiendo recursosinnecesarios.

Un proceso padre no puede (y no debe) finalizar su ejecución mientras tenga procesos hijos asociados a él que estén en funcionamiento. Teniendo ésto encuenta, cuando un proceso hijo no puede finalizar correctamente su ejecución, origina que el proceso padre se quede en un estado inconsistente, y que no pueda,a su vez, terminar su ejecución, quedando el proceso padre (y el o los hijos 'colgados') en un estado conocido como 'zombie', haciendo uso de recursosinnecesarios 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), quea su vez ejecuta otro proceso (C). Pueden suceder entonces varias cosas: Bajo condiciones normales, cuando el proceso C termina su ejecución, se lo notifica alproceso B, y desaparece (C). El proceso B trata la información, notifica los datos al proceso A, y muere (B). El proceso A, hace lo propio con los datosrecibidos, y retorna la información al shell del usuario, y entonces muere (A) En condiciones anormales, supongamos que el proceso C, después de pasar lainformación al proceso padre (el proceso B), no muere. Continua ejecutándose, lo que impide que el proceso B finalice, dado que tiene un proceso hijo (C) enmarcha. El proceso B trata la información y la reporta hacia el proceso padre (A), que a su vez, devuelve la información hacia el shell que lo originó. Tanto el

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

32 de 43 09/06/2012 07:21 p.m.

Page 33: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

proceso A como el proceso B, no pueden finalizar su ejecución dado que tienen procesos hijos en marcha. Así pues, un error en el proceso C, que hace que sequede en ejecución cuando no debería, origina que haya tres procesos en marcha en el sistema, consumiendo recursos de forma innecesaria. Otro tipo deproblema, podría darse de la siguiente manera: el proceso C, como antes, entra en un estado inestable, y no finaliza su ejecución. Aun así, el proceso B, acabasu ejecución y desaparece. El proceso A, también 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 extraños, sepuede 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 quepuede trabajar el usuario, la interacción 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 ningún otro comando. Para ejecutar un proceso en segundo plano, simplementese ha de añadir al final del comando el signo ampersand (&), esta opción permitirá ejecutar más de un comando a la vez: La sintaxis del comando kill es lasiguiente:

[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 lógica un disco duro, siendo denominado este nuevo espaciocomo partición. La descripción de las particiones se guarda en la tabla de particiones que se localiza en el sector 0 de cada disco. La versión Fdisk de Linuxpermite crear particiones en 94 sistemas de archivos distintos, incluyendo FAT32, Ext3, Solaris y QNX. Esta versión de Fdisk cuenta con un menú de texto deayuda en línea 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 aplicación , esta nos arrojara informacion referente a numero de cabezas,sectores , cilindros, particiones o tamaño 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 aplicación 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 iniciableb Modifica la etiqueta de disco bsdc Conmuta el indicador de compatibilidad con DOSd Suprime una particióna Conmuta el indicador de iniciableb Modifica la etiqueta de disco bsdc Conmuta el indicador de compatibilidad con DOSd Suprime una particiónl Lista los tipos de particiones conocidosm Imprime este menún Añade una nueva particióno Crea una nueva tabla de particiones DOS vacíap Imprime la tabla de particionesq Sale sin guardar los cambioss Crea una nueva etiqueta de disco Sunt Cambia el identificador de sistema de una particiónu Cambia las unidades de visualización/entradav Verifica la tabla de particionesw Escribe la tabla en el disco y salex Funciones adicionales (sólo para usuarios avanzados)

Como podemos notar, con la opción "m" podemos imprimir nuevamente este menu. Otro ejemplo, con "p" obtendremos la tabla de particiones actual del discoduro en cuestión: Ejemplo:

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

33 de 43 09/06/2012 07:21 p.m.

Page 34: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

Command (m for help): p

Disk /dev/sda: 146.8 GB, 146815737856 bytes 255 heads, 63 sectors/track, 17849 cylinders Units = cylinders of 16065 512 = 8225280 bytes

Device Boot Start End Blocks Id System /dev/sda1 1 25 200781 83 Linux /dev/sda2 26 2575 20482875 83 Linux /dev/sda3 2576 2706 1052257+ 82 Linux swap / Solaris /dev/sda4 2707 4000 10394055 8e Linux LVM }}}

Si lo que queremos es borrar una partición (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 Start End Blocks Id System /dev/sda1 1 25 200781 83 Linux /dev/sda2 26 2575 20482875 83 Linux /dev/sda4 2707 4000 10394055 8e Linux LVM }}}

En el ejemplo hemos borrado la partición 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 atención en las preguntas que se nos hicieron:

Tipo de partición: Aquí se nos pide elegir entre partición primaria y partición extendida. En un disco IDE o SATA podemos crear únicamente hasta 3 particiones primaria enel disco duro. Si requerimos de más particiones podemos crear una extendida y ahí seguir particionando (hasta un total de 60 particiones lógicas). Si requerimos más, noqueda otra que utilizar un segundo disco duro. En el caso de un disco SCSI, éste admite hasta 15 particiones primarias.Selección de la partición. Aquí escribimos en número de la partición que estamos creando. "3" en nuestro ejemplo.Primer cilindro. Es el cilindro en el que comienza la partición. Normalmente elegimos el que el sistema nos marca por default.Último cilindro o tamaño de la partición. En el caso del ejemplo tomé de nuevo la opción por default pues de este modo aprovecho todo el espacio libre.Generalmenteresulta más cómodo proporcionar el tamaño en megas (o en K's). Una opción sería entonces dar: +2048M

Podemos, nuevamente con "p", checar el estado de nuestra tabla de particiones actual:

Command (m for help): p

Disk /dev/sda: 146.8 GB, 146815737856 bytes 255 heads, 63 sectors/track, 17849 cylinders Units = cylinders of 16065 512 = 8225280 bytes

Device Boot Start End Blocks Id System /dev/sda1 1 25 200781 83 Linux /dev/sda2 26 2575 20482875 83 Linux /dev/sda3 2576 2706 1052257+ 83 Linux /dev/sda4 2707 4000 10394055 8e Linux LVM }}}

Analicemos en este punto las siete columnas que la impresión de la tabla de particiones nos da. En la primera columna se encuentra el dispositivo resultado de lapartición de disco sda. Así, podemos observar que en este momento contamos con 4 particiones: sda1, sda2, sda3 ysda4. La segunda columna nos informa quees la primera partición del disco la que contiene la parte booteable. La tercera y cuarta columna nos dan información acerca del cilindro en el cual comienza ytermina la partición respectivamente. La quinta nos dice cuantos blocks ocupa ésta. Por último, con la sexta y séptima columna sabemos el tipo de partición(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 partición recién creada comomemoria extendida, es el momento de asignar el tipo de partición. Ésto lo hacemos con:

Command (m for help): t

Partition number (1-4): 3 Hex code (type L to list codes): 82 Changed system type of partition 3 to 82 (Linux swap / Solaris)}}}

Es decir, asignamos el sistema "Linux swap / Solaris" (con id=82). Checamos:

Command (m for help): p

Disk /dev/sda: 146.8 GB, 146815737856 bytes 255 heads, 63 sectors/track, 17849 cylinders Units = cylinders of 16065 512 = 8225280 bytes

Device Boot Start End Blocks Id System /dev/sda1 1 25 200781 83 Linux /dev/sda2 26 2575 20482875 83 Linux /dev/sda3 2576 2706 1052257+ 82 Linux swap / Solaris /dev/sda4 2707 4000 10394055 8e Linux LVM}}}

Con fdisk podemos asignar muchos otros tipos de sistema. Con "l" podemos obtener la lista completa de opciones:

Command (m for help): l

0 Empty 1e Hidden W95 FAT1 80 Old Minix be Solaris boot 1 FAT12 24 NEC DOS 81 Minix / old Lin bf Solaris 2 XENIXroot 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

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

34 de 43 09/06/2012 07:21 p.m.

Page 35: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

Manag 50 OnTrack DM 93 Amoeba e1 DOS access b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O c W95FAT32 (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 W95Ext'd (LBA) 54 OnTrackDM6 a5 FreeBSD ee EFI GPT 10 OPUS 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/ 11 HiddenFAT12 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b 12 Compaq diagnost 5c Priam Edisk a8 Darwin UFS f1 SpeedStor 14 HiddenFAT16 <3 61 SpeedStor a9 NetBSD f4 SpeedStor 16 Hidden FAT16 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary 17 HiddenHPFS/NTF 64 Novell Netware b7 BSDI fs fd Linux raid auto 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fe LANstep 1b HiddenW95 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 partición, el sistema de ficheros debe ser añadido para que Linux pueda hacer uso de este espacio. La utilidad mkfs se usa para crearsistemas de ficheros en particiones vacías. 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 ext2fs -optionsOpciones específicas 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.

-vProduce una salida con más información, incluyendo todas las órdenes específicas del sistema de ficheros concreto que se ejecutan. Ésto es realmente sólo útil paracomprobaciones.

Las opciones usadas por mkfs están seguidas por un argumento especificando la partición que debe ser formateada. Después de la ejecución del comando, elcódigo de salida de 0 (cero) indicará que se ha llevado a cabo con éxito mientras que el código de salida 1 (uno) indicará fallo. La sintaxis correcta para estecomando 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 ext2mkfs.msdos o mkdosfsCrea un sistema de ficheros MS-DOSmkswap Crea un sistema de ficheros de Linux swapmkraid Inicializa y actualiza cadenas de dispositivos RAIDmkfs.minix Crea un sistema de ficheros Minixmkfs.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 eltranscurso del tiempo estos sistemas de ficheros pueden terminar presentando problemas como los siguientes:

El sistema de ficheros se llena hasta el límite de su capacidad, causando que los aplicaciones o quizás, el sistema entero dejen de funcionar.El sistema de ficheros se corrompe, seguramente por un corte de alimentación o por una caída 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 podría ocurrir si nuestro sistea deficheros 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 laredundancia) en el disco. Cada sistema de ficheros contiene un número finito de inodos que se establece en el momento de creación del sistema de fcheros. Estenúmero es, a su vez, el máximo número de ficheros que un sistema de ficheros puede acomodar. Como los sistemas de ficheros se crean con un número deinodos enorme, probablemente nunca crearás tantos ficheros como para agotar este número. No obstante, es posible quedarse sin inodos libres en particionesque contengan muchos ficheros pequeños.

Es muy importante prevenir la escasez de inodos libres en las particiones del sistema. El comando df proporciona información necesaria tanto sobre la uso delespacio en disco como de los inodos libres. El comando df nos muestra información general sobre el uso del disco en los sistemas de ficheros montados endirectorios. Normalmente, en directorios indicamos ficheros de dispositivos de particiones como / dev/hda1, pero si indicamos otro tipo de nombre de fichero odirectorio obtendremos información sobre la partición donde está ubicado dicho fichero o directorio. Si omitimos directorios, se mostrará la información relativa alos 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 más usadas:

OpcionesDescripcion

-h Muestra los resultados en un formato legible para las personas, incluyendo sufijos como M(megabytes) y G (gigabytes).-i Muestra información sobre los inodos libres en lugar de la información por defecto sobre el espacio libre en disco.

Monitorizando el espacio y los inodos libres del disco#

El comando du nos puede ayudar, mostrándonos directorio por directorio el uso del espacio en disco, asi mismo examina los directorios recursivamente y

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

35 de 43 09/06/2012 07:21 p.m.

Page 36: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

muestra información 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 más 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, limitándose 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 delsistema de archivos para corregir los posibles errores en el sistema. fsck se ejecuta automáticamente al inicio del sistema ante alguna anomalía, pero tambiénpuede ser utilizada manualmente por el administrador del sistema para forzar un chequeo.

Durante la comprobación del sistema de fsck se hace lo siguiente:

1. Comprueba inodos, bloques y tamaños. 2. Comprueba la estructura de directorios. 3. Comprueba la conectividad de directorios. 4.Comprueba las referencias.5. Comprueba el total de la información.

Para verificar un sistema de archivos es muy aconsejable hacerlo mientras éste está desmontado. La sintaxis básica de esta utilidad es la siguiente:

[BASH]# fsck [-opciones] /dev/hdXXX (o sdXXX)

En la tabla siguiente se muestran las opciones más usadas:

Opciones Descripcion

-AEjecuta comprobaciones en todos los sistemas de ficheros incluidos en /etc/fstab. Esta opción está pensada para utilizarse en tiempo de carga del sistema, antesde montar los filesystems.

-N No se ejecuta, pero muestra lo que debería hacerse.

-t tipoEspecifica el tipo de sistema de ficheros a comprobar; por defecto se asume ext2. El valor de tipo determina que verificador específico para el sistema de ficheroses utilizado.

-bsuperbloque

Utiliza una copia del superbloque alternativa. En el modo interactivo, e2fsck utiliza automáticamente superbloques alternativos. Normalmente, para restaurar unsuperbloque defectuoso, utilizarás -b 8193 en el modo no interactivo.

-c Comprobar bloques defectuosos.-f Fuerza una comprobación, incluso si el sistema de ficheros parece limpio.-p Repara automáticamente el sistema de ficheros sin hacer preguntas.-y Responde automáticamente "yes" a todas las preguntas interactivas permitiendo la utilización no interactiva de e2fsck.-v Muestra el estado del proceso

Montando y desmontando sistemas de ficheros#

Controlando el montaje y desmontaje del sistema de ficheros#

Como ya se vió anteriormente, la estructura de los sistemas de ficheros están generalmente divididos en particiones, unidas todas ellas en el punto de montajeraiz (/) 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 están vacíos, a la espera de su montaje, puede darse el casode que el directorio destinado a este fin contenga subdirectorios o archivos, en cuyo caso quedarán ocultos hasta que el dispositivo se desmonte.

Administrando la tabla del sistema de ficheros#

Para que las diferentes particiones estén disponibles desde un primer momento es necesario montarlas durante el arranque del sistema, los dispositivosremovibles también se usan frecuentemente y es aconsejable tenerlos preparados para usar los comandos de montaje. Toda este información se guarda en elfichero /etc/fstab . Los sistemas de ficheros definidos en este fichero son revisados y montados durante el arranque del sistema. Sus entradas se consultan comofuente de información por defecto cuando los usuarios quieren montar dispositivos removibles. En el siguiente ejemplo de /etc/fstab se puede ver que se trata deun 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 partición del sistema de ficheros, por ejemplo /dev/hda1. Este campo no puede contenter el dispositivo entero (/dev/sda)

Mount pointAquí se introduce el directorio donde se quiere que el dispositivo sea montado. Por ejemplo si la partición /dev/hda1 tiene el sistema de ficheros root, dondeestá el sistema se montará en /

Filesystem type En este campo se indica que tipo de partición se trata, ext2, ext3, ext4, reiserfs, swap, iso9660Mount options Se explican más adelante, se separan por comas.

Dump frecuencyEl programa dump consulta la entrada del /etc/fstab para ver cada cuanto tiempo debe hacer el backup. Normalmente tiene el valor 1 para filesystemsbasados en ext2y ext3 y 0 para los demás.

Pass number para elfsck

Este campo es usado por la utilidad fsck cuando la opción -A se especifica, normalmente en tiempo de arranque. Tiene valores:0 - No chequear el sistema1 - Debe ponerse para el filesystem root (/) y ordena al fsck a chequearlo primero2 - Hace el chequeo de la unidad, después del chequeo de los marcados con un 1

En el ejemplo se tiene un disco duro SATA La primera partición /dev/sda1 tiene el directorio root (/), la quinta contiene las imágenes del kernel para el arranque,la 9 para el directorio de los usuarios, la partición 10 es la temporal, la particion 11 para el sistema de swap. Luego se tiene la /dev/fd0 para diskettes y la

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

36 de 43 09/06/2012 07:21 p.m.

Page 37: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

/dev/hdc para el lector de CD Se pueden añadir/modificar estas entradas en cada caso y según 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 sonchequeados y luego montados. Después del arranque se pueden añadir más sistemas de ficheros manualmente con el comando mount. El comando mount seusa 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 losdispositivos y así tomar las opciones que se le especifiquen en el /etc/fstab. La tercera opción es independiente del fichero /etc/fstab y monta el sistema deficheros 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 básica 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 opción 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/escrituraOpciones del mount

Estas opciones se especifican en el fichero /etc/fstab o bien en la linea de comandos con la opción -o. Estas opciones modifican el modo de montaje delcomando mount, algunas de las opciones son:

OpcionesDescripcion

async Toda la E/S al sistema de ficheros debería hacerse asíncronamente.auto Puede montarse con la opción -adefaults Establece las opciones: rw, suid, dev, exec, auto, nouser y async. Es la opcion por defecto en sistemas ext2dev nterpretar dispositivos especiales de caracteres o bloques en el sistema de ficherosexec Permitir la ejecución de binariosnoauto Sólo puede montarse explícitamente (esto es, la opción -a no hará que el sistema de ficheros se monte)

noexecNo permitir la ejecución de ningún binario en el sistema de ficheros montado. Esta opción puede ser útil para un servidor que tiene sistemas de ficheros que contienenbinarios para otras arquitecturas distintas de la suya.

nosuid No permitir el efecto de los bits SUID ni SGIDnouser Prohibir a un usuario ordinario (esto es, distinto de root) montar el sistema de ficheros. Esto es lo predeterminadoro Montar el sistema de ficheros en modo de sólo lectura.rw Montar el sistema de ficheros de lectura y escriturasuid Permitir el efecto de los bits SUID y SGIDsync Toda la E/S al sistema de ficheros debería hacerse síncronamente.user Permitir a un usuario ordinario montar el sistema de ficherosusers 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 principalse 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 comandoumount 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 errorespueden surgir si quitamos dispositivos removibles sin antes desmontarlos: La sintaxis básica 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

-aDesmonta todos los filesystems descritos en /etc/mtab. Este fichero está mantenido por los comando mount y umount en tiempo real, se usa normalmente cuando seapaga/reinicia el PC.

-t fstype Desmonta sólo los filesystems del tipo especificado

Administrando cuotas de disco#

Establecer y consultar cuotas de disco#

La administración del espacio en disco duro del equipo puede ser una tarea problemática. El espacio disponible es un recurso limitado que muy a menudo seconsume a un ritmo alarmante provocando que un sistema de ficheros bien proporcionado se vuelva insuficiente al cabo del tiempo. En los sistemas multiusuariono importa lo grande que sea el sistema de ficheros los usuarios siempre terminarán llenándolo. Y a nadie le interesa que un sistema de ficheros se llenedemasiado pronto. Una forma de prevenir que ésto ocurra es el establecimiento de cuotas de disco, de esta forma podrán establecerse límites a la cantidad deespacio en disco consumido por usuarios independientes o por grupos de éstos. Típicamente un tamaño de cuota es mucho menor que el espacio libre delsistema de fichers donde se configura, de esta forma se puede evitar que un usuario o un grupo consuma demasiado espacio. Pueden configurarse cuotas paracada sistemas de ficheros incluido en /etc/fstab, aunque normalmente solo se aplican en aquellos sistemas de ficheros donde los usuarios finales guardan susarchivos por ejemplo el /home/nombreDelUsuario No es necesario establecer una cuota en /usr, por ejemplo, ya que los usuarios finales no pueden guardarficheros allí. Pueden configurarse cuotas para los usuarios individuales incluidos en /etc/passwd y para los grupos en /etc/group.

Cuotas de Limitacion#

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

37 de 43 09/06/2012 07:21 p.m.

Page 38: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

Pueden establecerse hasta cinco tipos de cuotas de limitación por cada sistema de ficheros. Estas limitaciones se especifican en bloques de disco, normalmentede 1024 bytes cada uno y estas son:

Opciones Descripcion

Límite hardpor usuario

El límite hard es la máxima cantidad de espacio en disco que un usuario puede disponer en el sistema. Una vez que el usuario alcanza este límite ya no se lepermitirá realizar nuevas escrituras en el disco.

Límite softpor usuario

Cada usuario puede almacenar datos libremente en el sstema de ficheros hasta que alcance el límite soft. Éste límite actúa como una especie de zona de aviso,advirtiendo al usuario que debe ir limpiando sus directorios pero, a diferencia del límite hard se le permite seguir trabajando. Cuando el espacio consumido por unusuario supera el límite soft pero no el límite hard se envían mensajes de aviso al terminal del usuario advirtiéndole que está excediendo su cuota pero lasoperaciones de escritura terminarán correctamente.

Límite hardpor grupo

Se trata del límite final asignado a un grupo por el sistema de cuotas. Una vez que se alcanza este límite, ninguno de los miembros de dicho grupo podrán realizarescrituras en el disco, incluso aunque no hayan excedido sus límites individuales.

Límite softpor grupo

Este límite 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.

Periodo degracia

Una vez que se alcanza el límite soft comienza el periodo de gracia para el usuario o el grupo. Cuando expira éste periodo de gracia, el límite soft se convierte enlímite hard hasta que se hayan eliminado los ficheros suficientes para que se resuelva el exceso de cuota. El periodo de gracia puede ajustarse para cualquiernúmero de meses, semanas, días, horas, minutos o segundos. Un valor típico es el de siete días.

Todos estos límites pueden establecerse utilizando el comando edquota, que se detallará a continuación. Cuando una escritura en disco excede un límite hard oun límite soft con el periodo de gracia expirado, solo se completará una parte de la operación 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 aplicación haya ocultado la shell y los mensajes de dicha aplicación lolleven a confusión al indicarle que el disco está lleno o protegido de escritura.

Comandos de cuotas#

Linux proporciona una serie de comandos para gestión y consulta de las cuotas en los sistemas de ficheros Parte de la configuración requerida para establecerlas cuotas inicialmente ha de hacerse a mano y sin ninguno de los comandos específicos de cuotas. Este proceso se explicará en la seccion → HabilitandoCuotas.

quota#

Muestra las limitaciones de cuota en usuario o en grupo. La opción -u está activada por defecto. Solo root puede utilizar la opción -u y usuario para ver laslimitaciones de otros usuarios. El resto de los usuarios usuarios podrán usar la opción -g y grupo para ver solamente las limitaciones de los grupos de los quesean miembros, siempre y cuando tengan permiso de lectura en los ficheros quota.group. La sintaxis básica 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 más 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 explícito que muestra las cuotas incluso cuando no se ha consumido ningún 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 límite soft de 10000 bloques, con un límite hard de 10200 bloques en /dev/sda9, y que notiene cuota establecida en /dev/hda1. La línea correspondiente /dev/hda1 se muestra debido a la utilización de la opción -v. No se muestran los valorescorrespondientes al periodo de gracia porque aun no se ha excedido el límite 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 límite soft de 990 bloques y ha alcanzado su límite hard de 1000 bloques. El periodo de gracia originalen este ejemplo se estableció en siete días de los cuales quedan seis días restantes, lo que quiere decir que ha pasado un día desde que se excedió el límitesoft.

quotaon#

Activa las cuotas configuradas previamente en uno o más sistemas de ficheros. La sintaxis básica 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 más frecuentemente son las que se muestran en la tabla siguiente:

OpcionesDescripcion

-aActiva las cuotas en todos los sistemas de ficheros incluidos en /etc/fstab y que estén marcados como de lectura-escritura y con cuotas. Normalmente se utiliza en elproceso de arranque para activar las cuotas.

-g Activa las cuotas de grupo. Esta opción 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 opción por defecto.-v Establece el modo explícito 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

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

38 de 43 09/06/2012 07:21 p.m.

Page 39: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

[BASH]# quotaon -av

Ejemplo 2: Activar las cuotas de usuario sólo en el sistema de ficheros /home

[BASH]# quotaon -av /home

quotaoff#

Desactiva las cuotas de disco en uno o más sistemas de ficheros La sintaxis básica 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 más 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 opción 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 opción por defecto.-v Establece el modo explícito 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 específicamente en los objetivos del examen LPI 101,pero es un componente importante en el sistema de cuotas de Linux. El comando quotacheck -a debería ser ejecutado de forma regular por medio de cron. Lasintaxis básica 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 más frecuentemente son las que se muestran en la tabla siguiente:

OpcionesDescripcion

-aComprueba todas las cuotas de los sistemas de ficheros incluidos en /etc/fstab. Se comprobarán tanto las cuotas de usuario como las de grupo según se indique en lasopciones usrquota y grpquota.

-g grupo Compila solamente la información de grupo.

-u usuarioCompila solamente la información de usuario; ésta es la opción por defecto. No obstante, si se especificase la opción -g, entonces habría que incluir esta si se deseaque se procesen también las cuotas de usuario.

-vEstablece el modo explícito que mostrará toda la información de lo que el programa está haciendo. Esta opción indica que el programa está activo mediante un símbologiratorio en el terminal. Ésto queda muy bonito pero podría ser un problema si estamos conectados mediante un módem 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 parámetros de cuotas para usuarios ogrupos. Por defecto se utiliza el editor vi. Cuando se envía el comando, se ejecuta un editor con un fichero temporal que contiene las opciones de cuotas. Alguardar 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 listade usuarios o grupos separados por espacios en blanco especificados en el apartado nombres. Si se incluye la opción -p y proto-usuario, las cuotas de eseusuario o grupo se utilizarán para los nombres y no se lanzará ningún editor. En la segunda forma del comando, con la opción -t, se editarán interactivamente loslímites soft para cada sistema de ficheros La sintaxis básica de esta utilidad es la siguiente:

[BASH]# edquota [-p proto-usuario] [opciones] nombr es

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

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

Opciones Descripcion

-g Modifica las cuotas de grupo. Si se especifica -g, se asumirá que todos los nombres son grupos y no usuarios, incluso si se especificase también -u.-p proto-usuario

Duplica las cuotas del usuario prototipo para cada grupo o usuario especificado. Este es el mecanismo mas habitualmente utilizado para inicializar al mismo tiempolas cuotas de varios usuarios o grupos.

-t Modifica los límites soft. Este comando interpreta unidades de sec (segundos), min(minutos), hour (horas), day (días), week (semanas), y month (meses).-u Modifica las cuotas de usuario. Es la opción por defecto, pero se ignorará si se especificase la opción -g

Ejemplo 1: Modifica las cuotas de usuario para mayra

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

39 de 43 09/06/2012 07:21 p.m.

Page 40: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

[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 límite soft de 99.900 bloques, un límite hard de 100.000 bloques, y ningún límite de ficheros. No tieneninguna limitación en /dev/hda1.

Ejemplo 2: Modificar los límites 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 días para bloques (espacio en disco) y de tres días para ficheros (inodos).

repquota#

Se utiliza para obtener un informe de la situación de las cuotas. En la primera forma del comando, repquota mostrará un informe por usuario o por grupo de lascuotas de los sistemas de ficheros indicados. En la segunda forma, la opción -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. Paracada usuario se imprime el número de ficheros y el espacio en disco utilizados en ese momento junto con las cuotas creadas con edquota. La sintaxis básica deesta 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 más frecuentemente son las que se muestran en la tabla siguiente:

OpcionesDescripcion

-aHace informes de todas las cuotas de todos los sistemas de fichero de lectura-escritura incluidos en /etc/fstab. Se mostrarán tanto las cuotas de usuario como las degrupo según se indique en las opciones usrquota y grpquota.

-g Muestra las cuotas de grupos.-u Muestra las cuotas de usuarios; es la opción por defecto.-v Activa el modo explícito, el cual añade 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 nofuese así, habría que recompilarlo con esta opción.). No es un proceso dificultoso pero, desgraciadamente, tampoco es simple. Para aclarar un poco esteproceso, en esta sección 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 según sea necesario.

1. Definir las opciones en /etc/fstab. En la línea que contiene el sistema de ficheros /home, añadir las opciones usrquota y grpquota a la opción default, como eneste ejemplo

/dev/sda9 /home ext3 defaults,usrquota,grpquota 1 2

Estas opciones indican a las utilidades de configuración 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 raíz del sistema de ficheros /home y dar permisos sólo 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. Alhabilitar las cuotas, estos ficheros contendrán datos binarios (no son ficheros de texto). Si se quisiera que los usuarios puedan examinar las cuotas de los gruposa 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 tamaño no sea cero (en este ejemplo cadauno 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

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

40 de 43 09/06/2012 07:21 p.m.

Page 41: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

6.Verificar que el script de inicialización del sistema ( /etc/rc.d/rc.sysinit o similar) activará las cuotas cada vez que el sistema cargue. Puede ser algo similar alejemplo 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.Añadir un script al directorio crontab del sistema (por ejemplo /etc/crontab.weekly) para que se ejecute quotacheck rutinariamente. El script del ejemplo puedeser válido:

#!/bin/bash

/sbin/quotacheck -avug }}}

Alternativamente, podría ponerse /sbin/quotacheck en el fichero crontab de root (utilizando el comando crontab -e) para su ejecución semanal, como en esteejemplo:

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

rPermite la lectura de un archivo. Éste es el único permiso necesario para copiar un archivo.Cuando se aplica a un directorio, se pueden leer ó ver sus archivos.

wPermite 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 ymover archivos incluso si no se tiene el permiso de escritura específico sobre el archivo individual

xPermiso de ejecución: permite ejecutar el archivo si contiene los scripts necesarios o puede ser ejecutado por el sistema. Aplicado a un directorio, este permite elacceso 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 numéricos como se muestran en la siguiente tabla

PermisoValor Numerico

r 4w 2x 1- (guion) 0

Los valores numéricos hacen posible añadir permisos a la vez y expresarlo de un modo sencillo. Por ejemplo, si un archivo permite al usuario rwx, el valornumérico sería 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 conversión numérica de un conjunto de distintos permisos posibles:

PermisoValor Numerico

1 --------x2 -------w-3 -------wx4 ------r--5 ------r-x6 ------rw-10 -----x---11 -----x--x22 -----w--w-33 ----wx-wx55 ---r-xr-x77 ---rwxrwx100 --x------101 --x-----x111 --x--x--x222 -w--w--w-

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

41 de 43 09/06/2012 07:21 p.m.

Page 42: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

311 -wx--x--x322 -wx-w--w-400 r--------444 r--r--r--511 r-x---x--x544 r-xr--r--644 rw-r--r--666 rw-rw-rw755 rwxr-xr-x777 rwxrwxrwx

Comando chmod#

Chmod ( change mode ) permite cambiar los permisos de acceso de un archivo o directorio.

La sintaxis básica de esta utilidad es la siguiente:

[BASH]# chmod [modificadores] [opciones] [archivo/d irectorio]

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

Se pueden utilizar muchas opciones con el comando chmod. Las utilizadas más 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 ejecución, algunas veces esnecesario algo más 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 asignación de ID de usuario se aplica cuando se desea que un determinado usuario ejecute un programa que de otro modo no podría. Por ejemplo, sólo elusuario root sería capaz de ejecutar la función funcion xyz (comenzar backups, restaurar el sistema, entrar en otros recursos, etc) a causa de las ramificacionesde seguridad, pero se necesita que los usuarios ejecuten un shell script para realizar esta acción, porque no se dispone del tiempo necesario para hacerlopersonalmente. Se puede crear este shell script como root y asignar el permiso SUID de modo que el usuario que ejecute el script sea root sólo dentro de esescript. Antes y después 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 identificación de grupo del sistema se aplica cuando es necesario que la persona que ejecuta el archivo sea unmiembro 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 numérico es 2000:

Stiky Bit#

Este permiso no trabaja como los otros permisos especiales. Con un valor numérico de 1000, sus operaciones difieren cuando están aplicadas a un directorio o aun 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 quesean 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 física (RAM) o espacio swap de modo que pueda funcionar más rápidamente que si se lee desde el disco. Si el archivo no esejecutable, 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 bitpasado 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 sólo se da un nombre de usuario (o UID numérico), entonces ese usuario seconvierte 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 unnombre de grupo o GID numérico, sin espacios entre ellos, entonces también se cambia el grupo al que pertenece cada fichero, se usa con la siguiente sintaxis:La sintaxis básica de esta utilidad es la siguiente:

[BASH]# chown [opciones] usuario:grupo fichero

Se pueden utilizar muchas opciones con el comando quotaon. Las utilizadas más 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.

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

42 de 43 09/06/2012 07:21 p.m.

Page 43: Certificación LPI 101 - Base de Conocimiento - linuxparatodos

0 archivos adjuntos

Promedio (1 Votar)

Comentarios

-R Cambia recursivamente el propietario de directorios y sus contenidos.-v Describe la acción 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 delgrupo especificado antes de cambiar los permisos. La sintaxis básica de esta utilidad es la siguiente:

[BASH]# chgrp [opciones] grupo fichero

Se pueden utilizar muchas opciones con el comando quotaon. Las utilizadas más 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 Actúa sobre enlaces simbólicos 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 continúa incluso si se encuentran errores.)-v Describe la acción 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 grupodonde 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 unfichero dependiendo de su localización. En Linux existe una solución 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 ficherooriginal, 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. Porcontra, 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. También pueden hacer referencia a directorios, de hecho, pueden referenciar hastaficheros inexistentes. La lectura y escritura, así como la copia del enlace, afectan al fichero objetivo, mientras que el borrado afecta al propio enlace. Borrar elfichero objetivo tampoco elimina el enlace automáticamente. Su sintaxis es como sigue:

[BASH]# ln -s /ruta/completa/fichero nombre_enlace

15715 Accesos

Inicio | Empresa | Servicios y Soluciones | Sectores | Comunidad | Contáctanos | Término y Condiciones de UsoAv. Plutarco Elías Calles 1355 Piso 2, Col. Nativitas, Del. Benito Juárez Tel: 01+(55)-85908505Derechos de marcas y contenido de Factor Evolución S.A. de C.V. o sus respectivos autores

Twittear 0Este obra está bajo una licencia Creative CommonsAtribución-NoComercial-CompartirIgual 2.5 México.

Recommend Be the first of your friends to recommend this.

Certificación LPI 101 - Base de Conocimiento - linuxparatodos.net http://www.linuxparatodos.net//web/comunidad/base-de-conocimiento/-/...

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