You are on page 1of 24

Módulo I

Instalación, configuración y comandos básicos

En esta introducción revisaremos los conceptos generales necesarios para entender como funciona
Linux. También se verán las configuraciones más esenciales y por último algunos comandos para
comenzar a manejarnos con Linux.

Introducción

Linux es un sistema operativo multi-usuario y multi-tarea, esto quiere decir que muchas personas
pueden estar corriendo diferentes tareas al mismo tiempo, trabajando en una misma máquina con
Linux.
Como todo sistema operativo, Linux, corre muchas tareas o procesos que necesita para el correcto
funcionamiento del sistema operativo. Estos procesos corren en un modo especial llamado
"background", lo especial de este tipo de procesos es que no tienen interacción directa con el
usuario (no necesitan que el usuario los vea en la pantalla, ni que ingrese datos por te clado).

Inicio, bajado y reinicio de Linux

Cuando se prende la máquina, Linux empieza a inicializarse. Lo primero que Linux correrá es el
propio núcleo del sistema o "kernel" (en inglés). El núcleo verifica todo el equipamiento (o
hardware) que encuentra en la máquina y se "apropia" del mismo. Una vez que el núcleo terminó de
verificar todo, le pasa el mando al comando "init", este es el primer proceso de Linux, "padre" de
todos los procesos que correrán en el sistema operativo.

El Arranque

Lo primero que hace una computadora cuando es encendida es llevar a cabo un auto-chequeo,
conocido como POST -Power On Self Test (Auto chequeo de encendido) para determinar una serie
de cosas como cuánta memoria tiene, que discos tiene, si tiene ratón o teclados conectados, etc. La
ultima etapa del POST es informar al usuario si se han encontrado errores. Esta notificación se
realiza por medio de beeps. Tras completar este auto chequeo , el sistema lee un bloque de
información del dispositivo desde que esté arrancando (conocido como bloque de arranque o boot
block), que suele ser (pero no siempre) tu disco duro. El bloque de arranque siempre se encuentra
en el mismo sitio: pista 0, cilindro 0 y cabeza 0 del dispositivo del que está arrancando.

Puedes modificar la configuración de la BIOS (Basic Input Output System, Sistema Básico de
Entrada/Salida) de tu computadora si quieres cambiar tu dispositivo de arranque, pero descriir como
se hace eso és específico de cada BIOS.

El bloque de arranque contiene un lanzador de programa (normalmente el lanzador de linux LILO


(LInux Loader) o alguna variante tanto comercial como libre que se encarga de iniciar el sistema
operativo. Entre las alternativas libres, es de destacarse el cargador GRUB, que RedHat a adoptado
desde la version 7.0. Estos programas tiene nconocimiento de cómo está particionado el disco, que
sistemas operativos puede lanzar tu computadora, y como iniciar cada sistema operativo.

Todo lo que aparezca antes del prompt de LILO es su computadora comprobándose a sí misma y su
hardware: todo lo demás tiene que ver con Linux (dando por sentado que esta corriendo Linux,
claro está).
En el prompt de LILO: puede teclear <Enter> para que su compuadora arranque el sistema por
defecto "linux", o teclear <Tabulador> para ver una lista de los distintos sistemas operativos que
pueden lanzar actualmente su computadora. LILO se configura especificando el tipo de sistema
operativo y en que particion se encuentra el mismo en el archivo /etc/lilo.conf..

LILO carga el sistema operativo elegido, o el configurado por defecto (de hecho, el kernel de linux)
en memoria y entonces le transfiere el control a ese núcleo. (LILO hace exactamente lo mismo
cuando lanza un sistema operativo distinto a Linux).

Cuando se ejecuta el Kernel, este realiza el mismo tipo de comprobación del hardware que ya
realizaran tu BIOS y tu placa madre en el arranque, pero esta vez con la intención de usar todo ello
como parte substancial de tu sistema Linux. Entonces el Kernel entra en la paarte del procedimiento
de arranque.

Linux/Unix funcionan en diferentes niveles de ejecución

De forma que puedas entender de verdad cuando tu sistema operativo está arrancando, necesitas
estar familiariazdo con el concepto de "run levels", o niveles de ejecución. Estos niveles representan
el modo de funcionamiento de tu sistema. Los sistemas Linux poseen una serie de niveles de
ejecucion predefinidos de los que puedes que hayas oído hablar: modo monousuario (singler user),
monousuario con trabajo en red (single user with networking), multiusuario, multiusuario con una
pantalla de entrada gráfica, y así. Estos son los niveles de ejecución básicos de Linux. Los niveles
de ejecución, y los archivos asociados a ellos, conforman un área donde los sistemas Linux varían
considerablemente, por lo que, nos centraremos en un sistema Red Hat, que ofrece los siguientes
niveles de ejecución:

0 Halt/Parada. Desconecta el sistema y lo apaga, cuando sea posible.

1 Modo Monousuario. Se usa para llevar a cabo tareas admiistrativas, tales como añadir,
particionar, y formatear discos, cambiar la información de red y cosas por el estilo.

2 Multiusuario, sin trabajo en red. ( Lo mismo que el nivel de ejecución 3, pero no disponen de
trabajo en red)

3 Modo Multiusuario Completo, con un soporte para trabajo en red.

5 Modo Multiusuario Completo con un login de (gráfico corriendo en la pantalla).

6 Rearranque.Finaliza todos los procesos de ejecución y reinicia la máquina al nivel de ejecución


por defecto.

El proceso init es el primer proceso que arranca el Kernel, después de llevar a cabo toda la parte de
la comprobación hardware.

El Archivo/etc/inittab

Una vez cargado el núcleo de Linux, éste le pasa el control a init, que lo primero que hace es
examinar el archivo /etc/inittab (Tabla de inicio) para determinar cual es el nivel predeterminado de
ejecución, e iniciar el script de inicio correspondiente. A continuación un ejemlo del archivo
/etc/inittab:
Id:3:initdefault:
si:sysinit:/etc/rc.d/rc.sysinit
10:0:wait:/etc/rc.d/rc 0
11:0:wait:/etc/rc.d/rc 1
12:0:wait:/etc/rc.d/rc 2
13:0:wait:/etc/rc.d/rc 3
14:0:wait:/etc/rc.d/rc 4
15:0:wait:/etc/rc.d/rc 5
16:0:wait:/etc/rc.d/rc 6

Las líneas en el archivo /etc/inittab tiene las siguiente sintaxis:


identificador del nivel ejecución:acción:script a ejecutar.

Un script es muy básicamente un archivo que contiene una serie de comandos a ejecutar (más sobre
scripts en el Modulo 4).

De hecho, puede que te hayas dado cuenta de que todos estos archivos son de tipo rc.<un número>.
Bueno pues rc significa <ejecutar comando> en inglés (run command).

La Línea en el archivo /etc/inittab con la acción initdefault le especifica el proceso init que el nivel
de ejcución por defecto para tu máquina es el nivel 3, que es un nivel de ejecución multiusuario en
el cual todos los servicios de red están activos. El proceso init guarda esta información para un uso
futuro y continuo leyendo el archivo /etc/inittab. Sin un mecanismo para especificar el nivel de
ejecución al cual tiene que irse la máquina en el arranque, qué sevicios arrancar, y así.

Lo siguiente que hace el proceso init es encontrar la línea con la acción sysinit (iniciación del
sistema) y ejecutar el comando asociado a esa acción; en este caso /etc/rc.d/sysinit.
Tras ejecutar el script /etc/rc.d/sysinit, el proceso init empezará a ejecutar los comandos asociados
con el nivel de ejecución por defecto en el arranque.

Las siguientes líneas en el archivo /etc/inittab son específicas de los diferentes niveles de ejecución.
Cada una de éstas líneas corre un único nivel script - </etc/rc.d/rc> - que toma un número de 1-6
como argumento diciéndole en que nivel de ejecución desea entrar el sistema. La acción más
común, en el campo de acción del archivo /etc/inittab, para estos script específicos de cada nivel de
ejecución es la esperar, lo que significa que le proceso init ejecuta el archivo de comando para el
nivel de ejecución especificado y espera hasta que este nivel de ejecución termine. Para una lista
completa de las acciones en el comando /etc/inittab.

Otra entrada del archivo /etc/inittab que merece nuestra atención es aquella con la acción ctrlaldel,
que le dice al proceso init cómo hemos de tratar el clásico saludo de tres - dedos de la computación
en PC, control-alt-suprimir. Si quieres que tu sistema ignore esta combinación de letras entonces no
especifiques ningún comando o archivos de comando para ésta acción. El comando por defecto es
apagar el sistema en tres segundos y reiniciarlo.

El archivo inittab tambien permite definir que acciones tomar en caso de que si ocurre un corto o
fallo electrico y tenemos un UPS conectado a nuestro sistema. Por norma general en caso de una
falla el UPS reacciona, envia el mensaje al sistema por medio de una coneccion serie, provocandose
asi un apagado del sistema en los proximos 2 minutos, pudiendo ser esto cancelado si el problema
electrico se resuelve antes del tiempo limite de 2 minutos. El comando encargado de iniciar o
cancelar el apagado o reinicio del sistema es shutdown:

shutdown -f -h +2 "El sistema se apagará en 2 minutos por falla electrica"


shutdown -c "Falla electrica solucionada, apagado cancelado"

Otra funcion importante del archivo inittab es la de definir las consolas virtuales a las que podremos
acceder. Para una configuracion de 6 consolas virtuales el bloque de configuración se ve así:

1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

Para agregar una consola adicional solamente tendriamos que agregar una linea comenzando con el
numero 7 (por ser la septima definicion) y terminando en tty7, por ser el dispositivo de
entrada/salida de consola a utilizar:

7:2345:respawn:/sbin/mingetty tty7

El Archivo de comandos /etc/rc.d/rc.sysinit

El comando identificado en la entrada de iniciallización del sistema se ejecuta una única vez por el
proceso init cada vez que se arranca tu sistema. En general, este sript ejecuta un montón de
comandos que realizan las siguientes tareas:

Determina si tu sistema ésta en una red basándose en archivo /etc/sysconfing/network.


Monta el sistema de archivos /proc, que usa Linux para llevar el control de varios procesos de tu
sistema.
Configura el reloj del sistema basándose en la configuración BIOS y en la zona horaria y otros
parámetros que definiste cuando instalaste Linux.
Arranca la memoria virtual de tu sistema al activar todas las particiones swap identificadas en tu
archivo /etc/fstab (File Systems Table, Tabla de Sistemas de Archivos)
Establece el nombre de tu máquina, host, para trabajo en red y mecanismos de autentificación
globales, tales como NIS (Network Information Service, Servicio de Información de la Red,
también conocidas como páginas amarillas (yellow pages) para los administradores de red). NIS +
(una versión mejorada de NIS), y similares.
Comprueba el sistema de archivos raíz de tu máquina en busca de posibles errores de consistencia,
y lo monta en caso de no encontrar ninguno.
Comprueba otros sistemas de archivos identificados en tu archivo /etc/fstab, adecuadamente.
Identifica cualquier rutina especial requerida por el sistema operativo para usar el hardware de tu
computadora, configura periféricos plug-and-play que puedas tener conectados a ella y activa otros
servicios básicos del sistema, como el sonido.
Comprueba el estado de cualesquiera dispositivo de disco especiales que puedas tener en tu sistema,
como puede serlo disco RAID (Redundant Array of Inexpensive Disks, Matriz Redundante de
Discos Baratos).
Monta todos los sistemas de archivos identificados en tu archivo / etc/inittab.
Realiza otras tareas adminstrativas.

El directorio /etc/rc.d/init.d

Este directorio contiene todos los archivos de comando que de hecho arrancan y paran los servicios
asociados con todos los niveles de ejecución. El almacenar todos los comandos asociados con cada
uno de los niveles de ejecución simplificca la asociación múltiple de un único servicio dado con
varios niveles de ejecución.

Esta asociación redundante entre comandos y niveles de ejecución es posible porque cada nivel de
ejecución tiene su propio directorio asociado. Pero los comando almacenados en los directorios
específicos de cada nivel de ejecución no son más que eslaces simbólicos a aquellos que se
encuentran en /etc/rc.d/init.d; la única copia original.

Todos los archivos de comando que se encuentran en el directorio /etc/rc.d/init.d tienen nombres
cortos que son los bastantes descriptos como para identificar a qué servicio o servicios están
asociados. Por ejemplo, el archivo /etc/rc.d/init.d/amd arranca y para el demonio del automontaje,
que monta hosts y dispoditivos NFS siempre que sean necesarios.

Los scripts en /etc/rc.d/init.d arrancan o paran los servicios con los que están asociados en función
de los argumentos específicos con los que son llamados. Por ejemplo, el comando
/etc/rc.d/init.d/amd start arranca el demonio de automontaje, mientra que /etc/rc.d/init.d/amd stop lo
para. Algunos de estos archivos de comandos aceptan otros parámetros de llamada, como restart o
status. El parámetro restart termina cualquier proceso asociado al servicio, y entonces arranca el
servicio de nuevo. El parámentro status lista cualquier proceso asociado al servicio en cuestión, y
termina sin cambiar nada.

La lista de los servicios asociados con cada nivel de ejecución de Linux se almacena en un
directorio específico asociado a ese nivel. Por ejemplo, los sercicios asociados al nivel de ejecuión
básico de Llinux de multiusuario, nivel 3, se encuentran listados en el directorio /etc/rc.d/rc3.d.
Estas entradas son de hecho enlaces simbólicos a los archivos de comando almacenados en
/etc/rc.d/init.d, que son los que de hecho arrancan o paran los servicios en sí.

Ahora es cuando viene lo bueno

Primero, los nombres de los enlaces simbólicos que identifican los servicios que se han de arrancar
en cada nivel de ejecución deben comenzar por la letra S mayúscula (de Start, inicio).
Análogamente, los servicios que han de ser parados para cada nivel de ejecución se identifican con
la letra K mayúscula (de Kill, matar proceso).

Segundo, los nombres de los enlaces simbólicos contienen números que especifican el orden en que
los servicios se van a ir lanzando en el arranque, (de dos cifras 00 hasta 99).

Ejemplo, que ayude a clarificar todo esto:


Supón que hay dos servicios, fulano y mengano, que han de arrancarse siempre que Linux entre en
el nivel de ejecución 3, y en el servicio mengano sólo puede iniciar si ya está iniciado el servicio
fulano. Linux hace sencillo codificar esta información. El directorio /etc/rc.d/init.d/fulano. Este
directorio también contendrá otro directorio llamado S2mengano que apunte a
/etc/rc.dinit.d/mengano. Y esto es todo lo que hay que hacer!!!!!!.

Cuando arrancas tu sistema con el modo de ejecución 3, el proceso init cambia al directorio
/etc/rc.d/rc3.d, y empieza a ejecutar los archivos de comando que empiecen con la letra"S" en orden
numérico. Por ejemplo, el primer comando que ejecuta es S1fulano, que apunta a
/etc/rc.d/init.d/fulano. Tras arrancar este servicio, el proceso init ejecuta el proceso S2mengano, que
apunta a /etc/rc.d/init.d/mengano.

Después de que el proceso unit haya ejecutado todos los comandos, archivos y scripts identificados
en las secciones anteriores, los últimos pocos procesos que inicia son los /sbin/mingetty, que
muestran el familiar banner y mensaje de entrada (login) en tu monitor o cualesquiera otros
terminales conectados a tu sistema.

El sistema está ahora plenamente iniciado y corriendo y presto a que tú entres en él.
Y puedes preguntarte ¿ Y si quiero cambiar de nivel de ejecución una vez que se ha arrancado el
sistema?. "Eso, no es problema". Red Hat ofrece tres formas distintas de cambiar el nivel de
ejecución. Dos de estos tienen uso limitados ( el comando shutdown y arrancando en un nivel de
ejecución especificado), mientras que el tercero es un comando de propósito general pensado para
cambiar desde cualquier nivel de ejecución a otro cualqquiera.

1. El comando shutdown (/sbin/shutdown) cambia el nivel de ejecución al nivel 6 ( el nivel de


ejecución preparatorio para el apagado). Puedes pasarles argumentos al comando shutdown tales
como -h (halt) o -r (reboot), diciéndole cuales de esos niveles de ejecución (0-6) ejecutar. Si no le
especificas ninguno de los modificadores en tu shutdown, el sistema rearrancará automáticamente
en el modo monousuario.

2. Arrancando desde LILO Arrancar una vez en el nivel de ejecución se hace pasándole a tu gestor
de arranque ,normalmente LILO, el nivel de ejecución en el que quieres entrar. También puedes
usar el modificador -s para evitar el modo monousuario y realizar tareas administrativas en la
máquina. Algunas líneas de ejemplo de cómo hacer esto desde el prompt de LILO serían:

Linux single

Linux 5

El primero de estos ejemplos arranca el sistema en modo monousuaruio. Como por ejemplo de
arrancar el sistema en un nivel de ejecución dado, segundo ejemplo, arranca el sistema en el nivel
de ejecución 5. El poder arrancar en otros niveles de ejcución desde el LILO, simplifica la tarea de
probar la configuración de cada uno de estos niveles de ejecución sin tener que tocar nada la entrada
de initdefault en el archivo /etc/inittab.

3. Para cambiar niveles de ejecución utilizamos el comando telinit (/sbin/telinit).


El comando telinit, es de hecho, un enlace al comando init, pero está pensado para que lo usen
administradores de sistema, más que correr como parte automática del procedimiento de arranque
del sitema. Para cambiar a otro nivel de ejecución basta con ejecutar el comando telinit <nivel-de-
ejecución>, donde "nivel de ejecución" es uno de los diferentes niveles de ejecución especificados
en el archivo /etc/inittab. Esto lo primero que hace es ejecutar aquellos comandos que empiezan por
la "K" en el directorio /etc/rc.d/rc(runlevel). Asociados con el nivel de ejecución actual, y luego
cambia al nivel de ejecución especificado, que entonces ejecuta todos los comandos S* del
directorio asociado a este nuevo nivel de ejecución.

Es importante darse cuenta de que cambiar a un nivel de ejecución específico no ejecuta los
comandos asociados con niveles de ejecución inferiores, pues sólo ejecuta los asociados al nuevo
nivel de ejecución. Es fácil de ver el porqué: Si linux ejecutara todos los comandos asociados a los
niveles de ejecución inferiores, ejecutaría los niveles de ejcución 0 los primeros, lo cual apagaría el
sitema.

Una vez que te encuentras en un nivel de ejecución específico como resultado de haber ejecutado el
comando telinit, puedes arrancar manualmente comandos asociados con otros niveles de ejecución
invocándolos directamente desde la consola. Por ejemplo, podrías escribir el comando
/etc/rc.d/init.d/inetd start para arrancar el superdemonio de Internet desde un nivel de ejecución que
no lo arranca por defecto. Esto, de hecho, puede ser muy útil para probar varias configuraciones.
Una vez qur te canses de experimentar con niveles de ejecución y configurando tu sistema, podrás
teclear el comando reboot (/sbin/reboot) y rearrancar tu máquina en el nivel de ejecución por
defecto, con lo que tu sistema estaría listo y ejecutándose.

A pesar de que puede parecer complejo entender los niveles de ejecución, los comandos que usa tu
Linux para cambiar de nivel de ejecución, y el orden en que tu sistema Linux ejecuta esos
comandos, te proporcionan mucho poder. No sólo te sentirás mejor al ver todos los datos que tu
Linux muestra por pantalla en el arranque, sino que serás capáz de personalizar el proceso de
arranque de tu sistema si asi lo deseas.

Entender los niveles de ejecución te da el poder de personalizar tu sistema para que arranque
cualquier proceso que quieras, en cualquier nivel de ejecución, y en cualquier orden. Y eso es
justamente de lo que se trata Linux, el tener la flexibilidad y la libertad que necesitas para hacer que
tu sistema funcione como tú quieres que funcione.

EJERCICIOS:
* Modificar el nivel de ejecucion por defecto para que inicie el sistema en modo gráfico,
deshabilitar la combinación Ctrl+Alt+Delete y agregar consolas virtuales hasta la tty8.

Algunos Comandos.

Ants que nada, recuerden que tienen disponible en el sistema la documentacion de cada comando, a
la que pueden acceder con "man comando". Una vez dentro del manual de dicho comando,
podemos movernos con los cursores, pagina adelante y pagina atras, inicio y fin. Para buscar
utilizamos la tecla "/" seguido de la palabra/frase a buscar y ENTER. Para salir, simplemente
utilizamos "q".

Comando: "shutdown"
Uso: shutdown [opciones] tiempo [mensaje]
Descripción:
El comando shutdown se utiliza para apagar el equipo.
Opciones mas utilizadas:
-t: indica la cantidad de tiempo, en segundos, que esperará para apagar el equipo.
-r: reiniciará el equipo
-f: reinicio rápido. No se comprobaran los sistemas de archivo al iniciar.
-h: apagara el equipo (sin que este se vuelva a prender)
-k: enviar el mensaje de apagado del equipo sin realmente apagarlo

Ejemplo: shutdown -rf +5 AHORA


Probocará un reinicio rápido dentro de 5 minutos, enviando el mensaje "AHORA" a todos los
usuarios conectados.

Comando: "halt"
Uso: halt [opciones]
Descripción:
El comando halt se utiliza para apagar el equipo sin que este se vuelva a reinicializar.
Opciones:
-h Para el sistema para apagado. (no reinicia)
-r Reiniciar el sistema
-f reinicio rápido. No se comprobaran los sistemas de archivo al iniciar.
-q Silencioso. No se solicita mensaje.
-s Reinicio en modo monousuario. Muy util.

Comando: "reboot"
Opciones similares a halt.
Uso: reboot [opciones]
Descripción:
El comando reboot se utiliza para reinicializar el equipo.

Comando: "poweroff"
Opciones similares a halt.
Uso: poweroff [opciones]
Descripción:
El comando poweroff se utiliza para apagar el equipo sin que este se vuelva a reinicializar.

Cuando termina el proceso de arranque aparece el proceso de:


Login de usuario

Cuando un usuario ingresa al equipo se ejecutan varios procesos. Es importante que se entienda este
procedimiento para poder "personalizar" varias cosas y comenzar a entender como funciona Linux.

Pantalla de "login:"

La pantalla de login (en la consola) es impresa por un comando llamado "mingetty", este comando
lo llama el comando "init" y su uso esta configurado en el archivo "/etc/inittab".
El siguiente es un ejemplo de la pantalla de "login:"

Red Hat Linux release 6.2 (Zoot)


Kernel 2.2.14-5.0 an i686

Server 30 login:

El texto que aparece al principio es tomado del archivo "/etc/issue", si queremos personalizar este
texto, simplemente, se tiene que cambiar el contenido de este archivo. Para logins via red se lee el
archivo /etc/issue.net
La línea que le sigue indicará el nombre del equipo, en el ejemplo citado, aparece como "Server 30"
seguido de la palabra "login:"
Ingresando el nombre del usuario y clave

Cuando se ingresa el nombre del usuario y se presiona la tecla "enter" aparece en escena otro
proceso llamado "login". Este proceso es quien imprimirá la palabra "password:" y el que se
encargará de verificar que la clave ingresada es la correcta.
Para verificar que la clave es la correcta, tomará lo que el usuario haya ingresado, encriptará estos
caracteres y por último comparará esta nueva cadena encriptada, contra la cadena que esté escrita en
archivo de claves ("/etc/passwd" o "/etc/shadow", dependiendo el modo de seguridad utilizado).
El algoritmo utilizado para encriptar las claves no permite hacer la inversa, simplemente, podremos
volver a encriptar, pero nunca desencriptar. Esto es, por supuesto, en teoría, no existe maquina
100% segura, ni algoritmo imposible de ser crackeado, pero Linux no tiene este algoritmo de
desencripción estandarizado, con lo cual no nos da una herramienta para realizar este proceso.
Una vez que la clave ha sido aceptada

Cuando ingresamos la clave correcta, el comando "login" nos permite la entrada al equipo y se
ejecuta el comando de inicio del usuario, este comando se define cuando se crea el usuario. En
usuarios comunes, este comando de inicio será un shell (bash, en Linux), pero a este usuario se le
puede asignar otro comando de inicio. Por ejemplo "/usr/bin/ppplogin" para usuarios PPP,
"/bin/false" para usuarios que leen su correo. Antes de presentarnos el prompt del sistema se
ejecutaran varios scripts. Por otra parte, tambien se mostrará en pantalla el contenido del archivo
/etc/motd (por Message of The Day, mensaje del dia). El prompt mencionado en el caso de RedHat
se ve asi

[usuario@EQUIPO directorio] #

El simbolo "#" al final del prompt indica que el usuario tiene privilegios de administrador. Para un
usuario comun (o no-privilegiado) el prompt finaliza con "$".

Jerarquía de directorios

Es importante también que se entienda como están organizados los archivos de Linux, de esta forma
poder tener una comprensión mas amplia y saber donde buscar, en caso de que necesitemos
encontrar un archivo.
Linux esta organizado en directorios y archivos en su totalidad. En Linux no encontraremos
unidades de disco como "C:", "D:", "A:". Todo en Linux es un directorio o un archivo. Cuando
queramos ver el contenido de un diskette, este, estará visible en un directorio (generalmente
"/mnt/floppy"), lo mismo para el caso de un CDROM, disco de red, otro disco local, etc.

La estructura básica de (mas común) Linux se comprende de los siguientes directorios:

Directorio Contenido
/bin Comandos ejecutables, compilados en forma dinámica
/boot Núcleo, información de booteo
/dev Dispositivos
/etc Casi todos los archivos de configuración
/home Directorios de cada usuario
/lib Mayoría de las bibliotecas de funciones
/proc Archivos especiales con información del estado del equipo
/root Directorio del superusuario
/sbin Binarios compilados en forma estática
/tmp Archivos temporarios
/var Archivos de monitoreo del equipo, spooler de impresoras, mail, etc.
/usr Comandos, documentación, archivos del entorno gráfico, fuentes del núcleo, etc.

Como hacer particiones con FDISK y FIPS

Antes que nada, vale aclarar que FIPS es una utilidad para MS-DOS, ya que generalmente se la
utiliza antes de instalar el sistema Linux.
Comandos más comunes del fdisk

La forma de invocar el fdisk de Linux es la siguiente:

fdisk {dispositivo}
Por ejemplo, si deseo particionar el disco rígido primario master (/dev/hda), pondré lo siguiente:

fdisk /dev/hda

Con esto entramos en un modo interactivo, en el cual podemos solicitar Ayuda (HELP) con el
comando "m".
Dado que los comandos disponibles son bastantes, esta es una recopilación de los más utilizados.
Recordemos que nada se grabará en la tabla de particiones del disco hasta que llamemos al
comando "w".

m - Ayuda (HELP)
d - Borrar una partición (delete)
l - Muestra los tipos de particiones conocidos (list)
n - Agrega una nueva partición (new)
p - Imprime la tabla de particiones actual (print)
q - Sale sin grabar los cambios (quit)
t - Cambia el ID de tipo de partición (type)
v - Verifica la tabla de particiones (verify)
w - escribe la tabla de particiones al disco y sale del fdisk (write)

Los IDs de tipo de partición más comúnmente utilizados por los usuarios Linux son los siguientes
(existen muchos más):

83 - Linux
82 - Linux SWAP
c - Win95 FAT32 (LBA)
e - Win95 FAT16 (LBA)

Existen otras dos herramientas para manejar las particiones en los discos: cfdisk, con una interface
curses, bastante más intuitivo que el fdisk, y sfdisk, una aplicación puramente de consola, bastante
difícil de utilizar, pero que puede utilizarse en scripts al disponer de un modo no interactivo.

Como hago una partición Linux con FIPS

La finalidad de utilizar FIPS es recuperar espacio que, posteriormente, vas a usar para crear
particiones Linux. Antes de emplear FIPS, deberías leer cuidadosamente todos los mensajes que
presenta. El más importante de todos es que FIPS se suministra sin ninguna garantía. A pesar de que
ha sido utilizado muchísimas veces sin que ocurriera nada, siempre existe la posibilidad de que
pueda dañar datos de tu disco duro. Por esta razón, obtené inmediatamente una copia de seguridad
antes de instalarlo.
Por una cuestión de seguridad, vas a necesitar crear un disco de inicio DOS o Windows para poder
trabajar desde él. Después copiá los archivos de FIPS al disquete. Estos archivos cuya copia es
obligatoria, son: fips.exe, restorrb.exe y errors.txt . Quizás quieras también copiar los archivos de
documentación incluidos en FIPS. Cuando hayas obtenido la copia de seguridad de tus datos y estés
listo para proseguir, reinicia tu pc e inicia sesión desde el disquete. Cuando aparezca el indicador
A:\>; tecleá FIPS y pulsa intro. La primera cosa que verás será una advertencia acerca del uso de
FIPS en entornos multitarea, como Windows. Dado que hemos iniciado desde el disquete, estamos
a salvo: pulsa Intro. A continuación FIPS analizará tus particiones actuales. Quizá se quede mucho
rato en " checking FAT" (comprobando el tipo de FAT) y en " serching for free space" (buscando
espacio libre). Esto es normal, de modo que no te queda otra solución que esperar. Cuanto mayor
sea tu disco rígido más tarda. Cuando FIPS ha finalizado el análisis, muestra los resultados. Quizás
te aparezca una advertencia si se ha detectado algún problema en un FAT. Leé el mensaje
cuidadosamente y comprobarás que esto es habitual con los discos de gran tamaño y no va a
impedir que FIPS funcione correctamente. (No te olvides de leer siempre los mensajes).

Realizando ajustes

A continuación, FIPS te va a mostrar sus planes acerca del fraccionamiento de la participación


existente y te ofrecerá la oportunidad de introducir modificaciones. Por omisión, da la impresión de
que FIPS toma dos tercios del espacio libre disponible para la creación de la nueva partición.
Quizás quieras ajustar las pariciones para permitir que Windows conserve un poco más de espacio,
especialmente en caso de que desees instalar software nuevo en Windows. Ajustá tus valores de
acuerdo con tus propias necesidades, pero nosotros te recomendaríamos que, siempre que te lo
permita el espacio disponible, utilices como mínimo 1.024 MB para cada sistema operativo. Utilizá
las teclas de dirección Arriba y Abajo

para efectuar los cambios importantes (10 cilindros cada vez) y las teclas de dirección Izquierda y
Derecha para modificaciones menos importantes ( 1 cilindro cada vez). El tamaño de la partición
existente aparece en la izquierda y el tamaño de la partición nueva, a la derecha. En medio, aparece
el número del cilindro sobre el cual se va a producir el fraccionamiento.
Cuando estés conforme con el nuevo plan, pulsa intro. FIPS visualiza información acerca de las
nuevas particiones y solicita autorización para grabarlas en el disco. Llegados a este punto, tu disco
duro aún no ha sufrido ninguna alteración. Todavía estás a tiempo de elegir entre grabar esta
configuración sobre el disco o volver a editar la tabla de partición, que inicia todo el proceso desde
el principio.
En nuestra máquina de pruebas, cuando hemos elegido reeditar, ha aparecido un mensaje de error
que afirmaba que FIPS no había podido encontrar algunos archivos que necesitaba. En caso de que
te ocurra eso, basta con que pulses simultáneamente las teclas control-alt-supr para volver a iniciar
desde el disquete y empezar de nuevo todo el proceso. Esto no nos ha provocado ningún problema.

No pases por alto la copia de seguridad

Cuando decidas grabar las nuevas particiones, FIPS te ofrecerá la oportunidad de obtener una copia
de seguridad del sector de inicio existente. A menos que te guste vivir peligrosamente, debes
hacerla, la copia de seguridad que crea sólo ocupa 1 K, y te va a resultar valiosísimo en caso de que
algo falle.
Cuando FIPS termina de hacer su tarea, presenta otro mensaje en el que te da instrucciones para que
ejecutes scandisk en tu partición antigua. Nosotros hemos detectado que Windows a veces calcula
mal el espacio utilizado y el espacio libre de nuestro dispositivo después de haber utilizado FIPS,
pero scandisk corrige este problema.
En caso de que decidas restaurar tu esquema de partición original empleando la utilidad restorrb,
también deberías ejecutar scandisk, después de esta operación.
Cuando FIPS ha terminado, nos ha aparecido otro mensaje de error "memory Allocation Error,
unable to load command.com" (Error de alojamiento de memoria, incapaz de cargar
command.com).
Aparentemente, se trata de un mensaje habitual y no hay que alarmarse. Si te aparece, basta con que
pulses control-alt-supr para reiniciar el sistema y todo estará en orden . Tu disco duro debe verse
afectado por esto.
Llegados a este punto, FIPS ya ha conseguido espacio y ha creado una segunda partición que utiliza
ese espacio. Ambas

particiones son de tipo primario. La segunda partición, la que acabamos de crear, ocupa ahora el
espacio donde vas a instalar Linux.
Y ahora prestá atención, ya que se trata de una cuestión ligeramente confusa: la utilidad de
configuración de Linux, cuando se ejecute, querrá crear su propia partición en este espacio, de
modo que necesitás borrar la partición que acabas de crear (en este momento, nos estamos
refiriendo al espacio, no a la partición en sí, de modo que no te preocupes).
Efectuá ahora esta operación iniciando tu máquina desde el disquete de inicio DOS y ejecutando la
utilidad FDISK desde la línea de mandatos del DOS.

Información obtenida de Lxformat, " Instalar Linux paso a paso", Primer número.

Algunas consideraciones con respecto a los discos rígidos

Los discos rígidos IDE se denominan como se indica a continuación:

hda - primary master


hdb - primary slave
hdc - secondary master
hdd - secondary slave

Los discos rígidos SCSI son:

sda
sdb
sdc
?

Y OTROS tipos de dispositivos SCSI utilizan el bus SCSI genérico (sgx):

sga
sgb
sgc
?

Cuando creamos particiones, por ejemplo en un disco hda, podemos observar que las numera de la
siguiente forma:

hda1
hda5
hda6
hda7
?

Esto es debido a que las particiones 1 - 4 están reservadas para particiones primarias, todas las otras
son particiones extendidas.
El Disk Druid crea como máximo 1 partición primaria, y las demás extendidas. Si usáramos el fdisk
de Linux, podríamos crear hasta el máximo de 4 primarias.
Como comentario adicional, el fdisk.exe de DOS no permite crear más de 1 partición primaria, ya
que DOS tiene puede tener problemas si tenemos más de 1 primaria.

Configuración

Cada distribución tiene sus propias interfaces para configurar las diferentes partes y/o servicios de
Linux. En este documento focalizaremos en las interfaces que provee la distribución RedHat.
Hemos elegido esta distribución ya que es la más utilizada y la que muchas otras distribuciones
eligieron como base (ejemplos: Conectiva, Mandrake y otras).
De todas formas, cabe destacar, que estas no son las únicas formas de administrar un equipo Linux,
de hecho todas las configuraciones pueden realizarse en forma manual, ya que Linux, como casi
todos los Unix, poseen, en su gran mayoría, archivos de configuración en formato de texto plano.
Configuración del entorno gráfico

Configuración de la placa de video

Entrar al equipo con el usuario "root" (superusuario) y tipear el comando "Xconfigurator" seguido
de la tecla "Enter". Ya que estamos configurando el entorno gráfico debemos trabajar en entorno de
caracteres con este "configurador". La tecla que utilizaremos para navegar dentro de las pantallas es
la tecla "Tab" (o tabulador), para presionar cualquier botón podremos utilizar tanto la tecla "Enter"
o la barra espaciadora. En el caso que nos encontremos con una lista de opciones, podremos utilizar
las flechas para buscar y seleccionar la opción deseada.

El programa intentará detectar qué placa de video se está utilizando. En el caso de que el programa
detecte una placa en particular, mostrará la placa detectada
Si esto no llegase a suceder, el usuario deberá elegirla de una lista. No todas las placas del mercado
están soportadas por Linux. Muchas placas de video (suele suceder con las placas que vienen
integradas al "motherboard", están exclusivamente diseñadas para otros sistemas operativos como
Windows 95 y todos sus amigos), se recomienda revisar a través de la internet la lista de placas
soportadas antes de hacer una compra (las direcciones donde encontrar esta información están
detalladas al final de este documento). Aun así, la mayoría y más populares placas de video están
soportadas por Linux.

Configuración del monitor

Una vez determinada la placa de video se debe proceder a configurar el monitor que se está
utilizando. El monitor no se trata de detectar automáticamente, con lo cual lo deberemos elegir de
una lista.
En caso de que nuestro monitor no se encuentre en la lista de opciones, podremos utilizar las
opciones de Monitor Genérico o Monitor Genérico Multisync (ver figura 3).
Configuración del teclado

Para configurar el teclado se pueden utilizar varios comandos, entre ellos se encuentra el que ya se
comentó (XF86Setup), si es que el teclado se quiere configurar para trabajar en modo gráfico.
Existe otro que nos puede hacer el trabajo y es kbdconfig.

kbdconfig:
Este es el mismo comando que se ejecuta en la instalación de Red Hat 6.0 y es posible utilizarlo una
vez que estemos trabajando con Linux y necesitemos cambiar el teclado.

Al inicializarlo nos mostrará una lista de opciones a seleccionar. En esta lista encontraremos
diferentes tipos de teclado, entre ellos están el "us", que es el teclado estándar inglés (sin acentos) y
también tendremos más opciones com "es" que es el teclado en español.

Red Hat 6.0 no viene con la capacidad de elegir un teclado "us-con-acentos", esta posibilidad sí la
presentan las distribuciones en castellano. Igualmente es posible lograr esta configuración
instalando estos mapas de teclado.
Existen muchas formas diferentes de configurar un teclado, esta es la más sencilla, pero no por eso
la más utilizada. Hay manejadores de ventanas como el KDE, Enlightment, y otros que tienen la
posibilidad de hacer estas configuraciones desde el mismo entorno. Igualmente siempre es bueno
tener en cuenta que existen otros comandos para realizar esta tarea.
Configuración de mouse (o ratón)
Durante la instalación también se configura el mouse. Éste es otro comando que se puede volver a
ejecutar una vez instalado el sistema operativo. El comando para la configuración del mouse que se
utiliza durante la instalación de Red Hat es el mouseconfig.

mouseconfig:
Al inicializar, este programa intentará detectar que mouse se encuentra conectado a nuestra PC. De
no poder detectar qué mouse es el que estamos utilizando, nos mostrará una lista de opciones para
que elijamos la que nos corresponde de ahí.

En el entorno gráfico de Linux se utiliza con regularidad el tercer botón del mouse para hacer
"cortar y pegar".
Si nuestro mouse solo tiene dos botones, el tercero se puede emular presionando los botones de la
izquierda y derecha a la misma vez. Si nuestro mouse sólo tiene dos botones, es recomendable
seleccionar el campo de emulación del tercer botón.

Una vez seleccionado el tipo de mouse que estamos utilizando el configurador nos va a preguntar en
qué puerto serial tenemos conectado el mouse (de ser tipo PS/2 esta pregunta se evade).
Como en Linux se trabaja con "dispositivos" y no con "COM"s, deberemos definir en que
dispositivo se encuentra el mouse. Generalmente deberemos elegir la opción por defecto que es el
dispositivo "/dev/ttyS0", en caso que se encuentre en otro puerto serial, se deberá elegir el correcto.
Una vez terminada esta parte, el programa nos preguntará si queremos hacer los cambios efectivos
en el entorno gráfico también. De ser así, diremos que SI a ésta pregunta.

La configuración del mouse se debe realizar para trabajar con el mismo en el entorno gráfico, los
mismos configuradores de X nos harán preguntas sobre el mouse para integrar todas las
configuraciones en una sola. Igualmente si queremos trabajar con el mouse en entorno de carateres,
debemos ejecutar este comando.
Las propiedades del mouse (velocidad de movimiento, velocidad de doble click, etc.), se realizan en
los manejadores de ventanas que elijamos (KDE, Enlightment, etc.)

Otras Configuraciones

Terminadas las dos configuraciones esenciales, se pasará a especificar más detalles sobre estas
configuración como: cantidad de memoria de video, resolución a utilizar. La resolución con la cual
se trabajará depende casi directamente a la cantidad de memoria que tiene nuestra placa. Cuanto
más memoria tenga, menor resolución voy a poder tener con mayor profundidad de "bpp" (bits per
pixel), este último parámetro nos define qué cantidad de colores vamos a poder utilizar. Las
opciones son: 8 bpp (256 colores), 16 bpp, 24bpp y 32 bpp. Cuanto más profundidad de bpp, mayor
será la cantidad de colores que se podrán ver.
Pruebas varias
Durante la configuración vamos a pasar por algunas pantallas donde se nos pregunte si deseamos
testear la configuración definida (monitor por un lado y placa de video por el otro). Estos testeos se
pueden llevar a cabo sin problemas si nosotros no estamos seguros de las propiedades de nuestro
hardware.

XF86Setup:
Este comando viene en el paquete XFree86-XF86Setup-3.3.3.1-49.rpm (en RedHat 6.0) y hay que
elegirlo expresamente en la instalación ya que no se instala por defecto. Es un comando muy útil y
aunque no tiene el poder de la autodetección es muy amigable ya que es gráfico. El XF86Setup
intentará trabajar en modo VGA estándar para inicializar un modo gráfico. Desde aquí podremos
configurar nuestro entorno gráfico (placa de video y monitor) así como también el mouse. Al
inicializar tendremos la opción de tomar como base la configuración existente, si existiese alguna.

xf86config:
Este es uno de los comandos más viejos de Linux para configurar X, originalmente era un complejo
shell script, ahora esta reprogramado en lenguaje "C" y es un programa binario. Este comando esta
basado en caracteres y es bastante menos amigable que el Xconfigurator, no tiene poder de
autodetección y es necesario conocer nuestro hardware para poder realizar una configuración
exitosa. Aún así, este es el comando que mejor configura nuestro entorno ya que tenemos más
posibilidades de especificar detalles que en los otros comandos no tenemos, pero solo deberemos
recurrir a él en caso que los demás fallen. Viene acompañado con un autodetector (externo) llamado
SuperProbe, éste es un comando muy práctico que intentará detectar la placa de video que tenemos
en nuestra PC. Es muy recomendable ejecutar este comando antes de empezar la configuración con
el programa xf86config.

Configuración y conexión a internet

Existen muchas formas de hacer que un Linux se conecte a internet. Acá veremos una forma que
también nos enseña a hacer un par de clicks en una interface gráfica.

Configuración de Kernel

Tradicionalmente los núcleos que venían en las distribuciones más viejas de Linux no traían el
soporte para protocolos de puertos seriales, actualmente casi todos los núcleos de las distribuciones
modernas ya los tienen incluidos, con lo cual este paso no siempre hay que realizarlo. De todas
formas, si se compila un nuevo kernel, hay que habilitar estos drivers si es que se va a utilizar para
conectar a internet.

Para poder lograr que nuestro linux se conecte a internet deberemos definir qué protocolo
utilizaremos para establecer la conexión. Los protocolos más comunes para realizar esta conexión
son el PPP (Point to Point Protocol) y el SLIP (Serial Line Internet Protocol). Generalmente los
proveedores de internet o ISP (Internet Service Providers) soportan los dos protocolos. Igualmente,
dada la performance de cada uno de estos protocolos, se le recomendará al usuario utilizar el
protocolo PPP, es un protocolo más moderno, más común en los proveedores de internet y más
estable.
Para que linux soporte este protocolo deberemos compilar el kernel con esta opción activada. Para
no entrar en detalle de cómo se compila el kernel, simplemente detallaremos las opciones del kernel
que queremos activar:
TCP/IP Networking
Network device support
PPP (cuando se utilice este protocolo)
SLIP (idem anterior)
CSLIP (para compresión de encabezados)
(en caso de necesitar más información de cómo se compila un kernel, visite esta página:
http://www.kernel.org)

Soporte de Modems en Linux


La información más actualizada siempre se encontrará en ésta página
(http://www.redhat.com/corp/support/h...l-i.ld-15.html). La lista de modems soportados en Linux es
larga con lo cual simplemente mostraremos (extraído de la página de Red Hat) los modems que
*NO* se soportan nativamente. Los modems del tipo "Winmodem" necesitan drivers que podemos
bajar del sitio www.linmodems.org aunque no todos estan soportados (algunos de los de la
siguiente lista SI lo estan).

The Mwave modem/soundcard by IBM is not supported. The modem portion appears to have a
regular UART and ought to work; the sound function, however, is not compatible with the Linux
sound driver.
Plug-and-Play (PNP) modems (these may be set up via isapnptools and setserial).
Modems that require software drivers for compression, error correction, high-speed operation, etc.
PCI Memory Mapped Modems (these do not act like serial ports)
Internal SupraExpress 56k
Internal SupraSonic 56k
Newer Internal Laptop Modems
The Multiwave Innovation CommWave V.34
US Robotics WinModem series
US Robotics Sportster Voice/Fax modem (X2 model 1785 internal PNP)
Boca modem (model M336l)
Boca Research 28.8 internal modem (model MV34AI)
Zoltrix 33.6 Win HSP Voice/Speaker Phone modem
Motorola ModemSURFR internal 56K
DSVD modem
Compaq 192 PCMCIA modem/serial card
New Media Winsurfer PCMCIA modem/serial card
Básicamente todos los modems que están fabricados para plataformas específicas como los
WinModems no están soportados, y no hay proyecto serio que nos diga que alguna vez vayan a
soportarse. Generalmente todos los modems externos trabajarán sin problemas, aunque hay
excepciones. Se recomienda verificar esta página antes de adquirir un modem.

Paquetes necesarios para la conexión

Para que podamos conectarnos con Linux a la internet necesitaremos tener instalados los siguientes
paquetes. Estos paquetes se instalan por defecto, pero se listan en este documento, por si el usuario
los saco de la lista de paquetes a instalar deliberadamente durante la instalación del s.o..

ppp-2.3.7-2.i386.rpm (para conexión via PPP)


sliplogin-2.1.1-5.i386.rpm (para conexión via SLIP)
kdenetwork-1.1.1.i386.rpm (para trabajar con la inteface de conexión kppp)

Si nosotros nos conectamos a Internet por medio de ADSL vamos a necesitar un paquete llamado
pppoe, bastante engorroso para configurar, pero una empresa desarrollo una solucion (libre, por
supuesto) llamada rp-pppoe que se configura e instala MUY facilmente.
http://www.roaringpenguin.com/products.html

Configuración utilizando netconf

"netconf" es un módulo de la interface de configuración "linuxconf". Este módulo se puede ejecutar


directamente o accederlo desde el "linuxconf". Como todo módulo de la interface, trabaja en
entorno de caracteres y entorno gráfico. Para trabajar con este comando es necesario haber
ingresado al equipo como el superusuario ("root").
La pantalla inicial del "netconf" nos permitirá elegir configurar distintas partes del equipo en lo que
a redes concierne.

Para configurar una conexión a internet vía modem, se tiene que definir una interface de red. Una
interface de red es un identificador de software que se utiliza para poder trabajar en red. Las
interfaces son identificadores a una placa de red, un puerto serie, un puerto paralelo, un modem, o
cualquier hardware que se conecte al equipo y pueda ser utilizado como dispositivo de conexión a
redes. Para dar de alta una interface de red utilizando un modem, apretaremos el botón de
PPP/SLIP/PLIP.
La siguiente pantalla que aparece es la de definición del protocolo que utilizaremos para
conectarnos a internet. En este ejemplo mostraremos como configurar un modem para que trabaje
con PPP, ya que es el más utilizado.

Una vez elegido el protocolo de conexión aparecerá en pantalla, una ventana donde nos pedirá
ingresar los datos que conciernen a una conexión a internet vía mo-
den
Como es necesario ingresarle más datos a la ventana (ya que con los que nos pide no va a
funcionar), se tiene que apretar el botón de Customize

La primera sección (Hardware) sirve para definir cosas específicas del modem:
Si usa control de flujo por hardware
Si se van a ignorar los caracteres de control
Si hay que cortar la conexión en errores enviados por el modem (conocidos)
Si se va a permitir que usuarios comunes activen y desactiven esta interface
Velocidad del modem (siempre conviene darle un valor mayor a lo que el modem realmente
transmite)
El dispositivo en el cual está conectado el modem
Y por último, algunas opciones específicas para el demonio "pppd" (para mas información leer la
página del manual en línea del demonio).

La segunda sección, esta orientada a la parte de comunicación del modem, donde se ingresa:
Los comandos AT de inicialización del modem
Los comandos AT para discar por tonos o pulsos
El número de teléfono.
Si se imprime (en el archivo de syslog) más información sobre lo que hace el modem cuando se
comunica o no.
Sección de Chat.
Esta sección se utiliza para decirle a la interface las cadenas de texto que el ISP estará enviando al
modem cuando se establezca la comunicación.
Cuando nos conectamos a internet, el ISP será quien atienda nuestro llamado y empiece a verificar
quienes somos. Generalmente el ISP enviará un cadena que indique que debemos ingresar el
usuario, por ejemplo "login:" (o "Login" o "Usuario:", etc.). En ésta pantalla le debemos indicar a la
interface cuales son las cadenas que debe recibir y cual es la cadena que debe enviar como
respuesta.

En la tercer sección se definen cosas específicas de redes:


Si se activa la interface cuando el equipo levanta
Si se va a utilizar como ruta por defecto (todos los paquetes que no encuentren destino intentarán
salir por esta interface)
Si se vuelve a conectar en caso de que se caiga el vínculo.
Valores de espera, cuanto se espera para avisar que no hay conexión y cuanto tiempo se espera si
hay una caída del vínculo
Los tamaños máximos de los paquetes a transmitir por esta interface (si se dejan en blanco se utiliza
1500 que es el máximo y el recomendado).
Direcciones de IP locales y remotas, generalmente éstas opciones no se utilizan porque la dirección
de IP es dinámica, lo que quiere decir que el ISP nos asigna estas direcciones.

La cuarta y última sección es para un esquema con PAP. Si el ISP soporta el uso de PAP
simplemente alcanza llenar los datos del usuario y su clave. De utilizar un esquema PAP no es
necesario llenar la parte de Chat.
Utilizando la interface

Una vez que está definida la interface se utiliza mediante los comandos ifup
<nombre_de_la_interface> y ifdown <nombre_de_la_interface> para activarla y desactivarla,
respectivamente.
Ejemplos:
# ifup eth0 (levanta una interface de red ethernet)
# ifdown ppp0 (baja la interface de modem con PPP)

Comandos Básicos

En esta parte de la documentación se verán los comandos que todo usuario de Linux debe saber.
Adicionalmente se ven algunas opciones de estos comandos, que son verdaderamente útiles para
una
administración rápida y efectiva.Manejo de archivos y directorios

Para que el lector asocie las diferencias iniciales que se encuentran en los comandos de Linux con
respecto a otros sistemas operativos, se hará una comparación de los comandos iniciales de Linux
contra los comandos de D.O.S.

D.O.S. Linux Descripción


dir ls Lista contenido de un directorio
cd cd Cambia de directorio
copy cp copy un archivo o archivos a destino
move mv Mueve un archivo/directorio a otro lugar
md mkdir Crea un directorio
rd rmdir Borra un directorio
del rm Borra directorios y/o archivos

Comando: "ls"
Uso: ls [opciones] <argumento>
Descripción:
El comando "ls" se usa para listar el contenido de un directorio o directorios, así como también para
ver algunos de los atributos de los archivos (medida, permisos, fechas, etc.). Es uno de los
comandos con más opciones dentro de Linux, en este documento revisaremos las mas utilizadas.
Opciones:
"-l": muestra un descripción larga
"-a": muestra los archivos/directorios que comienzan con "."
"-d": muestra el nombre del directorio, en vez de su contenido
"-t": ordena la salida por tiempo de modificación
"-r": invierte el orden
"-F": agrega un caracter de referencia dependiendo el tipo de archivo y/o permisos

Nota: Los archivos que comienzan con "." son tomados como "ocultos".

El ls es capaz de mostrar archivos en diferentes colores dependiendo de la extension o tipo de


archivo o permisos, incluso puede mostrar en colores parpadeantes los links rotos que pueda haber.

Los combinacion de colores mas común es la siguiente:

azul para directorios


verde para archivos ejecutables
rojo para archivos comprimidos o rpm
amarillo para archivos de dispositivo (ver /dev/*)
celeste para links blandos (soft links)
rojo titilante para soft links rotos.
violeta para archivos de imagen

Salida del comando "ls -l /":

[root@SERVER80 root] # ls -l /
total 161
drwxr-xr-x 2 root root 4096 dic 26 2001 bin
drwxr-xr-x 4 root root 1024 dic 26 2001 boot
drwxr-xr-x 17 root root 77824 feb 4 12:49 dev
drwxr-xr-x 72 root root 8192 feb 4 15:54 etc
drwxr-xr-x 11 root root 4096 feb 2 10:32 home
drwxr-xr-x 2 root root 4096 jun 21 2001 initrd
drwxr-xr-x 6 root root 4096 feb 2 19:15 lib
drwxr-xr-x 2 root root 16384 dic 26 2001 lost+found
drwxr-xr-x 2 root root 4096 ago 29 2001 misc
drwxr-xr-x 4 root root 4096 dic 26 2001 mnt
drwxr-xr-x 2 root root 4096 ago 23 1999 opt
dr-xr-xr-x 72 root root 0 feb 4 09:48 proc
drwxr-x--- 36 root root 4096 feb 4 17:31 root
drwxr-xr-x 2 root root 8192 feb 2 19:38 sbin
drwxr-xr-x 3 root root 4096 dic 26 2001 tftpboot
drwxrwxrwt 16 root root 4096 feb 4 15:57 tmp
drwxr-xr-x 18 root root 4096 ene 6 2002 usr
drwxr-xr-x 26 root root 4096 ene 19 13:07 var

La primer columna indica los permisos de acceso y el tipo de archivo. En este caso todos comienzan
con "d" ya que son directorios. Luego, siguen tres grupos de tres letras cada uno: "rwx", que
corresponden a permisos de lectura (r), escritura (w) y ejecucion/acceso (x). El primer grupo
corresponde a los permisos para el usuario dueño de dicho archivo (root, segun la tercer columna).
El segundo grupo corresponde a los permisos para el grupo dueño (grupo root, segun la cuarta
columna). Y el tercer grupo corresponde a los permisos que se le asignan a los otros usuarios.
La segunda columna indica la cantidad de links que dicho archivo posee. (mas sobre links mñas
adelante).
La quinta columna indica cuantos bytes ocupa el archivo o directorio, la sexta columna indica la
fecha/hora del ultimo acceso al archivo/directorio, y por ultimo la séptima columna nos muestra el
nombre del archivo/directorio.

Comando: "cd"
Uso: cd [directorio]
Descripción:
El comando "cd" o "change directory" se utiliza para cambiar del directorio corriente al directorio
pasado como argumento.
Opciones:
Este comando no tiene opciones, pero tiene algunos usos particulares que hacen el trabajo en shell
mucho más efectivo.
"-": Vuelve al directorio anterior al último "cd"
"" : Sin opciones posición al usuario en su directorio de trabajo o "$HOME"

Comando: "cp"
Uso: cp [opciones] <origen> <destino>
Descripción:
El comando "cp" se utiliza para copiar un archivo (o archivos) a su destino. Este destino puede ser
un directorio (en el caso que el origen sean varios archivos) u otro archivo.
Opciones:
"-i": Preguntará antes de sobreescribir un archivo
"-r": Hará una copia recursiva (obligatoria si el listado origen contiene directorios)
"-f": Forzará la copia (mientras tenga permisos no preguntará nada)
"-p": Mantiene las propiedades de los archivos origen

Comando: "mv"
Uso: mv [opciones] <origen> <destino>
Descripción:
El comando "mv" se utiliza para mover un archivo/directorio (o archivos/directorios) a su destino.
Este destino puede ser un directorio (en el caso que el origen sean varios archivos) u otro archivo.
Cabe destacar que la razón por la cual no existe un comando para "renombrar" archivos es porque la
operación de "renombrar" es simplemente un movimiento de un archivo a otro nombre.
Opciones:
"-i": Preguntará antes de sobreescribir un archivo
"-u": Moverá sólo los archivos y directorios que hayan sido actualizados
"-f": Forzará el movimiento de archivos (mientras tenga permisos no preguntará nada)

Comando: "mkdir"
Uso: mkdir [opciones] <directorio> [directorios]
Descripción:
El comando "mkdir" se utiliza para crear un directorio, este comando tiene la ventaja de que acepta
más de un directorio como argumento. Esto permite que se puedan crear varios directorios, del
mismo nivel, ejecutando el comando una única vez.
Opciones:
"-p": Crea directorios padres como sean necesarios (genera una rama entera del árbol)
"-m <permisos>":Crea el directorio con los permisos deseados (formato octal)

Comando: "rmdir"
Uso: rmdir [opciones] <directorio> [directorios]
Descripción:
El comando "rmdir" se utiliza para borrar un directorio vacío, este comando tiene la ventaja de que
acepta más de un directorio como argumento. Esto permite que se puedan borrar varios directorios
vacíos, del mismo nivel, ejecutando el comando una única vez.
Opciones:
"-p": Borra toda una rama de directorios vacíos

Comando: "rm"
Uso: rm [opciones] <archivo/directorio> [archivos/directorios]
Descripción:
El comando "rm" se utiliza para borrar un archivo o archivos. Una vez ejecutado este comando no
es posible recuperar los archivos, por lo tanto se recomienda una extrema precaución en el uso del
mismo.
Opciones:
"-i": Preguntará antes de borrar cada archivo
"-f": Forzará el borrado
"-r": Hace un borrado recursivo (borra directorios completos)

Comando: "ln"
Uso: ln [opciones] <archivo/directorio origen> <nombre del link>
Descripción:
El comando "ln" se utiliza para crear links a archivos o directorios. Como comparación podríamos
decir que un link es como un acceso directo de Windows. Cualquier lectura o escritura al link se
realizará sobre el archivo o directorio de origen. Si se borra el link el archivo de origen no es
afectado.
Opciones:
"-s": Crea un link "soft" en lugar de uno "hard"

Cabe destacar que la similitud con los accesos directos de Windows se nota únicamente con los
links "soft", tambien llamados links simbólicos. Este tipo de link es el más usado.
Los links "hard" también son llamados links físicos.
Ejemplo: Para crear un link al directorio /etc/rc.d llamado rcd en el directorio /root ejecutaremos el
siguiente comando:
[root@SERVER80 root] # ln -sf /etc/rc.d /root/rcd
Procesos

Linux es un sistema multi-tarea, por lo tanto es necesario contar con herramientas que nos permitan
controlar y monitorear todas las tareas (o procesos) que se están ejecutando en el sistema. Éstas son
las más utilizadas.

Comando: "ps"
Uso: ps [opciones]
Descripción:
Muestra los procesos que están corriendo en el equipo
Opciones:
"a": muestra todos los procesos que tienen asignada una terminal.
"-a": muestra todos los procesos que tienen asignada una terminal, incluyendo los procesos de otros
usuarios
"x": muestra procesos que no tienen asignada una terminal
"u": muestra el listado con nombres de usuarios
"l": despliega en forma "larga"

Salida de ejemplo comando ps ax


PID TTY STAT TIME COMMAND
1 ? S 0:03 init
2 ? SW 0:00 [keventd]
3 ? SW 0:00 [kapm-idled]
4 ? SWN 0:00 [ksoftirqd_CPU0]
5 ? SW 0:01 [kswapd]
6 ? SW 0:00 [kreclaimd]
7 ? SW 0:00 [bdflush]
8 ? SW 0:00 [kupdated]
9 ? SW< 0:00 [mdrecoveryd]
13 ? SW 0:00 [kjournald]
88 ? SW 0:00 [khubd]
181 ? SW 0:00 [kjournald]
732 ? S 0:00 syslogd -m 0
737 ? S 0:00 klogd -2
757 ? S 0:00 portmap
786 ? S 0:00 rpc.statd
970 ? S 0:00 /usr/sbin/sshd
1043 ? S 0:00 sendmail: accepting connections
1071 ? SW 0:00 [scsi_eh_0]
1090 ttyS0 S 0:00 gpm -t ms -m /dev/mouse
1108 ? S 0:00 crond
1184 ? S 0:20 xfs -droppriv -daemon
1220 ? S 0:00 /usr/sbin/atd
1250 tty1 S 0:00 login -- root
1253 tty4 S 0:00 /sbin/mingetty tty4
1254 tty5 S 0:00 /sbin/mingetty tty5
1255 tty6 S 0:00 /sbin/mingetty tty6
1468 tty1 S 0:00 -bash
1528 tty1 SW 0:00 [eth0]
2349 ? S 0:01 oafd --ac-activate --ior-output-fd=12
2804 ? S 0:00 named -u named
3444 tty2 S 0:00 /sbin/mingetty tty2
3446 tty3 S 0:00 /sbin/mingetty tty3
3454 tty1 S 0:00 /bin/sh /usr/X11R6/bin/startx
3463 tty1 S 0:00 xinit /etc/X11/xinit/xinitrc --
3464 ? S< 4:05 /etc/X11/X :0
3466 tty1 S 0:00 gnome-session
3516 ? S 0:03 xscreensaver -nosplash
3526 ? S 0:00 gnome-name-service
3608 ? S 0:00 /bin/sh /usr/bin/abiword
3617 ? S 6:01 /usr/share/abisource/bin/AbiWord_d
3641 ? S 0:00 in.telnetd: SERVER30.ciua.com.ar
3642 pts/1 S 0:00 login -- fabian
3643 pts/1 S 0:00 -bash
4133 pts/1 S 0:00 su -
4134 pts/1 S 0:00 -bash
4230 pts/1 S 0:00 lynx
4282 pts/2 S 0:00 bash
4380 pts/2 R 0:00 ps ax

La primer columna corresponde al ID del proceso (PID), la segunda indica en que terminal se inicio
el proceso. La tercera indica diferentes estados, a saber:
"S": Sleep (durmiendo)
"W": Waiting (en espera)
"R": Running
"D": Letargo ininterrumpible
"T": Parado/traceado
"N": Nice positivo (menor prioridad de ejecucion)

Comando: "top"
Uso: top [opciones]
Descripción:
Muestra la lista de procesos que consumen más cantidad de recursos
Opciones:
"-d <seg>":usa <seg> segundos de espera entre muestreos
"-s": deshabilita el modo interactivo
"-S": va acumulando los muestreos
"-n <num>":hace <num> cantidad de muestreos
"-b": especial para procesos tipo batch
"-c": mostrar el path absoluto con el que fue llamado cada comando de la lista
Modo interactivo:
Cuando este comando esta corriendo, se le permite al usuario hacer diferentes cambios en la forma
de mostrar el listado de procesos, así como también realizar algunas tareas de administración sobre
los procesos mismos.
"espacio": saca otro muestreo sin esperar
"h": muestra la ayuda
"k": envía una señal a un proceso
"q": finaliza
"r": cambia el nivel de nice de un proceso

Comando: "pstree"
Uso: pstree
Descripción:
Muestra el árbol de procesos en formato caracter
Opciones:
"-a": muestra el path absoluto con el que fueron llamados los comandos
"-p": muestra los números de procesos (PID)
"-h": destaca (en terminales que lo permitan) la rama del árbol del proceso pstree
"-n": los ordena por número de proceso del antecesor (padre)

Símbolo: "&"
Uso: <comando> &
Descripción:
Envía el <comando> a background (no interactua con ninguna terminal, se ejecuta "en el fondo")

Función de shell: "jobs"


Uso: jobs
Descripción:
Muestra los procesos que fueron enviados a background desde el shell corriente
Opciones:
"-l": muestra el listado de procesos en forma larga
"-p": muestra solamente los números de procesos (PID) de cada comando de la lista
Comando: "bg"
Uso: bg <numero de job>
Descripción:
Reinicia el número de job, pasado como argumento, en backgound (modo no interactivo). Nótese el
símbolo "%" antes del número de job.

Comando: "fg"
Uso: fg %<número de job>
Descripción:
Pone el número de job en modo interactivo (foreground). Nótese el símbolo "%" antes del número
de job.

Comando: "nohup"
Uso: nohup <comando>
Descripción:
Lanza un proceso inmune a señales de SIGUP y sin salida a salida estándar (stdout)

You might also like