Académique Documents
Professionnel Documents
Culture Documents
INDICE GENERAL
2
Indice General
1 Introduccion
> Que podemos hacer con el Linux ? Ventajas del Linux frente a otros sistemas operativos > Y las inconveniencias ? Peque~ na historia del Linux Asuntos legales > Que maquina hace falta para el Linux ? Compatibilidad del hardware Informacion sobre el Linux Por la red: Libros: Obtencion del Linux
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
6
6 7 7 8 8 9 10 12 12 12 13
14
15 17 18 19 20 21 22 23 24 25 25 25
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
INDICE GENERAL
3 26 26 27 27 28 TARGET SOURCE DISK SETS INSTALL CONFIGURE YOUR SYSTEM
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
3 Usar el Linux
Shells Procesos Ficheros en UNIX Ficheros especiales Consolas virtuales Redireccion y Pipes Comandos del UNIX/Linux Trabajar con cheros y directorios El editor vi Compresion y Archivador Control de procesos Informacion y entorno Comandos utiles en shell-scripts Trabajar con disquetes del MS-DOS Comandos para el root Comandos avanzados
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
30
30 31 32 33 33 34 35 36 39 40 41 42 43 44 45 46
47
48 50 51
INDICE GENERAL
4
: : : : : : : : : : : : : : : : : : : : : : : : :
La utilidad netcon g Instalacion del LOADLIN Las utilidades para disquetes en formato MS-DOS La Con guracion del X-Windows Elegir el servidor de X El chero XF86Con g Probar la con guracion El programa xf86config
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
52 53 55 56 57 58 62 63
INDICE GENERAL
5
Advertencia:
En este curso se explicaran metodos para cambiar la con guracion de un ordenador, que pueden provocar perdidas de datos. No asumo ninguna responsabilidad por los da~ nos sufridos como consecuencia de los posibles errores contenidos en este documento. C. Denk
1 INTRODUCCION
6
1 Introduccion
El Linux es un sistema operativo para ordenadores con procesadores de la familia de Intel (386/486/Pentium/..), compatible con UNIX. Linux es de libre distribucion (free software) y ya esta disponible una gran variedad de aplicaciones (programas) para Linux. En este curso no vamos a distinguir entre el sistema operativo y las aplicaciones, as que: Linux = sistema operativo Antes de entrar en el tema vamos a ver que se puede hacer con el Linux y si merece la pena invertir algo de tiempo (dinero no hace falta) en instalarlo y aprenderlo. He intentado orientar el contenido de este curso a las necesidades de un investigador. Esto se re eja en los temas elegidos. Para una empresa o un programador ser an mas interesantes otros aspectos (bases de datos, entornos de programacion) del Linux. De estos temas vamos a tratar solo lo imprescindible. + aplicaciones
1 INTRODUCCION
7
Estabilidad.
1 INTRODUCCION
8
Asuntos legales
El Linux es de libre distribucion (free software). La GNU (Gnu's Not Unix) General Public License (GPL) de ne el concepto de free software. Brevemente: Es legal copiar, cambiar y redistribuir todos los cheros de Linux . Las versiones copiadas o modi cadas de Linux tambien deben ser protegidas por la GPL. Se puede vender el Linux (para bene ciarse) pero no se puede restringir el derecho a redistribucion.
free software
public domain
shareware
Notas:
1 INTRODUCCION
9
En un grupo de investigacion hay que tener en cuenta las necesidades de todos los miembros del grupo para poder con gurar una red de estaciones de trabajo optima. Con el presupuesto, como condicion de contorno, se debe intentar sacar un alto rendimiento de cada componente de la red. Algunas reglas generales para la con guracion de una red son: Si se va a realizar mucho trabajo numerico, hay que considerar un ordenador que este solamente dedicado a esta tarea. Un sistema \lujo" o bien una estacion de trabajo mas potente (Dec-Alpha, HP, etc.) puede ser usado por todos los miembros del grupo. En muchos casos solo hace falta una impresora que este conectada a un ordenador de la red. Esto tambien se puede aplicar a otros tipos de perifericos caros (como scanner, etc.) Un servidor de cheros (sistema \estandar" con un disco duro grande) facilita cambiar de maquina a maquina. < Una unidad de cinta (para copias de seguridad) y un power-supply (riesgo de apagon) aseguran su trabajo ! Si las estaciones de trabajo que sirven como terminal son capaces de realizar un trabajo local que requiere mucho RAM (Latex, Mathematica, etc.), estos procesos no se tienen que correr en el servidor numerico. Notas:
1 INTRODUCCION
10
He resumido un ! SHORT HARDWARE HOWTO que contiene los cap tulos mas importantes del HARDWARE HOWTO. Para los perifericos especiales, como unidades de cinta, tarjetas de sonido u ordenadores portatiles hay que consultar el documento entero. Algunos consejos generales para la compra: Una CPU con alta velocidad no signi ca necesariamente un ordenador rapido. Todos los componentes deben ser optimos para conseguir un alto rendimiento. < No ahorre en el monitor ! Normalmente no hace falta una tarjeta gra ca demasiado avanzada (4MB VRAM ..), pero s una tarjeta que tenga un \accelerated chipset". El ordenador debe ser ampliable. Notas:
1 INTRODUCCION
11 Modos de Video: Modo VGA VESA/72 VESA/70 ? El modo VESA/56 (800 x 600 con 56 Hz) no es aconsejable, ya que provoca cansancio en los ojos. Podemos averiguar si somos sensibles al efecto parpadeo del monitor, mirando de reojo a la pantalla (preferentemente con fondo blanco). Notas: Monitor 14" 14"/15" 17" 21" Resolucion 640 x 480 800 x 600 1024 x 768 1280 x 1024 Freq. horiz.(kHz) 31.5 48.1 56.5 78.85 Freq. vert.(Hz) 60 72 70 74
1 INTRODUCCION
12
Libros:
Linux Installation and Getting Started by Matt Welsh. Libro accesible por la red en forma .html o en postscript. Running Linux by Matt Welsh and Lar Kaufman, O'Reilly & Associates, Inc., 1995, ISBN 1-56592-100-3. cerca de 600 paginas, de facil lectura, 25 $. DrX. Linux, The Linux Documentation Project, 1994, ISBN 1-885329-02-4. Coleccion de toda la informacion del Linux Documentation Project (todo accesible por la red), mas de 1000 paginas. Incluye Linux Installation and Getting Started y temas mas avanzados, 50 $. Using Linux, QUE, 1995, ISBN 0-7897.0100-6. 829 paginas, contiene una referencia muy completa sobre el Linux, incluye CD-ROM con Linux 50 $. X Window System Users's Guide by Valerie Quercia and Tim O'Reilly, O'Reilly & Associates, Inc.,1988..1993, ISBN 1-56592-014-7. Todo sobre el X-Windows a nivel de usuario, 835 paginas, 35 $. Notas:
1 INTRODUCCION
13
INSTALLATION-HOWTO
Disco duro IDE, no CD-ROM Disco duro IDE o SCSI, CD-ROM SCSI Disco duro IDE o SCSI, CD-ROM IDE/ATAPI
En la distribucion SLACKWARE 3.0 no hay que descomprimir estos cheros. Ahora usamos el programa RAWRITE para pasar el chero al disquete.
RAWRITE
RAWRITE pregunta por el nombre del chero y por la unidad de la disquetera. Al pasar el chero al disquete, el resultado es un disquete no reconocible por el MS-DOS. Notas:
En cualquier caso, hay que hacer un BACKUP de todos los cheros importantes (o del disco duro entero) antes de usar un programa como FDISK o FIPS. Antes y despues de realizar el cambio en la tabla de particion hay que correr el SCANDISK para asegurarse de que todo esta bien. Hay que preparar un disco de utilidades. Para copiar los cheros de arranque formatearemos el disquete con el comando \FORMAT A: /S\. Despues, copiaremos en ese disquete programas como FDISK, FORMAT, EDIT, CHKDSK, SCANDISK, MSAV, BACKUP, RESTORE , etc.
< Hay que probar si el ordenador bota con ese disco !
Ahora podemos teclear una etiqueta y el ordenador deber a botar de nuevo del disco duro. Podemos instalar de nuevo el DOS y hacer un RESTORE de nuestros cheros. Notas:
SCANDISK DEFRAG SCANDISK Botar del disquete de utilidades, no cambiar al disco duro. A:FIPS Botar de nuevo del disquete A:CHKDSK C: o mejor A:SCANDISK C: Botar del disco duro si no hay errores. Si todo va bien, podemos reducir el tama~ no de la particion de DOS sin perder los cheros del DOS. Si SCANDISK detecta errores, tenemos que decidir si queremos intentar a arreglarlos. Si arreglamos algo, siempre usaremos la utilidad de SCANDISK para poder deshacer los cambios. En cualquier caso podemos usar RESTORRB para deshacer los cambios que ha realizado el FIPS. Notas:
solo sera necesario introducir parametros en caso de que la con guracion sea especial (disco SCSI, etc.). Normalmente basta con pulsar INTRO. Cuando aparezca
VFS: Insert ramdisk floppy and press ENTER
Nos identi camos como root (sin password) y ya nos encontramos en un entorno Linux, aunque todav a no se puede hacer mucho con el sistema. El primer paso consiste en preparar las particiones del Linux en el disco duro con el comando fdisk. Notas:
entramos en el programa fdisk del Linux. fdisk esta descrito muy detalladamente en el \Installation-HOWTO". Por ejemplo: p - print the partition table (aqu aparece la particion del DOS). n - add a new partition. p - primary. 2 (numero de la particion, 1 sera del DOS). First cylinder: siguiente cilindro despues del DOS. Last cylinder or + size: por ejemplo \+300M" o numero de un cilindro (+ = Shift >). p - print the partition table Hay que dejar bastante sitio para el \swap", que sera un espacio en el disco duro dedicado solamente a la memoria virtual. Normalmente se usa una particion del \swap" de un tama~ no equivalente al doble de la memoria RAM instalada en la maquina (8 MB RAM ! 16 MB swap). La particion del \swap" se crea de la misma manera que la del Linux, pero hay que usar la funcion \(t)ype" del fdisk para cambiar el tipo de la particion despues de crearla. El tipo \Linux swap" viene representado por el codigo \82". Si estamos seguros de nuestros cambios, usaremos \(w)rite" para escribir la tabla de particion en el disco duro. Para estar seguro de que el sistema ha reconocido las nuevas particiones, rebotaremos la maquina (reboot o Ctrl-Alt-Del) con el \bootdisk" y miraremos de nuevo la tabla de particion. Notas:
HELP y QUICK/VERBOSE
Debemos acostumbrarnos a utilizar el menu y leer las notas del \HELP". Podemos elegir los modos \QUICK" o \VERBOSE" (el ultimo es mejor para los principiantes). Si entramos en la seccion \KEYMAP", el setup nos conduce paso a paso por las secciones siguientes.
KEYMAP
Aqu podemos elegir un chero para de nir el teclado. El chero es.map.gz se elige para teclados espa~ noles.
SWAP
Aqu activamos la particion del swap. El programa setup ejecuta los programas y swapon. El ultimo comando tarda un poco.
mkswap
TARGET
En este menu elegimos la \particion de destino" para el Linux. A continuacion, hay que formatear esta particion. < Formatear con \check" tarda bastante tiempo ! Una buena eleccion para el numero de bytes por \inode" es 2048 (un \inode" por cada 2048 bytes). El programa setup detectara la particion del DOS y nos ofrece la posibilidad de hacer esta particion visible para el Linux. Podemos \montar" la particion
/dev/hda1
en el directorio
/dosc
Despues de haber a~ nadido el directorio del DOS, es posible a~ nadir otra particion del DOS. Con \q" llegamos a la siguiente seccion.
SOURCE
Aqu podemos elegir como (de donde) vamos a instalar los cheros del Linux:
1) 2) 3) 4) 5) Install Install Install Install Install from hard drive partition from floppy disks via NFS from a pre-mounted directory from CD-ROM
En este curso los vamos a instalar de disquetes y, por lo tanto, elegiremos 2. Hay que especi car la disquetera, el disco A: con 1,44 MB equivale al \device"
/dev/fd0H1440
DISK SETS
En esta seccion eligiremos los \disk sets" que queremos instalar. Podemos instalar todos los cheros de una vez, o bien, instalar solo el \disk set A" .
INSTALL
En el modo \QUICK" cada \disk set" ofrece un menu, de donde podemos elegir los cheros que queremos instalar. En el modo \VERBOSE" el programa setup explica el contenido de cada chero, pudiendose elegir si lo queremos instalar o no. Conviene seleccionar el \Prompting Mode" como \Normal".
Crear un \bootdisk". Podemos formatear un disquete y, despues, usarlo para crear un disquete que va a botar nuestro sistema. Elegimos, por ejemplo, la opcion \make simple vmlinuz /dev/fd0 bootdisk".
>
Podemos con gurar un modem (conectar el \device" con un puerto de comunicacion, por ejemplo COM2)
Tenemos que elegir el tipo de raton que vamos a usar, y conectarlo con el puerto de comunicacion, por ejemplo COM1.
LILO INSTALLATION: Esta seccion nos ofrece la posibilidad de instalar un \bootloader". Este es un programa que se ejecuta antes de que ningun sistema operativo que se encuentre en el disco duro sea activo. Para los principiantes aconsejo la opcion
Skip LILO installation and exit this menu
Como ultimo paso, hay que elegir la \timezone", aqu en Sevilla \MET" (Middle European Time)
Salimos del setup con \EXIT" y podemos botar nuestro sistema con el \bootdisk" que hemos creado en el primer paso de Con gure your System. < Este disquete es diferente del \bootdisk" de la instalacion ! Si el sistema esta bien con gurado, la combinacion de teclas Ctrl-Alt-Del (Control-Alt-Supr) inicia el proceso de rebotar. Si todo va bien, aparecera
darkstar login:
y ya tendremos un sistema Linux ! Todav a nos queda trabajo por hacer: El primer paso deber a ser entrar como root (todav a no esta puesto ningun password). Crearemos un password (comando passwd) para root. Debemos abrir una cuenta para un usuario con el comando adduser. Esta cuenta nos va a servir para \explorar" el sistema. Realizaremos un login de este usuario en el terminal virtual 2 (Alt-F2) para comprobar si el sistema acepta el login.
Usaremos la cuenta root solo para trabajos que un usuario normal no puede realizar !
En el siguiente cap tulo veremos las diferentes con guraciones que tenemos que hacer hasta que el sistema \pite"
:::
3 USAR EL LINUX
30
3 Usar el Linux
Para con gurar el Linux hace falta entender los conceptos basicos (y algunos avanzados) del UNIX. No podemos alcanzar un entendimiento profundo del UNIX en pocas horas, pero al con gurar nuestra maquina aprenderemos mucho sobre el funcionamiento de este sistema operativo. En lo siguiente vamos a presentar una peque~ na introduccion a los conceptos mas importantes de UNIX. No creo que sea posible entender claramente todo lo que vamos a ver en este cap tulo, pero al menos espero que nos acordemos de lo aqu expuesto en caso de necesidad.
Shells
Despues de realizar el login, el sistema arranca un programa (\shell") que interpreta nuestros comandos y los transmite al \kernel" del Linux. Hay varios tipos de \shells", por ejemplo csh C-shell, con sintaxis parecida al C bash Bourne again shell, shell por defecto del Linux zsh Z-shell, permite caracteres como n ~ en nombres de cheros Tambien existen otros \shells", como el Bourne shell, el Korn shell, el T-shell y el A-shell. En este curso vamos a usar solamente el bash. Antes de presentarnos el \prompt", el shell se prepara un entorno (\environment"), que consiste en un conjunto de variables (\shell variables"). Estas variables contienen informacion sobre El nombre del shell que usamos ($SHELL='/bin/bash') El camino de busqueda ($PATH='/bin:/usr/bin:....') El terminal que usamos ($TERM='console') Y otras constantes que de nen nuestro entorno Notas:
3 USAR EL LINUX
31 El chero /etc/profile contiene todos los comandos necesarios para crear el entorno de cada usuario. El shell ejecuta este chero como parte del proceso del \login". Cada usuario puede con gurar su entorno con un chero .profile en su directorio ra z (su \$home"). Este chero se ejecuta despues del chero /etc/profile. Vamos a ver como podemos con gurar nuestro entorno modi cando el chero .profile. Dentro del shell introducimos nuestros comandos, incluso podemos correr peque~ nos programas escritos en el lenguaje del shell (\shell scripts"). Muchos de los comandos del UNIX son realmente \shell scripts". Notas:
Procesos
El programa que nos permite trabajar con el sistema (\shell") es uno de los procesos (\processes") activos en este momento. Cada usuario puede tener muchos procesos activos al mismo tiempo. El sistema operativo se preocupa de proporcionarles acceso a la CPU (y a los demas componentes del ordenador) a todos los procesos activos. Un proceso puede trabajar de forma interactiva (\foreground"), y sin necesidad de interacciones (\background"). Tenemos que aprender como controlar nuestros procesos, esto es, como crear procesos nuevos, como cambiar un proceso del \foreground" al \background" y como \matar" a un proceso innecesario. Vamos a ver cuales son los procesos que necesita el sistema operativo para poder funcionar. Notas:
3 USAR EL LINUX
32
Ficheros en UNIX
En UNIX, el concepto de chero es mas amplio que en otros sistemas operativos. Por ejemplo: Un programa que necesita leer datos del teclado no necesita saber como funciona este, sino que simplemente accede al teclado a traves de un chero. El \keyboard device driver" del kernel se preocupa de interaccionar con el teclado y de facilitar al sistema los datos recibidos en forma de un chero (\device le"). En lo siguiente vamos a hablar de cheros en el sentido comun de la palabra, pero veremos que el concepto de chero se aplica tambien a directorios, perifericos y a la manera de interactuar con el sistema. En sistemas operativos multi-usuarios es importante tener medios para proteger los cheros de cada usuario. Los cheros de sistema requieren una proteccion especial para garantizar la seguridad del sistema. Cada chero conlleva, ademas del nombre, informacion sobre: Quien es el \due~ no" del chero Que pueden hacer los demas usuarios con este chero: leer(read), escribir(write), ejecutar(execute)) Llamaremos a toda esta informacion \derechos de acceso". En UNIX se pueden especi car los siguientes derechos de acceso:
User r
400 200 100 40 20 10 4
Group x r w x r w
2
Other x
1
En la representacion octal sumamos los numeros que representan cada permiso. En el ejemplo propuesto obtendremos 400 + 200 + 40 = 640. Podemos memorizar esta regla como UGO-4-2-1 Mas tarde, veremos como se pueden modi car los derechos de acceso de nuestros cheros con el comando chmod. Notas:
3 USAR EL LINUX
33
Ficheros especiales
Si un comando de UNIX necesita acceder a un \device" del sistema (como el disco duro, el terminal o un puerto de comunicacion), lo hace a traves de un chero (\device le"). Estos cheros no son cheros reales, mas bien representan los \devices" a los que se pueden acceder. En el directorio /dev encontramos estos cheros. Algunos ejemplos son: /dev/hda0 - primera particion del primer disco duro IDE /dev/fd0, /dev/fd0H1440 - primer oppy /dev/cdrom ! /dev/scd0 - CD-ROM /dev/ttyS0 - puerto de comunicacion (COM1) /dev/null - bit bucket (\cubo de basura") Los derechos de acceso a estos cheros de nen los derechos de acceso a los \devices" correspondientes. Notas:
Consolas virtuales
El Linux ofrece varios terminales virtuales en un mismo terminal f sico: usando la combinacion de teclas Alt-F1 .. Alt-F8 podemos cambiarnos a \otro" terminal. De esta manera podemos tener varias sesiones abiertas a la vez, y podemos saltar de sesion a sesion comodamente. Notas:
3 USAR EL LINUX
34
Redireccion y Pipes
El UNIX ofrece la posibilidad de cambiar la fuente de entrada (por defecto el teclado) y el destino de salida (por defecto la pantalla) de los comandos. Un comando normalmente comunica con nosotros a traves de los tres canales siguientes: standard input - teclado standard output - pantalla standard error output - pantalla En UNIX podemos \conectar" cada uno de estos canales con un chero, la salida de un programa puede ser utilizada por otro programa. Por ejemplo, podemos: Mandar la salida de un comando a un chero:
comando > fichero.out
Especi car a un comando que lea los datos de entrada de un chero en lugar de hacerlo desde el terminal:
comando < fichero.in
Notas:
3 USAR EL LINUX
35
Opciones Las listas de las opciones NO son completas, he elegido las opciones mas utiles. Puede resultar muy conveniente prepararse unas tablas similares con los comandos nuevos que aprendemos. Si buscamos un comando para una tarea especial, usaremos el man -k, por ejemplo, man -k delete nos lleva a:
groupdel (1) mdel (1) rename (n) rmdir (2) tr (1) unlink (2) unset (n) userdel (1) - Delete a group - Delete an MSDOS file - Rename or delete a command - Delete a directory - Translate or delete characters - Delete a name and possibly the file it refers to - Delete variables - Delete a user account and related files
comando
Aqu \comando" representa el comando acerca del cual queremos obtener informacion.
3 USAR EL LINUX
36
mostrar el contenido de directorios todos los cheros, incluyendo los invisibles (.) formato largo (informacion detallada) ordenado respecto al tama~ no clasi ca los tipos de cheros recursivo ! todos los subdirectorios una columna
pwd pwd
cd cd directorio]
Notas:
3 USAR EL LINUX
37
cp cp cp -v -i -r opciones] fichero otro fichero opciones] fichero directorio
verbose, dice lo que hace interactivo, pregunta si otro chero con el mismo nombre existe recursivo, copia subdirectorios y cheros
verbose, dice lo que hace interactivo, pregunta si existe otro chero con el mismo nombre
borrar un chero
verbose, dice lo que hace interactivo, pregunta si existe otro chero con el mismo nombre borrar directorios recursivamente _ _
Notas:
3 USAR EL LINUX
38
more more opciones] fichero
transmitir varios cheros a la salida estandar cat manda la salida por defecto a standard output, por esta razon, hay que usar la redireccion para la concatenacion de cheros:
cat lista de ficheros > fichero
Podemos usar cat > fichero para crear un chero de texto sin usar un editor. Ctrl-D se~ nala el n del chero.
chmod chmod -v -R opciones] modo fichero
El modo se puede dar absoluto (=) o relativo (+-) y es de la forma ugoa] +-=] rwx]. Tambien se puede usar la forma octal:
chmod octal fichero
Notas:
3 USAR EL LINUX
39
El editor vi
Para editar un chero podemos usar varios editores. El vi es un editor muy sencillo, y es imprescindible conocer sus comandos mas basicos. El vi se invoca con
vi fichero
Una vez abierto el chero nos podemos encontrar en dos modos: Modo de comandos Modo de editar Los comandos mas utiles son: i insert, lleva al modo de editar a append, lleva al modo de editar ESC escape, termina el modo de editar y lleva al modo de comandos x delete, borra el caracter actual dd line delete, borra la l nea actual yy yank, copia la l nea actual en el bu er p put, inserta el bu er en la posicion actual /string search, busca \string" en el texto :nnn goto line, posiciona el cursor en la linea nnn :q quit, salir del vi si no se han realizado cambios :q! quit, salir del vi sin guardar los cambios :wq write and quit, guardar los cambios y salir del vi Podemos introducir un numero antes de usar un comando, repitiendo as el comando varias veces. Por ejemplo
5yy p
3 USAR EL LINUX
40
Compresion y Archivador
gzip gzip opciones] fichero
comprimir un chero
archivador extract, sacar del archivo create, crear archivo nuevo append, a~ nadir al archivo type, mostrar el contenido del archivo verbose, dice lo que hace
Hay muchas mas opciones (unidades de cinta etc.), pero las tres formas mas comunes son:
tar -cvf tarfile.tar . tar -tf tarfile.tar tar -xvf tarfile.tar
crear archivo del dir actual y de todos los subdirectorios mostrar el contenido del archivo extraer cheros del archivo al directorio actual
Notas:
3 USAR EL LINUX
41
Control de procesos
ps ps -u -a -x opciones]
estado de procesos formato de \ usuarios" tambien procesos de otros usuarios tambien procesos sin terminal
fg fg %n]
bg bg %n]
mandarle un \signal" a un proceso SIGTERM, matarlo si el programa lo detecta SIGKILL, matarlo de todas formas SIGSTOP, pararlo SIGCONT, continuar
kill -l da una lista de los posibles se~ nales En el shell podemos usar la combinacion de teclas Ctrl-Z para parar un comando interactivo. La combinacion de teclas Ctrl-C termina un comando interactivo. Notas:
3 USAR EL LINUX
42
Informacion y entorno
date date -s opciones] fecha/hora]
mostrar o cambiar fecha y hora del sistema set, cambiar fecha y/u hora (solo root)
df df opciones] directorio]
du du opciones] directorio]
Notas:
3 USAR EL LINUX
43
asignar una equivalencia a un nombre El alias se puede usar para rede nir comandos, por ejemplo:
alias ls='ls -F'
En un shell script se pueden realizar bucles y calculos aritmeticos, como, por ejemplo, en el bash:
let ab=1 echo $ab while test $ab -le 10 do echo $ab cp fil fil$ab let ab=ab+1 done
Notas:
3 USAR EL LINUX
44
mcopy mdel -t -v
mformat mformat -l
para preparar (low level format) el oppy antes de usar mformat. Notas:
3 USAR EL LINUX
45
eliminar una cuenta de un usuario borra los cheros del usuario en su $home
tirar el sistema reboot, rebotar despues del shutdown halt, solamente tirar (para apagar) (tirar ahora) (tirar en diez minutos y rebotar)
Ejemplos:
shutdown -h now shutdown -r +10 mount mount
Hay varias formas de invocar el comando mount. Explicaremos este comando mas adelante.
umount
Notas:
3 USAR EL LINUX
46
Comandos avanzados
find find directorio inicial] expresion]
nombre del chero nombre del chero, case-insensitive tama~ no group id user id derecho de acceso verdadero si expr es falso verdadero si expr1 y expr2 son verdaderas verdadero si expr1 o expr2 es verdadera
Operadores:
-not expr expr1 -and expr2 expr1 -or expr2
Accion:
-print -exec comando
encontrar texto en cheros pattern=basic reg. expression pattern=extended reg. expression pattern=list of strings case insensitive
pattern - regular expression: 01234abc] cualquier caracter de la lista a-z] rango de caracteres cualquier caracter
.
Si tenemos acceso a otra maquina ya con gurada, podemos comparar todos los cheros relacionados. Siempre debemos tener en cuenta el hardware y la version del Linux de ambas maquinas. Antes de realizar cambios en cualquier chero de con guracion, creamos una copia de seguridad de este chero (por ejemplo passwd ! passwd.old, passwd.OLD, etc.) Debemos tener una idea de lo que hacemos, probar \a ver si funciona" puede provocar una _ _ En este cap tulo he resumido algunas con guraciones que he realizado en nuestras maquinas, aqu en la Facultad. < Los pasos siguientes dependen de la distribucion del Linux y del hardware que tengamos ! Notas:
con guracion del X-Windows log- les, administracion cheros temporales de \spool" (impresora, mail, news, etc.)
Notas:
Los seis d gitos 00 00 C0 63 4F AF componen el numero de la tarjeta ethernet. < Cada tarjeta ethernet tiene un numero diferente ! Si no aparece ningun mensaje acerca de la tarjeta ethernet, debemos usar otro kernel que la soporte. Muchas tarjetas ethernet traen utilidades para el MS-DOS que permiten averiguar el numero de la misma. Al instalar los disquetes \N" del Linux, podemos correr una utilidad llamada netconfig para con gurar los programas que acceden a la red. Si a la hora de instalar aun no tenemos el numero de IP, podemos usar el netconfig posteriormente. Para informarnos sobre el estado de la tarjeta de comunicacion, podemos invocar el comando ifconfig. Notas:
Terminolog a
La terminolog a de redes es muy amplia. Paso a enumerar los terminos mas importantes: TCP/IP - Transmission Control Protocol/Internet Protocol, este es el \lenguaje" que hablan los ordenadores entre s . IP-address, es el numero que de ne la direccion de una maquina, por ejemplo, \150.214.138.93" (servix.us.es) DNS - Domain Name Service, convencion sobre como se compone el \nombre" de nuestra maquina, por ejemplo \servix.us.es" host name - el nombre de una maquina, por ejemplo \servix" o \servix.us.es" domain name - el nombre de la red local a la que estamos conectado. Aqu en la Facultad de F sica es \us.es". name server - un ordenador que realiza la traduccion DNS ! IP-address. Aqu , en la Facultad de F sica, el \servidor de nombres" tiene el numero IP \150.214.130.10" (opalo). gateway - un ordenador que conecta dos redes locales. Para poder con gurar un ordenador que esta conectado a la red no hace falta entender todos estos conceptos, la utilidad netconfig nos ayuda en los pasos mas importantes. Notas:
La utilidad netcon g
Podemos con gurar nuestro sistema de dos formas: local loopback mode - si no hay tarjeta ethernet conexion real - con tarjeta ethernet y conexion a la red (hace falta el numero IP) El shell script netconfig con gura cheros que son necesarios para el funcionamiento de programas que necesitan acceso a la red. Al correr el netconfig tenemos que introducir la siguiente informacion (tomaremos como ejemplo el \servix"): hostname: \servix" domain name: \us.es" ... ONLY use loopback: \No". Si respondemos con \Yes", el netconfig no realizara las siguientes con guraciones. IP address:\150.214.138.93" gateway address:\150.214.138.1" netmask: \255.255.255.0" ... access a nameserver: \Yes" Name server for domain us.es:"150.214.130.10" Una vez con gurada la red, rebotaremos el ordenador y probaremos algunos programas que accedan a la red (por ejemplo telnet, ftp, mail). Podemos a~ nadir algunas maquinas locales en el chero /etc/hosts:
127.0.0.1 150.214.138.93 150.214.138.71 150.214.138.72 150.214.1.10 150.214.1.6 150.214.1.14 localhost servix.us.es servix idefix1.us.es idefix1 idefix2.us.es idefix2 obelix.cica.es obelix sevax1.cica.es sevax1 sevax2.cica.es sevax2
Notas:
Copiar el kernel a la particion del DOS. El kernel normalmente se encuentra en el directorio ra z con el nombre vmlinuz. Podemos utilizar el mismo metodo que indicamos arriba para copiar el kernel a la particion del DOS. Salimos del Linux (rebotando) y entramos en el DOS. Creamos un directorio LOADLIN y descomprimimos el chero LODLIN15.ZIP en este directorio con el programa PKUNZIP:
PKUNZIP LODLIN15.ZIP
Si ejecutamos el chero LINUX.BAT desde el MS-DOS, el Linux se bota con el kernel c:nvmlinuz, montando la particion /dev/hda2 como directorio ra z. Podemos especi car otros parametros para el LOADLIN. En el directorio donde hemos descomprimido el LODLIN15.ZIP encontraremos cheros que contienen mas informacion acerca de este programa. Notas:
En este ejemplo de CONFIG.SYS, el MS-DOS nos presenta un menu de arranque que permite elegir si queremos arrancar el Linux o el MS-DOS. Si no elegimos nada en 10 segundos, automaticamente se arrancara el Linux. El chero AUTOEXEC.BAT tendra la siguiente forma:
@ECHO OFF goto %config% :Msdos C:nDOSnSMARTDRV.EXE /X PROMPT $p$g SET TEMP=C:nTEMP MODE CON CODEPAGE PREPARE=((850) C:nDOSnEGA.CPI) MODE CON CODEPAGE SELECT=850 KEYB SP,,C:nDOSnKEYBOARD.SYS C:nMOUSEnMOUSE PATH=C:n C:nWINDOWS C:nDOS C:nPKZIP goto end :Linux C:nLOADLINnLINUX.BAT goto end :end
De esta manera podemos incluso formatear un disquete para el MS-DOS desde el Linux:
fdformat /dev/fd0H1440 mformat a:
De todas formas, hay que tener en cuenta que el Linux es un sistema operativo multi-usuario: con gurado de esta forma, todos los usuarios pueden modi car la informacion de un disquete que se encuentre en la disquetera. < Si insertamos un disquete con datos importantes, otro usuario (conectado con la misma maquina por la red) puede formatearlo ! Hay que advertirles a todos los usuarios que solo se debe formatear un disquete cuando se esta seguro de que se formatea en la maquina local. No dejaremos disquetes en la disquetera. Notas:
Elegir el servidor de X
El servidor de X se de ne mediante un enlace simbolico (symbolic link) que vincula el chero /var/X11R6/bin/X con el servidor de X, como por ejemplo (ls -l):
/var/X11R6/bin/X -> /usr/X11R6/bin/XF86 S3*
Si arrancamos el sistema X-Windows mediante el comando startx, se ejecutara el chero /var/X11R6/bin/X. Si este chero apunta al servidor que queremos usar, este servidor de X arrancara. Podemos cambiar el servidor de X mediante el comando ln:
ln -fs /usr/X11R6/bin/servidor /var/X11R6/bin/X
Con el comando
ls /usr/X11R6/bin/XF86 *
podemos averiguar que servidores se han instalado. Si no aparece el servidor que necesitamos para nuestra tarjeta, tendremos que instalarlo de nuevo. El programa de instalacion actualiza el enlace simbolico del chero /var/X11R6/bin/X al servidor. Notas:
El chero XF86Con g
En el chero XF86Config de nimos el hardware que estamos usando. Hay dos lugares donde podemos colocarlo: En el directorio /etc con los demas cheros de con guracion. En el directorio /usr/X11R6/lib/X11 Resulta mas conveniente trabajar en el directorio /usr/X11R6/lib/X11, ya que todos los cheros de documentacion se encuentran en el directorio /usr/X11R6/lib/X11/doc. Podemos consultar estos cheros:
README.Config - Como con gurar el chero XF86Config README.tarjeta (tarjeta=S3, P9000, Video7, etc.) - informacion especial para nuestra tarjeta Monitors - con guraciones para algunos monitores Device - con guraciones (seccion \Device") para muchas tarjetas gra cas modeDB.txt - mas con guraciones para tarjetas gra cas y monitores AccelCards - con guraciones para tarjetas aceleradas VideoModes.doc - explicacion detallada de como funciona el monitor y la tarjeta gra ca. Para una con guracion avanzada.
Si nuestra tarjeta y monitor aparecen especi cados en estos cheros, no surgiran mayores di cultades. En este caso podemos transferir las especi caciones al chero XF86Config. Notas:
Ahora editamos el chero XF86Config. Este chero contiene varias secciones: Files - aqu se de ne donde se encuentran el base de datos RGB y los directorios que contienen las fuentes del X. Keyboard - aqu se puede modi car la de nicion del teclado. Pointer - en esta seccion se de ne el tipo de raton que usamos. Monitor - de nicion del monitor Mode - de nicion de varios modos de v deo Device - de nicion de la tarjeta gra ca que usamos Screen - combinacion de un \monitor", un \device" y un \driver"(servidor) con varios modos de v deo. En el chero README.Config se explican mas detalladamente estas secciones. < Hay que estudiar este documento antes de editar el chero XF86Config ! En las dos paginas siguientes veremos dos ejemplos para el chero XF86Config: XF86Con g.vga16 - con guracion para el servidor XF86 VGA16, esta conguracion deber a funcionar con la mayor a del hardware disponible en el mercado. Con este chero no se aprovechan las posibilidades de una tarjeta gra ca avanzada (solo 16 colores, resolucion estandar VGA, ningun soporte de funciones aceleradas de la tarjeta). XF86Con g.pvga14 - con guracion para una tarjeta S3-864 con \RamDac" y \ClockChip" en combinacion con un monitor Philips 14C. Este chero es un ejemplo para una con guracion especial. < No use este chero para su equipo, ya que probablemente su con guracion sera distinta ! Notas:
XF86Config.vga16
Page 1
XF86Config.vga16
Page 2
# ********************************************************************** # Files section. This allows default font and rgb paths to be set # ********************************************************************** Section "Files" # The location of the RGB database. RgbPath "/usr/X11R6/lib/X11/rgb"
31.5
# typical for a single frequency fixedsync monitor # multisync # multiple fixed sync frequencies
# VertRefresh is in Hz unless units are specified. # Multiple FontPath entries are allowed (which are concatenated together), VertRefresh 60 FontPath FontPath FontPath FontPath FontPath EndSection # ********************************************************************** # Server flags section. # ********************************************************************** Section "ServerFlags" EndSection # ********************************************************************** # Keyboard section # ********************************************************************** Section "Keyboard" Protocol AutoRepeat "Standard" # Any number of graphics device sections may be present 500 5 Section "Device" Identifier "Generic VGA" VendorName "Unknown" BoardName "Unknown" Chipset "generic" EndSection # ********************************************************************** # Screen sections # ********************************************************************** # The 16colour VGA server # ********************************************************************** # Pointer section # ********************************************************************** Section "Pointer" Protocol Device "Microsoft" "/dev/mouse" Section "Screen" Driver "vga16" Device "Generic VGA" Monitor "Generic Monitor" Subsection "Display" Modes "640x480" ViewPort 0 0 Virtual 800 600 EndSubsection EndSection # To set the LeftAlt to Meta, RightAlt key to ModeShift, # RightCtl key to Compose, and ScrollLock key to ModeLock: # # DENK: activated these LeftAlt Meta RightAlt ModeShift RightCtl Compose ScrollLock ModeLock "/usr/X11R6/lib/X11/fonts/misc/" "/usr/X11R6/lib/X11/fonts/Type1/" "/usr/X11R6/lib/X11/fonts/Speedo/" "/usr/X11R6/lib/X11/fonts/75dpi/" "/usr/X11R6/lib/X11/fonts/100dpi/" # VertRefresh # typical for a single frequency fixedsync monitor 50100 # multisync A compact oneline format, or
# A generic VGA 640x480 mode (hsync = 31.5kHz, refresh = 60Hz) # These two are equivalent # ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525 Mode "640x480" DotClock HTimings VTimings EndMode EndSection # ********************************************************************** # Graphics device section # ********************************************************************** 25.175 640 664 760 800 480 491 493 525
EndSection
60
# ********************************************************************** # Monitor section # ********************************************************************** # Any number of monitor sections may be present Section "Monitor" Identifier VendorName "Generic Monitor" "Unknown"
XF86Config.vga16
XF86Config.pvga14
Page 1
XF86Config.pvga14
25.175 640 664 760 800 480 491 493 525
Page 2
# ********************************************************************** # Files section. This allows default font and rgb paths to be set # ********************************************************************** Section "Files" RgbPath FontPath FontPath FontPath FontPath FontPath EndSection "/usr/X11R6/lib/X11/rgb" "/usr/X11R6/lib/X11/fonts/misc/" "/usr/X11R6/lib/X11/fonts/Type1/" "/usr/X11R6/lib/X11/fonts/Speedo/" "/usr/X11R6/lib/X11/fonts/75dpi/" "/usr/X11R6/lib/X11/fonts/100dpi/"
DENK:The 800x600 VESA/56 mode, as copied from README.Config. This mode is compatible with the Philips 14C, but results in a very flickery display Mode "800x600" DotClock HTimings VTimings EndMode 36 800 824 896 1024 600 601 603 625
# ********************************************************************** # Server flags section. # ********************************************************************** Section "ServerFlags" EndSection # ********************************************************************** # Keyboard section # ********************************************************************** Section "Keyboard" Protocol AutoRepeat # # "Standard" 500 5
EndSection # ********************************************************************** # Graphics device section # ********************************************************************** # Any number of graphics device sections may be present Section "Device" Identifier "Generic VGA" VendorName "Unknown" BoardName "Unknown" Chipset "generic" EndSection Section "Device" Identifier "PVGAS3" VendorName "unknown" BoardName "PVGAS3" Chipset "s3_generic" VideoRam 1024 ClockChip "s3_sdac" RamDac "s3_sdac" EndSection # ********************************************************************** # Screen sections # ********************************************************************** # The accelerated servers (S3, Mach32, Mach8, 8514, P9000, AGX, W32) # DENK: Activated 3 buttons Emulate3Buttons EndSection # ********************************************************************** # Monitor section # ********************************************************************** # Any number of monitor sections may be present Section "Monitor" Identifier VendorName ModelName "My Monitor" "Philips" "14C" Section "Screen" Driver "accel" Device "PVGAS3" Monitor "My Monitor" # Subsection "Display" # Depth 8 # Modes "800x600" # ViewPort 0 0 # Virtual 1000 800 # EndSubsection Subsection "Display" Depth 8 Modes "640x480" ViewPort 0 0 Virtual 1000 800 EndSubsection EndSection
DENK: activated these LeftAlt Meta RightAlt ModeShift RightCtl Compose ScrollLock ModeLock
EndSection # ********************************************************************** # Pointer section # ********************************************************************** Section "Pointer" Protocol Device "Microsoft" "/dev/mouse"
61
# HorizSync is in kHz unless units are specified. HorizSync 31.5, 35.16, 35.5 # Philips 14C
# VertRefresh is in Hz unless units are specified. VertRefresh 50100 # multisync, Philips 14C
XF86Config.pvga14
Si no funciona, podemos usar la opcion -probeonly del servidor de X para averiguar los parametros que faltan en la con guracion (por ejemplo CLOCK-rates):
X -probeonly >& /tmp/xoutput
< Si el X-Windows no arranca bien, hay que leer toda la documentacion para nuestra tarjeta ! Notas:
El programa xf86config
Una alternativa a la edicion manual del chero XF86Config es el uso del programa
xf86config
Esta utilidad nos ayuda a crear el chero XF86Config. En varios dialogos tenemos que especi car los componentes del hardware que usamos. El xf86config accede a una base de datos de tarjetas gra cas y, si nuestra tarjeta gura en ella, simpli ca considerablemente la con guracion del X-Windows. De todas formas es aconsejable leer el chero README.Config antes de usar este programa. Debemos tener preparada toda la informacion que tengamos sobre nuestro monitor, raton y tarjeta gra ca. El resultado del xf86config es el chero /etc/XF86Config. Tambien es posible crear el enlace del chero /var/X11R6/bin/X con el servidor de X con la ayuda del programa xf86config. Notas: