Fundamentos de Linux
Fundamentos de Linux
Fundamentos de Linux
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 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 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 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
-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
Ayuda grfica
Comando yelp en GNOME
Comando khelpercenter en KDE
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)
$
$
$
$
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.
MANIPULACION DE FICHEROS
Comandos de manipulacin estndar
cp copia ficheros y directorios
$ ln -s /usr/local/originalfile /home/foo/symlink
$ ls -li /usr/local/originalfile /home/foo/symlink
3140363 /usr/local/originalfile
3140698 /home/foo/symlink
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
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 <
$ ls -al | less
Un ejemplo ms complicado:
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}}/
\ ? ( ) $ ... * % {} []
$ NAME=Bailey
$ echo "My name is <*$NAME*>"
My name is <*Bailey*>
Comillas simples (Single Quotes)
My name is <*$NAME*>
ANIDANDO COMANDOS
Substitucin de commandos
$ startx; logout
Para meter comandos en varias lneas
Uso especial de la barra invertida (\) para hacer que un comando se expanda en
varias lineas
-z ) gzip compression
-j ) bzip2 compression
-J ) xz compression
Ms opciones
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
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
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
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
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:
Imprime los nombres de los usuarios (campo uno) para cada linea que
acaba con la cadena bash:
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 -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
$ 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
$ cat
ABC
$ cat
one
two
three
$ cat
123
$ cat
ABC
one
two
three
12
file1
file2
file3
file1 file2 file3
El ejemplo de abajo devuelve cada linea que tiene al menos una letra
mayscula en la lnea:
* 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
Por ejemplo, la siguiente Expresion Regular que se usa con grep devolver
todas las lineas que contiene tanto el string dog como cat
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
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!
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
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
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
IDENTIFICANDO LA SHELL
El nombre por defecto de la shell se almacena en la variable de entorno
$SHELL
Identificando la shell::
$ echo $SHELL
$ ps f
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
/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
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
$ PS1="$(hostname) $ "
homer $ export PS1
$ 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)
$ history
$ !!
Ejecuta el ultimo commando que empiece con xy
$ !xy
Ejecutar un commando encontrado en un numero de linea del history :
$ !42
man bash
para ms detalles
El commando fc (Fix Command) se puede usar para bsquedas avanzadas
y edicin:
$ fc -1 -5
$ set -o vi
$ set -o emacs
Las configuraciones en modo vi o emacs se pueden ver fcilmente y
modificarlas
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 ~
$ 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 $
#!/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 #
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
Fichero: variable.sh
#!/bin/sh
echo "The
echo "The
echo "The
echo "The
echo "The
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 -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
$ 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
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
$ 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
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
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
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
$ man screen
Ctrl z
USANDO screen
Starting screen
Commands
Detaching and re-attaching to sessions
Session basics
$ 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
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
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)
less
elinks Navegador web en modo consola moderno
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 . . .
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
+ [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
$ 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
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
sendmail -t
Fichero: /tmp/jon-message
From: bob@secret.gov
To: jon@email.com
Subject: How are you?
+
+ 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
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
$ mutt -f imaps://madams@mail.example.com/
Enviando correo con mutt
EVOLUTION
Suite grafica de Linux clon de Outlook Graphical
Correo
Calendario
Contactos
Sincronizacin con PDAs
CAPITULO 15 IMPRESIN
SUBSISTEMAS DE IMPRESIN EN LINUX
lpd.conf
lpd.perms.
Fichero: /etc/printcap
lp:\
:sd=/var/spool/lpd/lp0:\
:mx#0:\
:sh:\
:lp=/dev/lp0:
http://localhost:631/
lpadmin
system-config-printer
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
$ 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
$ lftp sftp://user@example.com/home/user/
$ mc /#sh:user@example.com/tmp
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
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.
# 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
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)
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
Instalacin (Install)
Actualizacin (Upgrade)
Reescate (Rescue)
Componentes mltiples
Arranque del sistema
Carga de anaconda
Configuracin del sistema
Descarga de paquetes
Documentacin
images/boot.iso
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
images/install.img
#
#
#
#
#
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
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