Вы находитесь на странице: 1из 69

ept

SOPORTE TÉCNICO

Enero, 2008

1
INDICE DE CONTENIDO

INTRODUCCIÓN........................................................................................................................5
OBJETIVO GENERAL................................................................................................................6
OBJETIVOS ESPECÍFICOS......................................................................................................6
INSTALACIÓN DE DEBIAN ETCH ............................................................................................7
Instalación del Sistema Operativo...............................................................
............7
Instalación de los Paquetes Base..........................................................................21
COMANDOS BÁSICOS LINUX................................................................................................23
MANEJANDO ARCHIVOS Y DIRECTORIOS.........................................................................26
Comando ls......................................................................................................
......26
Comando cat.............................................................................
............................26
Comando grep.....................................................................................
..................27
Comando more....................................................................................
..................28
Comando cp.......................................................................
...................................28
Comandos du, df -h, fdisk -l...............................................................................
....29
Comando rm.............................................................................................
.............29
Comando mv..............................................................................
...........................29
Comando pwd.....................................................................................................
...29
Comando cd .........................................................................30
Comando mkdir................................................................................
.....................30
Comando rmdir................................................................................................
......30
Comando gzip....................................................................................................
....30
Comando tar..................................................................................................
........31
Comando gunzip.................................................................................................
...32
Comando mount......................................................................................
..............32
Comando fsck...........................................................................................
.............33
Comando ln.............................................................................
..............................33
MANEJO DE USUARIOS.........................................................................................................35

2
Comando who...................................................................................................
.....35
Comando finger......................................................................................
...............35
Comado adduser.....................................................................
..............................35
Comando deluser................................................................
..................................36
Comando passwd....................................................................
..............................36
MANEJO DE GRUPOS.............................................................................................................36
Comando addgroup.............................................................................
..................36
Comando delgroup.........................................................................
.......................37
Añadiendo y Eliminando usuarios de los grupos...................................................37
PERMISOS DE ARCHIVOS.....................................................................................................38
Tipos de Usuarios...................................................................
...............................38
Comando chmod..................................................................
.................................38
Comando chown......................................................................................
..............40
Comando chgrp...............................................................................
......................41
MANEJO DE REDES................................................................................................................41
Comando ping..........................................................................
.............................41
Comando netstat....................................................................................
...............41
Comando nmap..............................................................................
.......................41
Comando route..........................................................................................
............41
Comando ifconfig..............................................................
....................................42
Comandos ifup e ifdown.......................................................................
.................42
INSTALANDO PAQUETES.......................................................................................................43
aptitude............................................................................................
.....................43
dpkg.......................................................................................................................
45
NETWORK FILE SYSTEM (NFS).............................................................................................46
ARRANQUE DEL SISTEMA.....................................................................................................47
El Gestor de Arranque ...............................................................
...........................48
Proceso init y runlevels.......................................................................................
...48
PARADA DEL SISTEMA...........................................................................................................50
ESTRUCTURA DE DIRECTORIOS LINUX..............................................................................50

3
CONFIGURACIÓN DE IMPRESORAS....................................................................................53
Método Tradicional: lpr/lpd....................................................................................53
Cups.................................................................................
.....................................53
INSTALANDO NUEVOS MÓDULOS .......................................................................................55
COMPILANDO UN NUEVO KERNEL......................................................................................56
Obteniendo y desempaquetando los fuentes........................................................57
Compilando el kernel..................................................................................
...........57
Instalando el nuevo kernel....................................................................................58
Compilando e instalando los nuevos módulos del kernel......................................59
DOCUMENTOS DE ESTÁNDARES.........................................................................................59
DOCUMENTACIÓN DEL SISTEMA EN LÍNEA........................................................................62
EJERCICIOS.............................................................................................................................63
Ejercicio Uno..............................................................................................
............63
Ejercicio Dos......................................................................................
....................63
Ejercicio Tres...............................................................................................
...........64
Ejercicio Cuatro................................................................
.....................................64
Ejercicio Cinco..........................................................................
.............................65
Ejercicio Seis.......................................................................................................
...66
Ejercicio Siete....................................................................................
....................66
Ejercicio Ocho.........................................................................................
...............67
Ejercicio Nueve.......................................................................................
...............68
ENLACES DE INTERÉS...........................................................................................................69

4
INTRODUCCIÓN

Los profundos cambios sociales exigen a los ciudadanos el aprendizaje de toda una serie de
herramientas básicas indispensables para desenvolverse en la nueva sociedad, la Sociedad
de la Información. El Sistema Operativo GNU/Linux ha tenido un gran auge en los últimos
años y cada vez son más las personas que optan por este sistema como herramienta de
trabajo para llevar a cabo su labor diaria.

El módulo de Soporte Técnico tiene como propósito preparar a los participantes para que
respondan a los retos que han de enfrentar al instalar y manejar el Sistema Operativo
GNU/Linux Debian Etch y sus aplicaciones, proporcionándoles las herramientas y
generándoles un sentido de análisis y creatividad para que puedan actuar adecuadamente
ante las diversas situaciones en su trabajo diario.

Con el uso de esta herramienta se promueve el acceso y la apropiación de la cultura


tecnológica requerida por la sociedad para llevar a cabo los grandes cambios que demanda
el país.

5
OBJETIVO GENERAL
Capacitar al participante en la instalación y manejo del Sistema Operativo GNU/Linux Debian
Etch.

OBJETIVOS ESPECÍFICOS

Al finalizar el curso el participante estará en la capacidad de:

 Instalar el Sistema Operativo GNU/LINUX Debian Etch.

 Especificar los componentes del kernel del sistema operativo GNU/LINUX.

 Manejar la estructura de archivos y directorios.

 Manejar la interfaz de usuario Gráficos y el shell de comandos.

 Emplear las formas de encontrar ayuda en el sistema operativo.

 Aplicar comandos del sistema operativo para el uso eficiente del mismo.

6
INSTALACIÓN DE DEBIAN ETCH

Instalación del Sistema Operativo

 Bootear con el CD Debian Etch Net-Install.

 Para descargar la última versión la puede obtener a través del siguiente link:
http://www.us.debian.org/CD/

 Escribir en la pantalla de inicio “installgui” (Instalación Guiada) y presionar la tecla


Enter para continuar.

 Seleccionar el idioma “Español” y presionar Continuar

En la siguiente pantalla se debe seleccionar el país “Venezuela” y presionar Continuar

7
 Elija la distribución del teclado “Latinoamericano” y presionar Continuar

A partir de ese momento la instalación procede a cargar los componentes desde la RED

8
En este punto la instalación se detiene para colocar un nombre a la máquina, luego de
colocarlo se debe presionar Continuar.

Si se requiere ingresar el equipo a un dominio se ingresa en la pantalla siguiente y luego se


presiona Continuar.

A continuación viene el particionado del disco, “Seleccionar Manual” y presionar Continuar.

9
Cuando se le solicite ¿Crear una nueva tabla de particiones vacias en este dispositivo?,
seleccionamos la opción “Si” y presionamos Continuar.

Luego se presiona Continuar nuevamente

Cuando se le solicite, seleccionamos --> pri/log Espacio Libre

En este caso se asume que el disco donde se va a realizar la instalación es de una sola
partición y no contiene datos. Luego se presiona Continuar

10
Se recomienda crear tres particiones:

 Una partición swap con un tamaño equivalente al doble de la memoria RAM. Por
ejemplo: Si se tiene 512 de memoria RAM crearemos una partición swap de 1 Gb,
puede ser extendida o primaria.

 Una partición ext3 de 10 Gb, por lo menos donde será montado el sistema de fichero
raíz ( / ).

 Una partición ext3 con el resto del disco donde estará montado: /home.

Para crear cada una de estas particiones, observe en la siguiente pantalla donde
seleccionamos la primera opción “Crear una partición nueva” y presionamos Continuar.

A continuación, se ingresa el tamaño que se requiera para la partición en este caso la swap y

11
se presiona Continuar.

Seleccionamos el tipo de partición “Primaria o Lógica”, en este caso las tres particiones la
crearemos primaria y presionamos Continuar.

Seleccionamos la ubicación de la nueva partición “Principio ó Final”, en este caso las 3


particiones las colocaremos al Principio y presionamos Continuar.

12
Cuando se le solicite cómo desea usar esa partición, seleccionamos “área de intercambio”
y presionamos Continuar.

Luego seleccionamos “Se ha terminado de definir la partición” y presionamos Continuar.

13
Se puede observar la partición ya creada.

Es importante destacar que con el espacio libre que queda creamos las otras dos particiones,
realizando igual los pasos anteriores con la salvedad de crear el tamaño de la partición de 10
Gb y el punto de montaje que sería ( / ) luego, se presiona Continuar.

14
Seleccionamos “Se ha terminado de definir la partición” y se presiona Continuar.

Para la última partición se tomará el resto del espacio libre, realizando igual los pasos
anteriores con la salvedad de crearla en el punto de montaje /home luego seleccionamos
“Se ha terminado de definir la partición” y presionamos Continuar.

Una vez definidas las particiones se selecciona la opción “Finalizar el particionado y


escribir los cambios en el disco” y se presiona Continuar.

15
Cuando el proceso pregunte, ¿Deseamos escribir los cambios en el disco?, seleccionamos
la opción “Sí” y presionamos Continuar.

Luego, configuramos la zona horaria que el sistema debería detectar automáticamente en


nuestro caso América/Caracas, en caso contrario lo seleccionamos de la lista que se nos
presente en pantalla y presionamos Continuar.

16
En las siguientes pantallas se realiza la Configuración de usuario y contraseña, coloque un
nombre de usuario y una clave, según le vaya indicando el sistema, primero una clave para
el superusuario o root, y luego un usuario y una contraseña para poder iniciar una sesion de
usuario normal y luego presione Continuar.

17
Cuando se hayan establecido el usuario y contraseña, empieza la instalación del sistema
base, como se muestra en la siguiente figura.

A continuación se procede a configurar el gestor de paquetes, cuando se le solicite si desea


utilizar una réplica en red, seleccionamos la opción “Sí” y presionamos Continuar.

18
En la siguiente pantalla se recomienda seleccionar la opción “Brasil” y presionar Continuar.

Se pueden observar los servidores que se muestran, se debe seleccionar uno y presionar
Continuar.

19
A continuación seleccionamos los programas a instalar, se dejan las opciones que por
defecto se encuentran tildadas, en caso contrario se debe seleccionar “Entorno de
escritorio” y Sistema estándar.

En caso de que el equipo sea un portátil, adicionalmente tildamos la opción “Ordenador


portátil” y presionamos Continuar.

20
Por último esperamos a que se termine la instalación de los paquetes.

Instalación de los Paquetes Base

Luego de la instalación del Sistema Operativo Debian Etch, se procede a la instalación de los
siguientes paquetes:

 debcentral (Automatix de debian) este se descarga del siguiente link


http://debcentral.org/downloads/apps/dcconfig_0.4-3_i386.deb y se procede a la
instalación. Luego nos situamos como root, para ello realice los siguientes pasos:

$su -

password:(contraseña de root)

# dpkg -i dcconfig_0.4-3_i386.deb

Esto permite que se instalen todos los codec multimedia y funcionalidades de Java, Acrobat
Reader, Firefox Plugins, Fuentes, Descompresores de archivos.

 Instalación de Flash Player para Iceweasel

Nos situamos como root, para ello realice lo siguiente:

$su -

password:(contraseña de root)

# apt-get install flashplugin-nonfree

 Instalación de módulos y headers para compilar

Nos situamos como root, para ello realice los siguientes pasos:

$su -

password:(contraseña de root)

# aptitude install module-assistant

# module-assistant prepare

En esta ocasión el sistema irá realizando una serie de preguntas a las cuales debes

21
responder Si.

 WIFI (para laptops vit M1700 y HP nx6120)

Igualmente nos situamos como root

$su -

password:(contraseña de root)

# apt-get install wireless-tools

Es importante destacar que la controladora es la versión ipw2200BG. La instalación no la


detecta porque es necesario instalar un firmware aparte. La configuración consiste en instalar
las wireless-tools para disponer el sistema con herramientas para manejo de tarjetas WIFI.

Un módulo del kernel para la tarjeta WIFI en sí --> Concretamente hay que cargar el
ipw2200. Este driver no hace falta descargarlo y recompilarlo si no se quiere, pues desde
hace un tiempo, pasó a formar parte de la distribución vanilla del kernel y estará disponible
con activarlo en la configuración de nuestro kernel (también está por defecto en los kernels
Debian precompilados).

# modprobe ipw2200

El firmware de la tarjeta WIFI --> Cada vez que la tarjeta de red inalámbrica se inicia,
necesita cargar un pequeño programa donde están algunas de sus instrucciones internas y
las interfaces mediante las cuales los programas que la usen pueden indicarle lo que quieren
de ella (conectarse a tal o cual AP, usar tal o cual encriptación, entre otras). Este software
está disponible en: http://ipw2200.sourceforge.net/firmware.php

Se debe descargar el más actualizado para nuestra versión del driver anterior. Podemos
conocer la versión ejecutando: modinfo ipw2200. Una vez tengamos el archivo .tar.gz, lo
descomprimimos y copiamos los archivos con extensión .fw al directorio
/usr/lib/hotplug/firmware/, en esta ocasión realice los siguientes pasos:

# tar xvzf ipw2200-fw-3.0.tgz

# cd ipw2200-fw-3.0/

# mv *.fw /usr/lib/hotplug/firmware/

22
# modprobe ipw2200

y listo!!! Ya está. Si añadimos el módulo "ipw2200" al archivo de carga de módulos


(/etc/modules) en el arranque todo el proceso será automático y dispondremos de la tarjeta
WIFI.

# vi /etc/modules

La configuración de red de la tarjeta dependerá ya de cada caso.

Es importante destacar que al intentar utilizar wpa_supplicant con esta interfaz para
autentificarse ante un AP con encriptación wpa, hay que elegir como driver "wext" y no "ipw"
sino no funciona, dando errores de "Operation non supported" al intentar autentificarse.

Colocamos los monitores de red en el panel las tarjetas eth0 y eth2 es decir te vas a la barra
y le das click derecho añadir al panel y buscas Monitor de red.

 Video Cámara

Nos situamos como root y realizamos los siguientes pasos:

$su -

password:(contraseña de root)

# aptitude install module-assistant

# module-assistant prepare

# module-assistant auto-install spca5xx

# aptitude install camorama

COMANDOS BÁSICOS LINUX

Ahora es importante conocer algunos comandos básicos, para esto pruebe los siguientes
comandos desde su cuenta de usuario:

 pwd --> muestra el nombre del directorio actual de trabajo.

 whoami --> muestra el nombre del usuario actual.

23
 file prueba --> muestra el tipo de archivo de un archivo llamado prueba.

 type -p nombre_comando --> muestra la ubicación del comando nombre_comando.

 which nombre_comando --> hace lo mismo que la instrucción anterior.

 type nombre_comando --> muestra información sobre el comando nombre_comando.

 apropos palabra_clave --> busca comandos relacionados con la palabra_clave.

 man -k palabra_clave --> hace lo mismo que la instrucción anterior.

 whatis nombre_comando --> explica en una línea el comando nombre_comando.

 man -a nombre_comando --> Explica el comando nombre_comando.

 info nombre_comando --> muestra información detallada del comando


nombre_comando.

 </etc/motd pager --> muestra el contenido de /etc/motd usando el paginador


predeterminado.

 touch prueba --> crea un archivo vacío llamado prueba.

 cp prueba_uno prueba_dos --> copia el archivo prueba_uno en un nuevo archivo


prueba_dos.

 mv prueba_uno prueba_dos --> cambia el nombre un archivo existente llamado


prueba_uno en prueba_dos

 mv origen destino/cualquiera --> mueve el archivo origen a una nueva ubicación con el
nombre destino/cualquiera. El directorio destino debe existir.

 top --> muestra información de los procesos a pantalla completa. Se debe pulsar "q"
para salir.

 ps aux | pager --> muestra información de todos los procesos que se están ejecutando
usando el estilo BSD.

 ps -ef | pager --> muestra la información de todos los procesos que se están
ejecutando usando el estilo Unix del system-V.

24
 ps aux | grep -e "[e]xim4*" --> muestra todos los procesos que ejecutan exim o exim4.

Se puede aprender sobre expresiones regulares de la página del manual grep, escribiendo
man grep.

 ps axf | pager --> muestra la información de todos los procesos ejecutándose usando
una salida ASCII.

 kill 1234 --> mata un proceso identificado por el ID: 1234.

 grep -e "patrón" *.html --> busca un "patrón" en todos los archivos que terminan en
.html situados en el directorio actual y los muestra a todos.

 zcat README.gz | pager --> muestra el contenido del archivo comprimido


README.gz usando el paginador predeterminado.

 zcat README.gz > prueba --> crea el archivo prueba con el contenido descomprimido
de README.gz

 zcat README.gz >> prueba --> agrega el contenido descomprimido de README.gz


al final del archivo prueba (si no existe, primero lo crea)

 find . -name patrón --> busca los nombres de archivo coincidentes con el patrón.
(lento)

 locate -d . patrón --> busca los nombres de archivos coincidentes con el patrón. (más
rápido si se usa la base de datos generada frecuentemente)

Se puede navegar por los distintos directorios e investigar el sistema utilizando los comandos
anteriores a modo de entrenamiento. Si se tienen dudas sobre algún comando en particular,
se puede leer la página del manual.

Por ejemplo, los siguientes comandos son un buen comienzo:

 $ man man

 $ man bash

 $ man ls

25
MANEJANDO ARCHIVOS Y DIRECTORIOS

Comando ls

Lista el contenido del directorio en el que nos encontramos. Si ponemos sólo ls se obtiene
una lista con el nombre de los archivos; si se quiere obtener más información sobre esos
archivos se utilizan las opciones del comando, cuya sintaxis general es: ls [-alsF] archivo

 -a --> lista además los archivos invisibles (es decir, los que empiezan por punto).

 -l --> muestra la siguiente información de los archivos :

 -s --> el tamaño del archivo en kilobytes (1024 bytes) precede al nombre de cada
archivo.

 -F --> Añade un / a los archivos directorios y un * a los archivos ordinarios


ejecutables.

 archivo --> Nombre de un archivo o un directorio.

Algunos Ejemplos:

 ls --> lista el contenido de un directorio (archivos comunes y directorios).

 ls -a --> lista el contenido de un directorio (todos los archivos y directorios).

 ls -A --> lista el contenido de un directorio (casi todos los archivos y directorios, es


decir, omite los ".." y ".")

 ls -la --> lista todo el contenido de un directorio con información detallada.

 ls -d --> Lista todos los directorios del directorio actual.

 lsof prueba --> muestra información sobre el archivo prueba abierto por procesos.

Comando cat

El comando cat (concatenate) se utiliza para visualizar por pantalla el contenido de uno o
más archivos. Cuando se especifica más de un archivo, cat los edita uno detrás de otro. La
sintaxis del comando es: cat [-ns] archivo(s)

 -n --> numera las líneas.

26
 -s --> elimina las líneas en blanco.

 archivo(s) --> nombre o nombres de los archivos que se van a editar.

El comando cat no pagina, entonces se utiliza: CTRL-S para parar la pantalla y CTRL-Q para
continuar con la edición. Si nuestro sistema es demasiado rápido podemos ayudarnos con el
comando more, por ejemplo: cat archivo | more

El comando cat permite también concatenar archivos; para ello se pondría escribir lo
sigueinte:

cat archivo1 archivo2 ... > archivo n

esto permite que se unan los archivos archivo1, archivo2 ... y lo almacena en el archivo n.

Es importante resaltar que si se utiliza por equivocación el comando cat sin ningún
argumento, intenta leer de la pantalla, por lo que no sale el prompt del sistema (se queda
como colgada); entonces hay que pulsar CTRL-C para salir. Como el comando cat no pagina,
cuando queramos editar un archivo que es muy largo, es aconsejable utilizar el comando
more.

Comando grep

El comando grep busca una cadena de caracteres en uno o más archivos y lista todas las
líneas que la contienen. La sintaxis del comando es: grep [- v l i w n r ] cadena1 archivo(s),
donde:

 -v --> lista las líneas que no contienen la cadena de caracteres.

 -l --> lista el nombre del archivo que contiene la cadena de caracteres.

 -i --> ignora la diferencia entre letras mayúsculas y minúsculas.

 -w --> se debe de utilizar cuando la cadena de caracteres es una única palabra.

 -n --> muestra el número de la línea en la que se encuentra la cadena de caracteres.

 -r --> en caso que sea un directorio, para buscar en todos los que dependen de él.

 cadena --> cadena de caracteres que se quiere buscar.

27
 archivo(s) --> nombre o nombres de los archivos en los que se quiere buscar la
cadena de caracteres especificada.

Comando more

El comando more se utiliza para editar archivos por la pantalla; la principal diferencia con cat
es que se puede controlar el número de líneas que aparecen en pantalla, utilizando las teclas
siguientes:

 Barra Espaciadora --> se avanza una página.

 Tecla Return --> se avanza una línea.

 Tecla DEL ó q se sale de la edición.

La sintaxis de este comando es: more [-cd] [+número de líneas] [+/path] archivo(s) donde

 -c --> edita pantalla a pantalla.

 -d --> número de líneas que se van a editar.

 +número de líneas --> número de la línea a partir de la cual se va a editar.

 +/path --> path correspondiente al archivo que se va a editar.

 archivo(s) --> Nombre o nombres de los archivos que se van a editar.

Por ejemplo: more -c10 +25 +/usr/share/doc/gedit/README mostrará 10 líneas, empezando


por la 25, del archivo llamado README que se encuentra en el directorio
/usr/share/doc/gedit. También se puede usar con otros comandos para paginar la salida por
pantalla.

Comando cp

El comando cp se utiliza para copiar archivos. Su sintaxis es:

cp [-i] archivo_entrada archivo_destino

 -i --> origina que el comando requiera una confirmación, en el caso de que el archivo
destino ya exista; es decir, pregunta si se desea hacer la copia.

 -r --> para copiar un directorio completo.

28
 archivo_entrada --> nombre del archivo que se va a copiar.

 archivo_destino --> nombre del archivo en el que se va a copiar el contenido del


archivo de entrada

Comandos du, df -h, fdisk -l

Uso estimado del directorio y espacio disponible

du -s /home/vcasti df -h fdisk -l

Comando rm

El comando rm se utiliza para borrar archivos. La sintaxis de este comando es:

rm [-i] archivo(s)

 -i --> origina que el comando requiera confirmación para ejecutarse. Esta opción se
debe de utilizar para pedir confirmación antes de proceder al borrado

 archivo(s) --> nombre o nombres de los archivos que se van a borrar.

Comando mv

El comando mv se utiliza para renombrar archivos; es decir, el contenido del archivo no


cambia, sólo cambia el nombre; o para mover archivos entre directorios. La sintaxis del
comando es: mv [-i] archivo_entrada archivo_destino

 -i --> origina que el comando requiera una confirmación, en el caso de que el archivo
destino ya exista; es decir, pregunta si se desea hacer la copia.

 archivo_entrada --> nombre del archivo que se va a renombrar.

 archivo_destino --> nombre del archivo en el que se va a copiar el contenido del


archivo de entrada.

Nota: en el caso de que el archivo destino exista, ¡lo sobreescribe!

Comando pwd

Este comando pwd muestra la ruta completa del directorio en el que estamos.

29
usuario@pc001:~$ pwd

usuario@pc001:~$ /home/usuario

Comando cd

El comando cd nos permite movernos entre directorios. Ejemplos de su uso:

 cd nombre_directorio --> cambia al directorio nombre_directorio del directorio actual o


del directorio que figura en la variable CDPATH.

 cd / --> cambia al directorio raíz.

 cd --> cambia al directorio personal del usuario actual.

 cd /nombre_directorio --> cambia al directorio /nombre_directorio

 cd .. --> cambia al directorio padre.

 cd ~prueba --> cambia al directorio prueba del directorio personal del usuario.

 cd - --> cambia al directorio anterior.

Comando mkdir

Comando que permite crear directorios.

Sintaxis: mkdir nombre_directorio --> crea un directorio nuevo llamado nombre_directorio en


el directorio actual.

Comando rmdir

Borra directorios siempre y cuando el mismo esté vacío. Ejemplo: rm prueba --> borra el
directorio prueba.

Si el directorio no está vacío se puede usar la sintaxis rm -r directorio

Comando gzip

gzip es el compresor por excelencia en cualquier sistema Unix. Operaciones básicas:

 Comprimir un archivo: gzip [-n] archivo (siendo n un número del 1 al 9), 1 más rapido,
9 más comprimido.

30
 Descomprimir un archivo: gzip -d archivo.gz

También existe otro compresor, bzip2, que a pesar de ser mas lento es bastante más
eficiente. La sintaxis es prácticamente la misma, solo que el sufijo del archivo es .bz2

Ejemplo:

 bzip2 prueba --> comprime prueba para crear prueba.bz2 (mejor compresión que
gzip).

 bunzip2 prueba.bz2 --> descomprime prueba.bz2 para crear prueba

En cualquier caso, la forma estándar de juntar y comprimir varios archivos consiste en hacer
un .tar con todos ellos y luego comprimir el archivo con gzip

Comando tar

tar es la forma estándar de hacer un volumen de archivos (un archivo que contiene varios
archivos). Hay que notar que tar no comprime el volumen resultante. Somos nosotros los que
elegimos el algoritmo de compresión mediante otro programa (normalmente gzip). Sintáxis
básica: tar [OPERACIONES Y OPCIONES] archivos_involucrados

Operaciones básicas:

 Creación de un volumen: tar -cf archivo.tar archivo_o_dir1 [archivo_o_dir2] ...

 Añadir archivos a un volumen: tar -rf archivo.tar archivo_o_dir1 [archivo_o_dir2] ....

 Extraer archivos de un volumen: tar -xf archivo.tar [archivo_o_dir1] [archivo_o_dir2]

 Listar los archivos contenidos: tar -tf archivo.tar

Algunos Ejemplos:

 tar -xvvf prueba.tar --> extrae los archivos de prueba.tar

 tar -xvvzf prueba.tar.gz --> extrae los archivos prueba.tar.gz

 tar -xvvf --bzip2 prueba.tar.bz2 --> extrae los archivos de prueba.tar.bz2.

 tar -cvvf prueba.tar prueba/ --> empaqueta el contenido de la carpeta prueba/ en


prueba.tar.

31
 tar -cvvzf prueba.tar.gz prueba_uno/ --> empaqueta el contenido de la carpeta prueba/
en el archivo comprimido prueba_uno.tar.gz.

 tar -cvvf --bzip2 prueba.tar.bz2 prueba_uno/ --> empaqueta el contenido de la carpeta


prueba_uno/ en el archivo comprimido prueba.tar.bz2

Comando gunzip

Es muy común encontrarse en internet este tipo de formato y es tan fácil de descomprimir
con solo colocar en el interprete de comandos: gunzip nombre_del_archivo.gz

Ejemplos:

 gunzip prueba.gz --> descomprime prueba.gz para crear prueba.

Comando mount

Ya se ha visto que Linux accede a los dispositivos mediante archivos (directorios de /dev), y,
por este motivo, en Linux no hay el concepto de unidades, ya que todo está bajo el directorio
principal . En Linux no se accede a la primera disquetera mediante la orden A: como en DOS
sino que hay que "montarla". De este modo, tenemos dos conceptos nuevos:

 "montar" --> decirle a Linux que se va a utilizar un determinado dispositivo con un


determinado sistema de archivos y estará en un directorio específicado.

 "desmontar" --> decirle a Linux que se ha dejado de utilizar un determinado


dispositivo.

Para "montar" un determinado sistema de archivos de un dispositivo, se utiliza el comando


mount. La sintaxis es la siguiente:

mount -t sistema_archivos dispositivo directorio [-o opciones] donde:

 sistema_archivos --> puede ser cualquiera.

 dispositivo --> puede ser cualquier dispositivo del directorio /dev o, en el caso de nfs,
un directorio de otro PC

 directorio --> es el directorio donde estará el contenido del dispositivo.

 opciones --> puede ser cualquiera, en el caso de no poner ninguna opción, mount

32
utilizará las opciones por defecto.

Una vez "montado" el dispositivo, si no se va a volver utilizar se puede "desmontar" con el


comando umount usando la siguiente sintaxis: umount directorio

Siempre, después de utilizar un dispositivo hay que "desmontarlo", para que se almacenen
correctamente los datos en dicho dispositivo. Un ejemplo de ello, es el hecho de que, un
lector de CD-ROM, que haya sido "montado", no se abrirá hasta que no se "desmonte".

Comando fsck

En ciertas ocasiones es necesario verificar la integridad del sistema de archivos y corregir los
posibles errores que hubiese. Esta acción la realiza la orden fsck.

Para verificar un sistema de archivos es aconsejable hacerlo mientras este está desmontado.
Es una forma de evitar riesgos innecesarios.

Sintaxis: fsck [-opciones] /dev/hdXXX

Opciones:

 -a --> confirmar automáticamente. ¡Usar con cuidado!

 -c --> comprobar bloques malos en el disco.

 -v --> despliega más información.

 -r --> reparar pidiendo confirmación (Modo interactivo).

 -y --> asume respuesta de "Si" siempre (se corre un riesgo).

 -f --> forzar el chequeo aunque todo parezca en orden.

Comando ln

En Linux pueden definirse enlaces a elementos del sistema de archivos para poder acceder a
ellos desde distintos lugares en la jerarquía. Un enlace no es más que un nombre que apunta
a un determinado recurso del sistema de archivos, sea físico o lógico. Debido a esto se
clasifican en dos tipos:

 Fuertes o duros: son aquellos que no se diferencian en nada del archivo original.

33
Realmente un archivo existe físicamente (ocupa una zona en algún dispositivo de
almacenamiento) y su nombre no es más que un enlace fuerte a él. Si se creara otro
enlace fuerte, solo se estaría apuntando a la misma zona física a través de otro
nombre. De esta forma se obtendrían dos o más copias lógicas de un archivo, pero
solo habría una copia física. De aquí se deduce que un archivo no desaparece
físicamente hasta que no se borren todos los enlaces fuertes que apunten a él. Los
enlaces duros a un archivo determinado se almacenan en la estructura del i-nodo que
lo representa. Si modificamos un archivo, los mismos cambios aparecerán en
cualquier enlace fuerte. Imaginemos que queremos compartir en red un archivo
situado en nuestro directorio de trabajo, pero que no queremos compartir todo el
directorio. La solución más simple consiste en crear un enlace fuerte desde dentro de
un directorio que sí queramos compartir.

 Simbólicos o débiles: son apuntadores al nombre del archivo, no a su contenido. Si


desaparece el archivo original (todos los enlaces duros a este) los enlaces simbólicos
correspondientes quedan inconsistentes.

No se pueden crear enlaces fuertes a directorios, ni a archivos en particiones distintas. Para


crear enlaces se emplea el comando ln.

Sintaxis: ln [opciones] archivo_o_directorio [nombre_del_enlace]

Opción:

 -s --> se utiliza para crear enlaces simbólicos en lugar de fuertes (como es por
defecto).

Es importante destacar que el nombre del archivo o el directorio al que queremos hacer el
enlace debe escribirse con todo el path, es decir, "/ruta_al_archivo/archivo"

Ejemplos:

 ln -s /home/pepe/public_html/raiz.html index.html --> hace que al acceder al archivo


"index.html" nos envíe al archivo "raiz.html".

 ln -s /usr/bin /binarios --> si entramos en el directorio "/binarios" nos enviará al


directorio "/usr/bin"

34
MANEJO DE USUARIOS

Comando who

Muestra información sobre los usuarios que usan el sistema en este momento.

Comando finger

Muestra información sobre un determinado usuario. Ejemplo: finger user_prueba --> muestra
información sobre el usuario user_prueba.

Comado adduser

Registra y crea una cuenta de usuario. Sintaxis: adduser nombre_usuario.

En ese momento, no sólo se creará la cuenta del usuario sino también su directorio de
trabajo, un nuevo grupo de trabajo que se llamará igual que el usuario y añadirá una serie de
archivos de configuración al directorio de trabajo del nuevo usuario.

Ejemplo:

root@cila:/home# adduser prueba

Adding user prueba..

Adding new group usuario (1000).

Adding new user usuario (1000) with group usuario

Creating home directory /home/usuario

Copying files from /etc/skel

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

Changing the user information for usuario

Enter the new value, or press return for the default

Full Name []:

35
Room Number []:

Work Phone []:

Home Phone []:

Other []:

Is the information correct?

[y/n] y

En ese momento, el usuario ya puede trabajar en el sistema.

Comando deluser

Borra la cuenta de usuario usuario. Sintáxis: deluser nombre_usuario

Es importante destacar que este comando no elimina automáticamente el directorio de


trabajo del usuario. Es responsabilidad del administrador decidir si elimina el directorio de
trabajo del antiguo usuario una vez realizado el proceso de eliminación.

Ejemplo: root@cila:/home# deluser usuario

Removing user usuario...

done.

Comando passwd

Cambia la clave de acceso para el usuario actual. El usuario "Root" puede cambiar la clave
de cualquier usuario.

Sintáxis: passwd nombre_usuario

MANEJO DE GRUPOS

Cuando se crea un usuario, siempre se va a incluir en algún grupo de trabajo, ya sea el suyo
propio o bien, en uno común.

Comando addgroup

Este comando permite crear un grupo. Sintáxis: addgroup nombre_grupo

36
La forma de hacerlo es: root@cila:/home# addgroup usuarios

Adding group usuarios (105)...

Done.

El número 105 indica el identificador numérico del grupo, este se asigna al momento de su
creación.

Comando delgroup

Permite borrar un grupo. Sintáxis: delgroup nombre_grupo

De forma similar, la eliminación de un grupo se hace de la siguiente forma:

root@cila:/home# delgroup usuarios

Removing group usuarios...

done.

Ahora la pregunta es ¿Qué puede pasar si tratamos de eliminar un grupo inexistente?. En


este sentido sencillamente el sistema avisará con un mensaje que el grupo no existe. Poe
ejemplo: root@cila:/home# delgroup usuarios

/usr/sbin/delgroup: `usuarios' does not exist.

Añadiendo y Eliminando usuarios de los grupos

Para añadir un usuario llamado Luis a un grupo “usuarios” se hace lo siguiente:

root@cila:/home # adduser luis usuarios

Adding user luis to group usuarios...

Done.

Y para eliminarlo de ese grupo: root@cila:/home# deluser luis usuarios

Removing user luis from group usuarios...

done.

37
PERMISOS DE ARCHIVOS

El sistema UNIX posee un medio sencillo para controlar quién puede acceder o no a sus
archivos. Existen tres clases diferentes de usuarios de un archivo y tres modos diferentes de
acceso al archivo.

Tipos de Usuarios

 Propietario: Usuario que ha creado el archivo. El propietario tiene capacidad de


controlar quien puede acceder al archivo.

 Grupo: Grupo de usuarios, normalmente relacionados por un departamento o función.


Un usuario de este tipo puede acceder al archivo, pero no puede cambiar quien puede
acceder al mismo.

 Otros: Cualquier otro usuario del sistema. Estos usuarios pueden únicamente acceder
al archivo si tienen permiso para ello.

Comando chmod

El comando chmod (change mode) se utiliza para cambiar los permisos de un archivo
ordinario y de un directorio. Existen dos formas de cambiar los permisos. Se pueden cambiar
teniendo en cuenta los permisos existentes (modo simbólico), o se pueden asignar permisos
independientemente de los ya existentes (modo absoluto).

 Modo simbólico: Cuando se utiliza el modo simbólico se pueden añadir o quitar


permisos a los archivos y directorios. El formato del comando chmod simbólico es:
chmod [who] código-operador permisos archivo

Donde:

 who --> tipo de usuario.

Puede tener los siguientes valores:

u : propietario del archivo

g : grupo del que el propietario es miembro

o : usuarios clasificados como otros

38
a : todos los usuarios del sistema (propietario, grupo y otros)

 código-operador --> indica la operación que se va a realizar:

+ : añadir permisos

- : quitar permisos

 permiso

r : permiso de lectura

w : permiso de escritura

x : permiso de ejecución

 archivo --> nombre de archivo o directorio.

Por ejemplo, supongamos que el archivo datos tiene los siguientes permisos: -rwxr--r-- y
supongamos que queremos dar al grupo de usuarios y al resto de los usuarios del sistema, el
permiso de ejecución; entonces se colocaría lo siguiente: chmod go+x datos

 Modo absoluto: El modo absoluto se especifica con 3 dígitos numéricos; cada


número representa los permisos de cada tipo de usuario. Estos dígitos se obtienen,
para cada clase de usuario, a partir de los valores siguientes:

 4 : permiso de lectura

 2 : permiso de escritura

 1 : permiso de ejecución

Así tendremos:

0 : ningún permiso 1 : permiso de ejecución

2 : permiso de escritura 3 : permiso de ejecución y escritura (1+2)

4 : permiso de lectura 5 : permiso de lectura y ejecución (4+1)

6 : permiso de lectura y escritura (4+2)

7 : permiso de lectura, escritura y ejecución (4+2+1)

39
La sintáxis para el comando chmod absoluto es: chmod modo archivo, donde modo son los
3 dígitos numéricos (cada uno de ellos correspondient a los permisos de cada tipo de
usuario) y archivo que es el nombre de archivo o directorio.

Por ejemplo:

 chmod 777 datos --> concede permisos de lectura, escritura y ejecución sobre el
archivo datos, a todos los usuarios.

 chmod 600 prueba --> hace que el archivo prueba no pueda ser leído ni escrito por
otros ni ejecutado por alguien.

 chmod 644 prueba --> hace que el archivo prueba pueda ser leído pero no escrito por
otros ni ejecutado por alguien.

 chmod 755 prueba --> hace que el archivo prueba pueda ser leído pero no escrito por
otros pero ejecutado por todos.

Comando chown

Este comando se utiliza para cambiar el dueño y el grupo de un archivo. El dueño de un


archivo solo lo puede cambiar el usuario root mientras que el grupo además de root, lo puede
cambiar el propio dueño, siempre que pertenezca al nuevo grupo.

Sintaxis: chown [opciones] dueño[:grupo] archivos

chown [opciones] :grupo archivos

La ppción -R en los directorios cambia el dueño y/o el grupo recursivamente.

Ejemplos:

chown luis.grupopp tesis --> Coloca a "luis" como propietario y como grupo "grupopp"
del archivo "tesis".

chown -R root /tmp/oculto --> Coloca a "root" como propietario del directorio
"/tmp/oculto" y de todo su contenido.

40
Comando chgrp

Existe también el comando chgrp que se emplea de forma similar pero para cambiar
exclusivamente el grupo.

Ejemplo: chgrp ftp /usr/ftp --> Coloca como grupo a "ftp" del archivo "/usr/ftp"

MANEJO DE REDES

Comando ping

Permite comprobar si tenemos contacto con una máquina.

Sintáxis: ping maquina, dónde maquina puede ser el nombre de la máquina o su dirección
IP. Para detener los envíos presione simultáneamente las teclas CTRL+C

Comando netstat

netstat -a --> muestra todas la conexiones de red originadas y recibidas por el "Host"

netstat -r --> muestra la tabla de ruteo " routing table" del sistema.

netstat -i --> muestra estadísticas de red.

Comando nmap

La orden nmap se usa para "mapear" los puertos abiertos de una máquina. Nos da una lista
con el número del puerto y el servicio que se encuentra "escuchando" allí.

Por Ejemplo: nmap 192.168.0.210

Comando route

Muestra la tabla de enrutaminento de nuestro sistema. Los usos más comunes de route son:

 route -n --> nos muestra información usando direcciones numéricas en lugar de


nombres de equipos

 route add -net 0.0.0.0 gw 150.188.131.0 --> establece que la puerta de enlace por
defecto es, en este caso 150.188.131.0

El anterior comando es equivalente a: ip route add default via 150.188.131.0

41
Para adicionar una ruta estática, por ejemplo la 172.17.4.0 se realiza lo siguiente:

ip r a 172.17.4.0 via 150.188.4.2

donde 150.188.4.2 es el próximo salto para encontrar la ruta 172.17.4.0. Se utiliza r para
sustituir “route” y la letra a para sustituir “add”

Comando ifconfig

Muestra información sobre los distintos dispositivos de red. El comando ifconfig permite
configurar por parte de root las interfaces de red.

Por ejemplo, para cambiar la IP de nuestra PC se debe ejecutar el siguiente comando:

ifconfig eth0 192.168.0.123

Comandos ifup e ifdown

Las interfaces de red configuradas en el archivo /etc/network/interfaces pueden activarse y


desactivarse usando los comandos ifup e ifdown, respectivamente. Para ello basta con
indicar el nombre de la interfaz después del comando.

Por ejemplo: ifdown eth0 --> desactivaría la primera interfaz Ethernet.

El uso de estos comandos es útil cuando queremos “cortar” temporalmente la conexión a red

42
o bien queremos cambiar los parámetros de configuración. Para ello, modificaremos en el
archivo "/etc/network/interfaces" los parámetros pertinentes y luego ejecutaremos
sucesivamente los comandos ifdown e ifup indicando el nombre del interfaz de red que
hemos modificado.

Por ejemplo: ifdown eth0

ifup eth0

INSTALANDO PAQUETES

aptitude

aptitude es un conjunto de herramientas avanzadas de gestión de paquetes. Los nombres,


versiones y descripciones de los paquetes disponibles se guardan en una base de datos en
el directorio /var/cache/aptitude.

Antes de usar aptitude y los programas que dependen de él, hay que indicarle dónde debe
buscar los paquetes Debian. Las fuentes de paquetes se indican en el archivo
/etc/apt/sources.list, estas fuentes se denominan repositorios.

Si escribimos en un terminal el comando: # cat /etc/apt/sources.list

Las líneas que comienzan con “#” son ignoradas. Todas empiezan por “deb”, seguido de la
URL del repositorio, y a continuación los directorios en los que se buscarán los paquetes.

43
El sistema aptitude incluye herramientas que permiten actualizar un gran número de
paquetes simultáneamente, incluso renovar la distribución completamente. Estas
herramientas son:

 aptitude update: para actualizar la lista de paquetes de todos los repositorios.


Sintáxis: # aptitude update

 aptitude upgrade: para actualizar a las nuevas versiones todos los paquetes de los
que exista una versión nueva. Sintáxis: # aptitude upgrade

 aptitude dist-update: esto se utiliza si la actualización supone un cambio a una


versión completamente nueva de la distribución. Sintáxis: # aptitude dist-upgrade

 aptitude install: instalará los paquetes seleccionados y cualquier otro del que estos
dependan. Para la instalación considerará todas las fuentes del archivo sources.list,
obteniendo las versiones más actualizadas de los paquetes.

Sintáxis: # aptitude install "paquetes"

Si un paquete se encuentra en varias fuentes, utilizará aquella que aparezca en


primer lugar en el archivo. Si estamos interesados en descargar un paquete pero no
queremos instalarlo, tenemos que incluir la opción “-d”, de la siguiente manera:

# aptitude -d install "paquete"

 aptitude install remove: permite desinstalar paquetes. Por defecto se conservan los
archivos de configuración del paquete que se desinstala, pero se puede indicar que se
borren con la opción “--purge”.

Ejemplo: para desinstalar el paquete fortune-es sin eliminar los archivos de instalación
se debe ejecutar el siguiente comando: # aptitude remove fortune-es

Si quisiéramos eliminar también los archivos de instalación la sintáxis sería:

# aptitude –purge remove fortune-es.

44
 aptitude clean: los paquetes descargados se guardan por defecto en
/var/cache/apt/archives, por si se necesita utilizarlos en otra ocasión. Es aconsejable
eliminar los paquetes que ya se han instalado y no son necesarios mediante el
comando: # aptitude clean

 aptitude show: existe un último programa disponible referente a aptitude, llamado


aptitude cache, que permite obtener información diversa sobre los paquetes y permite
realizar búsquedas, tanto en los nombres como en la descripciones. Para ver la
información referente a un paquete (nombre ,versión ,dependencias, descripción, ...)
se utiliza el parámetro “show”. Por ejemplo: # aptitude cache show dselect

dpkg

Es una herramienta que permite la manipulación directa de archivos “.deb”. Gracias a la


existencia de apt, sólo es necesario recurrir a ella cuando nos encontramos con paquetes
sueltos, es decir, que no forman parte de ningún repositorio. También es útil si hemos usado
apt-get con la opción “-d” y llevamos los paquetes descargados a otro PC para instalarlos.

Para instalar un paquete llamado “paquete.deb” la forma de hacerlo es:

# dpkg --install paquete.deb

En el caso de que se produzcan problemas de dependencias el paquete no será configurado


pero sí desempaquetado; es necesario instalar los paquetes para resolver estas
dependencias de otros paquetes. Si ese es el caso, una vez instalados todos hay que
ejecutar: # dpkg --configure --pending

De esta forma se configuran los paquetes pendientes de configuración. Hay que ser muy
cuidadoso con los paquetes instalados directamente con dpkg, ya que la lista de
dependencias puede ser tan grande que haga inviable la instalación a mano (por eso se creó
aptitude).

Para desinstalar paquetes se emplea: # dpkg --remove paquete

Y si también se quieren eliminar los archivos de configuración: # dpkg --purge paquete

Observese que en ambos casos hay que poner el nombre del paquete y no el nombre del
archivo .deb.

45
NETWORK FILE SYSTEM (NFS)

El sistema NFS (Network File System) fue desarrollado para permitir montar una partición
perteneciente a una máquina remota como si fuera una partición local. Nos proporciona, por
tanto, un método rápido y eficaz de compartir archivos y espacio de disco entre distintos PC
de una red que soporte este sistema. Sin embargo, este servicio no incluye medidas de
seguridad y no debe usarse para compartir directorios donde tengamos información privada.

NFS se puede usar para instalar Linux en un PC que no tenga HD, usando una partición de
otro equipo de la red. Si lo que quieres es seguridad lo suyo es usar el servicio NetWare (que
está disponible en Linux)

Ejemplo:

Compartiendo un directorio en toda la red local

 Crea un directorio llamado Compartido_nfs (o el nombre que prefieras) dentro de tu


directorio de trabajo. Para ello ejecuta lo siguiente:

mkdir Compartido_nfs (o mkdir /home/usuario/Compartido_nfs)

 Inicia sesión de root con el comando su y edita (con nano, vi, gedit u otro) el archivo
/etc/exports, para añadir una línea como la siguiente:

/home/usuario/Compartido_nfs *(ro,sync)

 Reinicia el servidor nfs /etc/init.d/nfs-kernel-server restart

Probando el directorio compartido desde nuestra propia máquina.

Vamos a probar a acceder, desde nuestra propia máquina, al directorio que hemos
compartido. Para ello:

 Empezamos por crear un directorio para hacer el montaje (podemos elegir cualquier
nombre y ubicación para este directorio, pero lo típico es crearlo dentro de /mnt), para
ello ejecute mkdir /mnt/nfs.

 El montaje lo ejectuamos con el comando mount indicando la IP, camino completo del
directorio compartido y tipo de archivos nfs.

46
Ejemplo: mount -t nfs 192.168.0.74:/home/usuario/Compartido_nfs /mnt/nfs, se debe
colocar la IP de nuestra máquina en lugar de la que está en el ejemplo.

 Usa Nautilus para acceder a /mnt/nfs. ¿Tienes permiso de lectura?¿Puedes crear una
nueva carpeta dentro de este directorio?

Es importante destacar que por defecto el usuario root tiene muy pocos permisos a través de
una conexión NFS. Esta opción se puede cambiar, aunque es muy peligroso, ya que NFS no
pide ninguna clave de acceso.

 Desmonta el directorio /mnt/nfs (antes de desmontarlo tendrás que salir de él).

ARRANQUE DEL SISTEMA

El arranque de un sistema Linux consta de las siguientes fases:

 Ejecución del gestor de arranque (por ejemplo lilo)

 Carga y ejecución del kernel.

 Ejecución de init.

 Ejecución de scripts de iniciación genéricos.

 Entrada en el runlevel por defecto.

A grandes rasgos el proceso ocurre de la siguiente manera: al conectar o reiniciar el


computador, la BIOS busca en su configuración el dispositivo de arranque por defecto, el cual
suele ser un disco duro, indicado generalmente en la configuración de la BIOS por C.

Entonces carga en memoria el primer sector del dispositivo de arranque y le transfiere el


control. Cuando se trata de un disco duro, este primer sector es el Master Boot Record
(MBR) y contiene, además del código cargado por la BIOS, la tabla de particiones del disco.

El código en el MBR, generalmente, lee en la tabla de particiones cuál es la partición activa y


carga en memoria el primer sector de la misma, transfiriéndo el control.

Una vez cargado lilo, éste se ejecuta, busca el kernel de Linux en una posición conocida del
disco, carga el kernel en memoria y le cede el control. El kernel se almacena comprimido en
disco, por lo que lo primero que hace el código del kernel que se ejecuta inicialmente es

47
descomprimir el propio kernel y situarlo en memoria. Entonces se ejecuta realmente el kernel
y empieza una lista de comprobaciones y activación de módulos internos del mismo.

Una vez funcionando, el kernel monta el disco principal donde se almacena el sistema
operativo (root filesystem) y ejecuta el primer proceso (init).

La misión de init es ejecutar el resto de procesos del sistema: comprobación de discos,


detección/configuración de hardware adicional, apertura de terminales, servidores, entre
otras.

El Gestor de Arranque

Lilo es el gestor de arranque que nos permite, entre otras cosas, poder elegir el Sistema
Operativo que queremos ejecutar al arrancar el computador. Durante la instalación, Lilo es
configurado para arrancar tanto Linux como otros sistemas operativos que tengamos
instalados en el sistema, por lo que en la mayoría de los casos no es necesario hacer
modificaciones posteriores a menos que deseemos cambiar alguna de la opciones de
arranque. De este modo, tras la instalación de Debian, cada vez que arranquemos el sistema
se nos mostrará un menú con el que podremos elegir arrancar Linux u otro sistema operativo
detectado durante el arranque, que estuviera instalado en otro disco o partición.

Lilo se configura mediante las opciones adecuadas en el fichero /etc/lilo.conf. Tras la


instalación de Debian existe una versión de este fichero bastante completa y con
comentarios suficientes para saber qué significa cada opción.

Proceso init y runlevels

Una vez que el kernel se ha cargado en memoria, ejecuta el programa init, que se convierte
en el proceso número 1 y se encarga de ejecutar el resto de programas que hacen que el
sistema funcione. La operación de init se configura en el fichero /etc/inittab. Empezando en
este fichero se puede seguir paso a paso el proceso de arranque (y parada) del sistema. Lo
importante a saber aquí es que init no hace demasiado por si mismo, sino que se limita a
ejecutar una serie de scripts que activan ordenadamente los diferentes servicios que hacen
funcionar el sistema.

En primer lugar se ejecutan por orden alfabético todos los scripts que se encuentren bajo el
directorio /etc/rcS.d que comiencen por ’S’ con “start” como argumento. Por convenio estos

48
scripts se nombran comenzando por un número de dos cifras para establecer el orden
adecuado.

Cada script tiene una función particular, por ejemplo:

 S10checkroot.sh comprueba el sistema de ficheros.

 S20adjtimex ajusta el reloj del sistema.

 S40networking activa los interfaces de red.

En realidad, y por convenio, estos scripts no se sitúan directamente en /etc/rcS.d, sino que se
guardan en el directorio /etc/init.d y desde ahí se hacen enlaces simbólicos a /etc/rcS.d. De
esta forma es más fácil añadir, eliminar y ordenar los componentes. Las tareas realizadas por
los scripts en /etc/rcS.d son las básicas para arrancar el sistema.

Luego se ejecutan otra serie de scripts correspondientes a un runlevel. Los runlevels son un
mecanismo para permitir que el ordenador trabaje con diferentes configuraciones de
arranque (diferentes servicios, entre otros).

Los runlevels se numeran del 0 al 6. El 0 se ejecuta para parar el sistema (halt), el 6 para
reiniciar (reboot) y el 1 para arrancar en modo single user, que viene a ser una configuración
mínima para realizar tareas de administración. El resto de los runlevels son para
funcionamiento normal. El runlevel por defecto es el 2 (se configura en /etc/inittab),
empleando los otros sólo en situaciones especiales.

En Debian, los runlevels del 2 al 5 se configuran inicialmente de forma idéntica. Así, el


proceso de arranque suele continuar ejecutando los scripts del runlevel correspondiente
situados en /etc/rcX.d, donde X es el número del runlevel. La forma de ejecutar estos scripts
es análoga al caso anterior, salvo que ahora se ejecutan primero los scripts que comiencen
con ’K’ con argumento “stop” y luego los que comienzan con ’S’ con argumento “start”. La
idea es que cada script gestione una tarea o servicio. Este servicio se inicia cuando el script
se ejecuta con el argumento “start” y se detiene cuando se usa el argumento “stop”. De esta
forma en cada runlevel pueden detenerse los servicios que no se necesiten y activarse
aquellos que interese. Este sistema también facilita el arranque y parada de servicios,
ejecutando estos scripts manualmente con el argumento apropiado.

49
En cualquier momento, el administrador puede hacer que el sistema cambie a otro runlevel
ejecutando el comando telinit con un argumento numérico indicando el nuevo runlevel. Por
ejemplo: # telinit 3

En general, no hay que preocuparse por la configuración del arranque ya que el sistema de
instalación se ocupa automáticamente de actualizar la configuración en función de los
paquetes instalados.

PARADA DEL SISTEMA

La parada del sistema se produce cuando se entra en los runlevel 0 ó 6. Aunque esto puede
hacerse empleando el comando telninit, la forma más adecuada es empleando el comando
shutdown, que además incluye múltiples opciones para programar la parada en un instante
dado, avisando a los usuarios previamente.

Algunos ejemplos son:

 # shutdown -r now --> reinicia el sistema inmediatamente (reboot).

 # shutdown -h now --> para el sistema inmediatamente (halt).

 shutdown -h +10 --> para el sistema dentro de 10 minutos enviando un aviso a todos
los terminales.

 shutdown -r 20:00 --> reinicia el sistema a las 20:00 horas.

El sistema también puede detenerse pulsando la combinación de teclas CTRL-ALT-SUPR.


Esto indica a init que ejecute un shutdown inmediatamente y reinicie el sistema. Este
comportamiento puede cambiarse editando el fichero /etc/inittab para, por ejemplo, hacer
una parada en vez de un reinicio.

Normalmente, esta operación funciona cuando se ejecuta desde un terminal virtual, no desde
X–Window, por lo tanto, si estamos en el entorno gráfico y queremos usar esta opción,
primero debemos cambiarnos a un terminal virtual pulsando CTRL-ALT-F1 y luego reiniciar el
sistema con CTRL-ALT-SUPR.

ESTRUCTURA DE DIRECTORIOS LINUX

 / --> Directorio Raiz

50
 /bin/ --> Comandos/programas binarios esenciales (cp, mv, ls, rm, ...)

 /boot/ --> ficheros utilizados durante el arranque del sistema.

 /dev/ --> Dispositivos esenciales, discos duros, terminales, sonido, video, lectores
dvd/cd, entre otros.

 /etc/ --> Ficheros de configuración utilizados en todo el sistema y que son específicos
del computador.

 /etc/opt/ --> Ficheros de configuración utilizados por programas alojados dentro de


/opt/.

 /etc/X11/ --> Ficheros de configuración para el sistema X Window (Opcional).

 /etc/sgml/ --> Ficheros de configuración para SGML (Opcional).

 /etc/xml/ --> Ficheros de configuración para XML (Opcional).

 /home/ --> Directorios de inicios de los usuarios.

 /lib/ --> Bibliotecas compartidas esenciales para los binarios de /bin/, /sbin/ y el núcleo
del sistema.

 /mnt/ --> Sistemas de ficheros montados temporalmente.

 /media/ --> Puntos de montaje para dispositivos de medios como unidades lectoras de
discos compactos.

 /opt/ --> Paquetes de aplicaciones estáticas.

 /proc/ --> Sistema de ficheros virtual que documenta sucesos y estados del núcleo,
contiene principalmente ficheros de texto.

 /root/ --> Directorio de inicio del usuario root (super-usuario).

 /sbin/ --> Comandos/programas binarios de administración de sistema.

 /tmp/ --> Ficheros temporales.

 /srv/ --> Datos específicos de sitio servidos por el sistema.

 /usr/ --> Jerarquía secundaria para datos compartidos de solo lectura. Este directorio

51
puede ser compartido por múltiples computadores y no debe contener datos
específicos del computador que los comparte.

 /usr/bin/ --> Comandos/programas binarios.

 /usr/include/ --> Ficheros de inclusión estándar (cabeceras de cabecera utilizados


para desarrollo).

 /usr/lib/ --> Bibliotecas compartidas.

 /usr/share/ --> Datos compartidos independientes de la arquitectura del sistema.


Imágenes, ficheros de texto, entre otros.

 /usr/src/ --> Códigos fuente (Opcional)

 /usr/X11R6/ --> Sistema X Window, versión 11, lanzamiento 6 (Opcional).

 /usr/local/ --> Jerarquía terciaria para datos compartidos de solo lectura específicos
del computador que los comparte.

 /var/ --> Ficheros variables, como son logs, bases de datos, directorio raíz de
servidores HTTP y FTP, colas de correo, ficheros temporales, entre otros.

 /var/cache/ --> Cache da datos de aplicaciones.

 /var/crash/ --> Depósito de información referente a caídas del sistema (Opcional).

 /var/games/ --> Datos variables de aplicaciones para juegos (Opcional).

 /var/lib/ --> Información de estado variable. Algunos servidores como MySQL y


PostgreSQL almacenan sus bases de datos en directorios subordinados de éste.

 /var/lock/ --> Ficheros de bloqueo.

 /var/log/ --> Ficheros y directorios de registro del sistemas (logs).

 /var/mail/ --> Buzones de correo de usuarios (Opcional).

 /var/opt/ --> Datos variables de /opt/.

 /var/spool/ --> Colas de datos de aplicaciones.

 /var/tmp/ --> Ficheros temporales preservados entre reinicios.

52
CONFIGURACIÓN DE IMPRESORAS

Método Tradicional: lpr/lpd

Para los spoolers lpr/lpd (lpr, lprng y gnulpr), configure el archivo /etc/printcap de la siguiente
manera si están conectados a una impresora PostScript o de texto:

lp|alias:\

:sd=/var/spool/lpd/lp:\

:mx#0:\

:sh:\

:lp=/dev/lp0:

Significado de las líneas anteriores:

 Cabecera: lp --> nombre de la cola, alias = alias

 mx#0 --> tamaño máximo del archivo ilimitado

 sh --> supresión de la impresión de la primera página de cabecera

 lp=/dev/lp0 --> dispositivo de impresión local o port@host para impresión remota

Esto es una buena configuración si está conectado a una impresora PostScript. Si no posee
una impresora PostScript, necesitará configurar un sistema de filtros usando gs.

Existen diversas herramientas de configuración automáticas para configurar el archivo


/etc/printcap. Cualquiera de estas combinaciones resulta ser una opción:

gnulpr, (lpr-ppd) y printtool lpr y apsfilter

lpr y magicfilter lprng y lprngtool

prng y apsfilter lprng y magicfilter

Cups

El Common UNIX Printing System (o CUPS) se instala con:

aptitude Tareas --> Servidores --> Servidor de impresión

53
Para un mejor resultado, se debe configurar aptitude haciendo lo siguiente:

F10 --> Opciones --> Manejo de dependencias --> [X] Instalar los paquetes
recomendados automáticamente

Los entornos de escritorio KDE y Gnome permiten una configuración sencilla de las
impresoras. De forma alternativa, si tiene instalado swat puede configurar el sistema usando
cualquier navegador:

$ mi_navegador http://localhost:631

Por ejemplo, para añadir una impresora en algún puerto usando la lista de impresoras
accesibles siga los siguientes pasos:

 Pulse "Printers" (Impresoras) en la página principal y, a continuación "Add Printer"


(Añadir impresora).

 Escriba "root" como usuario e ingrese la contraseña.

54
 Proceda a añadir la impresora siguiendo los indicaciones.

 Vuelva a la página "Printers" y pulse "Configure Printer" (Configurar impresora) y


proceda a configurar el tamaño del papel, la resolución y otros parámetros.

 Véase más información en http://localhost:631/help/

INSTALANDO NUEVOS MÓDULOS

En muchos casos es necesario instalar los drivers adecuados para conseguir que esté
operativo todo el hardware de un ordenador. En Linux los drivers se denominan módulos.
Estas son rutinas que se encuentran en el directorio: /lib/modules/X.Y.Z/tipo_módulo/*.o y
están preparados para cargarse o descargarse dinámicamente en el kernel.

Durante el proceso de instalación se dispone de un conjunto de módulos básicos por si es


necesario cargar alguno para completar correctamente la instalación del sistema.

Por ejemplo, para realizar una instalación a través de red http o ftp es necesario cargar el
módulo correspondiente a la tarjeta de red del computador.

Ejemplo de instalación del módulo de la tarjeta de sonido SB128PCI

Vamos a desarrollar un ejemplo de instalación de un módulo correspondiente a una tarjeta de


sonido muy común, la Sound Blaster 128 PCI (SB128PCI). En el proceso de instalación de
módulos lo primero que se debe realizar es determinar que tipo de hardware concreto se
tiene para poder seleccionar el módulo adecuado a ese hardware.

En el caso de las tarjetas PCI existe una forma desde el sistema operativo de determinar
cuántas y qué tipo de tarjetas existen. Para ello hay que ejecutar como usuario root el
comando: # lspci

En el caso de la tarjeta SB128PCI se obtiene la información siguiente: Ensoniq es1371

Con esta información se debe buscar y cargar el módulo correspondiente. En muchos casos
puede ocurrir que este módulo no esté disponible. Entonces será necesario poner
disponibles nuevos módulos ya precompilados que están en la distribución, para ello hay que
instalar algún paquete del tipo: kernel-image.X.Y.Z

Una vez seleccionado e instalado el paquete adecuado, están disponibles tanto una nueva

55
imagen del kernel X.Y.Z en el directorio /boot denominado: vmlinuz-X.Y.Z como un conjunto
amplio de módulos asociados a este kernel en el directorio /lib/modules/X.Y.Z/

Para poder visualizar estos nuevos módulos es necesario arrancar el sistema con este nuevo
kernel. De hecho, durante el proceso de instalación del paquete kernel–image se han creado
los siguientes enlaces simbólicos:

/vmlinuz ----> /boot/vmlinuz-X.Y.Z (nuevo kernel X.Y.Z)

/vmlinuz.old ----> /boot/vmlinuz-H.G.J (antiguo kernel H.G.J)

y además, se ejecuta el comando lilo para poder arrancar el sistema con el nuevo kernel. El
fichero de configuración de lilo lilo.conf no es cambiado durante este proceso de tal forma
que si está bien configurado se podrá arrancar el sistema Linux tanto con el nuevo kernel
como con el antiguo.

Una vez que están disponibles los nuevos módulos y se ha arrancado el sistema con el
nuevo kernel se podrán visualizar con el comando # modconf

Dentro de modconf aparecerán una serie de secciones y subsecciones, los nombres y


organización de éstas dependerá de la versión del kernel que se trate. Ya en este menú se
debe seleccionar el módulo adecuado a la tarjeta, en este caso:

es1371 - Ensoniq AudioPCI 97 (ES1371) based sound cards

En algunos casos es necesario dar un conjunto de parámetros para que el módulo funcione
correctamente. Por lo general, las tarjetas PCI no necesitan de estos parámetros porque el
módulo es capaz de detectarlos automáticamente.

COMPILANDO UN NUEVO KERNEL

El kernel, básicamente, actúa como mediador entre las aplicaciones y el hardware de la


máquina. El motivo fundamental para cambiar o actualizar un kernel consiste en disponer de
algún hardware nuevo que no tenga soporte en el kernel disponible y, por tanto, sea
necesario compilar uno más actualizado.

Otros motivos alternativos serían poder ejecutar procesos más rápidos que las versiones
más antiguas o corregir errores de las versiones anteriores, entre otras.

56
El proceso de compilar un kernel sigue una serie de pasos descritos a continuación:

Obteniendo y desempaquetando los fuentes

Para obtener los fuentes de un kernel hay diferentes mecanismo o lugares para encontrarlos.
Una opción es vía ftp anónimo en ftp.kernel.org. En Debian 2.2 otra opción es mediante los
paquetes de la distribución. Lo más habitual es que vengan empaquetados en un único
fichero de nombre linux- x.y.z.tar.gz o bien con sufijo bz2 lo cuál indica que han sido
comprimidos con bzip2.

Una vez obtenidos los fuentes hay que desempaquetarlos. Para ello hay que colocar el
fichero comprimido con los fuentes en el directorio /usr/src y, aquí, proceder a
descomprimirlos bien con gunzip (si tiene sufijo gz) o con bunzip2 (si tienen sufijo bz2).
Ejemplo: host:/usr/src# bunzip2 kernel-source-2.4.5.tar.bz2, una vez descomprimidos hay
que deshacer el tar, host:/usr/src# tar xvf kernel-source-2.4.5.tar

Configurando el kernel: este es el paso más delicado en todo el proceso de compilación de


un nuevo kernel ya que podría ocurrir que incluso no pudiera arrancarse el sistema si no se
selecciona alguna opción fundamental para el mismo. Una vez que el superusuario se sitúe
en el directorio /usr/src/linux/ donde se encuentra toda la estructura de directorios y ficheros
que contienen los fuentes del kernel, se puede ejecutar el comando: host:/usr/src/linux#
make config

Sin embargo, existen otros modos más adecuados y fáciles de usar, en concreto en modo
texto el más ampliamente usado es: host:/usr/src/linux# make menuconfig.

Si esta operativo el sistema gráfico X–window, es más cómodo usar: host:/usr/src/linux#


make xconfig

Dentro de estos scripts hay que responder con si (y), con no (n) o con la opción m de
módulo. La opción si significa que este módulo se compilará dentro del kernel, la opción no
indica que no se compilará, mientras que la opción m significa que se compilará el módulo
pero que no se incluirá dentro del kernel.

Compilando el kernel

Una vez finalizada la fase de configuración, cuando grabamos o almacenamos esta

57
configuración el propio script nos pide que ejecutemos los siguientes comandos
consecutivamente: host:/usr/src/linux# make dep ; make clean.

make dep asegura que todas las dependencias, como por ejemplo los include se encuentran
en su sitio. make clean borra todos los ficheros objeto que hubieran sido generados en una
fase de compilación anterior.

Tras las dependencias y la limpieza hay que compilar el kernel. Para ello se ejecuta el
comando: host:/usr/src/linux# make bzImage o bien: host:/usr/src/linux# make bzdisk. El
primero compilará el kernel y lo guardará en fichero llamado bzimage en el directorio
/usr/src/linux/arch/i386/boot/. El segundo hace los mismo pero, además, guarda el kernel en
un dispositivo de almacenamiento. Esta opción permite que se pueda arrancar el sistema con
el nuevo kernel sin tener que instalar el kernel en el sector de arranque del disco duro, de tal
forma que si existiesen problemas de funcionamiento pudiera volver a arrancarse el sistema
con el kernel anterior.

Instalando el nuevo kernel

Para poder arrancar con el nuevo kernel es necesario instalarlo en el sector de arranque
adecuado con un programa gestor de arranque. El más conocido es lilo. En este proceso se
tiene que copiar el kernel al fichero /vmlinuz o bien hacer un link simbólico. Además,
conviene pasar el antiguo kernel a /vmlinuz.old para dejar activos tanto el antiguo como el
nuevo, para poder arrancar desde cualquiera de los dos.

Una vez copiados o convenientemente enlazados se debe actualizar el fichero /etc/lilo.conf:


...

image=/vmlinuz

label=Linux

read-only

# restricted

alias=deb

image=/vmlinuz.old

58
label=LinuxOLD

read-only

optional

# restricted

alias=2

...

Una vez modificado este fichero de configuración del gestor de arranque lilo, se debe
ejecutar el comando lilo para que se instale la nueva configuración en el sector de arranque:
# lilo

Compilando e instalando los nuevos módulos del kernel

Colocándonos de nuevo en el directorio /usr/src/linux/ se debe ejecutar el comando:


host:/usr/src/linux# make modules, con ello se compilan los módulos que se hubieran
marcado con m en el proceso de configuración del kernel.

Posteriormente se debe ejecutar: host:/usr/src/linux# make modules_install, con este


comando se instalarán los módulos en el directorio /lib/modules/x.y.z/. A partir de ahora
serán accesibles con el comando: # modconf

DOCUMENTOS DE ESTÁNDARES

Los estándares, ya sean genéricos del mundo UNIX o particulares de GNU/Linux, permiten
seguir unos criterios básicos, por medio de los cuales se ofrecen pautas para el momento de
aprender o realizar una tarea, ya que proporcionan la información básica para darle
comienzo al trabajo. En GNU/Linux se pueden encontrar estándares como el FHS
(Filesystem Hierarchy Standard), el cual explica qué se puede encontrar, o dónde buscarlo,
en la estructura del sistema de archivos de nuestro sistema. O el LSB (Linux Standard Base),
el cual comenta diferentes componentes que suelen ser encontrados en los sistemas.

En el estándar FHS (Filesystem Hierchachy Standard) se describen la estructura de árbol del


sistema de archivos principal (/), donde se especifica la estructura de los directorios y los
principales archivos que contendrán. Este estándar se utiliza en mayor o menor medida

59
también para los UNIX comerciales, en los cuales al principio hubo muchas diferencias que
hicieron que cada fabricante cambiara la estructura a su gusto. El estándar pensado en un
principio para GNU/Linux se hizo para normalizar esta situación y evitar los cambios
drásticos. Aun así, el estándar es seguido con diferentes grados, la mayoría de distribuciones
siguen en un alto porcentaje el FHS, realizando cambios menores o aportando archivos o
directorios que no existían en el estándar.

Un esquema básico de directorios podría ser:

 /bin: son utilidades de base del sistema, en general programas utilizados por los
usuarios, ya sea desde los comandos básicos del sistema, como /bin/ls, listar
directorio, pasando por los shells (/bin/bash), etc.

 /boot: son los archivos que se necesitan durante el arranque del sistema, por ejemplo
la imagen del kernel Linux, en /boot/vmlinuz.

 /dev: aquí se encuentran los archivos especiales que representan los dispositivos
posibles en el sistema, el acceso a los periféricos en sistemas UNIX se hace como si
fueran periféricos. También se pueden encontrar archivos como /dev/console,
/dev/modem, /dev/mouse, /dev/cdrom, /dev/floppy, los cuales son en general, enlaces
a dispositivos más específicos del tipo de controlador o interfaz que utilizan los
dispositivos: /dev/mouse fi /dev/psaux, un ratón de tipo PS2; o /dev/cdrom fi /dev/hdc,
un CD-ROM que es un dispositivo del segundo conector IDE y máster. Aquí se
encuentran los dispositivos IDE como /dev/hdx, los scsi /dev/sdx, ... con x variando
según el dispositivo.

 /etc: son archivos de configuración. La mayoría de tareas de administración


necesitarán examinar o modificar los archivos contenidos en este directorio. Por
ejemplo: /etc/passwd contiene la información de las cuentas de los usuarios del
sistema.

 /home: aquí se encuentran las cuentas de los usuarios, es decir, los directorios
personales de cada usuario.

60
 /lib: son las bibliotecas del sistema, compartidas por los programas de usuario, ya
sean estáticas (extensión .a) o dinámicas (extensión .so). Por ejemplo, la biblioteca C
estándar, en archivos libc.so o libc.a.

 /mnt: este es el punto para montar, comando mount, los sistemas de archivos
extraíbles; por ejemplo: /mnt/cdrom, para montar el lector de CD-ROM.

 /opt: con esto se coloca, en general, el software añadido al sistema posterior a la


instalación; otra instalación válida es en /usr/local.

 /sbin: son utilidades de base del sistema. Son normalmente comandos reservados
para el administrador (root). Por ejemplo: /sbin/fsck para verificar el estado de los
sistemas de archivos.

 /tmp: son archivos temporales de las aplicaciones o del propio sistema.

 /usr: son los diferentes elementos instalados en el sistema. Aquí se instala cualquier
software de sistema más completo, además de los complementos multimedia, como
iconos, imágenes, sonidos, por ejemplo en: /usr/share, y la documentación del sistema
(/usr/doc. Esto se suele utilziar también en /usr/local para instalar algún software.

 /var: son los archivos de registro de sesión o de estado, los archivos de tipo log, y/o
los errores del propio sistema y de diversos servicios, tanto locales como de red. Por
ejemplo, los archivos de sesión en /var/log, los contenido de los mails en
/var/spool/mail, o los trabajos de impresión en /var/spool/lpd.

Otro de los estándares en proceso es el LSB (Linux Standard Base). Con este estándar se
definen los niveles de compatibilidad entre las aplicaciones, bibliotecas y utilidades, de forma
que sea posible la portabilidad de las aplicaciones entre distribuciones sin presentar
demasiados problemas. Además del estándar, se ofrecen conjuntos de prueba para verificar
el nivel de compatibilidad. El LSB es en sí mismo un recopilatorio de varios estándares
aplicados a GNU/Linux.

61
DOCUMENTACIÓN DEL SISTEMA EN LÍNEA

Uno de los aspectos más relevantes para las tareas de soporte es contar con la
documentación correcta para el sistema y el software instalado. Existen muchas fuentes de
información, pero se destacarán las presentadas a continuación:

 man es la ayuda por excelencia. Ésta permite consultar el manual de GNU/Linux, que
se encuentra agrupado en varias secciones, correspondientes a comandos de
administración, formatos de archivos, comandos de usuario, llamadas de lenguaje C,
etc. Normalmente, para obtener la ayuda asociada con este elemento sólo se
necesita: man comando

En cada página se describe el comando junto con sus opciones y, en general, algunos
ejemplos de su uso. Algunas veces, puede existir más de una entrada en el manual.
Por ejemplo, puede que haya una llamada C con igual nombre que un comando; en
este caso, hay que especificar qué sección se desea revisar:

man n comando siendo n el número de sección.

También, existen unas cuantas herramientas de exploración de los manuales, por


ejemplo xman y tkman, que por medio de la interfaz gráfica hacen más fácil el análisis
de las diferentes secciones, así como de los índices de los comandos. Otro comando
interesante es apropos palabra, que nos puede servir para localizar páginas man que
traten un tema específico, en general, asociado con la palabra buscada.

 info este es otro sistema de ayuda habitual. Es un programa desarrollado por GNU
para la documentación de muchas de sus herramientas. Es simplemente una
herramienta textual donde los capítulos y páginas pueden ser revisados por medio de
un sistema de navegación simple, basado en teclado.

 Documentación de las aplicaciones: aparte de ciertas páginas man, es normal incluir


algo de documentación extra en las aplicaciones, ya sea en forma de manuales o
tutoriales, o simples guías de usuario. En general, estos componentes de
documentación se instalan en el directorio /usr/doc, en donde se crea un directorio por
paquete de aplicación.

62
 Sistemas propios de las distribuciones. Debian presenta los manuales como un
paquete de software más y suelen instalarse en /usr/doc. Por otro lado, dispone de
herramientas que clasifican la documentación presente en el sistema, y la organizan
por menús para su visualización, como dwww o dhelp, las cuales presentan interfaces
Web para revisar la documentación del sistema.

 Para terminar, los escritorios X, como Gnome y KDE, también cuentan en general con
sistemas de documentación propios, conteniendo su documentación y manuales, así
como la información para los desarrolladores, ya sea en forma de ayudas gráficas en
sus aplicaciones, o en aplicaciones propias que recopilan las ayudas, como devhelp
en Gnome por ejemplo.

EJERCICIOS

Ejercicio Uno

 Abre un terminal.

 Usando el comando ls, comprueba el contenido de tu directorio de usuario.

 Comprueba ahora el contenido del directorio /etc.

 Comprueba el contenido del directorio /

 Escribe ls /etc/f* .... Observa que nos muestra los archivos y directorios cuyo nombre
empieza por "f".

 Escribe el comando que muestre todos los archivos del directorio "/etc" que acaben en
".conf"

Ejercicio Dos

 Haz cat /etc/fstab ---> El archivo /etc/fstab contiene líneas donde se indica qué
dispositivo debe "montar", el lugar donde "montarlo", así como el sistema de archivos
y las opciones (en este archivo, se pueden poner dos opciones más: auto y noauto,
que indican si se debe "montar" automáticamente al arrancar el sistema o no,
respectivamente).

 cat -n /etc/passwd --> contiene de claves del sistema.

63
 cat /etc/resolv.conf --> contiene las direcciones DNS y el nombre del dominio.

 cat /etc/hosts --> contiene las direcciones y los nombres de los equipos de la red.

 Busca los archivos del directorio "/etc" que contengan "/hda". Observe que hay
archivos a los que "grep" no puede acceder .

 cat /etc/shadow --> contiene los grupos registrados en el sistema. Para poder ver su
contenido se puede entrar como "root", para ello se escribe el comando su y pedirá la
clave de acceso. Ahora puedes listar el contenido de "etc/shadow" con el comando
"cat".

 Crea un archivo usando gedit archivo1. Preguntará si deseas crear el archivo y debes
contestar que "Si", aparecerá la ventana del editor.

 Escribe dentro de él: "Comandos Básicos”. Guarda las modificaciones pulsando en


"Guardar".

 Compruebe usando grep que se puede encontrar ese archivo al buscar los que
contengan la cadena "Comandos" en el directorio "/home" y todos sus subdirectorios.

 Escribe cat archivo1 archivo1 archivo1 > archivo2. Comprueba con ls que ha
aparecido un archivo llamado "archivo2"

 Observa usando cat el contenido del archivo.

Ejercicio Tres

 Observa el resultado de escribir los comandos ls -la /dev. --> como se puede ver el
listado es demasiado extenso y aunque se mueva la barra de desplazamiento vertical
de la ventana del terminal, no se puede llegar al principio del listado.

 Observa el resultado de ls -la /dev | more --> comprueba que es más fácil ver el listado
de archivos.

Ejercicio Cuatro
 Escribe el comando cp -i /etc/resolv.conf

 ¿Cuántos Mb tiene en uso su directorio home?

64
 Copia los archivos /etc/passwd /etc/fstab a tu directorio de trabajo.

 Cambia sus nombres a "claves" y "tabla", respectivamente.

 Borra los dos archivos: "claves", "tabla"

 Copia el directorio "/etc/apt" a tu directorio de trabajo con el nombre "apt_copia".

 Comprueba con ls /etc/apt y ls apt_copia, que el contenido de los dos directorios


coincide.

 Cambia el nombre del directorio "apt_copia" a "apt_copia_2".

Ejercicio Cinco

 Crea en tu directorio de trabajo los subdirectorios: "carpeta1", "carpeta2" y"carpeta3".

 Usando "cd" colócate en el directorio "carpeta1" y crea dentro de él los subdirectorios:


"carpeta11" y "carpeta12".

 Crea los subdirectorios: "carpeta2/carpeta21" (es decir, crea dentro del directorio
"carpeta2" el subdirectorio "carpeta21") y "carpeta2/carpeta22".

 Crea los subdirectorios: "carpeta3/carpeta31", "carpeta3/carpeta32"


y"carpeta3/carpeta33".

 Borra el subdirectorio "carpeta2/carpeta21".

 Cambia el nombre del subdirectorio "carpeta22" a "carpeta222".

 Copia el directorio "apt_copia_2" dentro de la carpeta "carpeta3".

 Empaqueta el directorio "carpeta_3" y todo su contenido (incluidos los subdirectorios)


en el archivo "comprimido.tar".

 Borra todos los directorios que has creado.

 Comprueba con ls que han desaparecido los directorios que hemos borrado.

 Desempaqueta el archivo "comprimido.tar" en tu directorio de trabajo.

 Comprueba que ha vuelto aparecer el directorio "carpeta3" con todo su contenido


(incluidos subdirectorios).

65
 Vuelve a borrar el directorio "carpeta3".

 Comprime el archivo "comprimido.tar" con "gzip -9 comprimido.tar". Haz ls y


comprueba lo que ha ocurrido con el archivo ".tar"

 Descomprímelo usando gunzip. Comprueba con ls que ha vuelto a aparecer el archivo


".tar".

 Desempaqueta ese archivo y comprueba que ha vuelto aparecer el directorio


"carpeta3".

Ejercicio Seis

 Haz un enlace débil de "/home/usuario/enlace" a "/home/usuario/carpeta3".

 Haz ls -la enlace y ls -la carpeta3. Comprueba que su contenido es el mismo.

 Haz ls -l y comprueba que en la lista aparece el enlace -> /home/usuario/carpeta3.

 Crea un directorio llamado "lll" dentro del directorio "enlace".

 Comprueba que en el directorio "carpeta3" también aparece ahora ese directorio,es


decir, lo que hagamos en una carpeta se verá reflejado en la otra, y viceversa.

 Crea con OpenOffice un documento SXW dentro de tu directorio de trabajo y escribe


cualquier contenido. Crea en /tmp un enlace fuerte a dicho archivo y comprueba lo que
ocurre cuando modificas dicho archivo.

Ejercicio Siete

 Escribe who y comprueba los usuarios que se encuentran activos en el sistema.

 Escribe finger usuario y comprueba la información que puedes obtener del usuario.

 Entra como superusuario con "su" y crea el usuario "carlos" con clave "carlos".

 Termina tu sesión pulsando en "Acciones --> Terminar sesión" y accede como


usuario "carlos" con su clave. CUANDO TERMINES PULSA CERRAR LA SESION DE
"CARLOS" Y VUELVE A TU USUARIO.

 Crea otro usuario llamado "jose" con clave "jose".

66
 Borra el usuario "jose".

 Comprueba que el directorio "/home/jose" sigue existiendo. Para liberar espacio en


disco borra ese directorio.

 Crea el grupo alumnos.

 Añade el usuario "carlos" al grupo alumnos.

 Para poder ver los grupos y comprobar qué usuarios pertenecen a él podemos ver el
contenido del archivo /etc/group

 Elimina a "carlos" del grupo "alumnos" .

 Comprueba de nuevo los usuarios que pertenecen al grupo "alumnos".

 Elimina el grupo "alumnos".

Ejercicio Ocho

 Abre un terminal.

 Escribe gedit archivo para crear el archivo "archivo" y guardarlo en tu directorio de


trabajo. Cierra la ventana del editor.

 Comprueba los permisos del archivo con el comando ls -l archivo.

 Cambia los permisos del archivo a: "-rw-rw-r--"

 Cambia los permisos del archivo a: "-rw-r—rw-"

 Cambia los permisos del archivo a: "-rwxrwxrwx"

 Cambia el propietario de "archivo" a "pepe"

 Cambia el grupo de "archivo" a "pepe"

 Muevete al directorio /home y comprueba usando ls -l los permisos del directorio


"pepe" (que es el directorio de trabajo del usuario "pepe"). Verás que se obtiene algo
como: drwxr-xr-x 30 pepe pepe 4096 2005-01-18 10:15 pepe

 Comprueba que puedes acceder al contenido del directorio del usuario "pepe" con ls
-la /home/pepe

67
 Para poder modificar los permisos del directorio "/home/pepe" vamos a entrar como
superusuario con su

 Ahora debemos cambiar los permisos del directorio "/home/pepe" a drwx------

 Dejamos de ser superusuario con exit

 Comprueba que ahora como usuario "usuario" ya no puedes acceder al directorio


"/home/pepe"

 Comprueba que puedes cambiar los permisos de tu directorio de trabajo


"/home/usuario"

 Vuelve a dejar los permisos de "/home/usuario" como estaba, es decir, drwx------

Ejercicio Nueve

 Usa ifconfig para conocer la IP de tu PC.

 Haz un ping a la IP de tu PC.

 Haz un ping a la IP de algún PC cercano (pide la IP).

 Mapea los puertos de tu PC para comprobar los servicios que están disponibles.

 Mapea los puertos de algún PC cercano.

 Haz ping pcXX ¿Qué sucede?

 Cambiate a superusuario.

 Usando tu editor favorito, edita el archivo "/etc/hosts" y añade la línea: 192.168.0.XXX


pcXX.

 Abre localdomain pcXX

 Comprueba que ahora ping pcXX encuentra su destino.

 Usa el comado netstat -n para conocer la puerta de enlace que tienes configurada. Si
no tienes configurada la puerta de enlace ejecuta ip route add default via 192.168.0.1
donde en lugar de 192.168.0.1 pondremos la IP que corresponda a nuestro router
(próximo salto).

68
ENLACES DE INTERÉS

http://www.debian.org/index.es.html

http://www.tutorial-enlace.net/tutoriales-Linux/tipo-Debian-pagina-1-Fecha.html

http://www.debian.org/doc/manuals/reference/ch-tutorial.es.html

http://www.linux-party.com/TutorialLinux/

http://www.webtutoriales.com/tutoriales/linux/comandos-linux.23.html

http://www.sindominio.net/quique/Textos/compilacion_nucleo_linux.html

http://www.zonasiete.org/docs/kernel_mini_howto/

http://www.linuxparatodos.net/portal/staticpages/index.php?page=02-cuentas-usuario

http://fferrer.dsic.upv.es/cursos/Linux/basico/ch05.html

http://www.islascruz.org/html/data/files/textos/Instalacion.html

69