Sei sulla pagina 1di 86

CURSO LINUX INICIAL

CAPITULO 1 QU ES LINUX?
ORIGENES DE LINUX Y PRINCIPIOS DE DISEO
CRONOLOGA DEL UNIX
FSF y GNU
GPL General Public License
EL KERNEL LINUX
CRONOLOGA DE LINUX
COMPONENTES DE UNA DISTRIBUCION
SLACKWARE
PRODUCTOS SUSE LINUX
DEBIAN
UBUNTU
PRODUCTOS RED HAT LINUX
ORACLE LINUX
MANDRIVA

CAPITULO 2 LOGIN Y EXPLORACION DEL


SISTEMA
LOGGING IN
EJECUTANDO PROGRAMAS
INTERACTUANDO CON LA LINEA DE COMANDO
EL SISTEMA X WINDOWS
ARRANQUE DE LAS X
RECOPILANDO LA INFORMACIN DE LA SESIN DE LOGIN
RECOPILANDO INFORMACION DEL SISTEMA
ERES ROOT?
CAMBIANDO EL CONTEXTO DE USUARIO
SUDO
AYUDA DE COMANDOS Y DOCUMENTACION
OBTENIENDO INFORMACION CON LOS COMANDOS man E info

CAPITULO 3 EL SISTEMA DE FICHEROS


LINUX
SOPORTE DE SISTEMAS DE FICHEROS
FUNCIONALIDADES DE LOS SISTEMAS DE FICHEROS UNIX/LINUX
SISTEMA DE FICHEROS FHS (Filesystem Hierarchy Standard)
NAVEGANDO POR EL SISTEMA DE FICHEROS
VISUALIZANDO CONTENIDO DE DIRECTORIOS
ESTRUCTURAS DEL SISTEMA DE FICHEROS
DETERMINACION DEL USO DE DISCO CON df y du
DETERMINACION DEL USO DE DISCO CON BAOBAB (HERRAMIENTA
GRFICA)
USO DE DISCO CON CUOTAS
PROPIEDAD DE UN FICHERO

PROPIEDAD DE GRUPOS POR DEFECTO


PERMISOS DE DIRECTORIO Y FICHEROS
PERMISOS DE FICHEROS
PERMISOS DE DIRECTORIOS
CREACION DE DERECHOS DE FICHEROS CON UMASK
CAMBIANDO LOS PERMISOS DE FICHEROS
SGID Y STICKY BIT EN DIRECTORIOS
EL ESQUEMA UPG (User Private Group o Grupo Privativo de Usuario)

CAPITULO 4 MANIPULACIN DE FICHEROS


MANIPULACION DE DIRECTORIOS
MANIPULACION DE FICHEROS
BORRANDO Y CREANDO FICHEROS
ESTRUCTURA DE FICHEROS FISICA DE UNIX
ENLACES DEL SISTEMA DE FICHEROS
EXTENSIONES DE FICHERO Y CONTEXTO
VISUALIZANDO FICHEROS
PREVISUALIZACIN DE FICHEROS
VISUALIZANDO FICHEROS BINARIOS
BUSCANDO EN EL SISTEMA DE FICHEROS
METODO DE BUSQUEDA ALTERNATIVO
GENERANDO ESTADSTICAS DE FICHEROS

CAPITULO 5 FUNDAMENTOS DE LA SHELL


FUNCION DE LA SHELL
CANALES DE COMUNICACIN
REDIRECCION DE FICHEROS
JUNTANDO COMANDOS CON TUBERIAS (pipes)
OCURRENCIAS DE NOMBRES DE FICHERO
FILE GLOBBING Y COMODINES
EXPANSIN DE CARACTERES
SHELL Y VARIABLES DE ENTORNO
VARIABLES DE ENTORNO IMPORTANTES
REGLAS GENERALES DE ENTRECOMILLADO
ANIDANDO COMANDOS
COMANDOS MULTIPLES Y MULTILINEA

CAPITULO 6 ARCHIVO Y COMPRESIN


ARCHIVO CON EL COMANDO tar
ARCHIVO CON CPIO
LA UTILIDAD DE COMPRESION gzip
LA UTILIDAD DE COMPRESION bzip2
LA UTILIDAD DE COMPRESIN XZ
EL FORMATO DE COMPRESION/DESCOMPRESIN PKZIP

CAPITULO 7 PROCESAMIENTO DE TEXTO

BUSCANDO DENTRO DE FICHEROS


EL EDITOR DE CADENAS
PROCESAMIENTO DE TEXTO CON awk
REEMPLAZO DE CARACTERES DE TEXTO
ORDENAMIENTO DE TEXTO
UTILIDAD PARA QUITAR DUPLICADOS
EXTRAYENDO COLUMNAS DE TEXTO
COMBINANDO FICHEROS Y MEZCLANDO TEXTO
COMPARANDO CAMBIOS DE FICHERO

CAPITULO 8 EXPRESIONES REGULARES


EXPRESIONES REGULARES
CLASES DE CARACTERES EN EXPRESIONES REGULARES
CUANTIFICADORES DE EXPRESIONES REGULARES
PARENTESIS EN EXPRESIONES REGULARES

CAPITULO 9 EDICION DE TEXTO


EDICION DE TEXTO
Pico/GNU Nano
INTERFAZ DE PICO/NANO
ATAJOS DE TECLADO DE Pico/Nano
LOS EDITORES vi y Vim
APRENDIENDO vi
vi BASICO
vi INTERMEDIO
Emacs
EL INTERFAZ Emacs

CAPITULO 10 COMANDOS DE LA SHELL


SHELLS
IDENTIFICANDO LA SHELL
CAMBIANDO LA SHELL
Bourne sh: FICHEROS DE CONFIGURACION
SCRIPT DE EJECUCION
bash: Bourne-Again Shell
bash: FICHEROS DE CONFIGURACION
bash: HISTORIA DE LA LINEA DE COMANDO
bash: EDICION DE COMANDO
bash: AUTOCOMPLETE DE COMANDOS
bash: ATAJOS

CAPITULO 11 INTRODUCCION AL SHELL


SCRIPT
FORTALEZAS Y DEBILIDADES DE LA SHELL

EJEMPLO DE Shell Script


PARAMETROS POSICIONALES
ENTRADA Y SALIDA
EXPRESIONES MATEMTICAS
COMPARACIONES CON TEXTO
ESTADO CON EL COMANDO exit
SENTENCIAS CONDICIONALES
CONTROL DE FLUJO: case
EL BLUCLE for
LOS BUBLES while y until

CAPITULO 12 GESTION DE PROCESOS Y


CONTROL DE TRABAJOS
QUE ES UN PROCESO?
CICLO DE VIDA DE UN PROCESO
ESTADO DE LOS PROCESOS
VIENDO PROCESOS
SEALES
HERRAMIENTAS PARA MANDAR SEALES
CONTROL DE TRABAJOS (JOB CONTROL)
COMANDOS DE CONTROL DE TRABAJOS
SESIONES DE SHELL PERSISTENTES CON Screen
USANDO screen

CAPITULO 13 MANEJO DE SOFTWARE


DESCARGANDO CON FTP
FTP
INTERNET EN COMMAND LINE INTERACTIVA
GESTIONANDO DEPENDENCIAS DE SOFTWARE
USANDO EL COMANDO YUM
GRUPOS DE PAQUETES CON YUM
CONFIGURACION DE YUM
REPOSITORIOS YUM POPULARES

CAPITULO 14 MENSAJERIA
COMANDOS DE MENSAJERIA DE SISTEMA
CONTROLANDO MENSAJES DE SISTEMA
Internet Relay Chat (IRC)
CLIENTES DE MENSAJERIA INSTANTANEA (Internet Messaging)
CORREO ELECTRONICO
ENVIO DE CORREO CON sendmail
ENVIANDO Y RECIBIENDO EMAIL CON mail
ENVIO Y RECEPCION DE EMAIL CON mutt
ENVIANDO CORREO CON Pine
EVOLUTION

CAPITULO 15 IMPRESIN
SUBSISTEMAS DE IMPRESIN EN LINUX
SISTEMAS DE IMPRESION ANTIGUOS
Common UNIX Printing System (CUPS)
DEFINIENDO UNA IMPRESORA
COMANDOS DE IMPRESION ESTANDAR
UTILIDADES DE CONVERSION DE FORMATOS
GHOSTCRIPT
ENSCRIPT Y MPAGE

CAPITULO 16 EL SECURE SHELL (SSH)


LA CONFIGURACION DE ssh y sshd
ACCEDIENDO A SHELLS REMOTOS
TRANSFIRIENDO FICHEROS
CLIENTES sftp ALTERNATIVOS
GESTION DE CLAVES SSH

CAPITULO 17 MONTANDO SISTEMAS DE


FICHEROS Y GESTIONANDO MEDIOS
REMOVIBLES
CONCEPTO DE SISTEMA DE FICHEROS
MONTANDO SISTEMAS DE FICHEROS
NFS
SMB (SAMBA)
AutoFS
MEDIOS REMOVIBLES

CAPITULO 18 CONSIDERACIONES DE
PREINSTALACION
CONSIDERACIONES DE PREINSTALACION
COMPATIBILIDAD HARDWARE
ARRANQUE MULTI SISTEMA OPERATIVO
CONSIDERACIONES DE LAS PARTICIONES
PLANIFICACION DEL SISTEMA DE FICHEROS
SELECCION DEL SISTEMA DE FICHEROS

CAPITULO 19. INSTALACION DE RHEL


EL INSTALADOR Anaconda:
ANACONDA: ARRANCANDO EL SISTEMA
Anaconda: OPCIONES COMUNES DE ARRANQUE
Anaconda: CARGANDO ANACONDA Y LOS PAQUETES
Anaconda: OPCIONES DE ALMACENAMIENTO
Anaconda: SOLUCION DE PROBLEMAS

CAPITULO 1 QU ES LINUX?
ORIGENES DE LINUX Y PRINCIPIOS DE DISEO
-Hereda funcionalidades de Multics como el sistema de ficheros jerrquico
-Cualquier cosa es un fichero
-Posiblidad de juntar unos programas con otros a travs de tuberas (pipes) para hacer
tareas ms complejas
-El kernel hace lo mnimo imprescindible para que tengamos el sistema operativo
funcionando y deja que el resto de cosas se puedan hacer con programas
-Todos los datos de configuracin almacenados como texto (p.e. ASCII, UTF-8)
CRONOLOGA DEL UNIX
1965 GE, MIT, y AT&T empiezan a trabajar en MULTICS
1969 MULTICS descartado por AT&T, y lo reemplaza con UNICS
1973 Unix reescrito en C, hacindose portable
1975 Sale la Sexta Edicin; licencia fuenta a bajo coste
1979 Sale la Sptima Edicin, origin de los futuros sistemas Unix
1985 Octava edicin, basada en 4.1BSD
1988 4.3BSD Net/1: primera versin de software libre
1989 Dcima Edicin, nunca sacada a la luz; Plan9 First Edition
replaces it in 1992 (open sourced in 2002)
1990 AT&T Unix System V Release 4.
1991 Sale a la luz Minix 1.5
1992 Linus Torvalds saca 0.12 Linux bajo licencia GPL
FSF y GNU
Richard Stallman "The man, the myth, the legend..."
1983 GNU (GNU's not Unix)
objetivo: crear el Sistema Operativo Libre GNU
primeros programas: emacs y gcc
1985 Free Software Foundation (FSF)
Organizacin sin nimo de lucro para promover el software libre
Gestiona el proyecto GNU
En 1991 el sistema GNU est casi completado
solo los componentes nucleares estn en el kernel
GPL General Public License
Garantiza que el software libre permanence libre
Todo software bajo GPL pone la fuente disponible al usuario final
Los cambios de un paquete software GPL deben estar licenciados tambin bajo GPL
Se puede incorporar cdigo fuente desde un paquete software GPL
En otro software GPL
Other Licenses:
http://www.gnu.org/licenses/license-list.html
http://www.opensource.org/licenses/index.html
EL KERNEL LINUX
Linus Torvalds Estudiante universitario finlands
Quiere reemplazar a Minix, a UNIX-like feature-limited teaching OS

The Linux kernel


Reimplementacin de las APIs UNIX
Bajo licencia GPL
El Kernel de Linux junto con GNU y otros programas forman un sistema operativo
completamente libre
CRONOLOGA DE LINUX
1991 Linus Torvalds saca 0.1 Linux
1993 AT&T vende UNIX a Novell
1994 Linux kernel 1.0
1995 Novell licencia UNIX a SCO
1996 Linux kernel 2.0
1999 Linux kernel 2.2
2000 SCO vende el cdigo UNIX a Caldera, una empresa Linux
2001 Linux kernel 2.4
2002 Caldera pone disponibles las fuentes del Unix original y del BSD
2003 Linux kernel 2.6
2003 Novell compra Ximian and SuSE
2011 Attachmate compra a Novell, incluyendo a SUSE.
2011 Linux Kernel 3.0
Nomenclatura de versions
2.X X par estable
X impar de desarrollo
COMPONENTES DE UNA DISTRIBUCION
Una distribucin de Linux tpica est formada por
Conjunto de aplicaciones junto con el kernel Linux
Programa de instalacin
Documentacin
Soporte
Algunas son muy especializadas (p.e.. Linux Router Project)
Cumplimiento de los estandars POSIX y Single Unix
La mayor parte de las distributiones de Linux dan el mismo software basico:
software GNU
GNU Coding Standards
BSD y utilitidades Linux
X.Org, GNOME, KDE, y otros componentes GUI
(Graphical User Interface)
SLACKWARE
La distribucin activa ms vieja
Escisin de Softlanding Linux System (SLS)
Gestin de paquetes software simple
Usa tarballs comprimidos
Se hizo muy popular y continua teniendo gran seguimiento
PRODUCTOS SUSE LINUX
Familia SUSE Linux Enterprise (SLES)

Versiones Server (Servidor) y Desktop (Escritorio)


2 aos de ciclo de versin
7-10 aos de ciclo de mantenimiento
Altamente escalable, tecnologa madura
Cinco platformas: x86, Amd64/Intel64, ia64, ppc64, S390x(zSeries)
Certificaciones ISV (Independent Software Vendor)
El Proyecto openSUSE (version opensource de SUSE)
Van sacando por delante de SUSE las nuevas funcionalidades de la versin
8 meses el ciclo de versiones
Actualizaciones de seguridad limitadas a 1.5-2 aos
DEBIAN
Segunda distribucin active ms vieja
Inicialmente promovida por la by FSF
Creada y Controlada por la comunidad Debian
Muy involucrada en el software libre
Usa su propia gestin de paquetes, DPKG
Fcil de mantener el sistema actualizado
apt-get update
apt-get upgrade
UBUNTU
Fundada porMark Shuttleworth
Licenciada por Canonical
Basada en Debian
Involucrada en el software libre
Usa la gestin de paquetes de Debian, DPKG
Fcil de mantener el sistema actualizado
aptitude update
aptitude upgrade
PRODUCTOS RED HAT LINUX
Inventor del gestor de paquetes RPM
Instalador muy fcil que integra particionamiento e instalacin de paquetes RPM
Leal a los ideales del software libre: slo saca software open-source con muy pocas
excepciones
Fedora
Proyecto de vanguardia orientado a la comunidad
Da tecnologa para futures versions de RHEL
Red Hat Enterprise Linux (RHEL)
Distribucin pensada para la empresa con soporte comercial
CentOS: mantenida por la comunidad, distribucin pensada para la empresa
Oracle Linux
ORACLE LINUX
Oracle Linux
Comparte ciclos de version con RHEL
Cdigo fuente y binarios compatibles con RHEL
Altamente escalable, tecnologa madura
Tres platformas: x86, AMD64 e Itanium

Certificaciones ISV (Independent Software Vendor)


MANDRIVA
Anteriormente llamada Mandrake
Mandrake compr Connectiva, y la renombr como Mandriva
Distribucin muy amigable al usuario
Programa de instalacin potente (permite redimensionar particiones NTFS y FAT)
Herramienta de actualizacin Mandriva Online
Herramienta de configuracin Drax
Usa RPM

CAPITULO 2 LOGIN Y EXPLORACION DEL


SISTEMA
LOGGING IN
Terminales serie login modo texto via puerto serie
mgetty+login Gestiona modems
agetty+login Gestiona terminales tontos VT100/VT220
Terminales virtuales Login en modo texto en consola local
mingetty+login
Grfico login GUI en consola local
xdm, gdm, kdm, etc.
Emulacin de Terminal
xterm, rxvt, gnome-terminal, konsole
Logins de red Login remoto de texto
in.telnetd+login (telnet), in.rlogind (rlogin), sshd, etc
EJECUTANDO PROGRAMAS
Entorno grfico (p.e. X+Gnome)
Lnea de commando (command line) (p.e. Bash)
INTERACTUANDO CON LA LINEA DE COMANDO
Qu ocurre cuando doy al enter en lnea de comando?
expansion, substitucin, and splitting performed
redirection setup
execution
Opciones de comando
$ command -abc
$ command -cba
$ command -a -b -c
$ command -c -b -a
Las 4 hacen lo mismo, ejecutan un comando con 3 opciones a b y c
$ command --alpha --beta Charlie (opcin larga ms descriptive)
command -a --beta -c delta (mezcladas opciones largas y cortas)
Argumentos de comando
$ command --option1 arg1 arg2
Errores comunes
$ command

-bash: command: command not found (no exite el programa o no est en el path)
$ command
bash: command: Permission denied
(no hay permisos)
$ command -a
command: invalid option -- a
Try command --help for more information. (Opcin invlida o desconocida)
$ command file1
command: cannot stat file1: No such file or directory (argumento invlido, por
ejemplo un fichero file1 que no existe)
Sugerencias y trucos
(histrico de comandos, autocomplete, alias)
EL SISTEMA X WINDOWS
GUI para sistemas Unix y Linux
Creado en 1984
es un Protocol y una Implementacin a la vez
Ventajas de X
Independiente del Sistema Operativo
Modular y Extensible
Cliente-Servidor (Transparente a la red!)
XFree86
Implementacin Open Source original del sistema X Window
X.Org
Escisin de XFree86 con un modelo de desarrollo ms abierto
ARRANQUE DE LAS X
X ya estn corriendo cuando se hace un login grfico
En Red Hat Enterprise Linux, runlevel 5 por default
Para login desde un terminal de texto virtual, usa startx
startx es un shell script that puede ejecutar xinit
se puede ejecutar xinit manually, pero por defecto slo arranca the X server
Fichero: /etc/inittab
- id:5:initdefault:
+ id:3:initdefault:
Acceso a los terminales virtuales ALT F1-ALT F12
ALT+flecha izquierda o ALT+ flecha derecha
RECOPILANDO LA INFORMACIN DE LA SESIN DE LOGIN
Quin eres realmente?
UID user id
GID group id
terminal: tty, pts, etc.
Comandos para recopilar informacin
id
id -un|whoami
id -Gn|groups

Terminales serie /dev/ttyS0, /dev/ttyS1, etc.


Terminales virtuales /dev/tty0, /dev/tty1, etc.
Terminales conectados por red (p.e. via ssh) /dev/pts/x
Terminales de texto en un emulador de terminal X Window /dev/pts/x
tty
RECOPILANDO INFORMACION DEL SISTEMA
Quin ms est en el sistema?
users
who
w
finger
Qu tipo de sistema es?
uname -a
free (memoria libre)
Cul es el nombre de red del sistema
hostname
$ hostname s (slo el hostname)
$ hostname d (ver nombre de dominio)
ifconfig
ifconfig -a Para ver qu servidores DNS
estn configurados mirar el fichero /etc/resolv.conf.
ERES ROOT?
Muchos sistemas operativos tienen el concepto de superusuario
Este usuario superusuario o privilegiado tiene derechos de acceso y privilegios en el
sistema
El usuario root es el usuario privilegiado en la mayor parte de los sistemas Unix
Tiene el user ID (UID) de zero (0)
CAMBIANDO EL CONTEXTO DE USUARIO
su: lanza una nueva shell como otro usuario (usando las credenciales del usuario
destino)
Usa - | -l | --login para heredar el perfil de login
El usuario por defecto is root si se usa su su - new_username
sudo: ejecutar un commando simple con los privilegios de otro usuario
sudo command_name.
Recuerda la autenticacin por terminal (Tipicamente cinco minutos)
sudo v extiende el timeout
sudo k cancela el timeout
La conguracin afecta a la autenticacin y a los privilegios disponibles
(/etc/sudoers)
SUDO
sudo es un su ms potente
ms seguridad
posibilidad de logear comandos
sudoedit a manera ms segura de editar ficheros

sudo e (lo mismo que sudoedit)


visudo una manera ms segura de gestionar el comando sudo. Edita /etc/sudoers
Replacing su with sudo
sudo i para lanzar una shell interactiva, similar al comportamiento por defecto del
comando su
Uso de sudo con ssh
ssh -t hostname "sudo reboot"
AYUDA DE COMANDOS Y DOCUMENTACION
command help
$ date --help | head -n 2
Documentacin de los paquetes instalados
RHEL6 /usr/share/doc/package_name-version
Documentacin de la distribucin enviada fsicamente o online
Linux Documentation Project - TLDP
Ayuda online:
web sites, FAQs, Howtos, newsgroups, mailing lists
Linux User Group(s) (LUGs)
A los miembros se les enva informacin a travs de mailing lists
presentaciones mensuales
OBTENIENDO INFORMACION CON LOS COMANDOS man E info
Puede parecer crptica, pero al menos est bien documentada
man [section] name
Secciones del man:
(1) Coomandos de usuario
(2) Llamadas de sistema
(3) Subrutinas
(4) Dispositivos
(5) Formatos de ficheros
(6) Juegos
(7) Miscelaneos
(8) Administracin de Sistema
(n) nuevo (usado para escribir y probar pginas del man nuevas o actualizadas para otras
secciones)
info
creada por el proyecto GNU
Es un sustituto del man pero a nivel superior
Usa HTML como la navegacin con enlaces
Si existe la pgina de info, normalmente da mejor documentacin que la
correspondiente pgina del man.
Usa pinfo para ver las pginas
Opciones tiles
man k (necesita makewhatis para que funcione)
$ man k lvm

Ayuda grfica
Comando yelp en GNOME
Comando khelpercenter en KDE

CAPITULO 3 EL SISTEMA DE FICHEROS


LINUX
SOPORTE DE SISTEMAS DE FICHEROS
Soporta decenas de sistemas de ficheros incluyendo:
Minix, ext2, MS-DOS, UMSDOS, VFAT, NTFS, NFS, ISO9660,
HPFS, SYSV, SMB, AFFS, BeFS, BFS, EFS, NWFS, QNX, RFS,
UDF, UFS, ReiserFS, Btrfs
Soporte para sistemas de ficheros journal (con log de transacciones):
ReiserFS, ext3, ext4, JFS, XFS, Reiser4, Btrfs
El sistema de ficheros estandar actual es: ext4
FUNCIONALIDADES DE LOS SISTEMAS DE FICHEROS UNIX/LINUX
Caractersticas de los sistemas de ficheros estndar Unix
/ Directorio Raiz
SenSible a MAyusculaS y MinisCulas
soporte de nombres largos
enlaces de soporte
Operaciones de ficheros con timestamp
Ctime change time, hora de cambio
Atime access time. hora de acceso
Mtime modify time hora de modificacin
SISTEMA DE FICHEROS FHS (Filesystem Hierarchy Standard)
Filesystem standard FHS
Da las funcionalidades de cada area del sistema de ficheros
Localizacin predecible de ficheros y directorios
Da uniformidad a travs de mltiples distribuciones de Linux
La base estandar Linux
Los binarios Linux se ejecutan sin modificacin en mltipes distribuciones de Linux
Especifica los interfaces de sistema , libreras y entorno
Incorpora el FHS
/ El directorio root
/bin/ Comandos binaries esenciales
/boot/ Ficheros estticos del arranque, kernel y disco RAM inicial
/dev/ Ficheros de dispositivos
/etc/ Ficheros de configuracin del sistema
/home/ Directorios privados de los usuarios (home directories)
/lib/ Libreras esenciales compartidas y mdulos del kernel
/media/ Puntos de montaje para medios extrables
/mnt/ Punto de montaje para sistemas de ficheros
/opt/ Paquetes software adicionales

/root/ Home directory del usuario root


/sbin/ Binarios de sistema esenciales
/srv/ Ficheros de datos para servicios de sistema
/tmp/ Ficheros temporales
/usr/ Segunda jerarqua. Datos de solo lectura no esenciales
/var/ Ficheros de datos variables. Incluye directorios de spool y ficheros, datos
administrativos y de log, y ficheros temporales y transitorios.
NAVEGANDO POR EL SISTEMA DE FICHEROS
Cambiando y visualizando directorios
cd, pwd
Path Absoluto vs. relativo
Casos especiales
cd (without parameters)
cd ~username (el home directory de username)
cd ~ (tu propio home directory)
cd (el directorio anterior)
. and ..
. directorio actual
.. directorio padre
VISUALIZANDO CONTENIDO DE DIRECTORIOS
ls Lista contenido de directorios
-a muestra todos los ficheros (incluyendo los ocultos que empiezan por .)
-l listado largo
-d muestra directorios no contenidos de stos
-h Tamaos de ficheros human readable, pe. MB, GB
-R Lista sub-directorios recursivamente
-S ordena lista de ficheros por tamao
ESTRUCTURAS DEL SISTEMA DE FICHEROS
Bloques de datos
Los datos del fichero.
Tablas de inodos
Datos sobre los datos del fichero
DETERMINACION DEL USO DE DISCO CON df y du
df Reporta uso de espacio en disco por sistema de fichero
-h salida human readable
-i lista informacin de inodos en lugar de uso de bloques
-T incluye el tipo del sistema de ficheros
-H |--si usa potencias de 1000 en lugar de 1024
du Reporta uso de disco por fichero y directorio
-h tamaos de fichero human readable
-s resmen, solo visualiza el total para cada
-x no incluye ficheros en un sistema de ficheros
--si usa potencias de 1000 en lugar de 1024
DETERMINACION DEL USO DE DISCO CON BAOBAB (HERRAMIENTA
GRAFICA)

USO DE DISCO CON CUOTAS


quota list alas cuotas de usuario para el usuario con el que ests logueado
quota -g group Lista cuotas de grupo
quota -u user Lista cuotas de un usuario especfico
Solo disponible para root
Devuelve informacin de cuota para los sistemas de ficheros listados en /etc/fstab
Interroga a las bases de datos aquota.user y aquota.group en los sistemas de ficheros
locales
Interroga al demonio rquotad para sistemas de ficheros NFS
PROPIEDAD DE UN FICHERO
Cada fichero fichero tiene como propietario un usuario especfico(UID) y un grupo
especfico (GID)
chown Cambia la propiedad del fichero (el UID)
Slo root puede cambiar la propiedad a otro
Se puede usar para cambiar tambin el grupo al mismo
$ chgrp group filename
chgrp Modifica solo el propietario de grupo (GID)
PROPIEDAD DE GRUPOS POR DEFECTO
Los nuevos ficheros creados general adquieren el GID basados en el grupo primario de
la persona que crea el fichero
newgrp newgroup se logea en un nuevo grupo
los ficheros creados despus pertenecen al nuevo
los usuarios pueden solo cambiar a sus propios
el usuario root puede cambiar a cualquier grupo
exit para volver al grupo anterior
PERMISOS DE DIRECTORIO Y FICHEROS
ls -l Lista permisos de ficheros
$ ls -l
-rw-rw-r-- 1 guru projectx 0 Mar 3 01:13 file
drwxrwxr-x 3 djk users 4096 Aug 31 20:35 bar
drwxrwxr-x 2 jmh users 4096 Aug 31 20:35 foo
-rw-rw-r-- 1 kbk kbk 0 Sep 1 09:48 data_file
El primer character representa el tipo de fichero (d,-,l,b,c,s,p)
Luego el conjunto de permisos para:
usuario el UID al que pertenece el fichero (user)
grupo el GID al que pertenece el fichero (group)
el resto (llamado other)
Los permisos se pueden representar de dos formas
representacin simblica.g. rwxr-xr-x) r = 4; w = 2; x = 1
representacin numrica (e.g. 0755)
PERMISOS DE FICHEROS
lectura (r--)
Acceder (leer) los contenidos de ficheros

escritura (-w-)
Modificar (escribir) los contenidos de los ficheros
Ejecucin (--x)
Ejecutar un fichero como un programa.
PERMISOS DE DIRECTORIOS
lectura (r--)
Listar los ficheros de un directorio.
escritura (-w-)
Quitar o aadir entradas en un directorio
(i.e. crear o borrar ficheros).
Bsqueda (--x)
Acceder a ficheros y metadatos (p.e. time stamps, permisos). Tambin,
poder hacer cd a un directorio (permitir a un directorio que se convierta en
el working directory)

CREACION DE DERECHOS DE FICHEROS CON UMASK


Los permisos por defecto cuando se crean nuevos objetos en el sistema de
ficheros
ficheros: 666
directorios: 777
umask
define qu permisos tendrn los nuevos ficheros y directorios en el sistema. Es
una especie de mscara invertida de derechos
el commando se usa para visualizar el umask y para cambiar el umask
usually set in the user or system shell dot files
se usa para generar un esquema de user private group (UPG) cheme
FICHEROS

rw-rw-rw- 666 Default mode


----w-rwx 027 Umask value
rw-r----- 664 Initial mode
DIRECTORIOS
rwxrwxrwx 777 Default mode
----w-rwx 027 Umask value
rwxr-x--- 750 Inital mode

CAMBIANDO LOS PERMISOS DE FICHEROS


chmod Para modificar los permisos de ficheros
-R para modificar permisos recursivamente
soporta notacin tanto numrica como simblica supports both numeric and
symbolic notation
permisos especiales
set UID (SUID)
set GID (SGID)
sticky bit
Los permisos especiales causan diferente comportamiento para ficheros y
directorios
Ejemplos

$ chmod u+x file_name

$
$
$
$

chmod
chmod
chmod
chmod

g+rw file_name
o-w file_name
u=rwx,g=rx,o= file_name
774 file_name

Trucos
chmod a+x file_name a significa ugo, user group y other
Permisos especiales
chmod u+s file_name (chmod 4xxx) Aade el bit setuid, para que, si es
un ejecutable, el fichero se ejecute con los permisos de su propietario
chmod g+s file_name (chmod 2xxx) Aade el setgid para que, si es un
ejecutable, el fichero se ejecute con los permisos de ese grupo. Cuando se
pone en un directorio, todos los ficheros creados en el directorio tendrn el
mismo grupo que el directorio
chmod o+t directory_name (chmod 1xxx) Aade el sticky bit por lo que
los usuarios slo pueden borrar ficheros los ficheros de ese directorio que
creen ellos, no los de otros usuarios..
chmod 2770 directory_name Aade el SGID a un directorio con permisos
de lectura, escritura y ejecucin para el propietario y grupo asignado. El
primer digito es el permiso especial
CAMBIANDO LOS PERMISOS CON EL ADMINISTRADOR DE FICHEROS
Nautilus, el administrador de ficheros de GNOME y Dolphin, el Nautilus, the
GNOME file manager, and Dolphin, el administrador de ficheros del KDE,
tambin se pueden usara para cambiar permisos de ficheros.

SUID Y SGID en ficheros


El bit SUID cambia el contexto de seguridad de un ejecutable
An ejecutable normalmente se ejecuta con el contexto de seguridad del
usuario que lo invoca

Un ejecutable con el bit SUID se ejecuta con el contexto de seguridad del


usuario propietario del ejecutable, independientemente del usuario que lo
ejecuta

Ejemplo, el commando passwd. Cualquier usuario del sistema puede usar


el commando passwd para cambiar su password. Las passwords de usuarios
se almacenan en /etc/shadow. Este permiso es r/w slo para el usuario root.
Para actualizar la password, un usuario tiene que tener derechos de root
para acceder al fichero. Este acceso se da estableciendo el bit SUID al
programa passwd. De esta forma, el programa passwd permite al usuario
cambiar su password.
Permisos especiales en ficheros: SGID
Cuando los ficheros ejecutable son el bit SGID se ejecutan, lo hacen con el
EGID (effective group id) del grupo al que pertenece el ejecutable (en lugar
del grupo primero al que pertenece el usuario que ejecuta el fichero)

SGID Y STICKY BIT EN DIRECTORIOS


SGID
Los ficheros y subdirectorios que se crean dentro de ese directorio heredan la
pertenencia a grupo del directorio SGID
Se usa a menudo para facilitar la colaboracin entre usuarios que necesitan
compartir ficheros.
Sticky bit
Normalmente en un directorio que es world writable (escritura en other), los
usarios pueden borrar los ficheros de otros usuarios. Si se establece el sticky bit, se
cambia este comportamiento para que solo un usuario pueda borrar sus ficheros y
no los de los dems

EL ESQUEMA UPG (User Private Group o Grupo Privativo de


Usuario)
UPG es la forma de compartir ficheros cuando se trabaja en un directorio
de un grupo departamental
El esquema UPG se implementa de la siguiente manera:
1. poniendo a cada usuario en su propio grupo privativo que tiene el mismo nombre
que el usuario
2. poniendo el umask a 0002
3. poniendo al grupo propietario del directorio departamental en un shared GID
4. poniendo al directorio departamental el SGID

CAPITULO 4 MANIPULACIN DE FICHEROS


MANIPULACION DE DIRECTORIOS
Comandos de manipulacin estndar
mkdir crea directorios
-m: pone permisos al nuevo directorio
-p: crea los directorios padre si no existen
rmdir borra directorios vacos
-p: Borra directorios padre vacos

MANIPULACION DE FICHEROS
Comandos de manipulacin estndar
cp copia ficheros y directorios

-a: Archive recursivamente, preservando permisos, propiedad, enlaces, etc.


-r: copia directorios recursivamente
mv mueve o renombra ficheros y directorios
-u: Se sobreescribe solo si el destino es ms viejo que la fuente
Opciones compartidas
-f: reemplazar sin preguntar (ver -i)
-i: preguntar antes de reemplazar un fichero

BORRANDO Y CREANDO FICHEROS


rm quita (borra) ficheros y directorios
-i: pregunta antes de borrar
-f: no pregunta antes de borrar
-r|-R: borrar directorios recursivamente (incluyendo contenidos)
touch crea ficheros vacos o actualiza mtime y atime en los ficheros ya
existentes
-a: Pone slo atime a la hora actual
-m: Pone slo mtime a la hora actual
-t: Pone tanto atime como mtime a una hora que se especifica

ESTRUCTURA DE FICHEROS FISICA DE UNIX


Basada en bloques e inodos
Los bloques tienen los datos
Los inodos tienen los metadatos inodes
El superbloque contiene los parmetros del sistema de ficheros
Cuntos inodos, etc

ENLACES DEL SISTEMA DE FICHEROS


Se crean con ln
Enlaces duros entrada de directorio que referencia el mismo inodo como
otra entrada de directorio
no puede saltar sistemas de ficheros
no se pueden crear enlaces duros a ficheros no existents
no se pueden crear enlaces duros a directorios
no requires espacio en disco adicional ( es decir bloques)
$ ln /usr/share/originalfile /home/foo/hardlink
$ ls -li /usr/share/originalfile /home/foo/hardlink
3140363 /usr/share/originalfile
3140363 /home/foo/hardlink
Links simblicos fichero que referencia a otro fichero via path y nombre
puede referenciar directorios
puede saltar sistemas de ficheros
puede referenciar ficheros no existents
ocupa espacio

$ ln -s /usr/local/originalfile /home/foo/symlink
$ ls -li /usr/local/originalfile /home/foo/symlink
3140363 /usr/local/originalfile
3140698 /home/foo/symlink

EXTENSIONES DE FICHERO Y CONTEXTO


Las extensions de fichero no tienen un significado especial para el
las extensions de fichero son simplemente parte del nombre de

el kernel solo distingue entre ficheros ejecutables y no ejecutables (de datos)


algunas aplicaciones pueden tratar extensiones o usarlas para funcionalidades
concretas como Apache, administradores de ficheros como Midnight Commander,
OpenOffice.org/KOffice
El comando file reporta el tipo de fichero examinando los contenidos del
mismo

VISUALIZANDO FICHEROS
cat visualiza el fichero(s) entero
more visualiza el fichero (s) pantallaza a pantallazo
less visualizador ms sofisticado y configurable

PREVISUALIZACIN DE FICHEROS
head visualiza (por defecto) las primeras 10 lineas de un fichero
tail visualiza (por defecto) las ltimas 10 lineas del fichero
tail -f par aver lo que se aade a un fichero to watch a file be appended to
Usa la opcin n para configurar cuntas lneas ver

$ head example
$ head -n 25 example
$ tail -n 25 example
$ tail -f example

VISUALIZANDO FICHEROS BINARIOS


Visualizar datos binaries raw puede corromper el
reset corrije el terminal corrects terminal
Ctrl j reset Ctrl j (si falla el retorno de carro)
strings visualiza cadenas de texto ASCII dentro de ficheros binaries
xxd visualiza un volcado HEX y ASCII del fichero

BUSCANDO EN EL SISTEMA DE FICHEROS


find Busca ficheros en una estructura de directorios
El primer argumento(s) es el path(s) desde donde empezar la bsqueda, por
defecto es el directorio actual
El siguiente argumento especifica criterios de bsqueda: nombre de fichero,
tamao, permisos, tipo, propietario, grupo, atime, mtime, ctime
El ultimo argumento especifica la accin a realizar
-print es la accin por defecto y visualiza los resultados
-ls visualiza detalles completes de los resultados
-exec permite que un commando se ejecute contra cada fichero resultado de la
bsqueda. El ok se puede usar cuando se necesita una confirmacin
# find /home/ -name *.jpg -type f -user john
# find /home -name *jpg -type f -user john -exec rm -f {} \;

METODO DE BUSQUEDA ALTERNATIVO


locate Bsqueda de alta velocidad y bajo impacto
Busca en un ndice en lugar de en el sistema de ficheros
El ndice se actualiza cada noche por defecto
locate no sabe de ficheros aadidos/borrados hasta que reconstruye la base de
datos por la noche
El criterio de bsqueda est limitado al pattern que hay en el nombre de fichero y
path

GENERANDO ESTADSTICAS DE FICHEROS


wc Cuenta lneas, palabras, caracteres y bytes en ficheros de texto
cuando se le da multiples ficheros como argumentos produce totales para cada
fichero as como un total global
se le puede decir que saque solo el total de lineas, palabras, caracteres o bytes
su uso ms comn es contar lneas

wc [options] [filename] [...]


Opciones tiles
-c cuenta slo bytes byte count only
-m cuenta slo caracteres
-w cuenta slo palabras
-l cuenta solo lineas
-L imprime la longitude de la lineas ms larga

CAPITULO 5 FUNDAMENTOS DE LA SHELL


FUNCION DE LA SHELL
La shell provee al interfaz de usuario de;
acceso al sistema de ficheros
la posibilidad de hacer scripts para la automatizacin de tareas
ejecucin de programas
interfaz de control de procesos

CANALES DE COMUNICACIN
Todos los programas en ejecucin en Unix tienen al menos tres canales de
comunicacin
STDIN (la entrada estandar): De donde el programa toma la entrada de datos:
Normalmente es el teclado
STDOUT (la salida estandar): Donde el programa manda la salida. Normalmente
es el terminal.
STDERR (el error estandar ): Donde el programa manda los mensajes de error.
Normalmente es el Terminal

REDIRECCION DE FICHEROS
La redireccin de E/S (I/O) O de fichero permite redireccionar File or I/O
redirection STDIN, STDOUT, y STDERR
a ficheros
Requiere una especial notacin en la lnea de commando redirect standard
input with <

$ sort < /etc/passwd


redirigir la salida estandar con >

$ echo 100000 > /proc/sys/fs/file-max


redirigir el error estandar con 2>
$ ls -alR /proc/ 2> /dev/null
redirigir tanto STDOUT como STDERR al mismo fichero:
$ ls -R /proc/ > output 2>&1
$ ls -R /proc/ &> output

JUNTANDO COMANDOS CON TUBERIAS (pipes)

Las tuberas permiten que STDOUT de un programa (a la izquierda de la


tubera) se convierta en STDIN de otro (a la derecha de la tubera)
El smbolo de la tubera, |
Ejemplo simple:

$ ls -al | less

Un ejemplo ms complicado:

$ cut -d: -f6 /etc/passwd | sort | uniq -c | sort -rn


La redireccin y las tuberas se pueden combinar:
Normalmente se usa para alimentar STDERR en la tubera con STDOUT

# ls /proc/ 2>&1 | grep kernel

OCURRENCIAS DE NOMBRES DE FICHERO


Muchos commandos llevan una lista de nombres de ficheros como
argumentos tediosos de escribir manualmente muchos nombres de
ficheros a la vez. Los comodines (wildwards) dan una manera fcil de
suministrar muchos nombres de ficheros como argumentos
Se le ha llamado histricamente "file globbing"
Los comodines se especifican con caracteres especiales

FILE GLOBBING Y COMODINES


Un comodn es una cadena que contiene uno de los siguientes caracteres:
? es un character sencillomatches any single character
* es cualquier cosa (cualquier nmero de caracteres)
[...] clases de caracteres
El character - character denota un rango
ejemplos: [abcd2345] [a-d2-5] [a-gA-Z0-5]

EXPANSIN DE CARACTERES
Permite la generacin de cadenas arbitrarias
Similar a los comodines, pero los ficheros o directorios destinos no tiene
por qu existir
Pueden tener un prembulo opcional y/o un eplogo
{m,n,o,on} expands to: m, n, o and on
d{m,n,o,on}t expands to: dmt, dnt, dot & dont, en donde d
es el prembulo y t is the eplogo
Se puede combinar con comodines; la expansion de caracteres se realiza antes
que el globbing
Ejemplos
$ echo t{able,op,ennis}
table top tennis
$ mkdir /usr/local/src/bash/{old,new,dist,bugs}
$ ls -l /{opt,usr/local/{games,xgames}}/

SHELL Y VARIABLES DE ENTORNO


til en shell scripting
Los programas pueden no funcionan si no se establecen ($PATH, $HOME,
$USER, etc.)
Variables de visualizacin
set (shell)
env (environment)
Borrando variables
unset (shell|environment)
env -u|i command (environment)

$ AGE=42; echo $AGE


42
El comando export convierte una variable de la shell en una variable de
entorno que se heredar por cada proceso que se lance

$ AGE=42; env | grep ^AGE


$ export AGE
$ env | grep ^AGE
AGE=42
$ bash
bash $ echo $AGE
42

VARIABLES DE ENTORNO IMPORTANTES


$PATH Camino de bsqueda de los ejecutables
$PWD Camino al directorio actual
$TERM Tipo de terminal de login Login terminal type (e.g. vt100, xterm)
$SHELL Camino de la shell (p.e. /bin/sh)
$HOME Camino al directorio privado de usuario (home directory) (p.e.
/home/joe)
$USER Nombre del usuario
$DISPLAY Nombre de display de las X (p.e. station2:0.0)
$EDITOR Nombre del editor por defecto (p.e. ex)
$VISUAL Nombre del editor visual (p.e. vi)

REGLAS GENERALES DE ENTRECOMILLADO


Metacaracteres

\ ? ( ) $ ... * % {} []

Cuando la shell interpreta una entrada, ciertos caracteres tienen un


significado especial, y son traducidos o interpretados para que signifiquen
cosas especiales, en lugar de leerlos literalmente
Barra invertida (Backslash)

Si necesitas evitar que un solo metacaracter lo interprete la shell, puedes


preceder el caracter con la barra invertida "\"

% echo Your score: $SCORE \%


Dobles comillas (Double Quotes)

Los metacaracteres encerrados entre dobles comillas son tratados


literalmente, con la excepcin de las variables que s se evalan:

$ NAME=Bailey
$ echo "My name is <*$NAME*>"
My name is <*Bailey*>
Comillas simples (Single Quotes)

Todos los metacaracteres encerrados entre comillas simples se tartan


literalmente $ echo My name is <*$NAME*>

My name is <*$NAME*>

ANIDANDO COMANDOS
Substitucin de commandos

Sustituye la salida del comando en lugar del comando embebido Substitutes


output of command in place of "embedded" command
Nesting Commands
_command_
$(command)
$ echo "The date is _date +%x_ and the time is _date +%r_"
The date is 01/08/2007 and the time is 03:04:04 PM
$ echo "The date is $(date +%x) and the time is $(date +%r)"
The date is 01/08/2007 and the time is 03:04:04 PM
Evaluando la salida de un comando
eval command

Algunos commandos, como ssh-agent generan una salida que necesita


evaluarse por la shell. En esas situaciones, el comando eval es la nica
opcin como se ve en este ejemplo:
$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-eOxWjn5905/agent.5905;
export SSH_AUTH_SOCK;
SSH_AGENT_PID=5906; export SSH_AGENT_PID;
echo Agent pid 5906;
$ eval $(ssh-agent)
Agent pid 5908
$ echo $SSH_AGENT_PID
5908

COMANDOS MULTIPLES Y MULTILINEA


Para meter varios commandos en una sla lnea de comando
Separar los commandos con punto y coma ;

$ startx; logout
Para meter comandos en varias lneas
Uso especial de la barra invertida (\) para hacer que un comando se expanda en
varias lineas

$ echo "This is a long command line." \ENTER


> " It was wrapped using backslashes." \ENTER
> " What a nice little feature."

CAPITULO 6 ARCHIVO Y COMPRESIN


ARCHIVO CON EL COMANDO tar
tar/star
manipula ficheros .tar, tambin llamados tarballs
usados para copia de seguridad (backup) y transferencia de ficheros
crea, extrae o lista los contenidos de los tarballs
.tar (tarball)
guarda la estructura de ficheros y directorios
incluye metadatos sobre el fichero: fecha, timestamps, propiedad, permisos, etc
Opciones de compresin/decompresin
compress, gzip, bzip2, lzma/xz

-z ) gzip compression
-j ) bzip2 compression
-J ) xz compression
Ms opciones

-t lista los contenidos de un archive (sin extraerlo)


-v modo verbose lista los nombres de los ficheros archivados segn se
van procesando
Para hacer el .tar

$ tar -cf meta.tar /home/john/meta/


Para extraer el .tar

$ tar -xf meta.tar

ARCHIVO CON CPIO


Las funcionalidades de los archivos cpio incluyen:
manipulacin de ficheros .cpio
usado como la base de los paquetes RPM
no hace subdirectorios recursivamente, debe pasarse la lista de directorios
ms robusto que el tar cuando hay errores en el dispositivo de grabacin
-i modo entrada, se usa para extraer los ficheros que hay dentro del fichero cpio
-o modo salida, se usa para crear ficheros cpio, output mode, used to create cpio
archives, que se enva a la salida estandar, STDOUT
Ejemplos

$ ls | cpio -oF mybackup.cpio


# find /home/ | cpio -o > /tmp/homedirectories.cpio
$ cpio -id < mybackup.cpio

LA UTILIDAD DE COMPRESION gzip


gzip formato de compression muy popular
creado por el proyecto GNY debido a los algoritmos patentados del comando

compress

por defecto borra los ficheros originales despus de crear el nuevo fichero
comprimido
estenxin de fichero estandar: .gz
mucho ms ratio de compresin que compress
gunzip or zcat descomprime ficheros comprimidos con gzip
gunzip descomprime el fichero en disco (borrando el fichero original
comprimido); zcat no
zcat saca los datos descomprimidos a STDOUT

Ejemplos

$ gzip -9 backup opcin -9 para mayor compresin


$ gunzip backup.gz
$ cat backup
$ zcat backup.gz
. . . output omitted . . .
Usando gzip con el comando tar Using
Aadiendo la opcin -z al comando tar se permite la compresin y
decompresin automtica gzip

$ tar -zcf backup.tar.gz /home/john/

Los ficheros se extraen de la siguiente forma:

$ tar -zxf backup.tar.gz

LA UTILIDAD DE COMPRESION bzip2


bzip2
tiene major compression que el comando gzip
por defecto borra el fichero original despus de crear el nuevo fichero comprimido

extension de fichero estndar: .bz2


bunzip2 o bzcat descomprime los ficheros comprimidos con bzip2
bunzip2 descomprime el fichero en disco (borrando el fichero original) bzcat
no
bzcat saca la salida sin comprimir a STDOUT

Ejemplos

$ bzip2 -9 musicfile
$ bunzip2 musicfile.bz2
$ bunzip2 musicfile.bz2
$ cat musicfile
. . . output omitted . . .
$ bzcat musicfile.bz2
. . . output omitted . . .
Usando bzip2 con el comando tar
Aadiendo la opcin -j al comando tar tar se habilita compresin y
descompresin automtica bzip2

$ tar -jcf backup.tar.bz2 /home/john/


Los ficheros se extraen de la siguiente

$ tar -jxf backup.tar.bz2

LA UTILIDAD DE COMPRESIN XZ
xz La compresin ms reciente y potente
major compression que el comando bzip2
por defecto borra el fichero original despus de crear el nuevo fichero comprimido
extension de fichero estandar: .xz
extension de fichero antigua: .lzma
Usa --format=lzma para soporte LZMA
xz -d (unxz) o xz -dc (xzcat) descomprime ficheros comprimidos con xz
xz -d descomprime el fichero a disco (borrando el fichero original) xz -dc no
xz -dc saca los datos descomprimidos por STDOUT
Reemplaza a gzip y a bzip2 como formato de compresin
Ejemplos

$ xz -9 foo
$ xz -d foo.xz
$ xz -d foo.xz
$ more foo
$ xz -dc foo.xz
. . . output omitted . .
.
Usando xz con el comando tar
Aadiendo la opcin -J al comando tar habilita la compresin y
descompresin xz automtica

$ tar cJf backup.tar.xz /home/sinuhe/


El fichero se extrae de la siguiente forma:

$ tar xJf backup.tar.xz

EL FORMATO DE COMPRESION/DESCOMPRESIN PKZIP


zip Compatible con los ficheros PKZIP

por defecto NO borra el fichero(s) originales despus de crear el nuevo fichero


comprimido.
extension de fichero estndar: .zip
unzip expande un fichero .zip

CAPITULO 7 PROCESAMIENTO DE TEXTO


BUSCANDO DENTRO DE FICHEROS
grep busca cadenas dentro de ficherossearches for patterns within files
-A NUM imprime la ocurrencia y NUM de lineas despus de la ocurrencia
-B NUM imprime la ocurrencia y las NUM lineas precedentes
-C NUM imprime la ocurrencia y NUM lineas antes y despus
-E usa expresiones regulares extendidas
-i realiza la busqueda sin ser sensible a maysculas y minsculas (case
insensitive)
-l imprime el nombre de fichero(s) que contienen una linea con ocurrencia name
of
-n muestra los nmeros de lnea
-v bsqueda invertida; imprime la no ocurrencia
--color marca la cadena(s) que concuerdan en color

$ grep nobody /etc/passwd


nobody:x:99:99:Nobody:/:
$ grep -n e animals.txt
1:mouse
4:bear
$ grep -nv e animals.txt
2:cat
3:dog
5:pig

EL EDITOR DE CADENAS
sed A [s]treaming [ed]itor
realiza ediciones en una cadena de texto (normalmente la salida de otro
programa)
normalmente se usa para automatizar las ediciones de muchos ficheros
rpidamente
pequeo y muy eficiente
-i para ediciones con versions modernas

sed [--posix] [-cefilnrsu|--help|--version] filename [...]


En este ejemplo, la primera s (es substituye) le dice a sed que busque
Windows y lo reemplace con Linux segn el fichero se muestra en pantalla

$ sed s/Windows/Linux/g letter


I love Linux. Linux is my favorite operating system.
It is fast and stable. I want all my friends to
start using Linux.
Borra cada linea que contiene la cadena foo o bar

$ sed -r /foo|bar/ d filename

PROCESAMIENTO DE TEXTO CON awk


awk bsqueda de cadenas y lenguaje de procesamiento

Es un lenguaje de programacin completo


separa lneas en campos (como cut)
busca ocurrencias de cadenas (like grep)
operaciones matemticas, sentencias de control, variables, IO

Sintxis bsica
$ awk -f awk_script /path/to/file
. . . output omitted . . .
$ awk pattern {action} /path/to/file
. . . output omitted . . .
Imprime las lineas que acaban con la cadena bash:

$ awk /bash$/ /etc/passwd

Imprime los nombres de los usuarios (campo uno) para cada linea que
acaba con la cadena bash:

$ awk -F: /bash$/ {print $1} /etc/passwd


. . . output omitted . . .

REEMPLAZO DE CARACTERES DE TEXTO


tr traduce, compacta y borra caracteres
traduce un juego de caracteres en otro. Se usa normalmente para convertir
minsculas en maysculas

tr a-z A-Z
compacta caracteres duplicados. Se usa normalmente para unir varias lineas en
blanco en una sla

tr -s \n
borra un conjunto de caracteres. Normalmente se usa para borrar caracteres
especiales

tr -d \000

$ cat lower.txt | tr a-z A-Z


THESE ARE CHARACTERS THAT WERE TYPED INTO THIS FILE
IN LOWER CASE
Para mostrar los contenidos del fichero lower.txt y borrar todas las
ocurrencias de la letra e

$ cat lower.txt | tr -d e
ths ar charactrs that wr typd into this fil
in lowr cas

ORDENAMIENTO DE TEXTO
sort Ordena textoSorts text
puede ordenar en diferentes columnas can sort on different columns
por defecto ordena en order lexicogrfico
1, 2, 234, 265, 29, 3, 4, 5
se le puede decir que ordene numricamente (usando la opcin -n)
1, 2, 3, 4, 5, 29, 234, 265
puede mezclar y ordenar multiples ficheros simultneamente
puede ordenar en orden invertido
A menudo se usa para preparer la entrada para el uso del commando uniq

-n ) ordena numricamente
-r ) ordena en orden inverso
-m ) no ordena, solo mezcla, es ms rpido pero solo funciona si la entrada

ya est ordenada)
-t separator ) se usa como separador de columnas
-k number ) ordena por numero de columna, contando la primera columna
como 1
-o filename ) salida al fichero especificado en lugar de a STDOUT

$ cat datafile
1:b:23:d
2:d:65:h
3:c:21:k
4:a:87:e
$ sort -t: -k2 datafile
4:a:87:e
1:b:23:d
3:c:21:k
2:d:65:h

UTILIDAD PARA QUITAR DUPLICADOS


uniq Quita lneas adyacentes duplicadas del texto ordenado
combina listas de solapamiento pero no informacin identica
-c pone un prefijo a cada lnea de la salida con un nmero indicando el nmero de
ocurrencias
cogiendo esta salida y realizando un ordenado invertido produce una lista
ordenada basada en el nmero de ocurrencias

uniq [options] [filename [filename]]


Algunas opciones tiles:
-i ) ignora minsculas y maysculas, es decir, b is equivalent to B
-D ) imprime todas las lneas duplicadas
-d ) solo imprime lineas duplicadas
-u ) solo imprime lineas nicas
-c ) pone prefijos a las lneas por nmero de ocurrencias

$ cat file
mouse
mouse
Mouse
cat
dog
cat
$ uniq /tmp/file
mouse
Mouse
cat
dog
cat
$ uniq -i /tmp/file

mouse
cat
dog
cat
$ uniq -c /tmp/file
2 mouse
1 Mouse
1 cat
1 dog
1 cat
$ uniq -d /tmp/file
Mouse

EXTRAYENDO COLUMNAS DE TEXTO


cut Extrae los ficheros seleccionados desde una lnea de texto

puede especificar qu campos quieres extraer


usa tabuladores como delimitador por defecto
-d para especificar un delimitador diferente
ms til en entrada estructurada (texto con columnas)

$ cut -d: -f1,3 /etc/passwd


foo:501
bar:502

COMBINANDO FICHEROS Y MEZCLANDO TEXTO


cat Concatenar fichero
paste Mezcla texto desde ficheros mltiples
-s para mezclar ficheros en serie
usa tabuladores como delimitador por defecto

$ cat
ABC
$ cat
one
two
three
$ cat
123
$ cat
ABC
one
two
three
12

file1
file2

file3
file1 file2 file3

$ paste file1 file2 file3


A one 1
B two 2
C three 3

$ paste -s file1 file2 file3


ABC
one two three
123
$ cat file1 file2 file3 | paste -s -d,
A,B,C,one,two,three,1,2,3

COMPARANDO CAMBIOS DE FICHERO


El comando cmp command
-s
El comando diff command
-c
-u
The patch command
-p#

$ cmp foo.patch bar.patch


foo.patch bar.patch differ: char 140, line 5
$ echo $?
1
$ echo Hello World > foo
$ echo Hello, World! > baz
$ diff foo bar
lcl
< Hello World
-- Hello, World!
Con el commando patch este fichero se puede usar para modificar el
fichero original. En el ejemplo de abajo las modificaciones se hacen en el
contexto de los ficheros centro del directorio de trabajo. El comando
patch necesita saber el contexto desde dnde trabajar . Por ejemplo

$ diff -u foo baz >foo.patch


$ patch -p0 <foo.patch
patching file foo
$ diff -u foo baz

CAPITULO 8 EXPRESIONES REGULARES


EXPRESIONES REGULARES
Las expresiones regulares (Regular Expressions REs) proveen de un
mecanismo de seleccionar cadenas especficas desde una o ms lineas de
texto
Lenguaje rico y expresivo
Usado por muchos commandos y lenguajes de programacin: grep, awk, sed,
Emacs, vi, less, Expect, lex, Perl,
Python, Tcl, Delphi, y Microsoft Visual C++

Los bloques que construyen las expresiones regulares son expresiones


que coinciden en un caracter simple
la mayor parte de los caracteres, letras y nmeros coinciden ellos mismos
los careacteres especiales tambin special characters
"." (el punto) significa un caracter simple
specify where the match must occur with anchors

Significado del carcter


\t tabulador
\n nueva linea /line feed
\r retorno de carro (carriage return)
\f Rotura de pgina (formfeed)
\c caracteres de control
\x caracter en hexadecimal
. cualquier character simple
ANCLAS
El lenguaje de expresiones regulares usa ciertos caracteres para representar
el comienzo y fin de una linea . Normalmente esas cadenas son una linea
sencilla de texto, as es que ( ^ ) y el signo dolar ( $ ) se usan para
identificar el comienzo y el final, respectivamente de una
Significado del carcter
^RE RE al comienzo de linea
RE$ RE al final de linea
\<RE RE al comienzo de palabra
RE\> RE al final de palabra

CLASES DE CARACTERES EN EXPRESIONES REGULARES


Clases de caracteres, [...], match any single character in the list
RE [0123456789] significa cualquier digito simple
Algunas clases de caracteres predefinidos
[:alnum:] [:alpha:] [:cntrl:] [:digit:]
[:lower:] [:punct:] [:space:] [:upper:]
El caracter denota un rango
RE [[:alnum:]] equivalente a [0-9A-Za-z]
Significa cualquier letra o nmero

El ejemplo de abajo devuelve cada linea que tiene al menos una letra
mayscula en la lnea:

$ grep [[:upper:]] /etc/passwd


ftp:x:14:50:FTP User:/var/ftp:
nobody:x:99:99:Nobody:/:
nscd:x:28:28:NSCD Daemon:/:/bin/false
rpc:x:32:32:Portmapper RPC user:/:/bin/false
rpcuser:x:29:29:RPC Service
User:/var/lib/nfs:/bin/false
xfs:x:43:43:X Font Server:/etc/X11/fs:/bin/false

CUANTIFICADORES DE EXPRESIONES REGULARES


Los cuantificadores de Expresiones Regulares controlan el nmero de
veces que una expresin regular precedente se permite

* ocurre 0 o ms veces
+ ocurre 1 o ms veces
? ocurre 0 o 1 vez
{n} ocurre exactamente n veces
{n,} ocurre al menos n veces
{n,m} ocurre al menos n pero no ms de m veces

PARENTESIS EN EXPRESIONES REGULARES


Parntesis
(RE) crea una nueva
(RE)\digito no cero para almacenar valores
(RE1|RE2) alterne entre RE1 y RE2

Por ejemplo, la siguiente Expresion Regular que se usa con grep devolver
todas las lineas que contiene tanto el string dog como cat

$ egrep (dog|cat) file


. . . output omitted . . .

CAPITULO 9 EDICION DE TEXTO


EDICION DE TEXTO
Todo el mundo UNIX funciona en modo al modo texto
El texto es robusto
El texto se entiende universalmente
El nico programa o herramienta que se require es un editor de texto
Permite admnistracin remota sobre conexiones con poco ancho de banda
Editores de texto
Hay muchos editors disponibles, cada uno con sus seguidores incondicionales
Pico/Nano, vi and Emacs son los ms comunes
Las variables $EDITOR and $VISUAL controlan el editor por defecto

Pico/GNU Nano
Pico
Originalmente construido en Pine (Program for Internet News & Email)
Desarrollado por la Universidad de Washington (UW)
GNU Nano
Un sustituto gratis de Pico
Emula la funcionalidad de Pico functionality en la medida de lo posible
Ventajas
Simplicidad en la edicin como primer objetivo
Funcionalidades estandar como copiar y pegar; corrector ortogrfico
Desventajas
No tan potente como otros editores

INTERFAZ DE PICO/NANO
Principales areas de Pico/Nano
Linea superior: indica el nombre del fichero y si se han guardado o no los cambios
Ventana del editor
Linea de estado
Atajos de teclado comunes

ATAJOS DE TECLADO DE Pico/Nano


Common Shortcuts
^X eXit salir o abandoner el buffer actual
^O write Out guarda el fichero
^G Get Ventana de ayuda
^W Where is Busqueda de una cadena
^\ busca y reemplaza (en Nano slo)
Cortar y pegar
^K Corta una linea
^U Pega la linea cortada

LOS EDITORES vi y Vim


vi El Editor Visual (Visual Editor)
Desarrollado originalmente por Bill Joy para BSD UNIX
Includo oficialmente en AT&T UNIX System V
Disponible en todas las plataformas UNIX
Vim Vi Improved (Vi mejorado)
Tiene funcionalidades muy mejoradas
Incluye un modo de compatibilidad

APRENDIENDO vi
Ayuda en vi
:help Vim tiene una ayuda online muy extensa
http://www.vim.org/

vi BASICO
vi is Modal
Modo insercin: las pulsaciones de teclas se insertan en el documento
Modo Comando: las pulsaciones de teclas se interpretan como comando
Comandos bsicos de movimiento del cursor
hjkl
Comandos de Edicin Bsicos
i a ESC x dd
Guardar y Salir

:w
:q
:wq
:wq!

Comandos bsicos de movimiento del cursor

h mueve el cursor a la izquierda


j mueve el cursor una linea para abajo
k mueve el cursor una linea para arriba
l mueve el cursor a la derecha
Comandos de Edicin Bsicos

i conmuta a modo insercin


a se mueve una posicin a la derecha y conmuta a modo insercin (append)
x borra el character debajo del cursor
dd borra la linea bajo el cursor
Guardar y Salir

:w escribe (guarda) el fichero a disco


:q salir si todos los cambios han sido guardados
:wq guardar y salir
:w! guarda el fichero incluso si el fichero es de solo lectura
:q! salir incluso si los cambios no han sido guardados
:wq! Guarder y salir incluso si el fichero es de solo lectura

vi INTERMEDIO
Acciones repetitivas
Deshacer cambios
Insertar y substituir
Buscar y reemplazar
Borrar, copiar y pegar
Ms comandos de movimiento
Acciones repetitivas
El . se usa para repetir la edicin ms reciente
Deshacer cambios

u Deshacer el ltimo cambio Undo the last change.


3u Deshacer los ltimos 3 cambios
SHIFT U Deshacer todos los cambios en la linea actual
Ctrl r Volver a hacer el ultimo undo. *Slo para Vim
Insertar y substituir

SHIFT I Insertar texto al comienzo de la lnea


SHIFT A Insertar texto al final de la lnea.
o Add a new line below the current line.
SHIFT O Aadir una nueva linea por encima de la lnea en curso.
~ Conmutar maysculas minsculas del character bajo el cursor
rc Reemplazar el character bajo el cursor con c
3rc Reemplazar los siguientes 3 caracteres con "ccc".
sstring Sustituir (reemplazar) el character bajo el cursor con " string".
cc Cambiar (reemplazar) la linea actual.
cw Cambiar desde la posicin del cursor hasta el final de la palabra

3cw Cambiar desde la posicin del cursor hasta el final de la tercera palabra
por delante
SHIFT C Cambiar desde la posicin del cursor hasta el final de la linea
c3$ Cambiar desde la posicin del cursor hasta el final de la tercera linea
para abajo.
SHIFT R Cambiar el modo de reemplazo. Sobrescribir en lugar de insertar
Buscar y reemplazar

/regex Busca la expression regular "regex".


?regex Busca hacia atrs la expression regular "regex".
n Repetir el ultimo comando / o ?
SHIFT N Repetir el ultimo comando / or ? pero en direccin opuesta.
:set hlsearch Permite el que queden resaltadas las ocurrencias. *Slo
Vim.
:nohl Para de resaltar las ocurrencias. *Slo Vim.
:s/regex/replacement/ Busca en la linea actual la primera ocurrencia de
"regex" y la reemplaza con "replacement".
:s/regex/replacement/g Busca en la linea actual todas las ocurrencias de
"regex" y la reemplaza con "replacement".
:%s/regex/replacement/ Busca en el fichero entero la primera ocurrencia
de "regex" en cada linea y la reemplaza con " replacement".
:%s/regex/replacement/g Busca en el fichero entero todas las ocurrencias
de "regex" en cada linea y la reemplaza con " replacement".
:5,10s/regex/replacement/g Busca entre las lineas 5 y 10 todas la
ocurrencias de "regex" y las reemplaza con "replacement".
Borrar, copiar y pegar

dw Borrar desde la posicin del cursor hasta el final de la palabra


dd Borrar la linea en curso.
d0 Borrar desde la posicion del cursor hasta el comienzo de la lnea
SHIFT D Borrar desde la posicion del cursor hasta el final de la lnea.
d SHIFT G Borrar desde la linea actual hasta el final del fichero
dl SHIFT G Borra desde la linea actual hasta el comienzo del fichero
dtc Borra desde la posicin del cursor hasta la primera " c" en adelante
d3$ Borra desde la posicin del cursor hasta el final de la tercera linea por
delante
yy Yank (Copia) la linea actual al registro por defecto
yw Copia desde la posicin del cursor hasta el final de la palabra.
y$ Copia desde la posicin del cursor hasta el final de la linea.
ytc Copia desde la posicin del cursor hasta la primera " c" en adelante
p Pega desde el registro por defecto hasta la derecha del cursor,
o hacia abajo si se pegan una o ms lineas.
SHIFT P Pega a la izquierda del cursor, o por encima si se pegan una o ms
lineas
Ms comandos de movimiento

CTRL f Scroll para delante de la pantalla.


CTRL b Scroll para atrs de la pantalla.
CTRL d Scroll para abajo de la pantalla.
CTRL u Scroll para arriba de la pantalla.
w Mover al comienzo de la siguiente palabra.

b Mover al comienzo de la palabra anterior.


0 Mover al comienzo de la linea.
$ Mover al final de la linea.
. Mover a la primera palabra de la linea actual.
- Mover a la primera palabra de la linea anterior.
SHIFT G Mover al final del fichero.
L CTRL G or gg Mover al comienzo del fichero.
3 CTRL G or :3 Mover a la linea numero 3.
Ctrl g Visualizar el numero de linea actual.

Emacs
Dos principales versions disponibles:
GNU Emacs
XEmacs
Altamente extensible

EL INTERFAZ Emacs
Principales areas de Emacs
Cuadro
Ventana
Barra de Men
Linea de modo
Area de eco

CAPITULO 10 COMANDOS DE LA SHELL


SHELLS
Bourne Shell (sh)
C Shell (csh)

Korn Shell (ksh)


Bourne-Again Shell (bash)
Enhanced C Shell (tcsh)
Public Domain Korn Shell (pdksh)
Z Shell (zsh)

IDENTIFICANDO LA SHELL
El nombre por defecto de la shell se almacena en la variable de entorno

$SHELL
Identificando la shell::

$ echo $SHELL

Idenficando la shell actual:

$ ps f

[csh] $ echo $SHELL


/bin/csh
[csh] % ksh
[ksh] $ echo $SHELL
/bin/csh
$ ps -f
UID PID PPID C STIME TTY TIME CMD
sinuhe 8779 7093 0 16:56 pts/4 00:00:00 /bin/ksh
sinuhe 8784 8779 0 16:56 pts/4 00:00:00 bash
sinuhe 8786 8784 0 16:56 pts/4 00:00:00 ps f
Un modo ms visual
$ ps --forest
PID TTY TIME CMD
32232 pts/0 00:00:00 bash
32308 pts/0 00:00:00 \_ csh
32326 pts/0 00:00:00 \_ ps

CAMBIANDO LA SHELL
Usa el nombre de la shell para invocar la shell (p.e. teclea tcsh)
Cambiando la shell permanentemente
Edita la entrada en /etc/passwd para ese usuario
chsh (change shell) disponible para usuarios normales
/etc/shells contiene la lista de las shells permitidas

BOURNE SHELL $ ksh


KORN SHELL $ csh
C SHELL % bash
BASH $ exit
C SHELL % exit
KORN SHELL $ exit
BOURNE SHELL $
$ echo $SHELL
/bin/bash
$ cat /etc/shells
/bin/sh

/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh
$ chsh
Changing shell for guru.
Password: work
New shell [/bin/bash]: /bin/tcsh
Shell changed.
$ echo $SHELL
/bin/bash
$ grep guru /etc/passwd
guru:x:500:500:Guru Account:/home/guru:/bin/tcsh

Bourne sh: FICHEROS DE CONFIGURACION


/etc/profile fichero de sistema ( lo ejecutan todos los usuarios)
/etc/profile.d/
./.profile por usuario

SCRIPT DE EJECUCION
Lanza una nueva shell y ejecuta script_name en ella:
./script_name
Ejecuta script_name en la shell actual:
source script_name
. script_name

Bourne sh: Prompts


Prompt se estable con la variable PS1 variable

$ PS1="$(hostname) $ "
homer $ export PS1

$ PS1=[`pwd`]$ con comillas simples


[/home/guru]$ echo $PS1
[[`pwd`]$
[/home/guru]$ cd /tmp
[/tmp]$
$ PS1="[`pwd`]$ " con comilllas dobles
[/home/guru]$ cd /tmp
[/home/guru]$
[/home/guru]$ echo $PS1
[/home/guru]$

bash: Bourne-Again Shell


Totalmente compatible hacia atrs con la shell Bourne
Aade varias mejores muchas desde csh / tcsh
historia de comandos y autocompletado
alias
configuraciones sofisticadas de prompt
Edicin de linea de commandos tanto al estilo Emacs como vi

tilde (.) como un alias para los home directories.

$ bash --version
GNU bash, version 3.2.33(1)-release (i486-pc-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.
$ Ctrl x Ctrl v
GNU bash, version 3.2.33(1)-release (i486-pc-linux-gnu)

bash: FICHEROS DE CONFIGURACION


Para seguir siendo compatible con el Bourne shell
./.profile and /etc/profile
Tambin ejecuta ./.bash_profile, ./.bash_login, y ./.bashrc, si existen
./.bash_login solo se procesa una vez, en el login
Si ./.bash_logout existe, se ejecuta en el logout
Opciones del Login shell
--login
--noprofile
Subshell options
--rcfile foofile
--norc

bash: HISTORIA DE LA LINEA DE COMANDO


Ver los comandos ltimos lanzados

$ history

Ejecuta el commando anterior

$ !!
Ejecuta el ultimo commando que empiece con xy

$ !xy
Ejecutar un commando encontrado en un numero de linea del history :

$ !42

Secuencias de control especiales pueden buscar en el history Ctrl r Vase

man bash
para ms detalles
El commando fc (Fix Command) se puede usar para bsquedas avanzadas
y edicin:

$ fc -1 -5

HISTFILE ) Al arrancar, la history se guarda en ese fichero


HISTFILESIZE ) Define el numero mximo de lineas que se almacenan en
$HISTFILE
HISTSIZE ) El nmero de comandos que se almacenan en el fichero
HISTCONTROL ) Si se pone la variable ignorespace, las lineas que
empiezan con un espacio no se meten en el fichero history
HISTIGNORE ) Una lista de caracteres, separados por columnas, que se
usa para decidir qu comandos se guardan en el fichero history

bash: EDICION DE COMANDO


La Bash shell edicin de commandos en modo vi y Emacs
para poner el modo edicion vi

$ set -o vi

para poner el modo edicion emacs (por defecto)

$ set -o emacs
Las configuraciones en modo vi o emacs se pueden ver fcilmente y
modificarlas

Configuraciones de sistema se hacen en /etc/inputrc


Configuraciones de usuario se hacen en ./.inputrc
El comando intrnseco de Bash bind se puede usar para listar y modificar las
configuraciones

bash: AUTOCOMPLETE DE COMANDOS


El procedimiento depende del modo de edicin en uso
TAB para completar en modo
\ (desde modo control para completar en modo vi
El bash tiene un modo de autocomplete ms avanzado que csh o ksh
soporta comando, nombre de fichero/directorio, nombre de usuario
autocomplete de hostname y nombre de variable.
intenta "hacer lo correcto" basndose en el el contexto
altamente configurable

bash: ATAJOS
Navegacin de directorios
El uso de ~
El uso de Los comandos pushd, popd y dirs
A las abreviaturas de comandos se les llama alias
Los alias se crean cn el comando alias
Se quitan con el comando unalias
No se guardan entre sesiones, a no ser que se aadan al./.bashrc file
Clearing the screen
El uso de ~

~ representa tu home directory


$ cp /etc/passwd ~
El uso de -

~username representa el home directory del usuario


$ less ~guru/.bashrc
cd - cambia al ltimo directorio en el que estuvo el usuario
$ cd
$ cd /tmp
$ cd pushd, popd
Estas herramientas permiten a un usuario push (empujarlo) a un nuevo
directorio y pop (volver) al directorio previo

$ pushd /
$ cd
$ popd
Alias
$ alias m="more"
$ alias ll="ls -al"
$ alias rm="rm -i"
El comando alias (sin argumentos) lista los alias

Borrar la pantalla
Ctrl l

bash: prompt
Muchas ms posibilidades de prom que la shell Bourne
usa secuencias de caracteres escapadas con la barra invertida

$ PS1="\u@\h \! $ "
joe@homer 56 $ export PS1
joe@homer 57 $

CAPITULO 11 INTRODUCCION AL SHELL


SCRIPT
FORTALEZAS Y DEBILIDADES DE LA SHELL
Fortalezas
Ejecucin de tareas retitivas sin posiblidad de error
Customizacin de aplicaciones grandes
Portabilidad a muchas plataformas Unix
Ficheros de texto y Text Files and String Data
Debilidades
Aplicaciones grandes
Las tareas requieren privilegios elevados

EJEMPLO DE Shell Script


Crear un directorio y una homepage sencilla en el home directory de un

#!/bin/bash
USER="$1"
HOMEDIR=$(getent passwd "$USER" | cut -d: -f6)
PUBDIR="${HOMEDIR}/public_html"
mkdir "$PUBDIR"
echo "<html><h1>Hello World</h1></html>" \
> "${PUBDIR}/index.html"
chown -R "${USER}:" "$PUBDIR"
Run the script

$ ./mkwebpage.sh joe

$ bash scriptname.sh
El script necesita ser ejecutable
$ chmod a+x scriptname.sh
Comentarios en los Shell Scripts Van precedidos por el comando #

# compute average of two integers


AVG=$(expr \( $x1 + $x2 \) / 2)
# now spit it out
echo "average is: $AVG"

PARAMETROS POSICIONALES
Los argumentos en la lnea de comando son $0, $1, $2, . . .
$0 es el nombre del shell script (p.e. myscript.sh)
$1 es el primer argumento, $2 es el segundo argumento y as sucesivamente

El nmero de argumentos est en $#


La lista de todos los parmentros est en $@
Variables de shelll especiales
Ejemplo

Fichero: variable.sh

#!/bin/sh
echo "The
echo "The
echo "The
echo "The
echo "The

script name is: $0"


first argument passed is: $1"
second argument passed is: $2"
number of arguments passed is: $#"
list of arguments passed is: $@"

Salida del script


$ ./variable.sh foo bar baz
The script name is: variable.sh
The first argument passed is: foo
The second argument passed is: bar
The number of arguments passed is: 3
The list of arguments passed is: foo bar baz

ENTRADA Y SALIDA
echo imprime el texto a la salida estandar
echo "Your time is up"
se puede usar redireccin para escribir a ficheros o tuberias

echo "Your time is up" > time.txt


la opcin -e provoca que el comando echo use secuencias de escape para
caracteres especiales
la opcin -n option quita el caracter de nueva linea desde el final de la
read lee texto de la entrada estandar
echo -n "What is your name? "
read NAME

$ echo -e "foo\nbar\nbaz"
foo
bar
baz
$ echo -e "foo\tbar\tbaz"
foo bar baz
$ echo -e "foo\vbar\vbaz"
foo
bar
baz
$ echo -e "foo\nbar\rbaz"
foo
baz

EXPRESIONES MATEMTICAS
La shell es capaz de evaluar expresiones simples $ foo=$((12*34))

$ echo $((56+$foo))
464

Usa el programa expr dentro de los scripts para operaciones matemticas


AVG=$(expr \( $X1 + $X2 \) / 2)
expr solo ejecuta operaciones con enteros does integer math
Hay que usar perl, awk or bc para matemticas ms avanzadas

$ pi=$(echo "scale=20; 4*a(1)" | bc -l)

COMPARACIONES CON TEXTO


Comprueba los tipos de fichreros y compara valores
Se usa a menudo en construcciones condicionales

El programa test tiene muchos operadores para realizar varias


comparaciones
test description

x -eq y igual que


x -gt y mayor que
x -ge menor o igual que
x -lt y menor que
x -le y menor o igual que
x -ne y no igual
x = y si la cadena x es igual a la cadena y
-e FILE si el nombre de fichero existe
-d FILE si el nombre existe y es un directorio
-f FILE si el nombre existe y es un fichero
-x FILE si el nombre de fichero existe y es ejecutable

ESTADO CON EL COMANDO exit


Informa de si un programa se ha ejecutado
0 significa que el programa o comando se ejecut correctamente
1 - 255 significa que el programa fall de una forma u otra
$? reporta el estado de exit
Un script puede usar exit para reportar un estado especfico de exit exit
exit 1
echo $?
Los operadores de lgicas del shell AND (&&) y OR (||) operators tambin
se usan para devolver cdigos:

[ $X -eq 5 ] && echo "Got to 5" || echo "Not at 5, yet"

$ bash
$ exit
$ echo $?
0$
$ bash
$ exit 3
$ echo $?
3$

SENTENCIAS CONDICIONALES
if then
if then fi

if then else fi
if then elif else fi

if then

if [ $X -eq 5 ]; then
echo "Got to 5"
fi
if then else

if [ $X -eq 5 ]; then
echo "We got to 5"
else
echo "We are not at 5"
fi
if then else if

if [ $X -eq 1 ]; then
elif [ $X -eq 2 ]; then
echo "At 2"
else
echo "Neither 1 or 2"
fi

CONTROL DE FLUJO: case


case
SysV init scripts
getopts

Cada vez ue se llama al comando getopts procesa la siguiente opcin


pasada a travs de la linea de comando

case "$1" in
start)
/sbin/someservice
;;
stop)
killall someservice
;;
esac
$ cat myopts.sh
while getopts "abc" OPTIONNAME
do
case $OPTIONNAME in
a)
echo "You selected A"
;;
b)
echo "You selected B"
;;
c)
echo "You selected C"

;;
[?])
exit 42
;;
esac
done
$ ./myopts.sh -bac
You selected B
You selected A
You selected C
$ ./myopts.sh -bdac
You selected B
./myopts.sh: illegal option -- d
$ echo $?
42
$

EL BLUCLE for
Construccin diferente a C/C++, Perl, etc.
Itera a travs de una (no necesariamente numrica)
la lista puede ser el resultado de un comodn
do & done para encapsular la iteracin

$ for i in foo bar baz; do


> echo $i
> done
foo
bar
baz
$ for i in $(seq 100); do echo $i; done
1
2
3
4

LOS BUBLES while y until


Se usa normalmente los comandos test or [ para probar una condicin
Al igual que para el bucle for loop, se usa do & done para encapsular la
iteracin
Se usa break para salir de bucles anidados
Bucle while

$ X=0 # Initialize $X
$ while [ $X -lt 5 ]; do
> touch $X.txt
> X=$(expr $X + 1)
> done
$ while true; do
> echo "Still sleeping..."

> sleep 10
> done
Bucle until
$ until [ -f /tmp/somefile ]; do
> echo "Still waiting for the file..."
> sleep 1
> done; echo "Finally got it at $(date)"
El comando break
Con el comando break, Bash cierra el bucle actual.. break se puede
ejecutar con un argumento numrico para indicar el nmero de bucles hasta
el cierre. Por ejemplo

break 5

Cerrar 5 bucles, empezando con el bucle actual

CAPITULO 12 GESTION DE PROCESOS Y


CONTROL DE TRABAJOS
QUE ES UN PROCESO?
Un proceso es un programa que se ejecuta
Asociado con un proceso tenemos:
process ID (PID) Identificador de proceso
prioridad
valor nice (relacionado con la prioridad)
memoria
contexto de seguridad
entorno
manejo de fichros
estado de salida del proceso

CICLO DE VIDA DE UN PROCESO


Los procesos estn organizados en una jerarqua
init primer proceso lanzado por el kernel con PID 1
Es el nico proceso lanzado directamente por el kernel
init despus lanza procesos hijo
los procesos hijos a su vez lanzan otros procesos hijos, etc
Los procesos se pueden crear de dos formas diferentes
fork() crea un hijo duplicado de s mismo
exec() lanza un Nuevo proceso completamente que reemplaza al padre
fork() + exec() mtodo para lanzar diferentes procesos Process termination
methods
La terminacin normal se hace via exit()
La terminal anormal se hace via abort()

ESTADO DE LOS PROCESOS


Los procesos transicionan entre estados con la recepcin de sealaes
running (en ejecucin) con asignacin de CPU para el proceso
stopped (parado) todava cargado en memoria, pero sin ejecutarse
sleeping (durmiendo ) esperando algn evento (p.e. una entrada de usuario)

un-interruptible sleep ) com o sugiere el nombre, normalmente causado cuando se


espera una entrada/salida
when waiting for I/O
zombie (zombi) un proceso terminado cuyos recursos se han liberado todos excepto
el PID y el estado de salida

VIENDO PROCESOS
ps comando estandar par aver la informacin del proceso
soporta muchas opciones para modificar la salida
puede emular el comportamiento de otras variants Unix de ps
lee informacin desde el sistema de ficheros /proc/
top similar al ps, pero interactivo
refresca el display cada 3 segundos por defecto
puede ordenar procesos por varios criterios como uso de CPU, memoria, UID, etc.
puede enviar seales a los procesos
gnome-system-monitor herramienta grfica (GUI) para ver los

programas top
KDE System Guard (ksysguard) GUI con capacidades de monitorizacin
local y remota

SEALES
Mensaje especial que se enva a un proceso
Los procesos pueden instalar manejadores de seales que pueden coger
seales y desencadenar alguna accin (trigger)
Las seales pueden tener diferentes significados en diferentes
arquitecturas
Algunas seales no pueden ser capturadas o ignoradas y son procesadas
por el kernel (por ejemplo. SIGKILL (9))
kill -9 terminacin incondicional

HERRAMIENTAS PARA MANDAR SEALES


kill Enva seales arbitraries al proceso por PID
manda un SIGTERM (15) por defecto
-l lista todas las seales soportadas por la mquina
killall Manda seal de procesar por nombre
pkill Manda seal para procesar por terminal, grupo, nombre de usuario,
PID o nombre de comando
top, gnome-system-monitor, ksysguard tambin pueden mandar

seales
Certain key bindings send signals
Ctrl c = SIGINT (2)
ctrl z = SIGSTOP (19)

# kill -s 1 445
# killall -HUP inetd
# killall -1 inetd
# pkill -STOP -u guru

CONTROL DE TRABAJOS (JOB CONTROL)


El control de trabajos da la posibilidad de hacer multitarea en la linea de
comando
El control de trabajos se refiere a la posibilidad de selectivamente parar
(suspender) su ejecucin en un momento posterior

Estas funciones se exponen al usuario via la shell


Shell antiguos pueden no soportar control de trabajos

COMANDOS DE CONTROL DE TRABAJOS


Arranca un proceso en Segundo plano (background process) ejecutando

program &
Para un proceso que est ejecutndose mandando una seal Stop an
already running SIGSTOP (19), (ex.
pressing Ctrl z)
fg ejecuta en proceso en primer plano (foreground)
bg ejecuta un proceso en Segundo plano (background)
kill termina el trabajo
Nos referimos a los trabajos usando %n, donde n es el nmero de trabajo
El comando jobs listar todos los trabajos presentes en la shell pero

no puede listar trabajos de otras shells

$ man screen
Ctrl z

[1]+ Stopped man screen


$

SESIONES DE SHELL PERSISTENTES CON Screen


Multiplexador de terminal (window manager)
Permite una multitarea muy eficiente desde un terminal virtual
Las sesiones se pueden desconectar a deseo
Util para administracin remota

USANDO screen
Starting screen
Commands
Detaching and re-attaching to sessions
Session basics

Arrancando screen sin argumentos lanzar una nueva sesin screen y


lanza un Nuevo shell. Puedes especificar un comando para ejecutar desde la
linea de comando:

$ screen program

Comando Funcin
Ctrl a0-9 Conmutar a la ventana nmero 0-9
Ctrl ad Desconectarse de una sesin
Ctrl a Shift D Shift D Desconectarse y salir
Ctrl ac Crear una nueva ventana con una shell
Ctrl a Ctrl a Conmutar a una ventana visualizada previamente
Ctrl an Conmutar a la prxima ventana numrica
Ctrl ap Conmutar a la ventana previa numrica
Ctrl ak Matar la ventana actual

Screen avanzado
Bloqueo de sessin ctrl ax
Screen partido horizontalmente ctrl a Shift S
Monitorizacin de sesiones ctrl. A Shift M
Compartir sesiones de screen

[sys admin 1]# screen

[sys admin 2]# screen -x -r


Valores por defecto
Fichero de configuracin global: /etc/screenrc
Por usuario: ./.screenrc

CAPITULO 13 MANEJO DE SOFTWARE


DESCARGANDO CON FTP
El mtodo de transferencia de ficheros ms extendido es el FTP
Soportado por casi todas las plataformas
Hay muchos programas cliente y servidor en Linux
soporta transferencia de ficheros annima
se autentica en texto plano
HTTP est sustituyendo al FTP in muchos casos
da un interfaz ms amigable
soporte mucho ms generalizado

FTP
Los clients FTP estndar tienen interfaces de texto
Los servidores FTP serverescuchan tpicamente en el Puerto TCP 21 y
mandan datos a los clients por el puerto TCP 20
Para conectar especificar el nombre o IP del servidor
En un prompt de la shell:

$ ftp ftp.freesoftware.com

Si ya ests en el prompt del ftp

ftp> open ftp.freesoftware.com


El servidor preguntar despus por nombre de usuario y contrasea
Cuando se hace un login annimo, el usuario ftp se puede usar para ello
Comandos FTP

COMANDO DESCRIPCION
dir visualiza el listado del directorio a directory listing
ls visualiza el listado del directorio
cd cambia de directorio
pwd imprime el directorio actual
mget/mput get o put multiple soporta comodines
prompt Alterna el uso del prompt interactivo cuando se usa m*
comma
hash visualiza marcas com indicador de progreso durante la transferencia
de ficheros
bin / asc cambia a modo binario o ascii
!command ejecuta un comando en la shell local y visualiza el resultado
lcd cambio de directorio local
close cierra la conexin con el servidor remoto, y el cliente ftp todava
sigue ejecutndose
quit/exit cierra la conexin y sale del programa ftp

Ejemplo
$ ftp ftp.gurulabs.com
Connected to ftp.gurulabs.com.
220 209.140.66.124 FTP server ready.
Name (ftp.gurulabs.com:bob): ftp

331 Anonymous login ok, send your complete email address as your
password.
Password: bob@example.com
230 Anonymous access granted, restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (209,140,66,124,136,79).
150 Opening ASCII mode data connection for file list
drwxrwxr-x 7 guru guru 4096 Feb 9 2000 pub
226 Transfer complete.
ftp> cd pub/mirrors/errata/SRPMS
250 CWD command successful.
ftp> dir
227 Entering Passive Mode (209,140,66,124,136,81).
150 Opening ASCII mode data connection for file list
-rw-rw-r-- 1 guru guru 11152997 Oct 22 07:17 glibc-2.2.4-19.src.rpm
-rw-rw-r-- 1 guru guru 29194416 Oct 22 16:32 kernel-2.4.9-7.src.rpm
-rw-rw-r-- 1 guru guru 559223 Oct 22 07:15 mew-1.94.2-12.src.rpm
-rw-rw-r-- 1 guru guru 32831 Oct 24 01:49 mod_auth_pgsql-0.9.92.src.rpm
-rw-rw-r-- 1 guru guru 306223 Oct 18 21:57 nfs-utils-0.3.113.7.2.1.src.rpm
226 Transfer complete.
ftp> bin
200 Type set to I.
ftp> mget m*rpm
mget mew-1.94.2-12.src.rpm? y
227 Entering Passive Mode (209,140,66,124,136,83).
150 Opening BINARY mode data connection for mew-1.94.212.src.rpm (559223 bytes).
226 Transfer complete.
559223 bytes received in 5.8 secs (94 Kbytes/sec)
mget mod_auth_pgsql-0.9.9-2.src.rpm? y
227 Entering Passive Mode (209,140,66,124,136,84).
150 Opening BINARY mode data connection for mod_auth_pgsql0.9.9-2.src.rpm (32831 bytes).
226 Transfer complete.
32831 bytes received in 0.359 secs (89 Kbytes/sec)
ftp> quit
221 Goodbye.

lftp
Un reemplazo excelente del cliente ftp estandar Supports a wealth of
useful features including
visualiza el progreso
autocomplete del nombre del fichero
historia de commandos
procesamiento en Segundo plano
Continuacin de descargas que se han quedado a medias (auto-resume
downloads)

funciona saltndose firewalls y proxies


descarga rboles de directorios completos

lftp en Segundo plano (background)


lftp ftp.example.com:/pub/> get bigfile &
Ftp diferido en el tiempo
lftp> at 3AM Dec 9, 2012 -- get /pub/fun/happy_bday_bryan.zip
&

Command Line Internet Non-interactive


wget Descarga de fichero no interactiva
soporta HTTP(s) y FTP
auto-continuacin de descargas y descargas recursivas
curl Transmisin de fichero no interactive
soporta HTTP(S), FTP(S), SCP, SFTP, TFTP, etc.
Certificados SSL y autenticacin (Basic, Kerberos and more)
subidas y bajadas de ficheros con auto-continuacin (auto-resume)
proxies, cookies, proxy tunneling
Ambos son Buenos para scripts/automatizacin

$ wget ftp://ftp.example.com/pub/file.zip (ftp)


$ wget http://www.example.com/randomdata.zip (http)
$ wget -i URLlist.txt
Se trae cada URL listada en el fichero de texto URLlist.txt:
$ curl -O ftp://ftp.example.com/pub/file.zip (ftp)
$ curl http://www.example.com/randomdata.zip -o
data_rename.zip (http)

INTERNET EN COMMAND LINE INTERACTIVA


lynx Navegador web en modo consola
Browser bsico
w3m Navegador web en modo consola mejorado
Soporta tablas y marcos
Fiunciona como un paginador con lo que puede usarse como reemplazo para
more o

less
elinks Navegador web en modo consola moderno

soporta javascript, tables, marcos, cookies


interfaz en modo menu, gestor de descargas, soporte a todo color
comienza a mostar la pgina cuando todava est descargando
links es un link simblico a elinks

GESTIONANDO DEPENDENCIAS DE SOFTWARE


Problemas de la gestin de software
Los rboles de dependencia grandes son difciles de manejar
Muchas aplicaciones tienen muchas dependencies
Soluciones de gestin de paquetes software
Usa un repositorio central de paquetes
Las interdependencies se calculan y gestionan automticamente
Viene integrado con Red Hat Enterprise Linux
Se hace a travs del comando yum (YUM=Yellowdog Updater Modified)

USANDO EL COMANDO YUM


Instalacin/deinstalacin con YUM
install/localinstall
update
remove
Peticiones de informacin de paquetes a YUM
info
list
search
whatprovides
Mantenimiento de YUM
clean
Instalacin/deinstalacin con YUM

install packagename Instala un paquete asegurndose de que las


dependencies se resuelven
install /path/to/file Instala el paquete que provee ese fichero,
asegurndose de que las dependencies se resuelven

update packagename Actualiza el paquete a la ltima version, as como


actualiza las dependencies necesarias (si se ejecuta sin nombre de paquete,
se actualizan todos los paquetes del sistema)
remove packagename Borra un paquete as como los paquetes que
dependen de l
Peticiones de informacin de paquetes a YUM

info package_name Muestra la informacin de cabecera un paquete. Es


similara ejecutar rpm qi package_name
search glob_expr Busca un paquete buscando nombres y descripciones

basadas en glob_expr
list updates Muestra todos los paquetes en el sistema con
actualizaciones disponibles
list glob_expr Busca un nombre de paquete buscando el nombre de
paquete que contiene la glob_expr concreta
list all Muestra todos los paquete que estn en todos los repositories
list available Muestra todos los paquetes que deberan estar disponibles
para la instalacin
whatprovides file_name Busca un fichero contenido dentro de un
paquete por nombre de path absolute, devolviendo el nombre del paquete
Uso no interactivo de YUM
La opcin y assume que se responde y a cualquier pregunta, dando la
posibilidad de usar YUM no interactivamente
Ejemplo

# yum update -y
. . . output omitted . . .

GRUPOS DE PAQUETES CON YUM


YUM package group commands:
yum groupinstall Instala
yum groupupdate Actualiza
yum groupinfo Da informacin
yum grouplist Lista los grupos que hay en los repositorios
yum groupremove Quita

Los grupos de paquetes permiten al administrator instalar fcilmente una


coleccin de paquetes que proveen funcionalidades de interoperabilidad y
mejoras

# yum groupinstall "GNOME Desktop Environment"


# yum groupupdate "GNOME Desktop Environment"
# yum groupinfo "GNOME Desktop Environment"
Group: GNOME Desktop Environment
Description: GNOME is a powerful, graphical user interfacea
which includes a panel, desktop, system icons,a
and a graphical file
manager.
Mandatory Packages:

control-center
gnome-applets
gnome-panel
. . . snip . . .
Default Packages:
NetworkManager-gnome
alacarte
at-spi
. . . snip . . .
Optional Packages:
dasher
gconf-editor
gnome-bluetooth
. . . snip . .
# yum grouplist
# yum groupremove "GNOME Desktop Environment"

CONFIGURACION DE YUM
YUM configuration
Fichero principal de configuracin

/etc/yum.conf

Repositorios YUM

/etc/yum.repos.d/*.repo
yum-config-manager
File: /etc/yum.repos.d/base.repo

[base]
name=Internal-$releasever - Base
baseurl=http://packages.example.com/Internal/a
$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://packages.example.com/Internal/a
RPM-GPG-KEY-ExampleInc

REPOSITORIOS YUM POPULARES


Highly regarded 3rd party repositories
Repositorio EPEL Extra Packages for Enterprise Linux (EPEL) Unos
11,000 paquetes
Repositorios Dag Wieers / RPMforge r Unos 4,800 paquetes
Repositorio atrpms Unos 2,500 paquetes
Repositorio Jpackage Unos 1,200 paquetes
RPM Fusion Unos 800 paquetes
CUIDADO! El software instalado desde repositorios de terceros no est
soportado por el vendedor de la distribucin
Configuracin del YUM y claves GPG de encriptado se suelen suministrar
con un RPM. Por ejemplo:
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

Ficheros de configuracin del repositorio:


Habilitando RPMforge:
Fichero: /etc/yum.repos.d/rpmforge.repo

+ [rpmforge]
+ name = Red Hat Enterprise $releasever - RPMforge.net -

dag
+ mirrorlist=http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
+ gpgcheck=1
+ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
+ enabled=1
Habilitando atrpms:
Fichero: /etc/yum.repos.d/atrpms.repo
+ [at-stable]
+ name=ATrpms for Fedora Core $releasever stable
+ baseurl=http://apt.atrpms.net/fedora/$releasever/en/

$basearch/at-stable
+ gpgcheck=1
+ enabled=1

CAPITULO 14 MENSAJERIA
COMANDOS DE MENSAJERIA DE SISTEMA
write
Util para enviar mensajes instantneos cortos (de 1 o 2 lineas) a otros usuarios en
el sistema
Efectivo en una tubera

wall

Similar a write, pero enva el mensaje a todos los usuarios del sistema
Efectivo en una tubera

talk
Chat en tiempo real Real-time keystroke at a time chat
Funciona entre hosts de internet tambin

$ write user [ttyname]


$ echo msg | write user [ttyname]
$ echo msg | wall
$ wall msg
$ talk user [ttyname]

CONTROLANDO MENSAJES DE SISTEMA


Dispositivos de terminal
Su propietario es un grupo de sistema especial tty
Tiene permisos de escritura por defecto
La utilidad mesg
Alterna el permiso de escritura en el dispositivo de
Usa mesg seguido de y o n para alternar
Use mesg sin argumentos para ver el estado actual
Los comandos write, wall y talk analizan el estado del comando mesg

Los dispositivos de terminal (por ejemplo. /dev/tty{1-x}, /dev/pts/{1-x},


etc.) tienen como propietario un grupo de sistema especial llamado tty

$ mesg
is y
$ ls -l $(tty)
crw--w---- 1 guru tty 136, 1 Aug 5 18:30 /dev/pts/1
$ mesg n
$ ls -l $(tty)
crw------- 1 guru tty 136, 1 Aug 5 18:30 /dev/pts/1
$ mesg
is n

Internet Relay Chat (IRC)


Internet Relay Chat (IRC)
Los clientes pueden chatear o unirse a canales y transferir ficheros
Son posibles conexiones directas cliente a cliente (Direct Client-to-Client
DCC)
Los canales tienen operadores y otras propiedades
Redes IRC: Freenode, EFNET, DALNET, UnderNET
Las redes ms grandes tienen tipicamente ms de 60,000+ clientes concurrentes
en ms de 20,000 canales
Variables de shell tpicas de clientes IRC
$IRCNAME: establece el nombre segn lo muestra el comando /whois
$IRCNICK: establece el nick IRC por defecto
$IRCSERVER: establece el servicio IRC por defecto

CLIENTES DE MENSAJERIA INSTANTANEA (Internet


Messaging)
Los clientes de mensajera instantnea permiten chatear, tranferir ficheros
y otras comunicaciones.
Permite la creacin de listas "buddy para notificaciones.

Existen muchas redes de mensajera instantnea ( IM networks) : ICQ,


AIM, Yahoo, MSN,
Jabber/XMPP, y otras.
Existen en lnux muchos clientes IM en modo grfico
A menudo los cleintes pueden trabajar simultneamente con multiples redes
pidgin es el cliente GNOME ms popular
Kopete es un cliente IM multi-protocolo includo con KDE

CORREO ELECTRONICO
Sendmail, Postfix y Exim: Son servidores de correo populares / Mail
Transport
Agent (MTA)
Clientes de correo en modo linea de comando / Mail User Agents (MUA)
mail cliente muy simpleoriginal, very simple client
pine cliente sofistivado, con mens
otros clientes en linea de comando son:

elm
mutt

GUI email clients


Mozilla Thunderbird Cliente de Email de Mozilla
Evolution Clon de Outlook en GNOME
Kmail Cliente de correo estandar en KDE

ENVIO DE CORREO CON sendmail


Envo de Email con sendmail Sending Email with sendmail

sendmail -t

Fichero: /tmp/jon-message

From: bob@secret.gov
To: jon@email.com
Subject: How are you?

CABECERA DEL MENSAJE

+
+ Jon! How are you? Bill asked me to send over some
+ notes about the current project. What type of notes CUERPO

DEL MENSAJE
+ are you interested in receiving?
$ sendmail -t /tmp/jon_message

ENVIANDO Y RECIBIENDO EMAIL CON mail


mail, Mail, and mailx
Se puede usar interactivamente para enviar y leer email desde la linea de
comando
Se usa ms comunmente para mandar por correo la salida de un proceso o fichero
Se puede usar para leer el correo que hay en el spool para otras cuentas

Para leer el correo con el programa mail, ejecuta mail en la linea de


comando,
Y presiona ENTER. Se puede usar tambin el nmero del mensaje. Para
avanzar al siguiente mensaje, presiona ENTER de nuevo, o la tecla n.

Mail version 8.1 6/6/93. Type ? for help.


"/var/spool/mail/madams": 1 message 1 new
>N 1 root@server1.example Mon Feb 15 19:39 23/690 "Testing"
&
A selected message will be parsed from the mbox:

Message 1:
From root@server1.example.com Mon Feb 15 19:39:29 2010
Date: Mon, 15 Feb 2010 19:39:28 -0700
From: root <root@server1.example.com>
To: madams@server1.example.com
Subject: Testing
Greetings!
This is a very simple test.
Sincerely,
Root
&
Para enviar el mensaje al usuario llamado jim usando el tema "Important
meeting," ejecuta lo siguiente

$ mail -s "Important meeting" jim@superthingy.com


Meeting at 4:23am, attendance is mandatory.
You are assigned to bring the donuts.
Ctrl d
Cc:ENTER

Para enviar el contenido del fichero /etc/password file al usuario cracker1

$ mail cracker1@cracker.nu < /etc/password


Finalmente, se usa a menudo para hacer una tubera con la salida de un
comando o script a travs de mail, haciendo que la salida sea el cuerpo del
mensaje:

$ myscript.sh | mail -s "Output from myscript" guru

ENVIO Y RECEPCION DE EMAIL CON mutt


Enviado Email con Mutt
Funciones similares a mail
Soporta funcionalidades de cliente de correo comunes
Codificacin y decodificacin MIME
Firmas digitales
IMAPS/POP3S/APOP
SMTP AUTH/STARTTLS
Macros de teclado
Solo es capaz de usar el SMTP localhost
Puede enviar correo interactivamente y no interactivamente

Leyendo el correo con mutt

$ mutt -f imaps://madams@mail.example.com/
Enviando correo con mutt

$ echo "This is a copy of the wtmp logs from $(date)" | mutt -s


"Messages Log" -a /var/log/wtmp guru

ENVIANDO CORREO CON Pine


PINE: Un programa para Internet News y Email
Se dise originalmente para usuarios novatos
Basado en men
Fcil de usar
Suoporta SMTP, IMAP, POP3, MIME, etc.
Para enviar un mensaje:
1. Presiona c (Compose) desde el men principal
2. Llena los campos To:, Subject:, etc.
3. Pon el cuerpo del mensaje
4. Type x (Send)
5. Presiona y para confirmar

EVOLUTION
Suite grafica de Linux clon de Outlook Graphical
Correo
Calendario
Contactos
Sincronizacin con PDAs

CAPITULO 15 IMPRESIN
SUBSISTEMAS DE IMPRESIN EN LINUX

Hay varios subsistemas de impresin disponibles en Linux.


Los 3 ms populares son:
lpd
LPRng
CUPS

lpd ) El demonio de impresin original. Fue diseado para controlar


impresoras de lineas, su fichero de configuracin /etc/printcap puede ser
complicado de configurar
LPRng ) La siguiente generacin a lpd. Aade muchas mejoras pero todava
usa el complicado fichero de configuracin /etc/printcap
CUPS ) The common UNIX printing system, un subsistema de impresin
moderno. Tiene muchas funcionalidades avanzadas, como administracin
web y soporta protocolos modernos

SISTEMAS DE IMPRESION ANTIGUOS


Unix LPD
Originalmente diseado para impresoras de lineas.
Soporte impresoras de red, serie y paralelo
La configuracin en el fichero /etc/printcap, basada en la sintaxis termcap(5)
LPRng
Siguiente generacin lpr/lpd
Comandos y configuracin compatibles LPD
Configuracin avanzada

lpd.conf
lpd.perms.

Fichero: /etc/printcap

lp:\
:sd=/var/spool/lpd/lp0:\
:mx#0:\
:sh:\
:lp=/dev/lp0:

Common UNIX Printing System (CUPS)


Un sistema de impresin completamente nuevo
Soporta tanto comandos de impresin BSD como SysV
Por ejemplo: lpr and lp
Soporta impresoras de red, paralelo, serie y USB
Muchas funcionalidades avanzadas
Administracin Web
Usa ficheros Postscript Printer Description (.ppd)
Configuracin de cliente automtica
Soporta IPP (Internet Printing Protocol)
Autenticacin de cliente
Muy fcil de configurar

DEFINIENDO UNA IMPRESORA


Interfaz web CUPS

http://localhost:631/
lpadmin

# lpadmin -p phaser860 -E -P /tmp/tk860dp1.ppda


-v http://phaser860.example.com:80/ipp/

KDE Control Center (kcontrol) Peripherals ! Printer tool

system-config-printer

COMANDOS DE IMPRESION ESTANDAR


Enva un trabajo a la cola para imprimirse
lpr (BSD/LSB)
lp (SysV/POSIX/LSB)
lpq Ver los contenidos de la cola
lprm Borra un trabajo de la cola
Usa la opcin -Pqueue para especificar el nombre de la cola

$ lpr -PHP4 -#5 resume.ps


$ lpq
lp is ready and printing
Rank Owner Job Files Total Size
active joe 87 (standard input) 16373 bytes
$ lprm 87
cfA087localhost.localdomain dequeued

UTILIDADES DE CONVERSION DE FORMATOS


Las aplicaciones UNIX generan como salida texto o Postscript
Ghostscript
Impresionante suite de utiiidades que pueden preparar la entrada para muchas
impresoras no Postcript
convierte entre Postscript y otros muchos formatos de fichero diferentes,
incluyendo otros lenguajes de impresoras (p.e. PCL)
enscript Convierte texto a Postscript
mpage Formatea l a salida para imprimir varias pginas de un
documento en una sla

GHOSTCRIPT
Se puede llamar bajo demanda por
lpd
LPRng
CUPS para imprimir a impresoras no Postcript
Utilidades Ghostscript
ps2ascii convierte Postscript a ASCII
ps2pdf convierte Postscript a Portable Document Format (PDF)
ps2ps Postscript distiller genera un fichero Postscript ms simple y usualmente
ms fcil de imprimir
also includes ascii2ps and pdf2ps

ENSCRIPT Y MPAGE
enscript
Convierte texto o STDIN a Postscript y lo manda a la impresora o a un fichero
Muchas opciones disponibles para configurar la salida
Util para enviar la salida de comandos a la impresora

mpage
Imprime ficheros con el texto reducido de tamao de tal forma que varias pginas
aparecen en una sla
La entrada puede ser texto o Postscript
Util para ahorrar papel

enscript [options] filename

-P printer selecciona una impresora que no es la por defecto


-t title especifica un titulo para la impresin
-n num numero de copias a imprimir
-r imprime en apaisado en lugar del por defecto vertical
-o file saca a un fichero en lugar de a la impresora por defecto
mpage [options] filename
-4 imprime 4 pginas por hoja, es el por defecto
-8 imprime 8 pginas por hoja
-6 imprime 6 pginas por hoja
-2 imprime 2 pginas por hoja
-t alterna la impresin a ambas caras de papel (modo duplex) Por defecto
est en off
-r Imprime al revs el orden en que las pginas se imprimen
-l imprime en apaisado (horizonal) en lugar del vertical por defecto

CAPITULO 16 EL SECURE SHELL (SSH)


Secure Shell
Reemplaza a las utilidades que no usan encriptacin
rlogin, rsh and telnet
rexec
rcp
Automatiza la autenticacin X11
Soporta tunneling de otros protocolos como
POP, IMAP
HTTP
PPP
Soporta claves RSA/DSA de usuario para hacer logins sin passwords

LA CONFIGURACION DE ssh y sshd


Cliente Secure Shell ssh
/etc/ssh/ssh_config
./.ssh/config
./.ssh/id_*
./.ssh/known_hosts
El demonio de servidor sshd
/etc/ssh/sshd_config
/etc/ssh/ssh_host_*key*

Opciones de configuracin importantes de sshd_config


AllowUsers ) Si se especifica, el login usando SSH slo se permite a los
usuarios que hay en una lista separada por espacios
PasswordAuthentication ) Especifica si la autenticacin por password
se permite
PermitRootLogin ) Especifica si root puede entrar usando SSH
Protocol ) Especifica las versiones de protocolo que sshd soporta
PubkeyAuthentication ) Especifica si la autenticacin de clave pblica
se permite
X11Forwarding ) Especifica si X11 forwarding se permite

ACCEDIENDO A SHELLS REMOTOS


Logins encriptados
ssh [user@]host login interactivo remoto
ssh [user@]host command ejecucin de comandos remoto no interactivo
Secuencias de Escape
~.
~?

$ ssh server1
(hace el ssh con el usuario que ejecuta el comando que
ejecuta ssh)
Para especificar nombre de usuario, usa la opcin -l o lo siguiente:

$ ssh bob@server1
Ejecucin de comandos
$ ssh root@server1 /etc/init.d/httpd restart
root@server1s password: password
Shutting down httpd: [ OK ]
Starting httpd: [ OK ]

TRANSFIRIENDO FICHEROS
Transferencia de ficheros encriptados
sftp transferencia de fichero interactiva
scp transferencia de fichero no interactiva
INTERACTIVA

$ sftp guru@station2
Connecting to station2...
guru@station2s password: work
sftp>
El prompt sftp> soporta todos los comandos tpicos usados por los clientes
FTP a los que reeemplaza (cd, ls, get, put, etc.); usa el comando help
para una lista completa de comandos.
NO INTERACTIVA

$ scp localfile guru@station1:/tmp/remotefile


guru@station1s password: password ENTER
localfile 100% |******************| 2432 00:00
$ scp guru@station1:/tmp/remotefile /tmp/localfile
guru@station1s password: password ENTER
remotefile 100% |******************| 2432 00:00
$ scp guru@station1:/tmp/remotefile root@station2:/tmp
guru@station1s password: password ENTER
root@station2s password: password ENTER
remotefile 100% |******************| 2432 00:00

CLIENTES sftp ALTERNATIVOS


Interfaces sftp en modo comando
lftp
mc

Interfaz grfico sftp


konqueror
nautilus

$ lftp sftp://user@example.com/home/user/
$ mc /#sh:user@example.com/tmp

GESTION DE CLAVES SSH


Posibilita logins sin password a mquinas
Los usuarios finales pueden generar los pares clave pblica/clave privada
En RSA1 (SSH version 1), o formato RSA / DSA (SSH version 2)
El usuario final coloca la clave pblica en el servidor(es) SSH remoto y
mantiene la clave privada en su estacin de trabajo private key on primary
workstation(s)
La clave privada se debe encriptar con una frase de paso (passphrase)

El programa ssh-keygen lo ejecuta el usuario final para crear los pares


clave pblica/clave privada

[bob@host1]$ ssh-keygen -t dsa


. . . output omitted . . .
[bob@host1]$ scp ./.ssh/id_dsa.puba
bob@host2:./.ssh/bob@host1-id_dsa.pub
. . . output omitted . . .
[bob@host1]$ ssh bob@host2
[bob@host2]$ cd .ssh/
[bob@host2]$ cat bob@host1-id_dsa.pub >> authorized_keys

ssh-agent
Con las claves pblicas distribuidas, el usuario entra en el sistema remoto
proveyendo una frase de paso (passphrase) para desbloquear la clave
privada
El ssh-agent es un demonio que est corriendo que cachea las claves
privadas desencriptadas en memoria
ssh-add se usa para aadir nuevas claves para ser cacheadas
ssh/sftp/scp usarn automticamente claves de ssh-agent
Se arranca automticamente al hacer login en cualquier entorno de
escritorio grfico soportado
Lanzando el agente manualmente

$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-XYLkpJS/agent.22711;
export SSH_AUTH_SOCK;
SSH_AGENT_PID=22711; export SSH_AGENT_PID;
echo Agent pid 22712;
Para tener esta salida procesada por la shell, se suele aadir esta linea en el
fichero ./.bash_profile

eval `ssh-agent`

Una vez que el demonio ssh-agent se lanza, est preparado para cachear
claves privadas. ssh-add se usa para aadir claves a ssh-agent. Por
ejemplo:

$ ssh-add ./.ssh/id_dsa

CAPITULO 17 MONTANDO SISTEMAS DE


FICHEROS Y GESTIONANDO MEDIOS
REMOVIBLES
CONCEPTO DE SISTEMA DE FICHEROS
Unix (y Linux) usan un sistema de ficheros basado en root /
Si quieres usar sistemas de ficheros adicionales, estos se deben monar en
el sistema de ficheros root
Se pueden montar tanto sistemas de ficheros locales como remotos (p.e..
NFS, SMB, etc.)
Los sistemas de ficheros Unix tradicionales tienen muchos sistemas de
ficheros:
/, /tmp/, /home/, etc.

MONTANDO SISTEMAS DE FICHEROS


Montando sistemas de ficheros con el comando mount
mount [-t type] [-o option[,option[,...]]] [device] [dir]
busca el fichero /etc/fstab para buscar los parmetros que faltan si se
suministra slo con device o dir
mount sin parmetros para listar los sistemas de ficheros actualmente
montados
Para desmontar los sistemas de ficheros que no estn actualmente en uso
con
umount [device|dir]

# mount -t ext2 /dev/sda10 /mnt/tmp


# mount /mnt/tmp (busca en /etc/fstab el resto de opciones)
$ mount
/dev/sda5 on / type ext2 (rw)
/dev/sda1 on /boot type ext2 (rw)
. . . snip . . .
# umount /mnt/tmp

NFS
El Network Filesystem (NFS) es el mtodo de compartir ficheros nativo de
UNIX
Desarrollado por Sun Microsystems
Los servidores NFS servers exportan directorios
Las mquinas cliente montan exportaciones de NFS y las aplicaciones locales y
usuarios acceden a los ficheros como si fueran locales
Los valores por defecto son conservadores; se pueden tunear para tener mucho
ms rendimiento.

# mount -t nfs server:/exported/filesystem mountpoint


# mount -t nfs gumbo:/export/website /mnt/www/
# mount -t nfs -o wsize=8192,rsize=8192
gumbo:/export/website /mnt/www/
Para determinar qu exportaciones tiene disponibles un servidor NFS , usa el
comando:

# showmount -e server_name

SMB (SAMBA)
SMB es el protocolo de compartimiento de ficheros nativo de Microsoft
Windows y otras muchas plataformas
Desarrollado por IBM originalmente
SMB is sinnimo de CIFS
Los servidores comparten directorios, impresoras, usuarios y cualquier otra
informacin
Las mquinas clientes pueden visualizar ficheros compartidos e impresoras,
accediendo a ellas como si fuesen recursos locales.
Dos clientes Linux
smbclient
Monta shares de red smbfs o cifs

SMB

$ smbclient //mooru/fonts -U lptrsn


Password: password
Domain=[GURULABS] OS=[Unix] Server=[Samba 3.0.20]
smb: \>
En este prompt smb:\> el comando cd se puede usar para cambiar

directorios y el comando ls se puede usar para visualizar contenidos de


directorios can be used to change
directories and the ls command can be used to display directory
contents, mientras que el comando get se puede usar para descargar
ficheros y el comando put para subirlos

LA TABLA DE SISTEMAS DE FICHEROS (/etc/fstab)


Contiene informacin sobre los sistemas de ficheros
Qu sistemas de ficheros montar y cundo
El orden es importante
Un sistema de ficheros por lnea
Opciones para montar cada sistema de ficheros
Se usa para montar sistemas de ficheros en el arranque (auto vs. noauto)
Requiere acceso de root a no ser que se usen las opciones user or users

AutoFS
Montaje automatizado de sistemas de ficheros bajo demanda
usuarios sin privilegios pueden lanzar el montaje
se desmonta automticamente cuando ya no se usa
Kernel driver ms un demonio de espacio de usuario (userspace)

autofs (modulo del kernel) ) monitoriza directorios especficos en el

sistema de ficheros detectando intentos de acceso a esos directorios. Este


driver de dispositivo seala al espacio de usuario automount cuando esos
directorios se acceden, y por tanto se pueden montar, o cuando los
directorios ya no se acceden, y por tanto se pueden desmontar.

automount (userspace daemon) ) cuando es sealado por el driver del


kernel, ejecuta el comando mount para montar cualquier sistema de
ficheros que podrqa montarse en el directorio indicado, o el comando
umount para desmontar sistemas de ficheros que ya no se usan.
Comportamiento de mapeos directos vs indirectos

Con mapeos directos, ejecutando el comando ls en el directorio padre


mostrar una entrada en un contenedor de directorios para ese mapeo. Los
metadatos de ese directorio (permisos, propietario, etc) no son los
metadatos del sistema de ficheros destino, hasta que sistema de ficheros
especificado se monte con automount
.
Con mapeos indirectos (ms comn), un usuario que accede el directorio
controlado por AutoFS (como el comando ls ) no ver los puntos de montaje
definidos. El directorio aparecer inicialmente vaco. Slo cuando un proceso
intenta conmutar a un subdirectorio que se corresponde con el fichero de
mapeos de AutoFS se crear una entrada y el sistema de ficheros
configurado se montar

MEDIOS REMOVIBLES
Se deben montar antes de usar
Se deben desmontar antes de quitar
cuando sea posible, el sistema intentar forzar el desmontaje para prevenir el
quitado del medio removible
Usa fuser para localizar los procesos que acceden al sistema de ficheros
GNOME y KDE automontan dispositivos removibles (CDs, DVDs,
Discos USB, etc.)

Para listar por PID todos los procesos que estn accediendo al sistema de

$ fuser -m /filesystem/
Aade la opcin -k para tambin matar todos esos procesos. El comando
lsof se puede usar tambin para identificar al culpable(s)

CAPITULO 18 CONSIDERACIONES DE
PREINSTALACION
CONSIDERACIONES DE PREINSTALACION
Es el hardware compatible?
El sistema requerir arranque dual?
Qu cargador de arranque (boot loader) se va a usar?
LILO, NT Loader, GRUB, etc.
Qu esquema de particionamiento o de LVM se usar?
Hay que redimiensionar las particiones existentes? RAID?
Qu sistemas de ficheros vamos a usar?
Cul es la funcin primaria de este sistema?What is the expected primary
role of this system?
Consideraciones de ciclo de vida: 10 aos
7 aos de ciclo de vida, ms otros 3 aos de ciclo de vida extendido

COMPATIBILIDAD HARDWARE
Linux debera ser compatible con la mayor parte del hardware
Hardware potencialmente problemtico
Hardware extremadamente nuevo

Componentes de porttil propietarios

ARRANQUE MULTI SISTEMA OPERATIVO


Considera la poarticin de Sistema Operativo y las limitaciones del disco
Considera la posible comparticin de particiones
swap
data
Considera hacer backup del master boot record (MBR)
Backup

# dd if=/dev/hda of=MBR bs=512 count=1


Restore
# dd if=MBR of=/dev/hda bs=512 count=1

CONSIDERACIONES DE LAS PARTICIONES


Estructura de la tabla
Particiones Primarias (max de 4)
Particion Extendida (max de 1)
generalmente llena el resto del disco
contiene Particiones Lgicas
El nmero max de particiones limitado por el kernel y las herramientas de
particionamiento
32bit LBA limita el tamao mximo de disco a 2TB
Estructura de la tabla GPT
128 particiones
No hay particiones lgicas ni extendidas
Estructuras crticas duplicadas y CRC calculado
64bit LBA limita el tamao de disco a 9.4 billion TB

PLANIFICACION DEL SISTEMA DE FICHEROS


La estructura del sistema de ficheros apropiada depende de la funcin de
la mquina
Slo es necesario estrictamente un sistema de ficheros root filesystem (/)
Mnimas Particiones Tpicas: /boot/, /, and swap.
Sistemas de ficheros adicionales comunes
/var/ Este directorio contiene los logs, ficheros de mail y otros datos varios
/tmp/ Espacio para los ficheros temporales
/usr/ Programas binarios
/home/ home directories de los usuarios
/opt/ Programas binarios adicionales (normalmente de terceras partes)

SELECCION DEL SISTEMA DE FICHEROS


Linux soporta varios sistemas de ficheros con journaling (log de
transaciones)
Extended Filesystem: Ext2 (no journal), Ext3, and Ext4 (El por defecto de Linux )
XFS SGI's journaling filesystem
Provee de funcionalidades avanzadas como la garanta de ancho de banda

CAPITULO 19. INSTALACION DE RHEL


EL INSTALADOR Anaconda:
Instalador para Red Hat Enterprise Linux
Tiene multiples modos

Instalacin (Install)
Actualizacin (Upgrade)
Reescate (Rescue)
Componentes mltiples
Arranque del sistema
Carga de anaconda
Configuracin del sistema
Descarga de paquetes
Documentacin

ANACONDA: ARRANCANDO EL SISTEMA


Problemas de hardware
IA-32 o Amd64/Intel64
BIOS o UEFI
Mtodos de arranque
CD/DVD

Aparte del DVD de instalacin estandar, un Recovery CD sin el arbol de


instalacin tambin est disponible en esta ubicacin del DVD:

images/boot.iso

installation tree is available


USB

En sistemas basados en BIOS, tanto el DVD de instalacin completo como


el Recovery CD (boot.iso) se pueden copiar directamente a un disco USB
PXE
Arranque de red. presionando F12 en el ordenador
Hard drive

Anaconda: OPCIONES COMUNES DE ARRANQUE


Argumentos de Kernel
Opciones de Anaconda
rescue arrancar anaconda en modo rescate en lugar de modo instalacin
text usar el interfaz de texto en lugar del grfico
vnc en lugar de utilizar la tarjeta grfica, utilizar un servidor VNC
askmethod usar otra fuente de instalacin que no es la de por defecto
repo= usar anaconda desde una fuente alternativa, como un USB o un servidor
de red
ks= cargar el script de instalacin para instalacin automatizada

Fuente del Kickstart Option format


disco DVD ks=cdrom:/directory/ks.cfg
Disco Duro ks=hd:/device/directory/ks.cfg
Otro dispositivo ks=file:/device/directory/ks.cfg
servidor HTTP ks=http://domain/directory/ks.cfg
servidor FTP ks=ftp://domain/directory/ks.cfg
servidor NFS ks=nfs:server:/directory/ks.cfg

Anaconda: CARGANDO ANACONDA Y LOS PAQUETES


DVD
USB/HD

Cuatro sistemas de ficheros estn soportados cuando se instala desde USB


o disco duro: Ext2, Ext3, Ext4, and VFAT. LVM and RAID no se soportan
Basada en Arbol
NFS/FTP/HTTP

Para instlaciones basads en rbol, el contenido integro del DVD de


instalacin se copia en un directorio. Por ejemplo:

# mount /dev/dvd /mnt


# cp -dRp /mnt /export/RHEL6

Para instalar desde USB o disco duro, el formato de la opcin repo es


repo=hd:dev:/path. Por ejemplo: repo=hd:sdb1:/RHEL6
Para instalar desde NFS, el formato de la opcin repo es
repo=nfs:server:/path. Por ejemplo:

repo=nfs:server1.example.com:/export/RHEL6
Para instalar desde FTP o HTTP, el formato de la opcin repo es
repo=URL. For example: repo=ftp://server1.example.com/RHEL6
or

repo=http://server1.example.com/RHEL6
Basada en ISO

Para instalaciones basadas en ISO, en lugar de expandir el DVD de


instalacin entero se usa la imagen ISO original Sin embargo, el fichero

images/install.img

se debe extraer Por ejemplo:

#
#
#
#
#

mkdir -p /export/RHEL6/images/
mv RHEL6.iso /export/RHEL6/
mount -o loop,ro /export/RHEL6/RHEL6.iso /mnt
cp /mnt/images/install.img /export/RHEL6/images/
umount /mnt
Para instalar desde USB o disco duro, el formato de la opcin repo es
repo=hd:dev:/path. Por ejemplo: repo=hd:sdb1:/RHEL6
Para instalar desde NFS, el formato de la opcin repo es
repo=nfsiso:server:/path. Por ejemplo:
repo=nfsiso:server1.example.com:/export/RHEL6
USB/HD
NFS

Anaconda: OPCIONES DE ALMACENAMIENTO


Dispositivos
Discos locales
Firmware RAID
Dispositivos SAN y multipath
iSCSI y FCoE
Formatos
Software RAID
LVM
LUKS

Anaconda: SOLUCION DE PROBLEMAS


Logging
Actualizaciones de Anaconda
Compatibilidad de Hardware

Algunos mensajes se envan slo a los terminales (VTs); se puede acceder a


ellos usando combinacines de teclas (p.e. Ctrl Alt F2).
VT # Descripcin del fichero de log
VT 2 n/a Shell Prompt
VT 3 /tmp/anaconda.log mensajes de log desde Anaconda

VT 4 /tmp/syslog Mensajes de log enviados a syslog desde varios

programas
VT 5 /tmp/X.log Salida de diagnsticos desde el servidor X
VT 5 /tmp/program.log Comandos ejecutados por Anaconda y su
salida
n/a /tmp/storage.log Mensajes de log de almacenamiento desde
Anaconda
n/a /tmp/yum.log Salida de diagnsticos desde YUM

Primer Arranque
Despus de que la instalacin se ha completado, si el sistema necesita
ciertos requerimientos, una utilidad grfica llamada FirstBoot se ejecutar
La ejecucin de FirstBoot no es absolutamente necesaria, porque
herramientas de configuracin alternativa se pueden usar para configurar
dichas cosas, como
Subscribirse a RHN rhn_register rhnreg_ks
Crear un usuario no root system-config-users
Configurar la autenticacin de usuario system-config-authentication
Configurar el reloj de sistema clock system-config-date
Configurar kdump system-config-kdump
Requiremientos
Entorno de instalacin grfica
Arranca en el runlevel 5

(1) Eligiendo las opciones de arranque en el menu ISOLINUX:

(2) Bienvenidos a Anaconda:

(3) Eligiendo el lenguaje por defecto de la instalacin del sistema

(4) Eligiendo la disposicin de teclado para el sistema

(5) Eligiendo qu dispositivo de almacenamiento usar en la instalacin

(6 - solo se muestra si se detecta una instalacin previa. Se elige instalar o


actualizar:

(7 - solo se muestra si se ha habilitado previamente)


Escogiendo dispositivos de almacenamiento especializados:

(8) Escogiendo el hostname:

(9 - slo se muestra si est habilitada pinchando en "Configurar red" )


Escogiendo una configuracin de red:

(10) Escogiendo una zona horaria el tipo de reloj hardware

(11) Escogiendo una password para root:

(12) Escogiendo cunto disco usar:

(13) Escogiendo cmo formatear el almacenamiento:

(14) Escogiendo la configuracin del gestor de arranque:

(15) Escogiendo los paquetes de instalacin:

(16) Escogiendo los grupos de paquetes y paquetes individuales:

(17) Instalando el sistema:

(18) Instalacin acabada:

(1) Bienvenidos al FirstBoot:

(2) Leer la licencia de Red Hat Enterprise Linux:

(3) Registrndose en Red Hat Network:

(4) Creando una cuenta de usuario no root y configurando la autenticacin


en el sistema:

(5) Configurando el reloj de sistema

(6) Configurando Kdump::

Potrebbero piacerti anche