Comandos Linux
Comandos Linux
Comandos Linux
2. El comando apropos
Una herramienta til para encotrar otras herramientas es el comando apropos. El comando whatis muestra informacin en base al nombre de un comando, posee su propia base de datos que relaciona nombres con descripciones. apropos busca en esa base de datos de manera inversa, en base a una palabra, busca en las descripciones para mostrar los comandos que concuerden. Ejemplo 1. Ejemplo de uso de apropos Por ejemplo si queremos utilidades relacionadas con la palabra jpeg: $ apropos jpeg jpegtopnm (1) - convert JPEG/JFIF file to portable pixmap or graymap pcdtoppm (1) - a program converting PhotoCD images to ppm or jpeg ppmtojpeg (1) - convert portable pixmap into a JPEG/JFIF file
3. El comando cal
Este es un comando bastante til, que aunque no tenga mucha relacin con los anteriormente dados, sirve para demostrar que las herramientas basadas en texto no son intiles para tareas domsticas. cal es una herramienta que sirve para mostrar en pantalla el calendario. Su sintaxis es la siguiente: cal [-jy] [[mes] ao]]
Si cal se ejecuta sin argumentos, mostrar en pantalla el calendario del mes y ao actuales, por ejemplo: usuario@maquina:~/$ cal April 2001 S M Tu W Th F S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Las opciones para este comando son: -j Muestra la fecha en formato Juliano. -y Muestra el calendario completo del ao actual.
4. El comando cat
Se utiliza para concatenar archivos y mostrarlos por la salida estndar (normalmente la pantalla). Su sintaxis es muy simple: cat [opcin] [archivo]... Donde archivo puede ser uno o ms archivos. Si no se especifica este segundo parmetro, cat tomar la entrada de la entrada estndar (normalmente el teclado). Sus opciones ms comunes son: -n Numera todas las lneas de salida. -b Numera aquellas lneas de salida que no estn en blanco.
5. El comando cd
Este comando se usa para cambiar de directorio. Generalmente cuando el usuario inicia una sesin en GNU/Linux, el directorio donde comienza es su directorio personal. Desde ah uno puede moverse a los diferentes directorios donde se tenga acceso usando este comando. Su sintaxis es la siguiente: cd directorio ste es un comando interno del intrprete (por ejemplo, bash), y no lleva opciones que sean de relevancia como para nombrarlas. Con la utilizacin del comando cd es bueno explicar conceptos como rutas relativas y rutas absolutas.
Ruta relativa Si la ruta no comienza con / entonces se considera relativa a la ruta actual. Ejemplo 2. Una ruta relativa Referirse al directorio bin/ no es lo mismo que referirse al directorio /bin/, si uno se encuentra en el directorio /usr/, la primera instancia corresponde a /usr/bin/ mientras que la segunda corresponde a /bin/. Ruta absoluta Si la ruta comienta con / entonces har referencia a una ruta en el directorio raz. Ejemplo 3. Varios casos de uso de cd Suponiendo que el directorio actual es /home/usuario: [/home/usuario]$ cd subdirectorio [/home/usuario/subdirectorio]$ cambiara a /home/usuario/subdirectorio. En cambio: [/home/usuario]$ cd /subdirectorio [/subdirectorio]$ cambiara a /subdirectorio debido a que es una ruta absoluta. En el caso que cd se ejecute sin parmetros, cambiar al directorio personal o home directory del usuario. [/usr/share/doc]$ cd [/home/usuario]$ cambiar a /home/usuario. Es equivalente a cd ~ o cd $HOME en bash. Si se quiere cambiar al directorio personal de otro usuario, se puede ejecutar: [/home/usuario]$ cd ~otro [/home/otro]$ cambiar a /home/otro. En cambio cd ~/otro cambiar a /home/usuario/otro pues ~ se reemplaza por el directorio personal del usuario. El ltimo directorio se guarda en una variable de entorno y se puede fcilmente intercambiar con el directorio actual con cd [/home/usuario]$ cd /bin [/bin]$ cd ~/prueba [/home/usuario/prueba]$ cd volver a /bin en el caso de ejecutar otra vez cd - ir a /home/usuario/prueba.
6. El comando cp
Se utiliza para copiar archivos, su sintaxis es la siguiente: cp [opciones] archivo-origen directorio-destino cp [opciones] archivos-origen... directorio-destino Entre las opciones ms relevantes, se tienen:
-f Borrar los archivos de destino ya existentes. -d Copiar los enlaces simblicos tal cual son, en lugar de copiar los archivos a los que apuntan. -p Preservar los permisos, el usuario y el grupo del archivo a copiar. -R Copiar directorios recursivamente. -a Equivalente a utilizar las opciones -dpR. -u No copia un archivo si en el destino ya existe tal archivo, y ste tiene la fecha de modificacin igual o mas reciente. -v Da informacin en pantalla sobre los archivos que se van copiando. Ejemplo 4. Usando cp para copias de respaldo. Supngase que el sistema donde el usuario juancito trabaja normalmente tiene un directorio / usr/local/respaldos, especialmente destinado para almacenar copias de respaldo de los datos de sus usuarios, y juancito necesita hacer su copia de respaldo semanal [2] , entonces el comando que ejecutar es el siguiente: $ cp -dpR /home/juancito /usr/local/respaldos Que es equivalente a ejecutar: $ cp -a /home/juancito /usr/local/respaldos Con esto, juancito copia todos sus archivos con los permisos y atributos exactamente igual a como estn en los archivos originales, y slo debe especificar su directorio personal, ya que la opcin -R se encarga de incluir todos los archivos que se encuentran dentro del mismo. Ejemplo 5. Usando cp para actualizar archivos. Pedro se encuentra trabajando en el laboratorio de informtica de su escuela donde en el servidor de archivos existe un directorio /usr/local/tp que contiene los directorios de todos los grupos de trabajo de la escuela. Pedro pertenece al grupo 15 y necesita actualizar su grupo de copias del trabajo prctico 2, entonces usar el comando cp de la siguiente manera: $ cp -uv /usr/local/tp/grupo15/tp2/* /home/pedro/TPs/2 Con la opcin -v, Pedro puede ver cuales archivos se han actualizado, y con la opcin -u slo copia aquellos archivos mas recientes que los que l ya posee.
[2] juancito es un usuario sabio que hace copias de respaldo, usted las hace?
7. El comando date
Este comando tiene dos funciones: una es la de mostrar en pantalla la fecha del sistema (en varios formatos, como veremos a continuacin), la otra es la funcin de configurar la hora del sistema, pero para que esta funcionalidad se cumpla, se debe ejecutar el comando desde una sesin de root. La sintaxis de este comando es:
date [opcin...] [+FORMAT] date [opcin] [MMDDhhmm[[CC]AA][.ss]] FORMAT controla el formato con que se mostrar la fecha, algunas de las opciones de este argumento son: %a Da de la semana abreviado. %A Da de la semana completo. %b Nombre del mes abreviado. %B Nombre del mes completo. %d Da del mes. %m Nmero de mes. %H Hora, en formato 24h. %M Minutos. %S Segundos. Existen muchsimas ms opciones de formato que alentamos al lector a verlas en la pgina de manual del comando date. Ejemplo 6. Uso de date con formato simple. usuario@maquina:~/$ date Sun Apr 8 15:09:32 ART 2001 usuario@maquina:~/$ date +"%A %d %B" Sunday 08 April
8. El comando df
Provee informacin sobre la utilizacin del espacio en disco en los diferentes sistemas de archivos montados en el sistema. Para un sistema GNU/Linux, quedarse sin espacio libre es algo bastante grave, ya que muchos demonios y programas en general utilizan el directorio / tmp para guardar informacin mientras se ejecutan. La sintaxis de df es la siguiente: df [opciones] [sistema-de-archivo...] Si no se provee del argumento sistema-de-archivo, df informar acerca de todos los sistemas de archivos montados y en funcionamiento. Las opciones de df ms relevantes son: -h Imprimir los tamaos de forma ms legible para humanos. -i Informar sobre la utilizacin de los nodos- [3] . Los nodos- son estructuras internas del sistema de archivos. Cuando ste se queda sin nodos- libres, por ms que haya espacio libre en el disco, no se podrn crear nuevos archivos hasta que se liberen nodos-, generalmente esto no
pasa a menos que se haya generado una enorme cantidad de archivos muy pequeos. -k Mostrar los tamaos en bloques de 1024 bytes. -m Mostrar los tamaos en bloques de mega-bytes. Ejemplo 7. Ejemplo de ejecucin del comando df usuario@maquina:~/$ df Filesystem 1k-blocks /dev/hda2 2949060 /dev/hda1 23302 /dev/hda4 10144728 /dev/hdb2 3678764 Used Available Use% Mount 2102856 696400 75% / 2593 19506 12% /boot 5506796 4637932 54% /home 3175268 503496 86% /u
9. El comando du
Este comando informa al usuario de la cantidad de almacenamiento utilizado por los archivos especificados, posee varias opciones, su sintaxis es la siguiente: du [opciones] [archivo...] Sus opciones ms significativas son: -s Muestra nicamente los tamaos de los archivos especificados en la lnea de comandos. -h Muestra los tamaos de archivo en un formato ms legible. -c Muestra en pantalla el espacio total ocupado por los archivos especificados. -x Omite en el conteo aquellos directorios que pertenezcan a otro sistema de archivos. Ejemplo 8. Uso administrativo del comando du El administrador de un servidor necesita saber el espacio en disco ocupado por los distintos directorios del sistema, para hacer limpieza. Para esto, se tiene en cuenta que no se debern contar aquellos directorios que estn en su propio sistema de archivos, entonces se puede ejecutar de esta forma: # du -sxh /* 6.8M /bin 6.7M /boot 351k /dev 34M /etc 2.8G /home 43M /lib 3.0k /mnt 0 /proc 15M /root
$ find /home/carlos -name "*.png" El administrador de un servidor de Internet necesita realizar una auditora de seguridad, para ello una de las pruebas que se necesita realizar es identificar aquellos archivos o directorios que poseen permisos de escritura para cualquier usuario, esto lo puede hacer como sigue: # find / -perm 777 Este comando listar tambin los enlaces simblicos, que aunque en el listado aparecen con todos los permisos activados, no significa que cualquier usuario los pueda modificar. Para evitar entonces este inconveniente, se puede ejecutar el comando de esta manera: # find / -perm 777 -follow La opcin -follow instruye a find para que en lugar de hacer la prueba con los enlaces simblicos, la haga con los archivos apuntados por estos enlaces.
Retroceder una pantalla de texto. v Cargar el editor de texto en el lugar donde se encuentre el usuario dentro del archivo. El editor que normalmente se utiliza es el vi, el cual se explica en Introduccin al editor de textos vi q Salir del programa. R Repintar la pantalla. til cuando se est visualizando un archivo que ha sido modificado por otro programa. Ejemplo 12. Usos del comando less Para visualizar un archivo de texto llamado arch1.txt, se puede utilizar less como sigue: $ less arch1.txt Tambin se puede utilizar tuberas y cat para realizar lo mismo. $ cat arch1.txt | less
15. El comando ln
Este comando sirve para establecer enlaces entre archivos. Un enlace puede ser rgido o simblico. El primer tipo es simplemente una forma de dar otro nombre a un archivo. Por ejemplo teniendo el archivo /etc/passwd, se puede hacer un enlace y tener el nuevo nombre en /home/usuario/claves, y ambos nombres de archivos refirindose al mismo archivo. El segundo tipo es parecido al primero, pero se pueden enlazar directorios, y adems de diferentes sistemas de archivos. Este tipo de enlace es el que ms se utiliza. La sintaxis del comando ln es: ln [opciones] origen [destino] ln [opciones] origen... directorio Sus opciones ms importantes son las siguientes: -d Permite al super-usuario hacer enlaces rgidos a directorios -s Crear enlace simblico. -f Borrar los archivos de destino que ya existen. Ejemplo 13. Algunos usos del comando ln Para el caso del ejemplo anterior, se debera ejecutar: $ ln -s /etc/passwd /home/usuario/claves Cuando se ejecuta ls -l en un directorio donde hay un enlace simblico, ste se muestra de la siguiente manera: usuario@maquina:~/$ ls -l claves lrwxrwxrwx 1 usuario usuario 11 Apr 8 13:33 claves -> /etc/passwd La l al comienzo de la lnea especifica el tipo de archivo listado, en este caso, un link.
Como se puede observar, locate ha listado todos aquellos archivos que posean la palabra locate en su nombre (los directorios estn incluidos).
17. El comando ls
Quizs uno de los comandos de mayor utilizacin, sirve para listar archivos. Su sintaxis es la siguiente: ls [opciones] [archivo...]
Si se ejecuta ls sin argumentos, dar como resultado un listado de todos los archivos (incluyendo directorios) del directorio donde el usuario est posicionado. Sus opciones son: -a Lista todos los archivos, incluyendo aquellos que comienzan con un . [4] -d Lista el nombre del directorio en vez de los archivos contenidos en l. -l Lista los archivos con mucho ms detalle, especificando para cada archivo sus permisos, el nmero de enlaces rgidos, el nombre del propietario, el grupo al que pertenece, el tamao en bytes y la fecha de la ltima modificacin. -r Invierte el orden de listado de los archivos. -s Muestra el tamao de cada archivo en bloques de 1024 bytes a la izquierda del nombre. -h Muestra los tamaos de archivo en trminos de kilobytes, megabytes, etc. -t Lista los archivos ordenados por el tiempo de modificacin en vez de ordenarlos alfabticamente. -A Lista todos los archivos excepto el . y el ... -R Lista los contenidos de todos los directorios recursivamente. -S Ordena el listado por el tamao de los archivos. --color[=cundo] Especifica si emplear color para distinguir los diferentes tipos de archivos. El argumento cundo puede tener varios valores: none No usar colores. Esta opcin es la predeterminada. auto Usar colores solamente cuando la salida estndar es una terminal. always Usar siempre colores. Si ls se usa con la opcin --color sin especificar la opcin de color, el resultado es el mismo que cuando se usa --color=always. Ejemplo 15. Algunos ejemplos utilizando el comando ls Supnganse que se tiene un directorio /usr/local/papers donde se alojan los documentos de un grupo de redactores de una revista, y se quiere saber cules fueron los ltimos documentos modificados y su tamao para su inclusin en el prximo nmero. Para esto se puede ejecutar el comando ls de la siguiente forma: $ ls -lhtr /usr/local/papers Como se puede observar, se le pasan 4 opciones al comando ls, de tal manera que muestre un listado extendido, ordenado por tiempos de modificacin de forma ascendente y que adems muestre los tamaos de archivo en forma ms legible. Otra manera de ejecutar el mismo comando es la siguiente: $ ls -l -h -t -r /usr/local/papers
[4] Como convencin, los archivos cuyos nombres comienzan con un punto se les denomina ocultos.
[5] En ingls, scripts, son programas creados en el lenguaje del intrprete de comandos
21. El comando mv
Este comando se usa tanto para mover archivos, como para renombrarlos (que, al fin de cuentas, es una manera de mover archivos); su sintaxis es la siguiente: mv [opcin...] origen destino mv [opcin...] origen... destino Si el ltimo argumento, destino, es un directorio existente, mv mueve cada uno de los otros archivos a destino. Algunas opciones de este comando son: -f Borrar los archivos de destino existentes sin preguntar al usuario. -i Lo contrario de -f; pregunta por cada archivo a sobreescribir antes de hacerlo. -v Muestra el nombre de cada archivo a ser movido. Ejemplo 18. Ejemplo del uso de mv Si en el directorio actual existe 1 archivo llamado arch1.txt $ mv arch1.txt /usr/doc/ mover arch1.txt al directorio /usr/doc/ manteniendo el nombre de archivo. En cambio,
24. El comando rm
He aqu un comando peligroso, rm se utiliza para borrar archivos o directorios, su sintaxis es: rm [opciones] archivo... Se debe siempre pensar dos veces lo que se est haciendo antes de ejecutar este comando. Quizs esto parezca una advertencia para tontos, pero ms an cuando se est administrando un equipo que da servicios a varios usuarios, un teclazo en falso, y fcilmente se pierden datos importantes. Sus opciones ms utilizadas son: -f No imprimir mensajes de error, ni pedir al usuario una confirmacin por cada archivo que se vaya a borrar. -r Borrar los contenidos de directorios recursivamente. -v Muestra el nombre de cada archivo eliminado. El argumento archivo puede ser tanto un nombre de archivo, como una expresin regular. Ejemplo 20. Un ejemplo del uso del comando rm Para borrar un archivo en el directorio actual llamado arch1.txt
$ rm arch1.txt pedir confirmacin. Para no tener que confirmar se utiliza la opcion -f $ rm -f arch1.txt El comando rm no permite borrar directorios directamente. Pero existen opciones que pueden ayudar para eliminarlo sin confirmacin. Cuidado con el uso de estas opciones. $ rm -rf directorio Eliminar completamente el directorio sin importar su contenido.
La cual tiene almacenada en un archivo /home/damian/lista.txt. Para poder ver fcilmente cul directorio ocupa ms espacio y as revisarlo y limpiarlo, Damin ejecutar el siguiente
comando: $ sort -nr lista.txt Obteniendo de esta manera la lista ordenada numricamente y en forma descendiente: 384746 MP3 82716 Internet 8534 Fotos 5921 proyectos 2613 Mail 132 zaxxon
Notar que si no se utiliza la opcin -n, la lista se ordenar en forma incorrecta: 8534 Fotos 82716 Internet 5921 proyectos 384746 MP3 2613 Mail 132 zaxxon
mostrar las ultimas 10 lneas del log messages. Y luego quedar a la espera de nuevas lneas por aparecer en el final del archivo.
[6] Perdonen al autor, aunque a veces es interesante mezclar conceptos matemticos con informticos, ste no es el caso.
28. El comando wc
El nombre del comando wc proviene de word count, y como es de suponer, sirve para contar palabras. Pero no slo palabras como se ver a continuacin. Su sintaxis es como sigue: wc [opcin...] [archivo...] Si se omite el argumento archivo, wc tomar los datos (naturalmente) de la entrada estndar. La lista de opciones ms importantes es la siguiente: -c Contar bytes. -l
Contar lneas. -w Contar palabras. Ejemplo 24. Ejemplo del uso de wc Como ejemplo, se pueden contar las lneas del archivo /etc/passwd y de esta manera se sabr rpidamente cuntos usuarios tiene definidos el sistema: usuario@maquina:~/$ wc -l /etc/passwd 32 /etc/passwd Se pueden combinar varios argumentos a la vez.
[8] El lector ya est advertido que al autor le gustan las recursividades, por favor perdnenlo.
31. Agradecimientos
La realizacin de este manual habra sido mucho ms difcil sin la ayuda de los coordinadores del proyecto LuCAS[9] Ismael Olea Gonzlez, Juan Jos Amor Iglesias y Csar Ballardini. No podemos dejar de agradecer tambin a Linus Torvalds por su gran aporte al software libre, a Richard M. Stallman por preocuparse por las libertades del software y finalmente agradecemos a toda la comunidad de desarrolladores, redactores, y toda aquella gente que aporta su grano de arena en este mundo, el mundo del software libre.
[9] http://lucas.hispalinux.es
32. Agradecimientos
La realizacin de este manual habra sido mucho ms difcil sin la ayuda de los coordinadores del proyecto LuCAS[10] Ismael Olea Gonzlez, Juan Jos Amor Iglesias y Csar Ballardini. No podemos dejar de agradecer tambin a Linus Torvalds por su gran aporte al software libre, a Richard M. Stallman por preocuparse por las libertades del software y finalmente agradecemos a toda la comunidad de desarrolladores, redactores, y toda aquella gente que aporta su grano de arena en este mundo, el mundo del software libre.
[10] http://lucas.hispalinux.es
33. Agradecimientos
La realizacin de este manual habra sido mucho ms difcil sin la ayuda de los coordinadores del proyecto LuCAS[11] Ismael Olea Gonzlez, Juan Jos Amor Iglesias y Csar Ballardini. No podemos dejar de agradecer tambin a Linus Torvalds por su gran aporte al software libre, a Richard M. Stallman por preocuparse por las libertades del software y finalmente agradecemos a toda la comunidad de desarrolladores, redactores, y toda aquella gente que aporta su grano de arena en este mundo, el mundo del software libre.
[11] http://lucas.hispalinux.es
que fueron creados para ese propsito, como lo es PHP, Python o versiones actuales de Perl. El archivo de configuracin de Apache principal puede ser /etc/httpd.conf o /etc/http.d/conf/ httpd.conf o /etc/apache/httpd.conf segn la distribucin y versin de Apache. En este archivo se determinan los directorios a utilizar, los mdulos a cargar, permisos y muchsimos detalles ms. Veremos los ms importantes.
El nombre de Host es necesario para diferenciar la peticin del usuario. Tambin se puede utilizar una direccin IP si existen mltiples interfaces. Cuando se ejecute Apache, dependiendo la peticin del cliente, se utilizarn distintos Document Root [13] Pero como configuracin en comn, la ejecucin se har con el usuario apache en ambos casos. Ahora, podemos combinar la directiva de bloque <Directory> para dar opciones particulares a cada directorio de los hosts virtuales, pues sus Document Roots son distintos.
ServerName: Nombre del servidor, si se omite, se asigna el nombre del equipo. ServerAlias: Uno o ms alias del servidor. ServerAdmin: Email del administrador para el envio de errores. DocumentRoot: Directorio donde se encuentran los documentos a enviar, debe tener permiso el User y Group mencionados anteriormente. Include: Nombre de archivo a incluir. til para dividir la configuracin en varios archivos pequeos. Otro tipo de directivas son los bloques que su formato es similar a los tags HTML/XML, comienzan con <Directiva Opcion> y finalizan con </Directiva>. Directory Opcion: nombre de directorio. Define propiedades de un directorio a utilizar en el servidor. DirectoryMatch Opcion: expresin regular. Igual que Directory, pero acepta una expresin regular para generalizar los directorios. Files Opcion: nombre de archivo. Define propiedades para un archivo determinado. FilesMatch Opcion: expresin regular. Igual que Files, pero acepta una expresin regular para generalizar los archivos. Location Opcion: URL. Especifica las propiedades de una URL del sitio. LocationMatch Opcion: expresin regular. Como es de esperar, es igual que Location pero se pueden especificar varias URL's con expresiones regulares. VirtualHost Opcion: nombre de host. Especifica propiedades de un slo dominio. Veremos en mayor detalle esta directiva. Un archivo httpd.conf simple: User apache Group apache ServerName www.dominio.org.ar ServerAdmin webmaster@dominio.org.ar DocumentRoot /var/www/ <Directory /var/www> Options Indexes </Directory> En este caso, el usuario y grupo se llaman apache, el servidor se llama www.dominio.org.ar, el email del administrador es webmaster@dominio.org.ar. El directorio donde se encontrarn los recursos es /var/www y como opcin se generan los ndices de cada pgina. A nuestro ejemplo podemos agregarle un directorio llamado images que contenga todas las imgenes del sitio pero no queremos que nadie liste el contenido de ese directorio: <Directory /var/www/images> Options -Indexes </Directory> Recordemos que se debe referenciar el path completo. El `-' sirve para deshabilitar la opcin. Por razones de seguridad, es til agrupar todos los archivos tipo CGI en un directorio nico, por ejemplo cgi-bin el cual debe tener la opcin ExecCGI. <Directory /var/www/cgi-bin> Options -Indexes ExecCGI </Directory>
Y podemos mejorar la seguridad negando la ejecucin de CGI en el resto de los directorios: <Directory /var/www> Options Indexes -ExecCGI </Directory> Queda nuestro archivo de la siguiente manera: User apache Group apache ServerName www.dominio.org.ar ServerAdmin webmaster@dominio.org.ar DocumentRoot /var/www/ <Directory /var/www> Options Indexes -ExecCGI+ </Directory> <Directory /var/www/images> Options -Indexes </Directory> <Directory /var/www/cgi-bin> Options -Indexes ExecCGI </Directory>
[14] Como muchos archivos de configuracin cualquier lnea que comience con ``\#'' se ignora por lo tanto es considerada comentario.
37. COMOs
Los COMOs [15] son documentos en forma de recetas, en los que se trata la forma de realizar tareas especficas del sistema. Estos documentos se encuentran en el directorio principal de documentacin de GNU/Linux, /usr/share/doc/, bajo el subdirectorio HOWTO [16] . Esta documentacin est disponible en texto plano y formato HTML, gracias a esto podemos emplear cualquier paginador (como por ejemplo less) o navegador web para visualizarla. Tambin puede encontrar ficheros cuyo nombre termina en .gz. Dichos ficheros han sido comprimidos con gzip para ahorrar espacio, luego debe descomprimirlos antes de leerlos. Una forma de leer los COMOs comprimidos, sin llenar su disco con versiones descomprimidas, es utilizar zless: La orden zless utiliza las mismas teclas que less, de modo que se puede mover con facilidad a travs del documento.
[16] Las traducciones al espaol de muchos de estos COMOs, se encuentran en el subdirectorio HOWTO/es/, en caso de estar instalados
38. Argentina
Grupos locales en Argentina GrULiC Grupo de usuarios de Linux de Crdoba (http://www.grulic.org.ar/) GULCO Grupo de Usuarios de Linux de Corrientes (http://www.gulco.linux.org.ar/) Linux Santa Fe Grupo de Usuarios de Linux en Santa Fe (http://www.linuxsantafe.com/) LugCOS GNU/Linux Users Group del Centro Oeste Santafesino (http://lugcos.org.ar) LUGAr Linux Users Group Argentina (radicado en Buenos Aires) (http://www.linux.org.ar/) LUGLi GNU/Linux Users Group del Litoral (radicado en Santa Fe) (http://www.lugli.org.ar) LUGMen Grupo de Usuarios de Linux de Mendoza (http://www.linuxmendoza.org.ar/) LUGNA GNU/Linux User Group Neuqun - Argentina (http://www.lugna.linux.org.ar/) LUGro Grupo de Usuarios de GNU/Linux de Rosario (http://www.lugro.org.ar/) LugRa GNU/Linux Users Group Rafaela (http://www.rafaela.linux.org.ar) LUG SeC Grupo de Usuarios de Linux del Sureste de Crdoba (http://www.lug.org.ar/) LUG Tucumn Linux Users Group Tucumn (http://www.tucuman.linux.org.ar/) LugUsh Linux User Group Ushuaia (http://www.lugush.org.ar/) NugLy Nuevos usuarios de GNU/Linux de Jujuy (http://www.nugly.linux.org.ar) PLUG Grupo de Usuarios de GNU/Linux de La Plata (http://www.plug.org.ar/)
39. Bolivia
Grupos locales en Bolivia LUGBOL Linux User Group Bolivia (http://www.linux.org.bo/)
40. Chile
Grupos locales en Chile Linux.CL Linux en Chile (http://www.linux.cl/)
41. Colombia
Grupos locales en Colombia GLUV Grupo Linux Universidad del Valle (http://cluv.univalle.edu.co/) LinuxCOL Grupo de Usuarios Colombianos de Linux (http://linuxcol.uniandes.edu.co/)
43. Cuba
Grupos locales en Cuba Linux Cuba Grupo de Usuarios de Linux en Cuba (http://www.linux.cu/)
44. Ecuador
Grupos locales en Ecuador Ecuanex Linux en Ecuador (http://linux.ecuanex.net.ec/)
45. El Salvador
Grupos locales en El Salvador SVLinux Grupo de Usuarios de Linux en El Salvador (http://www.linux.org.sv/)
46. Espaa
Grupos locales en Espaa ADALA Asociacin para el Desarrollo y Avance del software Libre en Andaluca (http://www.adala.org/) AsturLinux Asociacin de Usuarios Asturianos de LiNUX (http://www.asturlinux.org) AUGCYL Asociacin Usuarios GNU/Linux Castilla y Len (http://www.augcyl.org/) AULIR Asociacin de Usuarios de Linux de La Rioja (http://www.aulir.com/) BULMA Bisoos Usuarios de Linux de Mallorca y Alrededores (http://bulmalug.net/) CALIU CAtalan LInux Users (http://www.caliu.org/)
Cat-Linux GNU/Linux en catal! (http://www.cat-linux.com) COALA Colectivo de Apoyo a Linux de Asturias (http://www.coala.uniovi.es/) Euskal Linux Grupo de Usuarios del Pas Vasco (http://www.euskal-linux.org/) GALPON Grupo de Amigos de Linux de Pontevedra (http://galpon.com.uvigo.es) GILUG GIrona Linux Users Group (http://www.gilug.org/) GLUB Grupo de LinuxUarios de Bizkaia (http://glub.ehu.es/) GLUG Grupo de Usuarios de Linux de Galicia (http://www.glug.es/) GPUL Grupo de Programadores y Usuarios de Linux (http://www.gpul.org/) GRULIN Grupo de Usuarios Linux en Navarra (http://www.elpuntofijo.com/grulin/) GRULLA Grupo de Usuarios de Linux de La Almunia (http://grulla.hispalinux.es/) Grupos Locales en Hispalinux Pgina de grupos locales en HispaLinux (http://grupos-locales.hispalinux.es/) GUL Grupo de Usuarios de Linux de la Universidad Carlos III de Madrid (http://gul.uc3m.es/gul/) GULA-ZALE Grupo de Usuarios Linux de lava - Zaletuen Arabako Linux Elkartea (http://www.gula-zale.org/ ) GULAlcarria Grupo de Usuarios de GNU/Linux de Guadalajara y alrededores (http:// gulalcarria.sourceforge.net/) GULCA Grupo de Usuarios de Linux de Cdiz (http://www.gulca.org/) GULEF Grupo de usuarios de Linux de Eivissa i Formentera (http://www.clubibosim.org/) GULEX Grupo de Usuarios de Linux/Unix de Extremadura (http://www.gulex.org/) GULIC Grupo de Usuarios de Linux de Canarias (http://www.gulic.org/) GULMU Grupo de Usuarios de Linux de Murcia (http://gulmu.com/) GULS Grupo Usuarios de Linux de Salamanca (http://guls.sourceforge.net/) GuPLe Grupo de usuarios y programadores de Extremadura (http://www.guple.org/) HispaLinux Asociacin de Usuarios Espaoles de GNU/Linux (http://www.hispalinux.es/) IndaLinux Grupo de Usuarios de GNU-Linux de Almera (http://indalinux.hispalinux.es/) LILO LInuxeros LOcos (http://lilo.sourceforge.net/) LiMA
Asociacin de Usuarios "LiNUX Mlaga" (http://www.linux-malaga.org/) LINUCA Asociacin de Usuarios GNU/Linux en Cantabria (http://www.linuca.org) Linux-Madrid Grupo local de GNU/Linux de madrileos y otros convecinos (http://linux-madrid.hispalinux.es/) Llug Lleida Linux User Group (http://www.llug.net/) MaCHeGoX Grupo de Usuarios de Linux de Castilla-La Mancha (http://www.geocities.com/ alcazardesanjuan/) PoLinux Asociacin Usuarios de Linux de la UPV (http://www.polinux.upv.es/) SLen Asociacin de Software Libre de Len (http://www.sleon.org/) SUGUS Asociacin de GNU/Linux - Sevilla (http://sugus.eii.us.es/) USUALIZA USUArios de LInux de Zamora (http://www.linux-zamora.org) VALUX Asociacin de usuarios de LINUX de la Comunidad Valenciana (http://www.valux.org/) ZARALINUX Asociacin de Usuarios de Linux de Zaragoza (http://piramide.unizar.es/zaralinux/)
47. Guatemala
Grupos locales en Guatemala GLUG Guatemala Linux User Group (http://linux.guatemala.org/) GUUG Grupo de usuarios de Unix en Guatemala (http://www.guug.org/)
48. Introduccin
Los grupos locales son agrupaciones de personas que fsicamente se reunen y realizan actividades en una zona determinada. Estos grupos tienen unas particularidades que los diferencian de asociaciones nacionales o grupos de trabajo virtuales: necesitan un punto de reunin (un local, por ejemplo), hacen actividades a nivel de suelo destinadas a la promocin del Software Libre entre el ciudadano de la calle (conferencias, fiestas de instalacin, colaborar con colegios, centros culturales, otras asociaciones, etc.). Todo esto significa que sus cometidos son mucho ms que un mero contacto por Internet. A continuacin se presenta una lista de los grupos locales existentes en el mundo hispanohablante (si conoces alguno que no aparezca en esta lista, contacta con nosotros, por favor):
49. Mxico
Grupos locales en Mxico GLO Grupo Linux de Occidente (http://www.glo.org.mx)
GNU/Linux en Mxico Grupo de Usuarios de GNU/Linux en Mxico (http://www.linux.org.mx/) GULEV Grupo de Usuarios de GNU/Linux (http://veracruz.linux.org.mx) GULMT Grupo de Usuarios de Linux de Mxico en Toluca (http://www.internetica.net.mx/linux/) Linux CEM Grupo de Usuarios de Linux del ITESM CEM (http://linux.cem.itesm.mx/) Linux Monterrey Grupo de usuarios de GNU/Linux en Monterrey (http://www.interclan.net/rsepulveda) Linux Puebla Grupo de Usuarios de Linux en Puebla en el Estado de Veracruz (http://www.linuxpuebla.org)
50. Per
Grupos locales en Per AQPLUG Grupo de Usuarios de Linux en Arequipa (http://linux.aqp.com.pe/) PLUG Grupo de Usuarios de Linux en Per (PLUG por las siglas en Ingls - Peruvian Linux User Group) (http://www.linux.org.pe/)
52. Uruguay
Grupos locales en Uruguay UYLUG Grupo de Usuarios de Linux del Uruguay (http://www.linux.org.uy/)
53. Venezuela
Grupos locales en Venezuela VELUG Grupo de Usuarios de Linux de Venezuela (http://www.linux.org.ve/)
54. Introduccin
En esta seccin, se proveer al lector de una lista de recursos en Internet, desde los que puede extraer informacin de todo tipo, e incluso software para GNU/Linux.
participe mucha gente en estas listas, hace ms factible el recibir una respuesta a algn pedido o consulta que se realice. Las reglas de convivencia en dichas listas, aconsejan a los participantes ayudar cada vez que se pueda, y antes de consultar algo, leer toda la documentacin posible . De esta manera no se genera trfico innecesario en la lista. HispaLinux [17] dispone de un servicio de listas de correo para la comunidad de usuarios y desarrolladores de Software Libre. La relacin de listas de correo disponibles est alojada en https://listas.hispalinux.es/mailman/listinfo , desde donde obtendrs la informacin sobre cada lista y la forma de subscribirte. En http://calvo.teleco.ulpgc.es/mailman/listinfo/l-linux se encuentra disponible la lista de correo L-Linux. Desde la interfaz de Mailman puedes acceder al histrico de la lista, obtener informacin sobre ella y subscribirte. Normalmente los Grupos Locales disponen de listas de correo propias, si ests interesando en alguna de ellas visita sus pginas, donde obtendrs toda la informacin necesaria.
56. Documentacin
La siguiente lista presenta las pginas ms importantes de documentacin disponibles en Internet: Pginas con documentacin INSFLUG http://www.insflug.org/, pgina donde se coordina la traduccin oficial de documentos breves, como los COMOs y PUFs o Preguntas de Uso Frecuente [18] NuLies http://nulies.hispalinux.es/, proyecto dedicado a la traduccin al castellano de aquellas partes del ncleo Linux cuya traduccin sea til para la inmensa mayoria de hispanoparlantes PAMELi http://ditec.um.es/~piernas/manpages-es/, los esfuerzos de la traduccin al castellano de las pginas del manual se encuentran en esta localizacin Pedro Reina http://pedroreina.org, Pgina personal de Pedro Reina, profesor de Enseanza Secundaria. En esta pgina est disponible el curso de informtica realizado por Pedro, basado en herramientas de libre distribucin TLDP-ES/LuCAS http://es.tldp.org/, como se puede leer en la pgina del Proyecto, LuCAS es la mayor biblioteca en espaol dedicada a GNU/LiNUX de todo el planeta
57. Informacin
Coleccin de enlaces con informacin relativa al sistema operativo GNU/Linux: Direcciones de informacin es.comp.os.linux.* http://www.escomposlinux.org, Pgina de los grupos de noticias de Linux de la jerarqua es.comp.os.linux.*
El rincn de Linux http://www.linux-es.com/, Esta pgina es un buen punto de partida para aquellos que necesitan encontrar informacin sobre Linux, principalmente en castellano GNU No Es Unix! http://www.gnu.org/home.es.html, Proyecto donde se origin la filosofa del Software Libre. Visita obligada para quien quiera conocer que es el Software Libre La Gaceta de Linux http://www.gacetadelinux.com/, Traduccin al castellano de la conocida Gaceta inglesa Linux Gazette [19] El objetivo de esta publicacin es hacer Linux un poco ms divertido, compartir ideas y descubrimientos linux.com http://www.linux.com, Sitio dedicado a dar informacin general sobre muchos aspectos del sistema LinuxFocus http://linuxfocus.org/, Revista internacional y libre sobre linux. Est traducida a muchos idiomas, entre los que se encuentra el espaol Linux Today http://linuxtoday.com/, Pgina destinada a los profesionales interesados en mantener nivel de conocimiento alto sobre Linux y el Cdigo Abierto
58. Noticias
A continuacin se muestran algunas pginas dedicadas a noticias sobre el Software Libre en general y GNU/Linux en particular: Pginas de noticias Barrapunto http://www.barrapunto.com, Foro de noticias relacionadas con GNU/Linux, en castellano Kernel Trafic http://kt.zork.net/kernel-traffic/, Noticias semanales sobre la actividad del ncleo Linux Kuro5hin http://www.kuro5hin.org/, Pgina dedicada a la tecnologa y a la cultura. Informacin de calidad, para gente a la que le gusta pensar linux.org http://www.linux.org, Sitio oficial de Linux, el ncleo del sistema GNU/Linux. Aqu se encuentran entre otras cosas, las ltimas versiones del ncleo a medida que se van publicando Linux Weekly News http://lwn.net/, ltimas noticias relacionadas con GNU/Linux, en ingls SlashDot http://www.slashdot.com/, Foro de noticias relacionadas con GNU/Linux, en ingls Planeta Linux http://www.planetalinux.com.ar/, La fuente Argentina de recursos Linux
DistroWatch.com http://www.distrowatch.com/, Comparativas de las distribuciones GNU/Linux ms importantes. Un buen punto de partida para conocer las distintas distribuciones existentes Freshmeat http://freshmeat.net, Este sitio est dedicado a la recoleccin de Software Libre de todo tipo, dividido por categoras ibiblio http://metalab.unc.edu, Repositorio de software y distribuciones de GNU/Linux Kernel.org http://www.kernel.org, Sitio principal para obtener el cdigo fuente de Linux LinuxISO http://www.linuxiso.org, Pgina donde podrs encontrar las imagenes ISO de algunas distribuciones de GNU/Linux, listas para ser grabadas RmpFind http://rpmfind.net, Buscador de aplicaciones, la caracterstica de este es que todos los programas estn empaquetados en RPM SourceForge http://sourceforge.net/, Servicios gratuitos para los desarrolladores de Software Libre, en el que se podrn encontrar aplicaciones de cdigo abierto de todo tipo
61. Introduccin
Una de las ms importantes caractersticas de todo sistema GNU/Linux, es la calidad y cantidad de la documentacin que se incluye: pginas del manual, COMOs, guas, libros, etc. De esta forma, el usuario tiene a su disposicin los recursos necesarios para informarse de cada detalle del sistema.
63. Manuales
Adems de la documentacin en lnea y los COMOs, existen verdaderos manuales, que vienen includos en cada distribucin. Originalmente, estos manuales estaban escritos en ingls, pero gracias al esfuerzo del proyecto TLDP-ES/LuCAS (La mayor biblioteca en espaol dedicada a GNU/LiNUX de todo el planeta), en la actualidad existe una gran cantidad de documentacin en nuestro idioma. Las ltimas versiones de los manuales en castellano se pueden obtener del sitio web de TLDPES/LuCAS (http://es.tldp.org/) Algunos manuales disponibles en castellano LIPP Linux Instalacin y Primeros Pasos, una gua bien bsica, especial para los recin iniciados GARL Gua de Administracin de Redes en Linux [20] , una gua avanzada sobre la configuracin de los diferentes servicios de red que un servidor GNU/Linux puede proveer GLUP Gua del Usuario de Linux, especial para todos los usuarios de GNU/Linux. Abarca las tareas ms cotidianas, como por ejemplo: edicin de archivos, manejo en el shell, manejo del entorno grfico, entre otras GULP Gua Linux de Programacin, al momento de la redaccin de este curso, la GULP se halla en desarrollo, incluye diferentes aspectos de la programacin en C del sistema, desde los conceptos bsicos hasta la programacin con semforos Gua del enRootador de Linux Esta gua pretende dar respuestas muy claras a los problemas que pueden presentarse en la instalacin de GNU/Linux Gua del ncleo Un libro ideal para hackers [21] , programadores y entusiastas de lo desconocido Manual de GNU Bison Una gua muy completa sobre el generador de analizadores sintcticos compatible con YACC, Bison GURH Gua de instalacin oficial de Red Hat Linux [22] , manual que describe paso a paso la instalacin y configuracin de una distribucin Red Hat Linux Introduccin a la administracin de redes TCP/IP Manual introductorio para aquellos que pretenden administrar una red basada en los protocolos de red de Internet (TCP/IP) Manual de GNU Flex Descripcin de la herramienta para la generacin de programas que realizan concordancia de patrones en texto, Flex DNS Historia, descripcin y configuracin del servicio DNS Seguridad en Unix y Redes Pautas para conseguir un nivel de seguridad aceptable en sistemas Unix (con muchas referencias a GNU/Linux) GSAL Gua de Seguridad del Administrador de Linux, un ambicioso manual que har las delicias a todos los paranoicos de la seguridad :-) Usando Samba Traduccin del conocidsimo libro Using Samba editado por O'Reilly LDP Manifiesto Manual que detalla los objetivos y estado actual del proyecto de documentacin Linux [23] Gua de Programacin de Mdulos del Ncleo Linux
Libro destinado a programadores que conocen el lenguaje C, en el que se describe cmo programar Mdulos del Ncleo Linux Dentro del ncleo Linux 2.4 El funcionamiento interno del ncleo Linux en su versin 2.4 queda reflejado en este manual Gua de usuario de Ruby Tras la lectura de esta gua, el lector ha de ser capaz de ejecutar y utilizar el lenguaje de programacin Ruby Interconexin IrDA con Linux Cmo conectar nuestro GNU/Linux va IrDA a dispositivos IPAQ, PALM, GSM... Administracin de una red local basada en Internet Una introduccin para aquellas personas que pretendan administrar una red basada en los protocolos de red de Internet (TCP/IP) Anlisis de seguridad de la familia de protocolos TCP/IP y sus servicios asociados Introduccin al mundo de la seguridad de los sistemas de informacin, enfocado en la familia de protocolos de comunicaciones TCP/IP Todos estos manuales, y alguno ms, se pueden obtener en varios formatos del sitio TLDP-ES http://es.tldp.org/htmls/manuales.html
[20] Actualmente estn disponibles la versin 1.0 y 2.0 de este manual [21] Es conveniente aclarar que estamos hablando de hackers y no de crackers. Los crackers son aquellas personas con algn problema psicolgico que tienden a hacer dao [22] Actualmente se dispone de las versiones 5.0 y 6.0 de este manual [23] En ingls Linux Documentation Project, de ah el acrnimo LDP
Si es un recin llegado a GNU/Linux, no espere servirse de las pginas del manual como guas paso a paso, ya que se entienden como material conciso de referencia o consulta. Intentar aprender GNU/Linux utilizando las pginas del manual, es como pretender aprender ingls leyendo un diccionario.
En modo de comandos, se debe tener en cuenta que generalmente el comando que se ejecuta se aplica a la lnea o carcter donde se encuentre el cursor. As por ejemplo, si se presiona la tecla x[24], se borra el carcter donde el cursor est posicionado. Otro ejemplo es, si se presiona 2 veces consecutivas la tecla d, se eliminar la lnea completa donde se encuentre el cursor. Adems del modo de comandos normal que posee vi, donde no es necesario presionar la tecla Enter para ejecutar comandos, existe otra manera de ejecutarlos: vi utiliza detrs de cmaras el editor de lnea ex. Muchos de los comandos que se necesitan, se ejecutan a travs de ex. Para activar el modo de comandos de este editor de lnea, se presiona la tecla : y luego se escribe el comando, seguido de Enter, como veremos ms adelante. Como ejemplo se puede dar uno muy interesante: para salir de vi sin grabar en disco se debe escribir :q! seguido de la tecla Enter. Una particularidad que posee vi es la de poder hacer repeticiones de comandos. Si se escribe un nmero (en modo de comandos, obviamente) inmediatamente seguido de un comando, este comando se ejecutar la cantidad de veces que se le haya especificado. Un ejemplo prctico de esto es que si se necesita eliminar 3 lneas de texto, con el comando 3dd se puede realizar en vez de ejecutar dd 3 veces. A continuacin se listan los comandos ms comnmente utilizados: i
Ingresar al modo insercin. r Ingresar al modo insercin (reemplazo). cw Reemplazar hasta el final de palabra. D Borrar desde el cursos hasta el final de la lnea. ZZ Salir de vi grabando los cambios. $ Ir al fin de lnea. Es equivalente a la tecla Fin. ^ Ir al comienzo de lnea. Es equivalente a la tecla Inicio. dd Cortar lnea al portapapeles (tambin se usa para borrar). Y Copiar la lnea actual al portapapeles. p Pegar el contenido del portapapeles a la derecha del cursor. P Pegar el contenido del portapapeles a la izquiera del cursor. o Comenzar la edicin abajo del cursor. O Comenzar la edicin arriba del cursor. a Comenzar la edicin a la derecha del cursor. Adems, los comandos de ex ms comnmente utilizados son: :wq Salir de vi grabando los cambios. :w Grabar los cambios sin salir. :n,m s/cadena1/cadena2/g Buscar cadena1 y reemplazarla por cadena2 desde la lnea nmero n hasta la lnea nmero m (se puede escribir $ para hacer referencia al final del archivo). :q! Salir sin grabar los cambios. Como comando adicional, es importante nombrar al comando de bsqueda. ste se ejecuta presionando la tecla / seguida de la cadena de texto a buscar, y Enter para confirmar. El cursor se posicionar en la primera ocurrencia de la cadena a buscar. Presionando n se buscar la siguiente ocurrencia de la bsqueda. Ejemplo 26. Bsqueda y reemplazo en vi Una tarea que quizs parezca complicada es la de buscar y reemplazar, por lo que se presenta un ejemplo aclaratorio. Supngase el caso de Figura 2. Comando de buscar y reemplazar en vi. Se puede observar que se quiere reemplazar desde la lnea 1 hasta el final del archivo todas las ocurrencias de vi por emacs[25]. El resultado se puede observar en Figura 3. Resultado del reemplazo en vi. Como se ve, se han reemplazado todas las ocurrencias de la cadena vi. Esto a veces no es lo correcto, como puede observarse. Figura 2. Comando de buscar y reemplazar en vi
[26] RPM es un tipo especial de paquetes, hay varios tipos como por ejemplo DEB. Figura 3. Resultado del reemplazo en vi
Ejemplo 27. Repeticin de comandos en vi Supngase que se tiene un prrafo de 10 lneas en un texto que se debe mover a otro sitio del archivo. Una solucin no muy ptima es borrar las lneas y volver a escribirlas donde
corresponde; pero mejor an es cortar esas 10 lneas y pegarlas en el nuevo sitio. Para ello, el cursor debe estar posicionado en la primer lnea del prrafo. Luego ejecutar el comando 10dd, posicionar el cursor en el lugar donde debe ir el prrafo y ejecutar el comando p. As de fcil!
[24] Siempre tener en cuenta que las maysculas se diferencian de las minsculas. Es un error muy comn tener el Bloq Mays activado. [25] Emacs es otro editor de texto excelente, por cierto.
[26] RPM es un tipo especial de paquetes, hay varios tipos como por ejemplo DEB.
69. Chat
Una de las actividades ms adictivas en Internet es el chat. Cada da se hace ms popular el chat a travs de programas de chat o irc [27] . Para chatear existen varios programas. En KDE el ms usado es ksirc. Se encuentra en K>Internet->Cliente de irc. Si bien existen muchos clientes ms, ste es relativamente simple como para empezar. En la pantalla principal (Figura 4. Pantalla principal de ksirc) hay un men llamado Conexiones con una entrada que dice Nuevo servidor.. Figura 4. Pantalla principal de ksirc
En la Figura 5. Conectarse a un servidor en ksirc muestra un cuadro de dilogo para completar el nombre de servidor (como por ejemplo us.undernet.org) Figura 5. Conectarse a un servidor en ksirc
Una vez conectado se puede unir a un canal escribiendo /join nombre_de_canal como por ejemplo /join #santafe. Tambin hay otros comandos: /whois nick: muestra informacin de un determinado nick /ping nick: intenta definir cunto tiempo tarda un mensaje en llegar a nick. /help: brinda ayuda de otros comandos. Figura 6. Conectado a un servidor en ksirc
70. Conectarse
Lo primero que hay que hacer es configurar una cuenta de Internet. Los pasos son
relativamente simples usando el kppp. El kppp se puede ejecutar desde terminal o clickeando en K->Internet-> Conexin a Internet. Figura 7. Vista inicial del kppp
Luego hay que ir a Configuracin (Figura 8. Configuracion del kppp) para crear una conexin a Internet con un click en Nueva (Figura 9. Nueva conexin). Figura 8. Configuracion del kppp
Pudiendo as rellenar los datos del provedor de Internet. Los datos importantes son: el nombre y el nmero a marcar. Luego hay que ir a la lengeta Servidor Nombres y poner la direccin IP del Servidor de Nombres o Servidor DNS, que es parte de la informacin que nos brinda el proveedor de Internet. Una vez configurado ya se puede elegir como parte de las posibles configuraciones en Conectar con. Slo falta el nombre de usuario y la clave como muestra la Figura 10. Conexin a internet con todos los datos. Figura 10. Conexin a internet con todos los datos
Luego aparece el men de Opciones-Identidad (Figura 13. Menu Opciones-Identidad en kmail) donde hay que completar con los datos que van a aparecer en los emails a enviar. Existe una lengeta Red. All hay que poner SMTP como servidor de correo a enviar. Si bien en Linux viene un servidor de correo llamado sendmail, requiere una mayor configuracin y no est dentro de los lmites del curso bsico. Figura 13. Menu Opciones-Identidad en kmail
72. Navegacin
Una de las principales actividades en Internet es la navegacin. El programa ms usado es Netscape. Este no es software libre, por lo tanto algunas distribuciones no lo traen instalado, como por ejemplo Debian. De todas formas est disponible para bajar desde http:// www.netscape.com. En la distribucin Red Hat, en KDE la ubicacin de Netscape es K->Red Hat->Internet>Netscape Communicator. Si bien en cada distribucin cambian los mens, una forma segura de encontrarlo es escribiendo en una terminal netscape. La primera vez que se ejecuta netscape (Figura 16. Pgina de LUNIX en Netscape) aparecer una ventana con la licencia y los botones Accept y Do Not Accept. Aclaramos que no es sotfware libre, no tiene la licencia GNU que viene con la mayora del software en Linux. Figura 16. Pgina de LUNIX en Netscape
Otra aplicacin que sirve para navegar en pginas no muy complejas es el kfm, que no se lo conoce por ese nombre sino ms bien por Navegador (Figura 17. Pgina de LUNIX en kfm). Cada vez que uno navega entre las carpetas locales utiliza ese programa. Como por ejemplo cuando se clickea en la opcin de men Directorio Personal. Y aparecer una ubicacin similar a file:/home/usuario. Si se reemplaza por http:// se podr navegar por la web. Est en desarrollo y pretende llegar a reemplazar al software comercial. Figura 17. Pgina de LUNIX en kfm
Otra alternativa es la navegacin en texto. Si bien a muchos no les parecer atractiva, es una experiencia distinta. Un programa bastante elaborado es el lynx (Figura 18. Pgina de LUNIX en Lynx). Abriendo una terminal y escribiendo lynx http://www.lynx.org podremos acceder a la pgina de los creadores. Al no mostrar grficos es mucho ms rpido que otros navegadores. Y sin lugar a dudas ocupa mucho menos espacio. Figura 18. Pgina de LUNIX en Lynx
77. Ping
Cmo sabemos si una computadora est dentro de la red? Es una pregunta relativamente simple de contestar sabiendo su Direccin IP. knu se encuentra en K->Internet->Utilidades de Red. Se ingresa la direccin IP (por ejemplo 127.0.0.1 [28] ) y a continuacin !Adelante! como muestra la Figura 19. Ejemplo del uso de ping en knu. Figura 19. Ejemplo del uso de ping en knu
Dar informacin de la conexin. Normalmente en enlaces entre mquinas el dato que ms importa es time, que expresa la latencia de red. Aqu es irrelevante, puesto que es la mquina local. De no funcionar esta simple prueba, es posible que la configuracin de red no sea correcta. Tambin se pueden poner nombres de mquinas, como por ejemplo www.google.com siempre que est clickeado el rectngulo que dice Resolver el nombre.
78. Escritorios
Figura 20. Configuracin de escritorios mltiples en el Panel
La siguiente seccin, Figura 20. Configuracin de escritorios mltiples en el Panel , tiene las opciones necesarias para definir la cantidad de escritorios mltiples que se tendrn en la sesin KDE, as como tambin el ancho de los botones de escritorio que aparecen en el Panel y por ltimo, el nombre que poseern esos botones.
Tambin hay que aadir una cuenta POP yendo a Aadir.... Aqu hay que completar con datos del servidor, como muestra la Figura 14. Configurar una cuenta POP3 en kmail Figura 14. Configurar una cuenta POP3 en kmail
Con estos datos sera suficiente como para enviar correos electrnicos y poder recibir. Un ejemplo terminado esta en Figura 15. Ejemplo de kmail configurado Figura 15. Ejemplo de kmail configurado
Un tema avanzado para este curso pero interesante para conocer y tenerlo en cuenta es la lengeta PGP. PGP significa Pretty Good Privacy (privacidad bastante buena), que es el nombre de un programa de encriptacin de mensajes para comunicaciones seguras. Es necesario tener instalado el programa pgp o bien la version GNU del que se llama gpg (este ltimo lo recomendamos). Al enviar el primer email va a pedir que introduzcamos un archivo de firma. Por ahora no existe ninguno. Entonces con el editor de textos hay que escribir un simple archivo que contenga la firma. Por tradicin se elige el archivo .signature porque varios programas de correo lo utilizan. De esta forma la firma ser la misma sin importar qu cliente de correo estemos usando.
Con slo apretar Conectar se debera conectar sin problemas (Figura 11. Conectndose a Internet). Figura 11. Conectndose a Internet
De todas formas, muchas veces la realidad es muy distinta a la teora. Esta es una lista de posibles problemas: Problemas con el modem Problemas con pppd Problemas relativos al proveedor No pretende ser una lista exhaustiva, tan slo son los problemas ms comunes.
79. Opciones
Figura 21. Opciones del Panel
Aqu se podrn personalizar las diferentes opciones de comportamiento del Panel (Figura 21. Opciones del Panel). En el primer cuadro Letreros de ayuda de men se encuentra la opcin Mostrar ayudas de men que activa o desactiva el uso de unos pequeos carteles que aparecen como ayuda cuando se deja quieto el puntero del mouse sobre algn sitio del Panel (en ingls se los llama Tooltips). Por defecto esta opcin est activada, y al estarlo, se utiliza la barra de deslizamiento para configurar el tiempo de retardo que tomar en aparecer cada una de estas ayudas. En el cuadro Visuales se tienen 3 opciones a personalizar, la primera, Auto-ocultar panel hace que el Panel se esconda automticamente (si est activada), pudiendo configurar la velocidad y el retardo de esta accin. La opcin Auto-ocultar barra de tareas es lo mismo que la anterior, pero para la barra de tareas; y la opcin Animar mostrar/esconder de estar activada (por defecto lo est), muestra una animacin al esconderse el Panel o la barra de tareas. El cuadro inferior --Otros-- configura varios aspectos funcionales del botn de men K del
Panel. La primer opcin Entradas del Men Personal Primero hace que aparezcan las configuraciones personales del men antes que los menes que vienen por defecto en el sistema. La segunda opcin Carpetas de Men Primero organiza el men de tal forma que las categoras aparezcan arriba de las opciones simples. La tercer opcin Reloj muestra el tiempo en formato AM/PM sirve para cambiar el modo del reloj entre AM, PM y 24hs. Por ltimo, la cuarta opcin Reloj muestra el tiempo en latidos de Internet cambia el modo del reloj, del tradicional a un tipo de hora ``universal'' definido por la empresa SWATCH para el uso del mismo en Internet.
80. Panel
Esta seccin consta de tres cuadros, el cuadro Posicin permite seleccionar el lugar donde el Panel va a estar localizado en el escritorio, por defecto se encuentra en la parte inferior de la pantalla. El cuadro Barra de tareas sirve para configurar la posicin de la barra de tareas, una barra donde por cada aplicacin ejecutndose, aparece un botn para su rpido acceso en caso de estar en segundo plano o minimizada. Se da la posibilidad de deshabilitar la barra de tareas as como tambin cambiarla de lugar, por defecto aparece en la parte superior del escritorio. El cuadro Estilo tiene las opciones de tamao del Panel, por defecto est en Normal.
81. Introduccin
La comodidad es un factor muy importante en lo que respecta a productividad en trabajos de todo tipo, incluyendo el trabajo en un escritorio virtual como lo es un entorno grfico en una computadora. La comodidad en un entorno grfico depende de la personalizacin de colores, tipos de letras, imgen de fondo, sonidos del sistema, etc. es por ello que la configuracin del entorno se toma como una parte escencial de este curso describindose a continuacin las propiedades mas importantes del KDE que se pueden acceder a travs del Centro de control KDE.
82. Bordes
Los bordes activos se utilizan para moverse de un escritorio a otro a travs del uso del mouse. Cuando estn activados, si se lleva el puntero hacia el borde derecho de la pantalla y se lo deja un instante, el KDE activa el escritorio consecutivo. Lo mismo pasa si se lleva el mouse hasta la izquierda de la pantalla. Seleccionando la opcin Activar bordes activos como se ve en Figura 22. Configuracin de bordes, se puede establecer el tiempo de retardo que requieren los bordes activos para funcionar. Figura 22. Configuracin de bordes
Otras opciones en la seccin inferior del cuadro son los Bordes Mgicos, que se utilizan para magnetizar los bordes de las ventanas entre s.
83. Colores
Los colores de los diferentes componentes de las ventanas pueden cambiarse de forma tal de darle al escritorio la apariencia que a uno ms le agrade. Esto se puede hacer en la seccin de Colores que puede observarse en Figura 23. Configuracin de colores en KDE. Este cuadro se divide en tres partes ms una de visualizacin previa. Figura 23. Configuracin de colores en KDE
Cada configuracin de colores se puede guardar como un esquema individual, en el cuadro Esquema de colores se pueden ver varios esquemas ya definidos, simulando los colores de varios entornos. Pueden definirse nuevos esquemas presionando Aadir y definiendo un nombre para ese nuevo esquema, una vez hecho esto, en el cuadro Color del widget[29] se elige cada componente que se quiera asignar un color especfico y luego se presiona el botn de color seleccionando as el color a utilizar. En la visualizacin previa se puede ir controlando los cambios de colores a medida que se realizan. El cuadro Contraste posee una barra de nivel que establece el contraste entre los colores seleccionados.
[29] Widget se le llama a cada componente de una ventana, un botn, un recuadro, la barra de ttulo, etc.
84. Estilo
Figura 24. Estilo de widgets como Windows95
Otro aspecto en la personalizacin del escritorio, es el estilo de dibujado de los widgets. KDE permite elegir entre el estilo tpico de Windows95 y el estilo de los entornos de UNIX en general. Podemos cambiar de estilo activando o desactivando la opcin Pintar widgets en el estilo Windows 95. Se puede ver la diferencia de estilo de widgets observando Figura 24. Estilo de widgets como Windows95 y Figura 25. Estilo de widgets como Unix. La opcin que dice Barra de Men arriba de la pantalla al estilo de MacOS simulara de alguna manera el estilo de los menes como se utilizan en las computadoras Macintosh, es decir, en vez de que cada ventana tenga su propia barra de menes, existe una barra de menes general para todas las aplicaciones arriba de la pantalla, a medida que se va intercambiando de
ventana en ventana (de aplicacin en aplicacin), esta barra de menes va cambiando. Figura 25. Estilo de widgets como Unix
La tercera opcin, que dice Aplicar fuentes y colores a aplicaciones no-KDE sirve para darle a las aplicaciones que no son especficas de KDE (el Netscape por ejemplo), un ``look'' parecido a las dems aplicaciones que si lo son, asignndole el color de ventanas y botones bastante similares. Debajo de sto, hay un cuadro llamado Icon style que se utiliza para asignar el tamao de los conos de la barra de herramientas (panel) y del escritorio.
para configurar el color o imgen del fondo de los escritorios. Figura 26. Configuracin del Fondo de pantalla en KDE1
Como se ve en Figura 26. Configuracin del Fondo de pantalla en KDE1, se puede configurar cada escritorio por separado, o unificar la configuracin para todos seleccionado la opcin Fondo comn. En el sector Colores se puede seleccionar un color de fondo o utilizando la opcin Dos colores, se logra un ``degrad'' entre ambos. En la seccin Tapiz se encuentra una lista de las imgenes que pueden utilizarse para el fondo. En la lista desplegable de Disposicin existen varias opciones para la forma de mostrar en pantalla dichos tapices. Para que el fondo de pantalla cambie automticamente, puede activarse activar la opcin Al azar Si se activa la opcin Fijar en el panel, en la barra de herramientas del KDE aparecer un cono especial para poder cambiar la configuracin del fondo directamente sin necesidad de entrar en el Centro de Control KDE.
Este mtodo permite que cada entrada posea un identificador nico, evitando la duplicacin de entradas de esta manera, tal como sucede en el servicio de nombres de dominio en Internet. Cada entrada posee atributos donde se almacenar la informacin a consultar. Cada atributo tiene un tipo de datos y acepta uno o mas valores. Adems, cada entrada posee una o mas entradas objectClass, las cuales definen los atributos que la entrada tendr disponibles, detallando cuales atributos son obligatorios y cuales son opcionales. Por ejemplo una entrada para describir una cuenta de usuario en el servidor puede derivar del objectclass posixAccount, cuyos atributos obligatorios son cn, uid, uidNumber, gidNumber y homeDirectory y sus atributos opcionales: userPassword, loginShell, gecos y description. Cada uno de estos objectClass se define en un archivo, normalmente localizado en el directorio /etc/openldap/schema (en la implementacin OpenLDAP). La clase de datos que LDAP puede almacenar se puede extender agregando nuevos esquemas en este directorio.
Editando el archivo /etc/openldap/slapd.conf, se agrega una base de datos de la siguiente manera: database ldbm suffix "dc=ejemplo,dc=net" rootdn "cn=root,dc=ejemplo,dc=net" rootpw {MD5}kuJhGtfsDfglwjhHUTQNmd== directory /var/lib/ldap index objectClass,uid,uidNumber,gidNumber eq index cn,mail,surname,givenname eq,subinitial La primer lnea especifica el back-end de base de datos a utilizar, ldbm es la opcin mas frecuentemente utilizada. La segunda lnea declara el DN de la entrada raz del rbol LDAP. La tercer y cuarta entrada definen los datos del usuario administrador (algo as como su nombre de usuario y contrasea), ya que esta cuenta no puede estar incluida en la base de datos LDAP antes que se haya configurado. La quinta entrada sirve para definir el directorio donde se almacenarn los archivos correspondientes a esta base de datos y las ltimas dos entradas establecen los tipos de ndice que se van a utilizar en las distintas entradas, para bsquedas. La contrasea rootpw est cifrada con el algoritmo MD5, esto se puede generar con el comando slappasswd de la siguiente manera: # slappasswd -h {MD5}
Este es un ejemplo similar al anterior, pero se permite la lectura del atributo mail (es decir, la direccin de correo electrnico) a cualquiera, mientras que se permite su modificacin a la cuenta administrativa y al dueo del atributo. Si bajo la entrada con DN ou=People,dc=ejemplo,dc=net se almacenan las cuentas de usuario del sistema, entonces deberamos permitir slo la lectura de estos datos a todo el mundo (sin permitir la modificacin de por ejemplo, el nombre de usuario, ni siquiera al propio usuario) de esta manera: access to dn=".*,ou=People,dc=ejemplo,dc=net" by * read Finalmente se agrega el ACL por defecto, que permite la lectura de todos los atributos por cualquiera, y su modificacin por el usuario dueo. Se hace esto de la siguiente forma: access to dn=".*,dc=ejemplo,dc=net" by self write by * read Cada ACL se chequear en el orden en que fueron declaradas, es por eso que la ACL que se agreg ltima, no debe declararse antes de otras, porque puede llegar a anular su funcionalidad. Un ejemplo claro es la declaracin de la penltima ACL sobre la ltima. A primera vista, podra parecer que esa penltima ACL se encuentra includa en la ltima y que por lo tanto podra ser obviada, pero observando detenidamente se puede uno dar cuenta que la penltima ACL no permite escritura a nadie, bajo la entrada ou=People,dc=ejemplo,dc=net, y que por mas que la ltima entrada si lo permita, la anterior tiene precedencia. Si estas ACLs se agregaron en su propio archivo /etc/openldap/slapd.access.conf, entonces habr que cerciorarse que se incluya este archivo en el archivo de configuracin principal /etc/ openldap/slapd.conf con la siguiente sintaxis: include /etc/openldap/slapd.access.conf Para que se tomen los cambios, recordar de reiniciar el servicio LDAP en el sistema.
Si todo estuvo correctamente configurado, y existe una entrada con tal atributo, entonces se mostrarn todos sus datos, incluyendose el atributo userPassword como se muestra a continuacin: version: 1 dn: userid=pedro,ou=People,dc=ejemplo,dc=net objectClass: top objectClass: account objectClass: person objectClass: userSecurityInformation uid: pedro sn: Picapiedras cn: Pedro userPassword:: e01ENX1HcWFsOUpQQWowMHV5VkFVb1MyL3dnPT0= telephoneNumber: 431-2125
Si quisiramos hacer que el comando passwd funcione para cambiar las contraseas de usuario, deberamos cambiar el ACL del servidor para que el usuario proxy tenga acceso de escritura al campo userPassword, pero esto podra ser un problema de seguridad en aquellos casos que las mquinas cliente sean controladas por otras personas no confiables, porque el archivo /etc/openldap/ldap.secret de cada mquina cliente sera legible por el root local de cada estacin.
objectclass: account objectclass: posixAccount objectclass: top loginshell: /bin/bash uidnumber: 512 gidnumber: 300 homedirectory: /home/jperez gecos: Juan Perez,,,, userpassword: {crypt}LPnaOoUYN57Netaac
LDAP funciona como una base de datos, optimizada para las operaciones de lectura y bsqueda. Por otro lado, no posee soporte para ingreso de datos por transacciones ni rollback, que se encuentran en los motores de base de datos relacionales. Normalmente en LDAP las operaciones de ingreso de datos son a todo o nada. La arquitectura cliente-servidor y estructura en forma de rbol que utiliza LDAP para almacenar
su informacin, tiene algunas ventajas muy interesantes, como ser: Evita la duplicacin de datos, la estructura de datos obliga a que no exista el mismo dato en dos lugares diferentes del esquema. Permite la distribucin de la administracin, al igual que el servicio de DNS, la responsabilidad en la administracin de los datos de un rbol se puede separar entre distintos equipos si es necesario. Acepta niveles de acceso bien detallados, pudiendo definir polticas de seguridad por cada nodo. Figura 29. Delegacin del rbol LDAP
Adems de esto, LDAP provee capacidades de rplica, de modo tal que se aumenta la confiabilidad y disponibilidad de la informacin, aumentando tambin la eficiencia del servicio ya que la carga se puede repartir entre las rplicas. Las rplicas automticamente irn sincronizndose con su servidor central cada cierto tiempo, hasta cierto punto se acepta cierta inconsistencia en las rplicas, ya que como se ha comentado al comienzo, normalmente no se realizan muchas actualizaciones a los datos. Qu clase de informacin puede contener y cual es el uso que se le puede dar? eso es a discrecin del administrador. Algunos ejemplos comunes son: Libretas de direcciones compartidas. Autenticacin de usuarios centralizada. Perfiles de usuarios centralizados, para permitir Roaming En resumen, LDAP es un servicio muy flexible que permite a un administrador centralizar variados servicios, y de esta manera facilitar la tarea de mantenimiento sin que disminuya la confiabilidad del sistema.
slurpd: El servidor de replicacin. Bibliotecas de acceso al servidor LDAP. Utilidades, herramientas y ejemplos tiles. Los archivos de configuracin del OpenLDAP se encuentran en el directorio /etc/openldap/.
91. Introduccin
Este documento est protegido bajo la licencia de documentacin libre Free Documentation License del Proyecto GNU, que a continuacin se incluye. Toda persona que lo desee est autorizada a usar, copiar y modificar este documento segn los puntos establecidos en la Licencia FDL Este manual se distribuye sin garanta alguna, los autores no se hacen responsables de cualquier tipo de dao mental, emocional o de cualquier otro tipo que produzca la lectura o cualquier otro uso de este manual. salo a tu propio riesgo. El documento est disponible en Internet en http://lucas.hispalinux.es/htmls/cursos.html
Copyright 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
92.1. Preamble
The purpose of this License is to make a manual, textbook, or other written document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of copyleft, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only. The Title Page means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, Title Page means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
92.5. Modifications
You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this
License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five). State on the Title page the name of the publisher of the Modified Version, as the publisher. Preserve all the copyright notices of the Document. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. Include an unaltered copy of this License. Preserve the section entitled History, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled History in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the History section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. In any section entitled Acknowledgements or Dedications, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. Delete any section entitled Endorsements. Such a section may not be included in the Modified Version. Do not retitle any existing section as Endorsements or to conflict in title with any Invariant Section. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section entitled Endorsements, provided it contains nothing but endorsements of your Modified Version by various parties -- for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only
one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
92.9. Translation
Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires
special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail.
92.10. Termination
You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
En primer lugar podemos conectarnos a un GNU/Linux a travs del puerto serie (RS232), con una terminal no inteligente o bien con otro equipo y un emulador de terminales. En ambos casos existe un programa que atiende las solicitudes de conexin a travs del puerto serie. Cuando hay una solicitud de conexin, este programa la atiende solicitando al usuario que se identifique ante el sistema. Cuando termina la conexin, este programa se reactiva para seguir atendiendo nuevas solicitudes. Mediante tarjeta de red. En este caso, tenemos un programa que escucha las solicitudes de conexin a travs de la tarjeta de red. Cuando llega una solicitud, este programa se desdobla de forma que una parte atiende la conexin y otra contina atendiendo nuevas conexiones. As, podemos tener ms de una conexin a travs de la tarjeta de red. Algunos servicios que proveen esta funcionalidad son el telnet (sin encriptacin de datos) y el ssh (Secure Shell, con encriptacin de datos). La consola. Evidentemente, en un sistema GNU/Linux tambin podemos trabajar desde el teclado y monitor que estn conectados directamente al sistema. Normalmente en la mayora de las distribuciones, en la consola hay hasta 6 terminales virtuales, accediendo a cada una de ellas con Alt-F1 a Alt-F6. Una vez que se ha conseguido conectar a un sistema GNU/Linux tenemos que iniciar una sesin de trabajo. GNU/Linux es un sistema multiusuario, y esto exige que el usuario se presente al sistema y que ste lo acepte como usuario reconocido. As, cada vez que iniciamos una sesin GNU/Linux nos responde con Login: a lo que se debe responder con el nombre de usuario. Acto seguido, GNU/Linux solicita una clave para poder comprobar que el usuario es quien dice ser: Password: En este caso se teclea la clave de acceso. Por motivos de seguridad esta clave no aparecer en la pantalla. Si la pareja nombre de usuario/clave es correcta, el sistema inicia un intrprete de comandos con el que se puede trabajar. Habitualmente ser el smbolo $, aunque puede ser tambin el smbolo % (si usamos un shell C). Cuando es el administrador (root) quien est trabajando en el sistema, el indicador que aparece es #.
94. Introduccin
Los tipos de trabajos que se pueden realizar sobre un Unix cualquiera, pero particularmente sobre GNU/Linux, difieren en la forma de interactuar con el usuario y el formato de la interfaz de usuario. A simple vista, se puede decir que hay dos tipos de acceso interactivo en lo que respecta al formato de la interfaz: usando interfaz grfica o usando interfaz de texto. En este curso se le dar especial importancia a la interfaz de texto, ya que es lo ms normal que se encuentra en los equipos que funcionan como servidores, y las herramientas basadas en interfaz de texto tienen mayor tiempo de desarrollo que las otras, lo que las hace ms convenientes para la tarea de administrar un sistema GNU/Linux.
un archivo llamado /etc/passwd. Este archivo contiene una lnea por cada usuario del sistema. Cada lnea consta de una serie de campos separados por dos puntos (:). Estos campos son, en el orden que aparecen: 1. Nombre de usuario. Es el nombre con el que nos presentamos al sistema, con el que tenemos que responder a Login: y por el que nos identifica el sistema. 2. Clave cifrada. El siguiente campo es la clave de acceso al sistema. Esta clave no se guarda como se introduce, sino que se almacena transformada mediante el algoritmo DES. 3. UID. Identificador de usuario. Es el nmero de usuario que tiene cada cuenta abierta en el sistema. El sistema trabaja de forma interna con el UID, mientras que nosotros trabajamos con el nombre de usuario. Ambos son equivalentes. 4. GID. Identificador de grupo. Es el nmero de grupo principal al que pertenece el usuario. 5. Nombre completo de usuario. Este es un campo meramente informativo, en el que se suele poner el nombre completo del usuario. 6. Directorio personal. Este campo indica el directorio personal de un usuario, en el cual el usuario puede guardar su informacin. 7. Intrprete de comandos. El ltimo campo indica un programa que se ejecutar cuando el usuario inicie una sesin de trabajo. Normalmente este campo es un intrprete de comandos (shell en ingls) que proporciona una lnea de rdenes para que el usuario trabaje. Ejemplo: usuario:xKxd6YkHSs:505:705:Usuario:/home/usuario:/bin/bash ^ ^ ^ ^ ^ ^ ^ | | | | | | | | | | | | | I. de comandos | | | | | directorio personal | | | | Nombre completo del usuario | | | Nmero de grupo (GID) | | Nmero de usuario (UID) | Clave cifrada Nombre de usuario
Por otro lado, cuando un usuario ha probado ser quien dice ser, el sistema debe establecer las actividades que dicho usuario tiene permitido hacer en el sistema. Por ejemplo, no es lo mismo un usuario de correo electrnico que un usuario administrador del sistema. El segundo obviamente tendr ms privilegios que el primero porque sus funciones son diferentes. Entonces, cuando un usuario se autentica frente al sistema, el mismo debe establecer ciertos niveles de acceso, entre los cuales pueden ser: Uso mximo de espacio en disco. Cantidad mxima de procesos simultneos posible. Cantidad mxima de memoria ocupada por procesos en ejecucin. Lista de servicios que el sistema provee y al cual el usuario tiene acceso. Este procedimiento es lo que se denomina autorizacin. Como se puede ver, la autorizacin generalmente tiene que ver con la asignacin mxima de recursos del sistema a un usuario dado, ya que cuando un equipo es usado por muchas personas a la vez, el administrador del sistema debera tener en cuenta la capacidad del equipo y establecer las listas de acceso de tal manera que el servicio que provee dicho equipo no disminuya en eficiencia a causa de la saturacin.
97. Introduccin
GNU/Linux es un sistema operativo multiusuario y multitarea. El trmino multiusuario se refiere a que varias personas pueden trabajar simultneamente en la misma computadora y el trmino multitarea significa que GNU/Linux es capaz de ejecutar ms de una tarea de forma concurrente, es decir, comenzar a trabajar en una tarea y dedicarse a otra antes de haber finalizado la primera.
mecanismo equivalente para los procesos. De esta manera, cada archivo y cada proceso en el sistema tiene permisos que permiten la manipulacin de los mismos solamente a las personas autorizadas. GNU/Linux posee estas caractersticas, por lo tanto se adeca a diferentes usos, desde un servidor de Internet con muchos cientos de usuarios, hasta el uso familiar, conservando siempre la privacidad de sus usuarios.
Este archivo es del usuario root, y del grupo del mismo nombre, solamente se puede modificar (bit w de escritura) por su usuario dueo, y leer por el grupo y los dems. Los grupos son un tema ms que nada administrativo y no lo tocaremos en esta seccin. Slo hay que tener en cuenta que generalmente en un sistema GNU/Linux, un usuario cualquiera pertenece a su grupo (grupo del mismo nombre que su nombre de usuario) y al grupo users. A diferencia de sistemas operativos como DOS y Windows, el hecho de que un archivo tenga una extensin .com o .exe no significa que ser un programa ejecutable. Al necesitar restringir los derechos de ejecucin de cualquier archivo [32], la accin de ejecutar cualquier programa estar supeditada al permiso correspondiente (bit x de ejecucin). Esto es importante tenerlo en cuenta a la hora de escribir programas que sern interpretados, ya que a fin de cuentas los archivos sern de texto, y para que se ejecuten se les deber activar el permiso de ejecucin.
0 1 2 3 4 5 6 7
Entonces se puede concluir que los siguientes comandos son equivalentes: chmod u+rwx go-rwx nombre-de-archivo.txt chmod 700 nombre-de-archivo.txt
usuario
-rw-------
1 usuario
usuario
O si se necesita sacar el permiso de lectura y ejecucin de todos los archivos y subdirectorios del directorio /home/usuario/prueba para el grupo y los otros, se debe ejecutar: chmod -R go-rx /home/usuario/prueba
donde se haga puede demorar un tiempo. Aunque la potencia de los equipos que hoy se consiguen es suficiente, en los das de las PC-AT 386 y 486, uno aprenda a desarrollar la paciencia, ya que una compilacin normal poda tomar entre una hora hasta das si el equipo contaba con poca memoria RAM[36].
4. Instalar el ncleo y sus mdulos. Esto implica copiar el archivo del ncleo y los mdulos a donde corresponde, y configurar el LILO, el programa que cargar el ncleo nuevo cuando se reinicie el equipo. 5. Reiniciar el equipo y probar el nuevo ncleo. Esta ltima etapa puede tambin incluir opcionalmente alguna plegaria a su santo preferido.
[35] 27 de marzo de 2001 [36] Ni hablar de cuando uno se olvidaba de incluir una opcin al ncleo y deba recompilar todo, la industria de los calmantes habr ido en alza en esa poca.
Siempre hay que tener en cuenta el usuario que se est utilizando en esta tarea, si bien el compilar un ncleo no requiere de utilizar el usuario administrador, dependiendo del directorio donde est alojado el rbol de fuentes ser o no necesario usar la cuenta root. Como generalmente el directorio donde se aloja el cdigo fuente del ncleo es /usr/src/, se necesitar usar la cuenta de administrador, a menos que dicho directorio posea permisos especiales para algn otro usuario del sistema. El segundo mtodo mencionado corresponde al uso de la interfaz de texto a pantalla completa, como se ve en Figure 2. Este mtodo se usar de ahora en adelante. Esto se obtiene ejecutando el siguiente comando: root@maquina:/usr/src/linux# make menuconfig Figura 31. Interfaz de texto a pantalla completa.
El tercer mtodo utiliza una interfaz grfica en las X (Figure 3). Es el mtodo mas prctico, siempre y cuando se disponga de las X, claro est. Por esa razn hemos seleccionado el anterior mtodo para las dems figuras, aunque se debe saber que los tres mtodos poseen los mismos contenidos, solo cambia la manera de desplegar la informacin. Este tercer mtodo se obtiene ejecutando desde una terminal X lo siguiente: root@maquina:/usr/src/linux# make xconfig Figura 32. Interfaz grfica para configurar el ncleo.
Una vez presentados los mtodos de configuracin del ncleo, nos toca seleccionar las opciones y caractersticas que el nuevo ncleo incluir. Lo que siempre se recomienda al agregar opciones en el ncleo, es que aquellas opciones que tengan la posibilidad de ir como mdulos, que lo hagan. Con esto, obtendremos un ncleo mas pequeo, y los mdulos que se han compilado se irn cargando y descargando automticamente, a medida que se necesiten activar ciertas funcionalidades, y luego ya no se necesiten. Al tener menos cantidad de cdigo en memoria, no slo se produce un ahorro de RAM (que es prcticamente insignificante en estos das ahorrar unos 100k de RAM), sino que lo mas importante es el tener menos posibilidades que algo falle. El sentido comn dice que un ncleo de 400Kb en memoria mas 200Kb de mdulos no cargados tendr menos posibilidades de falla que el mismo ncleo, pero con sus 600Kb completos en memoria. Cmo saber cual funcin debera ir en mdulo y cual en el ncleo? Lo que se recomienda es tener en cuenta la necesidad del uso de cada funcionalidad del ncleo para realizar esta decisin. Por ejemplo, una mquina que posee discos rgidos IDE, los va a necesitar usar en todo el tiempo que est encendido el equipo (salvo raras ocasiones), entonces el soporte para discos IDE debera ir en el ncleo y no como un mdulo, ya que de ir como mdulo, estara siempre cargado. Un servidor de red necesitar el manejador de la tarjeta de red siempre activo, entonces conviene compilarlo en el ncleo, pero el uso del mdem de dicho equipo es muy espordico, en este caso el manejador del mdem o los puertos serie podra ir como mdulos. Tambin hay que tener en cuenta algo importante: el ncleo necesita saber como manejar un disco rgido para poder iniciar todo el sistema (si el sistema est almacenado en un disco rgido, como normalmente ocurre), si se compila el soporte de discos rgidos (cualquiera sea el tipo) como mdulo, el ncleo necesitar poder manejar el disco rgido al iniciar el equipo para poder cargar el mdulo para poder manejar el disco rgido[37], y obviamente este tipo de casos causan problemas. Resumiendo, hay dos casos en los cuales una funcionalidad del ncleo no debera ser compilada como ncleo: La funcionalidad en cuestin es esencial para el correcto arranque del sistema. Dicha funcionalidad va a utilizarse en todo momento del funcionamiento del sistema. Para los dems casos es conveniente compilar como mdulo. El sistema se encargar de cargar el mdulo cuando se necesite, y cuando ya no se use, se descargar para liberar memoria.
Cuando se ejecuta el comando make menuconfig se presenta una serie de secciones donde se agrupan las diferentes capacidades del ncleo, esta lista que sigue proporciona una breve explicacin de los contenidos de cada una de estas secciones[38]: Code maturity level options Se presenta una nica opcin, al activarla, ser posible activar aquellas funcionalidades experimentales que tenga el ncleo, generalmente esto no es recomendable cuando se est compilando un ncleo para algn servidor de produccin, a menos que se tenga la certeza de que tal o cual opcin es estable y funciona bien (o sea imprescindible). Loadable module support Las opciones que se incluyen en esta seccin tienen que ver con el manejo de los mdulos del ncleo. En algunos casos no ser necesario o no se podr tener mdulos, entonces se pueden desactivar. En este mtodo de configuracin del ncleo, aquellas opciones del mismo que sea posible compilar como mdulo tendrn la casilla de seleccin a la izquierda de esta forma: < >, cuando se llega a alguna opcin con este tipo de casilla de seleccin, oprimiendo Y se la selecciona para compilarse dentro del ncleo, si se presiona M se la seleccionar para compilarse como un mdulo. Processor type and features Dentro de esta seccin encontraremos opciones de optimizacin del ncleo para el tipo de procesador que se posea. Con cada nueva serie de procesadores, caractersticas nuevas van siendo disponibles para ciertas funciones, lo que aprovecharlas es interesante para aumentar el desempeo general del sistema. El ncleo Linux soporta tambin equipos con mas de un procesador, en caso de estar compilando el ncleo para un equipo de este tipo, en esta seccin se debe activar la opcin Symmetric multi-processing support para sacar el mximo provecho. General setup Como su nombre lo indica, esta seccin contiene opciones de configuracin general del ncleo, entre ellas se encuentran opciones especificando la marca y el modelo del chipset de la placa madre del equipo, as como tambin si el ncleo utilizar el sistema de administracin de energa que provee el BIOS, el formato en el cual el ncleo ser compilado, si se soportarn dispositivos PCMCIA, etc. Memory Technology Devices (MTD) Esta seccin en nueva de los ncleos de la serie 2.4.x, posee una opcin para dar soporte a los dispositivos de discos en memoria, para poder manejar sistemas de archivos de estado slido en dispositivos embebidos. Normalmente esta opcin no se utilizar. Parallel port support Dentro de esta seccin se encuentra la opcin que activa el soporte para el puerto paralelo. Generalmente utilizaremos el puerto paralelo si en la mquina se tendr alguna impresora de puerto paralelo instalada, alguna unidad de disco Zip, o cualquier otra unidad de disco por puerto paralelo (grabadoras de CD-R, por ejemplo) o en el caso de utilizar un cable paralelo para conectarse con otra mquina. Se debe tener en cuenta que esta opcin se refiere solamente al soporte de base para todos aquellos dispositivos que utilicen el puerto paralelo, en otras secciones se debe despus confirmar el soporte individual para aquellos dispositivos especficos. Plug and Play configuration Hace unos aos se ha impuesto como estndar una norma para perifricos de tal modo que no tengan que ser configurados sus parmetros (IRQs, direcciones de E/S, etc.) manualmente, sino que el sistema lo pueda manejar lo mas convenientemente posible, de esta forma, el sistema operativo podra lidiar con los conflictos y solucionar los problemas que puedan surgir, liberando al usuario de estas tareas que a veces suelen ser complicadas de solucionar. Este estndar se conoce como Plug&Play (o abreviado, PnP), y aunque inicialmente los dispositivos PnP no funcionaban muy bien, hoy en da es mas comn ver este tipo de perifricos que los otros. El ncleo Linux tiene soporte para estos dispositivos mediante la opcin dentro de esta
seccin. Adems, se cuenta con un paquete de software llamado isapnptools que es muy til para configurar los antiguos dispositivos PnP ISA (normalmente, los mdems). Block devices En esta seccin se presentan opciones para dar soporte a varios tipos dispositivos de bloques, incluyendo unidades de discos flexibles, discos IDE por puerto paralelo, discos en memoria RAM, y otros mas. Multi-device support (RAID and LVM) Esta seccin contiene opciones de configuracin que muchas veces se utilizan en equipos servidores. RAID es una norma que sirve para generar arreglos de mltiples discos de manera de obtener redundancia de informacin y evitar problemas de corrupcin de datos en el caso de que algn disco del arreglo tenga una falla. RAID tiene varios modos de funcionamiento, generalmente en los servidores se utilizan placas controladoras de discos RAID (soporte de hardware) que funcionan en forma transparente y el sistema operativo no se da cuenta, sin embargo el ncleo Linux da la posibilidad de poder utiliza discos comunes como discos RAID (soporte por software) teniendo de esta manera un elemento mas de seguridad a bajo costo. LVM es otro mtodo de combinacin de discos, pero para la generacin de volmenes o grupos de volmenes de lgicos, cuyo tamao puede variar en tiempo de corrida del sistema, sin tener que reiniciar ni parar servicios. LVM no se utiliza para dar redundancia de datos, sino para combinar varios discos (de distintos tipos) y utilizarlos como si fuera un gran disco grande. Networking options En esta seccin se encuentran las opciones de soporte base de redes. Se podrn activar los soportes de varios protocolos, con sus opciones especficas, el mas comn en estos das es el protocolo TCP/IP, uno de los protocolos que se utiliza en Internet. Otra opcin bastante novedosa en los ncleos, es la opcin QoS (Quality of Service) la cual se utiliza para definir los algoritmos de planificacin de paquetes de red, pudiendo partir un enlace en varios sub-canales por decirlo de alguna manera, y de esta forma poder asignar cierto ancho de banda a diferentes clientes. Tener en cuenta que esta seccin no se trata acerca de soporte a perifricos de red, sino a protocolos, para tener soporte de una placa de red en especial, se debe activar en otra seccin. Telephony Support En esta seccin se da soporte a los dispositivos VoIP (Voice over IP), que se utilizan para hablar por telfono a travs de redes de datos, en vez de redes de telefona. Estos dispositivos cada vez se estn viendo con mas frecuencia, quien sabe, en unos aos quizs podremos hablar al otro lado del mundo sin tener que pagar altsimos costos. ATA/IDE/MFM/RLL support Aqu se da soporte a los discos IDE, sean discos rgidos, flexibles, CD-ROMs, etc. Tambin hay varias opciones para especificar la marca de controladora de disco que se posee, y otros detalles para mejorar la performance. El ncleo Linux puede manejar sin problemas los nuevos discos con UDMA. SCSI support Tambin existe soporte para los dispositivos SCSI, en esta seccin estn las opciones para definir los tipos de dispositivos SCSI que se dar soporte, mas otras opciones de control. Un ejemplo comn para esta seccin es el soporte para las unidades de discos Zip por puerto paralelo, En realidad estas unidades trabajan con la norma SCSI, y es por eso que parte de las opciones que se necesitan para poder hacer funcionar estos perifricos, se encuentran en esta seccin. IEEE 1394 (FireWire) support FireWire es una nueva clase de bus de datos, de alta velocidad que normalmente se utiliza para transmitir vdeo. Originariamente en las Macintosh, esta clase de conexiones se las utiliza para conectar una cmara de vdeo al equipo y capturar vdeo sin problemas de lentitud. Actualmente existen placas con puertos FireWire para PCs compatibles con IBM.
I2O device support La arquitectura I2O se ha pensado para dividir los manejadores de dispositivos I2O en dos partes: una dependiente del sistema operativo y otra no, de manera de que el fabricante del dispositivo en cuestin solamente deba hacer un solo manejador (la parte no dependiente del sistema operativo) y de esta forma poder utilizarlo en cualquier sistema operativo compatible con I2O. El autor[39] no conoce actualmente ningn dispositivo de esta clase, seguramente con el tiempo irn siendo mas comunes. Network device support Esta seccin engloba a todas las opciones de soporte de interfaces de red, desde ethernet de 10, 100 y 1000 Mbps, pasando por SLIP, PPP, PLIP, hasta interfaces WAN, Token Ring y otras. Normalmente se debern activar las opciones de soporte para placas ethernet e interfaces PPP (si es que se utilizar mdem). Amateur Radio support Los aficionados a las comunicaciones radiales no quedan de lado en lo que respecta a soporte en el ncleo. Linux tiene soporte para varios TNCs, o para simular un TNC usando una placa de sonido, de tal forma de poder conectarse con otros equipos mediante el protocolo AX.25. IrDA (infrared) support Esta seccin generalmente es para las notebooks, que poseen un puerto infrarrojo. IrDA es un protocolo de transferencia de datos va infrarrojo que se encuentra normalmente en PDAs (como las Palm) permitiendo as sincronizar los datos de la PDA en una notebook sin necesidad de conectarla con un cable serie o USB. ISDN subsystem ISDN (o RDSI, como se lo llama en Espaa) es un tipo especial de servicios digitales de telefona. Normalmente se lo utiliza para conectarse a Internet, teniendo una velocidad mucho mayor que conectando se con mdem. Actualmente se est dejando de lado ISDN en favor de ADSL, en Argentina por ejemplo, ISDN no se ha visto, por su alto costo. Old CD-ROM drivers (not SCSI, not IDE) En esta seccin se da soporte a aquellas unidades de CD-ROMs antiguas que no eran compatibles con las normas IDE ni SCSI. Generalmente eran unidades que haba que conectar a placas de sonido, actualmente no se ven esta clase de unidades de CD-ROM. Input core support Las opciones que esta seccin provee, permiten la configuracin de dispositivos de entrada del tipo USB, tales como teclados, mouses, etc. Multimedia devices Esta seccin contiene las opciones necesarias para dar soporte a dispositivos de captura de vdeo y tarjetas de radio. File systems Los sistemas de archivos son los formatos que se le dan a las particiones para poder almacenar archivos, administrar los atributos de cada archivo, etc. Esta seccin posee las opciones de soporte de sistemas de archivos tanto nativos de GNU/Linux como de otros sistemas operativos, como por ejemplo FAT32. Es importante tener en cuenta que el soporte para el sistema de archivo que se est utilizando en el sistema debe estar compilado dentro del ncleo y no como mdulo, normalmente este sistema es el Second extended filesystem (e2fs). En los ltimos ncleos se puede configurar el soporte para un nuevo sistema de archivos nativo de GNU/Linux: el Reiser filesystem (reiserfs), el cual es un sistema de archivos jornalizado, que provee ciertas caractersticas que lo hacen mas seguro que el e2fs. Adems se provee opciones para dar soporte a varios sistemas de archivos de red, que permiten utilizar discos remotos como si fueran locales al equipo, como por ejemplo NFS (generalmente se utiliza en los UN*X), SMB (plataformas Windows) y NCP (volmenes NetWare). Console drivers Aqu se encuentran las opciones para configurar el tipo de consola que se usar en el sistema.
Dependiendo de la tarjeta de vdeo que se posea, se puede configurar para que la consola tenga el tpico formato de 80x25 caracteres, o mas resolucin. Tambin se puede configurar el ncleo para soportar mas de una placa de vdeo, pudiendo tener dos monitores, uno como consola de texto y otro como consola grfica. Sound Esta seccin contiene las opciones de sonido, pudiendo configurar una gama de tarjetas de sonido bastante amplia. USB support Esta seccin provee soporte para distintos dispositivos USB, desde escneres, dispositivos de almacenamiento de datos, reproductores de MP3, mdems, impresoras hasta adaptadores de red. Kernel hacking Esta seccin contiene una opcin que se utiliza cuando se prueban ncleos en desarrollo, generalmente no se necesitar (ni tampoco ser muy seguro) activar esta opcin, a menos que se est colaborando con el desarrollo del ncleo. Una vez seleccionadas todas las opciones, se debe salir del sistema de configuracin del ncleo y salvar los cambios. Las opciones seleccionadas del ncleo se guardarn en el un archivo llamado .config dentro del rbol de fuentes del ncleo. Esto es interesante saberlo para poder copiarlo en algn sitio como respaldo y no perder las configuraciones del ncleo si necesitamos alguna vez borrar todos los archivos (por cuestin de espacio, por ejemplo). Una vez que se ha salido del sistema de configuracin del ncleo, antes de compilar se deben generar las dependencias con el siguiente comando: root@maquina:/usr/src/linux# make dep Luego se compila el ncleo: root@maquina:/usr/src/linux# make bzImage Esto puede tardar algunos minutos, dependiendo de la potencia del procesador y la cantidad de memoria RAM del equipo. La opcin bzImage (tener en cuenta las maysculas) le dice al compilador que genere el archivo del ncleo y lo comprima con bzip2. Antes se utilizaba la opcin zImage que generaba un ncleo comprimido con gzip, pero tena un lmite de tamao que actualmente se ha sobrepasado por la cantidad de opciones que posee el ncleo. bzip2 comprime mejor que gzip. Luego de generar el ncleo, se deben generar los mdulos, con el comando: root@maquina:/usr/src/linux# make modules Esta etapa quizs tome mas tiempo que la anterior, dependiendo de la cantidad de opciones que se hayan elegido como mdulos. Una vez finalizado, se deben instalar los mdulos de la siguiente manera: root@maquina:/usr/src/linux# make modules_install Y por ltimo, se debe copiar el archivo del ncleo a algn sitio donde estn alojados normalmente los ncleos, como por ejemplo el directorio /boot/. El archivo del ncleo, suponiendo que el conjunto de archivos fuente del ncleo se haya almacenado en el directorio / usr/src/linux/, se encuentra en /usr/src/linux/arch/i386/boot/bzImage. Como ltimo paso, se debe configurar el LILO para poder probar el nuevo ncleo, pero esto se
ve en Section , LILO. A modo de informacin, es conveniente comentar el uso de una utilidad bastante prctica. El comando dmesg imprime en pantalla los diferentes mensajes de inicio que el ncleo muestra cuando se arranca el sistema. Esto puede ser muy til cuando se necesita chequear mensajes de error que no se han podido leer bien en el arranque.
[37] La recursin es algo muy interesante, pero en estos casos no aporta nada til. [38] Se toma la versin 2.4.2 del ncleo para las explicaciones, pero se supone que durante toda la serie 2.4.x estas secciones y sus contenidos no cambiarn demasiado [39] En realidad, uno de los autores (Lucas Di Pentima)
timeout Tiempo en dcimas de segundos a esperar, si no se elije ninguna de las opciones. message=/boot/message Se muestra un mensaje que es el archivo /boot/message que puede contener algo como: Bienvenido a LILO, el selector de SO de arranque! Elija un sistema operativo de la lista. O espere 5 segundos para que arranque el sistema predeterminado. Luego vienen las configuraciones de los ncleos en si. En el ejemplo existen 2 ncleos, uno de linux y el otro es un Windows. Las dos configuraciones son distintas pero tienen una linea en comn. Esta es label. label es el identificador de ncleo para LILO, es de suponer que tiene que ser nico. Puedo tener varios ncleos de linux pero no con label=linux en mas de uno de ellos. Simplemente habr que asignarlos de distinta manera como por ejemplo label=linux-2.2.19 y label=linux-2.4.3. Si por un momento repasamos este concepto, nos vamos a dar cuenta que default=linux hace referencia al ncleo que posee label=linux. Cuando cambiemos de configuracin a label=linuxnuevo recordemos cambiar default tambin. Para correr un sistema no slo necesitamos el ncleo, sino tambin archivos, que componen el rbol de directorios que surge de la raz o root. Por eso, root=/dev/hda6 especifica que se va a usar la sexta particin del disco como directorio raz o simplemente raz, es decir que, todo lo que est en esa particin va a pasar a ser el directorio / donde estarn / bin/, /etc/, /home/, /usr/, /lib/, etc. En este concepto independizamos el ncleo de los archivos que maneja. Una vez que est el ncleo corriendo, los archivos se pueden obtener de diferentes lugares. Por ejemplo particiones, otros discos, discos flexibles, hasta un dispositivo que se encuentra a travs de una red[41]. Casi cualquier archivo/dispositivo puede ser root siempre que este formateado correctamente. Por ultimo la linea: append=" hdc=ide-scsi ide1=autotune ide0=autotune" pasa parmetros al ncleo para ajustar configuraciones, las cuales dependern de cada sistema.
[40] /dev/hda el disco maestro de la controladora IDE primaria [41] Un hipottico /dev/red o comnmente denominado /dev/nfsroot
recordar que es un archivo ms, incluso se puede utilizar otro archivo. Para grabar hay que ejecutar: root@maquina:/root# lilo Adding linux * Adding windows root@maquina:/root# Y listo. Si es que no surgi ningn problema. El asterisco (*) indica que ncleo se cargar por defecto (default). En nuestro caso es la entrada que contiene label=linux. La tecla TAB muestra todas las posibilidades de nucleos a cargar. Obviamente muestra el contenido de label.
[42] Utilizamos la palabra \emph{dispositivo} en vez de \emph{disco} porque puede ser que estemos configurando otra alternativa de arranque.
En esta seccin veremos cmo dar soporte a nuevos dispositivos, cmo y donde buscar las actualizaciones de los ncleos nuevos, el manejo de los mdulos del ncleo y la configuracin del arrancador LILO.
[43] En ingls se lo llama kernel [44] A los programas en ejecucin se los llama procesos, y as es como los llamaremos de aqu en adelante [45] En la jerga de los sistemas operativos esto se llama timeslice. [46] No es totalmente cierto, como veremos mas adelante
109. LILO
Al hablar del ncleo es inevitable hablar del cargador de Linux o bien conocido como LILO[47] que es el encargado de cargar en memoria el ncleo y largarlo a correr. El ncleo es un archivo mas. Normalmente se encuentra en el disco rgido[48]. Similar a un archivo ejecutable, algn proceso debe ser el encargado de cargarlo y luego ejecutarlo. Como todava no se encuentra nada en memoria, la BIOS ejecuta cdigo de un lugar especial en el disco, llamado boot sector, que contendr a LILO. Una de las grandes funciones de LILO es la seleccin de ncleo a usar. Normalmente al compilar diferentes ncleos hay que elegir, por ejemplo, entre alguno que tenga soporte para clusters[49] o para emular SCSI con un dispositivo IDE[50]. Tambin se pueden tener ncleos de otros sistemas operativos (en el caso de algn problema serio neurolgico) como OS/2, toda la gama de Windows, otros UNIX, etc. El ncleo de Linux acepta parmetros para personalizarlo o en el caso de que no pueda auto detectar ciertos dispositivos o recursos. Estos parmetros deben darse antes de que se cargue el ncleo en si. Un ejemplo sera: LILO: linux mem=256M En este caso se saltea la auto deteccin de cantidad de memoria realizada por Linux y se presume que existen 256 MB de memoria. Una lista ms detallada de estos parmetros se encuentra en /usr/src/linux/Documentation/. En este directorio est toda la documentacin de los desarrolladores de ncleo, separada por mdulo.
[47] LInux LOader: Cargador de Linux [48] Es probable que en otros cursos veamos como arrancar una mquina sin disco rgido a travs de la red [49] Cluster es una forma de utilizar varias computadoras para que todas calculen al mismo tiempo como si fuera una sola [50] Es muy comn cuando se desea utilizar una grabadora de CD-R
Siendo mdulo el nombre del mdulo y parametros los parmetros de ese mdulo, que configuran al dispositivo que controla. La documentacin de los parmetros se encuentran en / usr/src/linux/Documentation/. El gran inconveniente de insmod es que no controla las dependencias necesarias, slo intenta cargar el mdulo, si la operacin no tiene xito, finaliza su ejecucin. Debido a que es casi imposible tener en mente todo el rbol de dependencias, existe una utilidad que realiza comprobaciones. Esta utilidad es modprobe. modprobe utiliza insmod en el orden correcto y su sintaxis es: modprobe modulo [parametros]
Siempre que terminamos de configurar la opciones del ncleo hay que ejecutar make dep. Ejecutando make modules se compilarn todos los mdulos que sean necesarios. Esto puede tardar desde unos pocos segundos hasta una hora, dependiendo del hardware, la configuracin (cuantos mdulos se eligieron) y la versin del ncleo. Lo nico que falta es copiar los mdulos recin compilados al lugar indicado (el directorio / lib/modules/(versin del Ncleo)/). Esto se puede hacer manualmente con cp o tipear make modules\_install.
dispositivos. Un ncleo monoltico es ms eficiente que uno modularizado, en parte porque toda referencia se conoce en tiempo de compilacin y por otro lado el sistema entero est en memoria siempre. Como desventaja tiene su gran tamao, poca flexibilidad de incorporar nuevos controladores y no acepta cambios en el cdigo existente. Los mdulos como contrapartida, se pueden cargar y descargar de memoria en cualquier momento. Dando la libertad de poder utilizar slo lo necesario. Y si estamos programando un controlador para cualquier perifrico, compilamos el controlador, lo cargamos a memoria, lo probamos y luego se puede sacar de memoria, recompilar y seguir probando. Todo esto sin rearrancar el sistema, ni cerrar los programas que estamos usando.
El tamao en memoria del mdulo es de 2800 bytes. Y el mdulo via82cxxx_audio lo est usando. Esto quiere decir que para sacar de memoria a soundcore primero hay que sacar a via82cxxx_audio. Y viceversa, si necesitamos agregar via82cxxx_audio primero tendremos que agregar soundcore. Podemos darnos cuenta de que existe un rbol de dependencias entre mdulos. Y en algn
lugar debe estar. Bueno as es, es el archivo /lib/modules/(versin de ncleo)/modules.dep y es generado en la compilacin.
[52] Aqu se muestra como generarlos, pero, la mayora de las distribuciones ya vienen casi todos los mdulos compilados
exclusivo del ncleo Linux. Como ejemplo tenemos el caso de las impresoras, en el ncleo no se necesita definir explcitamente que clase de impresora se tiene conectada al equipo, solamente se necesita activar el soporte para el puerto paralelo (siempre y cuando se utilice una impresora de puerto paralelo obviamente), y el resto del trabajo lo har un programa a travs del ncleo; en el caso del ejemplo, el programa que se encarga de enviar datos a la impresora se llama lpr.
[53] Buscadores de paquetes RPM. [54] Recordemos que Linux es un sistema operativo multiplataforma.
119. Eliminacin
Muchas veces los discos rgidos no son suficientes para cubrir todas las necesidades. A falta de espacio en disco, se debe eliminar los paquetes menos usados o los ms grandes. La eliminacin es tan fcil como la Instalacin. Instalamos el paquete "xmms", ahora vamos a proceder a eliminarlo. Esta vez no hace falta poner el CD-ROM de GNU/Linux. 1. Se carga el "kpackage" mediante una terminal o consola escribiendo kpackage (siendo root) o yendo al men K->Utilidades->kpackage. (fig. Figure 1) 2. Seleccionar el paquete a desinstalar, como por ejemplo RPM-Application-Multimediaxmms. (fig. Figura 34. Seleccin del paquete a eliminar) 3. Figura 34. Seleccin del paquete a eliminar
4.
5. Hay que presionar Desinstalar en la pantalla principal. Saldr un cuadro de dilogo similar al de la figura Figura 35. Desinstalar un paquete 6. Figura 35. Desinstalar un paquete
7.
8. luego Desinstalar. Es un procedimiento muy muy simple... hay que tener cuidado con varios paquetes: RPM-Applications-kpackage RPM-System Environment-Base-rpm Son los programas usados para instalar/desinstalar programas. No hay problemas en desinstalar ninguno de ellos pero al querer volverlos a instalar... no existe el instalador de paquetes. (Jurara que estaba ah hace segundos) Una categora muy peligrosa es RPM-System Environment y todas sus ramas. A pesar de que estamos trabajando en memoria, si se corta la energa luego de eliminar esos paquetes,
es muy probable que no se pueda arrancar ms el sistema. Y existen muchas cosas mas entretenidas para hacer con GNU/Linux que reinstalar todo de cero.
120. Instalacin
Uno de los propsitos que tiene el sistema de paquetes RPM es la instalacin de paquetes nuevos. Se puede encontrar todo el conjunto de paquetes a instalar en el CD-ROM de GNU/ Linux. Tambin se consiguen infinidad de paquetes en Internet listos para bajar. Existen utilidades y sitios dedicados a encontrar paquetes de un determinado tipo. Por ejemplo si queremos utilizar el reproductor de mp3 llamado "xmms" y no se encuentra instalado: 1. Insertamos el CD-ROM de GNU/Linux 2. Si no se monta automticamente, debemos ir a una terminal y montarlo escribiendo mount /mnt/cdrom 3. Ejecutamos el comando kpackage, desde una Terminal o accediendo a travs de K>Utilidades->kpackage 4. Va a preguntar la clave del root, debido a que los paquetes se hacen disponibles a todos los usuario no tan slo a uno. 5. Una vez en el programa kpackage debemos ver una pantalla similar a la figura Figura 36. Pantalla inicial del kpackage 6. Figura 36. Pantalla inicial del kpackage
7.
8. Buscamos el paquete "xmms", para eso vamos a Archivo->Buscar Paquete . (fig. Figura 37. Funcin de bsqueda de paquetes). 9. Figura 37. Funcin de bsqueda de paquetes
10.
11. Si est instalado va a aparecer con un icono de paquete que tiene una "R" (de RPM). En este caso, elija otro paquete que no est intalado en la categora NEW. 12. En cambio si no est instalado, el icono es una "N" (de Nuevo) y se puede ver informacin sobre el paquete. (fig. Figura 38. Vista de paquetes no instalados). 13. Figura 38. Vista de paquetes no instalados
14.
15. El botn Examinar contiene detalles acerca de la instalacin. (fig. Figura 39. Detalles sobre la instalacin de paquetes). 16. Figura 39. Detalles sobre la instalacin de paquetes
17.
18. Para instalar el paquete slo hay que presionar el botn Instalar. En el caso de que no haya problemas ya se podra ejecutar el comando xmms desde una terminal o consola como muestra la figura Figura 40. Carga del xmms desde una consola. Figura 40. Carga del xmms desde una consola
Para aquellos usuarios de la KDE 2.0 el proceso de instalacin es casi igual pero existen
algunos matices que se deben tener en cuenta. Para ejecutar kpackage podemos ejecutar kpackage desde un terminal en el que previamente hayamos ejecutado su porque de otra manera nos dejar ver los paquetes instalados pero no permitir la instalacin de nuevos paquetes. El entorno que nos presenta kpackage en la versin de KDE 2.0 es parecido al de la KDE 1.1.x con lo que se puede aplicar todo lo visto hasta ahora sin ninguna complicacin.
122. Verificacin
Muchas veces el uso incorrecto del sistema borra o modifica archivos que pertenecen a paquetes y que son necesarios para su funcionamiento. Pasado un tiempo, al intentar ejecutar programas, stos no funcionan correctamente. Una alternativa antes de instalar de nuevo el paquete defectuoso es la verificacin del mismo para que no se reinstale equivocadamente. Cmo verificar un paquete: Seleccionamos el paquete (ej. RPM-Applicaciones-Multimedia-xmms) Ir a la lengeta Lista de Archivos (fig. Figura 41. Listado de archivos correspondientes a un paquete) Figura 41. Listado de archivos correspondientes a un paquete
Se indicar con una cruz roja cualquier archivo que no se encuentre, en cambio, se marcarn los archivos existentes con un tilde verde.
Adems de la diferencia visual de las bibliotecas grficas, estas tambin difieren en lo que respecta a los lenguajes de programacin soportados. Tomando como ejemplo las dos bibliotecas grficas mas populares en estos das, Qt (y las kde-libs) principalmente usan C++ para el desarrollo de aplicaciones, en cambio las bibliotecas grficas del proyecto GNOME (GDK y GTK+) tiene como lenguaje de programacin principal el C. Sin embargo, esto no es una limitacin hoy en da, ya que estas bibliotecas tambin soportan lenguajes alternativos como el Perl, Python, Tcl/Tk, etc. de tal manera de poder dar cabida a ms programadores para cada entorno grfico.
En la figura Figura 44. Modelo de capas con el entorno KDE vemos que como capa inferior, se tiene al hardware, el cual interacta con su capa inmediata superior, que en este caso es el servidor X, es decir que X se encarga de lidiar con las particularidades de cada tarjeta de vdeo, manejar las funciones de red, y el dibujado bsico en pantalla [55] Estas funciones de dibujado, X se las provee a su capa superior la cual depender del entorno grfico que se est manejando. En el caso de KDE por ejemplo, la capa superior a X es la biblioteca llamada Qt, sta provee las funciones de armado de ventanas, movimiento de las mismas, y dibujado de botones, flechas, punteros, etc. las cuales son aprovechadas por la capa correspondiente a las kde-libs es decir, a las bibliotecas de KDE dedicadas a dar una coleccin de funciones de construccin de cajas de dilogos estndar, menes, etc. a las aplicaciones KDE y al entorno KDE propiamente dicho. En el caso del entorno grfico GNOME [56] el esquema de capas es muy similar al anterior, como se ve en la figura Figura 45. Modelo de capas con el entorno GNOME Figura 45. Modelo de capas con el entorno GNOME
Lo nico que cambia son las capas por encima del servidor X, y es por eso que es posible tener en un mismo equipo varios entornos grficos y usar el que mas se ajuste a las necesidades del usuario, a diferencia de otros sistemas operativos que slo poseen una opcin. Lo interesante del modelo de capas, es que stas son intercambiables: si por ejemplo se cambia la tarjeta de vdeo (la capa mas inferior), no es necesario tener que cambiar el resto del conjunto de programas, slo basta con que la capa superior (el servidor X en este caso)
pueda comunicarse con la nueva capa de hardware para que todo funcione correctamente. Otra ventaja es que si el desarrollo de las diferentes capas se realiza por diferentes grupos de personas, cuando se actualiza una de las capas el conjunto en su totalidad se actualiza automticamente, si por ejemplo el equipo GNOME lanza su nueva versin de la biblioteca GTK+, solamente har falta instalar esta nueva versin y el resto de los programas que conforman las otras capas no deberan tocarse, quedando todo funcionando correctamente [57]
[55] Cuando se habla de dibujado bsico, se est hablando de pintado de puntos en pantalla. [56] Se dan estos dos ejemplos ya que son los entornos grficos mas populares en estos das. [57] Esto es lo que normalmente ocurre, pero a veces puede tomar un poco ms de trabajo dependiendo del nivel de actualizacin.
porque da problemas con el lector de noticias del Netscape. maxcrosspost nmero mximo al que se ha enviado una noticia, si excede el nmero, la noticia no ser almacenada. maxage con esta opcin indicamos la antigedad mximo de las noticias a bajar. maxlines nmero mximo de lneas que puede contener la noticia. maxbytes tamao mximo de las noticias, para evitar la descarga de binarios. timeout_short indica el nmero de das que Leafnode mantendr un grupo de noticias antes de darlo de baja cuando no tiene a nadie suscrito al mismo. timeout_long es el nmero de das que Leafnode seguir bajando noticias a un grupo que nadie est leyendo, luego lo dar de baja. timeout_active con esta opcin indicamos a Leafnode un intervalo en das para que actualize la lista de grupos desde los servidores. create_all_links para aquellos que usen lectores de noticias que permitan puntuar/matar, valor 1 para activar, 0 para desactivar. hostname nombre del servidor de noticias que saldr en la noticia en el caso de que Leafnode no lo resuelva de forma satisfactoria. Este es el fichero de configuracin que viene con Leafnode, he optado por dejar los comentarios en ingls y poner, opcionalmente, algunos comentarios en espaol al final de cada seccin. ## This is the NNTP server leafnode fetches its news from. ## You need read and post access to it. Mandatory. server = news.servidor_principal.com #Puede que necesite poner usuario y clave para lo que usaremos: #username = usuario #password = clave #****************************************************************** ## Unread discussion threads will be deleted after this many days if ## you don't define special expire times. Mandatory. expire = 5 #Este es el tiempo de caducidad por defecto de todos los grupos. #****************************************************************** # Todo lo que viene despus son parmetros opcionales. ## ## All the following parameters are optional ##
## I have free access to my news server. If you don't have, comment out ## the following two lines and change them accordingly. ## username = name ## password = pass ## Standard news servers run on port 119. If your newsserver doesn't, comment ## out the following line and change it accordingly. # port = 8000 #El puerto en el que escucha leafnode es el 119, con port se puede cambiar. #*************************************************************************** ## This is another news server which stores some groups that are not ## available on the first one. You can define username, password and port ## for each server separately. server = news.un_servidor.com username = usuario password = clave server = news.otro_servidor.com.es username = usuario password = clave #Esta parte es si se necesita tener servidores adicionales por si el principal #falla o para complementar las noticias. #***************************************************************************** ## This is a news server which does not understand the ## "LIST NEWSGROUP news.group" command. For this reason, we don't try to ## download newsgroups descriptions when getting new newsgroups. This is ## achieved by putting "nodesc = 1" somewhere behind the server ## line. # server = broken.upstream.server # nodesc = 1 ## Here we have another news server which has a very slow connection. For ## that reason, we wait a full minute before we give up trying to connect. ## The default is 10 seconds. # server = really.slow.snail # timeout = 60 ## Non-standard expire times (glob(7) wildcard constructs possible) # groupexpire comp.os.linux.* = 5 # groups too big to hold articles 20 days # groupexpire any.local.newsgroup = 100 # very interesting, hold articles longer #groupexpire es.comp.os.linux.* = 20 ## Never fetch more than this many articles from one group in one run. ## Be careful with this; setting it much below 1000 is probably a bad ## idea. maxfetch = 100
## Fetch only a few articles when we subscribe a new newsgroup. The ## default is to fetch all articles. initialfetch = 30 ## If you want to use leafnode like an offline newsreader (e.g. Forte ## Agent) you can download headers and bodies separately if you set ## delaybody to 1. In this case, fetch will only download the headers ## and only when you select an article, it will download the body. ## This can save a huge amount of bandwith if only few articles are really ## read from groups with lots of postings. ## This feature works not very well with Netscape, though (which is not ## a fault of Leafnode). delaybody = 0 ## To avoid spam, you can select the maximum number of crosspostings ## that are allowed in incoming postings. Setting this below 5 is ## probably a bad idea. The default is unlimited crossposting. maxcrosspost = 2 ## If you suffer from repeatedly receiving old postings (this happens ## sometimes when an upstream server goes into hiccup mode) you can ## refuse to receive them with the parameter "maxage" which tells the ## maximum allowed age of an article in days. The default maxage is 10 ## days. maxage = 10 ## maxlines will make fetch reject postings that are longer than a certain ## amount of lines. # maxlines = 100 ## minlines will make fetch reject postings that are shorter than a certain ## amount of lines. # minlines = 2 ## maxbytes will make fetch reject postings that are larger maxbytes = 1048576 #maxbytes = 5120 ## timeout_short determines how many days fetch gets a newsgroup which ## has been accidentally opened. The default is two days. # timeout_short = 1 ## timeout_long determines how many days fetch will wait before not getting ## an unread newsgroup any more. The default is seven days. # timeout_long = 6 ## timeout_active determines how many days fetch will wait before re-reading ## the whole active file. The default is 90 days. # timeout_active = 365
## If you want to have your newsreader score/kill on Xref: lines, you might ## want to uncomment this. # create_all_links = 1 ## If you want to filter out certain regular expressions in the header, ## create a "filterfile" (how this is done is explained in the README) ## and set filterfile = /etc/leafnode/filters ## If your newsreader does not supply a Message-ID for your postings ## Leafnode will supply one, using the hostname of the machine it is ## running on. If this hostname is not suitable, this parameter can be ## used to override it. Do not use a fantasy name, it may interfere with ## the propagation of your messages. Most modern newsreaders do provide ## a Message-ID. # hostname = host.domain.country Leafnode consta de una serie de programas que tienen como objetivo el control del servidor: fetchnews con este comando se prepara a Leafnode para albergar los grupos de noticias y para bajar las noticias cada vez que queramos. Presenta una serie de modificadores que nos ayudan a controlar su funcionamiento. Los modificadores ms destacados son v, f, x, l, n y P. Con el modificador v hacemos que pase a modo de depuracin, de esta manera ir mostrando en pantalla los mensajes que va generando, con lo que podemos ver el estado actual o los mensajes de error si los hubiera. La profundidad de depuracin viene marcada por la cantidad de v que se pongan. El modificador f se utiliza para volver a leer las listas de grupos desde los servidores, puede tardar tiempo y se utiliza cuando Leanode comienza a dar problemas al servir las noticias. El modificador x # nos permite bajar # noticias extras desde el exterior. El modificador l se usa para que Leafnode no utilice los servidores suplementarios. Con el modificador n se puede comunicar a Leafnode que no elimine los grupos que no se leen, esto es, cuando nos inscribimos en un grupo que nos interesa pero que no leemos desde hace tiempo. El modificador P se utiliza para mandar las noticias que hayamos recibido localmente a los servidores externos pero no bajar ninguna noticia nueva. texpire este es el programa que retira del servidor todas aquellas noticias que superen el tiempo dado en la directiva expire o groupexpire. Sus modificadores son dos, v y f. El modificador v es el mismo que en el comando anterior. El modificador f se utiliza para forzar la caducidad de las noticias independientemente del tiempo de acceso. applyfilter con este programa se busca dentro de las noticias almacenadas en el directorio news todas aquellas que coincidan con los patrones dados dentro del fichero filters para ser retiradas. Su sintaxis es applyfilter grupo de noticias, ha de notarse que se debe dar el nombre completo del grupo, por ejemplo, para el grupo misc de la jerarqua ecol ha de ponerse applyfilter es.comp.os.linux.misc. checkgroups se utiliza para actualizar las descripciones de los grupos. newsq con este vemos las noticias que hay en la cola listas para ser enviadas al servidor en la prxima conexin.
Aqu es dnde apunta la directiva filterfile del archivo de configuracin. En este archivo se colocan todas aquellas reglas destinadas al filtrado de mensajes que no queramos recibir. Dentro de Usenet hay una prctica que se va extendiendo y que es perjudicial, el denominado Spam, con el filtrado de las direcciones desde las que se remiten los mensajes no solicitados se consigue que los mensajes que leamos se ajusten a la materia del grupo de noticias al que estemos apuntados. Otra manera de controlar estos mensajes es con la directiva maxcrosspost del archivo de configuracin que evita leer mensajes que vayan a ms de una determinada cantidad de grupos a la vez, el denominado crossposting, y que es muy utilizado por los spammers. Las expresiones para el fichero de filtros siguen la misma estructura que las expresiones regulares de Perl. Con la siguiente lnea filtramos cualquier noticia que tenga como remitente de correo \comando{todosexo@sex.com}: ^(i?:from):.*[< ]todosexo@sexo.com(>|$| ) Ejemplo de filtro para el apartado Asunto (Subject en ingls): ^Subject.*\[Cursos-linux\]*. Con esta regla filtramos todas las noticias que tengan en el asunto [Cursos-linux]. De esta forma podremos evitar bajar noticias que contengan unas determinadas palabras o unos remitentes molestos. En http://www.escomposlinux.org/spam/ se pueden encontrar consejos para filtrar el spam y filtros constantemente actualizados que filtran los spammers dentro de la jerarqua es.comp.os.linux.*.
Su instalacin es sencilla: Paquetes RPM desde la lnea de comandos ejecutaremos la orden rpm -i leafnode-1.9.17-1.rpm, teniendo en cuenta que la versin puede ser distinta, en este caso, 1.9.17-1. Paquetes Deb desde la lnea de comandos ejecutamos apt-get install leafnode y con esto nos aseguramos que se instalan todas las dependencias necesarias. Cdigo fuente procederemos a desempaquetar el archivo con las fuentes con la orden tar xvzf archivo y buscaremos el fichero README para ver la informacin de compilacin. Una vez realizada la instalacin, habr que verificar la existencia del usuario news. Dentro del fichero /etc/inetd.conf debe existir: nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnode
Estas comprobaciones no son necesarias porque el sistema de instalacin las trae automatizadas, pero servirn para descartar problemas si el servicio no funciona correctamente. Si estamos utilizando xinet en lugar de inet, deberemos crear un fichero llamado leafnode dentro del directorio /etc/xinetd.d/, con el siguiente contenido: service nntp { disable = no socket_type = stream wait = no user = root server = /usr/sbin/leafnode log_on_success += USERID log_on_failure += USERID } El siguiente paso lgico es editar el fichero de configuracin con el objeto de adpatar el servicio a nustras necesidades e indicarle a Leafnode una informacin vital para su correcto funcionamiento. El ltimo paso sera automatizar los comandos para bajar los grupos y las noticias. Para esto se puede poner el fetchnews dentro del script ip-up para bajarlos cuando hagamos la conexin a Internet o bien aadiendo una lnea dentro del cron. Aunque siempre nos queda el mtodo manual, esto es, ejecutarlo desde la lnea de comandos. Reiniciamos el demonio inetd o xinetd: kill -HUP `cat /var/run/inetd.pid` kill -HUP `cat /var/run/xinetd.pid` o bien: /etc/init.d/xinetd reload En el fichero /etc/hosts.deny pondremos: leafnode: ALL EXCEPT LOCAL Ejecutamos fetchnews despus de haber hecho los cambios en el fichero de configuracin, con lo que se bajarn la lista de grupos disponibles. Luego nos conectaremos desde nuestro cliente favorito, teniendo en cuenta que el servidor ser local y no se necesitar usuario ni contrasea. Ejecutamos fetchnews por segunda vez y comenzarn a bajar las noticias de los grupos suscritos hasta un mximo que ha sido definido en el fichero de configuracin.
Una vez que termina cada programa, puede brindar al entorno un Cdigo de salida para que otros programas o el intrprete sepan como concluy la aplicacin. Tomemos un ejemplo de la vida de un administrador. Es comn que la administracin sea remota, por lo que vamos a considerar que en nuestra tarea no tenemos conocimiento de lo que est pasando en una mquina alejada en la que se est ejecutando arreglar-base-dedatos. El script arreglar-base-de-datos es un script que corrige posibles errores en una hipottica gran base de datos. Y el resultado de esa correccin interesa, especialmente, si no se pudo arreglar. Vamos a suponer que hay 2 posibles alternativas: Salida exitosa La base de datos no tuvo ningn error. En este caso slo hay que agregar al archivo /var/log/ BD.registro una lnea con la fecha de comprobacin y el responsable en ese momento. Se detectaron errores pero no se repararon Esta situacin es peor. Hay que escribir informacin detallada en /var/log/BD.registro y adems enviar correo-e [58] a una lista de encargados y directivos de la empresa. Para diferenciar cada caso se asigna un cdigo de salida a cada uno. Luego de ejecutar arreglar-base-de-datos se verifica en base al cdigo, los comandos a ejecutar. El algoritmo sera algo similar a: if arreglar-base-de-datos then date >> /var/log/BD.registro echo $RESPONSABLE_BD >> /var/log/BD.registro else informar-errores.sh >> /var/log/BD.registro enviar-mail "Errores en BD" lista-encargados lista-directivos fi Y dnde estn los cdigos de salida? Bueno, el comando interno [59] if analiza el cdigo de salida, y si es 0 (cero) ejecuta la lista de comandos despus del then, en caso contrario (y si existe) la lista de comandos despus del else hasta encontrar un fi. Por lo tanto el script arreglar-base-de-datos tiene que devolver 0 en caso de xito. ste es el comportamiento normal de la mayora de los comandos en Linux y otros Unix, y un valor para varios errores. Las pginas man suelen tener una seccin llamada Exit Status que contiene los cdigos que devuelve el programa.
[58] Por ridculo que parezca es la forma correcta de mencionar a los emails [59] Built-in command en ingls.
comandos bash
La configuracin de un intrprete de comandos consiste mayormente en establecer las variables de entorno, los aliases de comandos y el formato del prompt que se necesiten. Dependiendo del tipo de uso que se le dar al intrprete de comandos, habr diferentes necesidades de configuracin de estos valores. Existen dos modalidades de uso del intrprete de comandos bash: interactiva es la comn no interactiva es propicia para scripts Por esto, el intrprete de comandos tiene unos cuantos archivos que se ejecutan al inicio. Los archivos pueden categorizarse en: no-login cada vez que se ejecuta el bash (incluso desde el interprete de comandos), se leen estos archivos. Es el caso ms comn, cada vez que se abre una konsole, xterm, gnome-terminal o equivalente, se ejecutan. login slo cuando el usuario comienza la sesin se ejecuta. En tiempos de terminales y consolas era fcil identificar cuando el usuario se logueaba. Hoy en da es muy popular el login grfico, el cual no carga inmediatamente un bash como antes.
programa para todo, pero este nico programa tiene dificultades para el mantenimiento y modificacin. Se vuelve monstruoso y complicado. En reemplazo se prefiere la navaja de la Armada Suiza para tareas cotidianas, o sea, un conjunto de programas pequeos de gran simplicidad que en conjunto se potencian. Para que los programas trabajen en conjunto se utiliza el concepto de flujo como una corriente de bytes. Al igual que con las tuberas reales (digamos caos, los grifos o canillas, duchas, etc.) de una casa, se conectan unos a otros donde cada uno tiene una entrada, una funcin y una salida. El concepto de tuberas lo veremos en la seccin Tuberas (pipes) por ahora vamos a distinguir los otros tres aspectos con un ejemplo. El comando sort puede ordenar por orden alfabtico. sta sera la funcin del programa. Pero qu ordena? bueno aqu es donde interviene la entrada. Que sin utilizar la magia de las tuberas, ser el teclado la entrada. Haremos una prueba: $ sort El comando sort puede ordenar por orden alfabtico
... luego presionamos Ctrl-D que significa "fin de archivo" en la mayora de los casos, apareciendo en pantalla: alfabtico comando El orden ordenar por puede sort Con este ejemplo nos damos cuenta que la salida es la pantalla. A estas alturas uno podra preguntarse "Pero no es la nica entrada que posee mi programa"; es verdad que un programa puede tener muchas entradas y muchas salidas. Por ejemplo cuando lee un archivo, ste es una entrada ms. Pero los conceptos que venimos estudiando son entradas y salidas especiales, llamadas entrada estndar y salida estndar. Tambin existe un tipo de salida adicional que es el error estndar. Por este flujo se canalizan
todos los mensajes de error o avisos del programa. Facilitando varias tareas. Una muy comn es reunir todos los errores en un archivo separado en caso de problemas, para su posterior anlisis. En nuestro ejemplo si sort intentaba abrir un archivo y no exista, es preferible que escriba: Fichero o directorio no existe Antes de que lo canalice como salida estndar y diga directorio existe Fichero no o Teniendo claro los conceptos vamos a ver cmo utilizamos las tuberas para unir los programas entre s.
133. Prctica
1. Hacer un script que compile un programa [60] y SLO en el caso de que la compilacin sea exitosa, realice el enlazado (o linkado) del mismo [61] . 2. Suponiendo que el comando cant-mb-libres retorna la cantidad de MB libres en el disco, hacer un script que compruebe la capacidad disponible, y si es mayor a 640MB, copia el directorio /usr/local al directorio /backup. En caso contrario mandar un correo a <administrador@lejos.ch>, tambin utilizando un hipottico comando: enviar-mail. 3. En base al listado del directorio /backup, enviar a la impresora (o agregar al archivo / dev/lp0 que es equivalente) los primeros 30 elementos. Si exista mayor cantidad de archivos escribir una lnea final que diga "y ms...". Este ejercicio realizarlo con while o for en lugar de tuberas.
[60] Se puede realizar con gcc -c main.c [61] Aqu podemos realizar gcc main.o -o main
134. Redireccin
Si bien nuestro ejemplo es ilustrativo, es bueno ver los resultados en pantalla. En repetidas ocasiones en la vida de un sistema es mejor tener todo en archivos, ya sea para guardar algn historial o para automatizar ciertas funciones dentro de scripts. Para almacenar o sacar informacin de archivos y vincularlas con entradas o salidas estndares se utilizan Redirecciones. La redireccin se expresa con los smbolos Mayor (>) y Menor (<). Se pueden utilizar en forma simple o doble. Ejemplo 30. Uso de la redireccin Utilizando el comando cat se puede hacer una copia de arch1.txt a arch2.txt utilizando redireccin. $ cat arch1.txt > arch2.txt Se puede redireccionar una archivo para visualizarlo con less $ less < arch1.txt
135. Escritura
Para escribir un archivo se utiliza (>). Hay que tener mucho cuidado de no borrar un archivo sobreescribindolo. Cuando se utilizan redirecciones, debido a su utilidad en los scripts, no se realizan confirmaciones. Si el archivo a escribir existe y posee informacin valiosa, aplicar >archivo-importante lo sobreescribe con el contenido del flujo. En cambio el operador (>>) realiza un agregado [62] de los datos en el flujo. No hay nada mejor que un ejemplo clarificador: $ escribe-en-salida-estandar > archivo.txt El (falso) comando escribe-en-salida-estndar justamente hace eso, escribe unas cuantas
cosas en salida estndar. Puede ser un ls, un cal o cualquier comando antes visto, as como tambin una combinacin de comandos por tuberas. En este punto, el contenido de archivo.txt es lo mismo que saldra en pantalla. Si ejecutamos otro comando redireccionado a archivo.txt, ste pierde su contenido y el resultado de la operacin pasa a estar en el archivo. Cuando se necesita tener una lista de acontecimientos, no se quiere que un acontecimiento nuevo borre a todos los anteriores. Para lograr esto agregamos en vez de sobreescribir. $ echo Este es el acontecimiento Nro. 1 > bitacora.log $ echo Este es el segundo acontecimiento >> bitacora.log Va a escribir dos lneas en el archivo bitacora.log sin eliminar nada. Ejemplo Si queremos combinar el ejemplo de las tuberas en la seccin Tuberas (pipes) con lo aprendido recientemente podramos escribir: $ cat archivo.txt | sort | sacar-repetidas | diccionario >> glosario.txt
136. Lectura
Para la lectura es el smbolo menor (<) y se utiliza de la siguiente manera: $ comando-que-acepta-stdin < archivo-de-entrada.txt Preferimos emplear el comando cat para estas operaciones, pues brinda una mayor legibilidad.
137. Prctica
1. Con los comandos aprendidos, mostrar de un directorio de varios archivos los primeros 10. 2. Modificar el ejercicio anterior para mostrar los 10 archivos de mayor tamao, ordenados alfabticamente. 3. En un directorio con varios archivos, mostrar slo los que tienen una determinada terminacin como por ejemplo .txt utilizando grep y find. 4. Utilizando find o una composicin de varios comandos por tuberas, mostrar slo los enlaces simblicos existentes, en caso de no poseer, crear varios en varios subdirectorios con el comando ln.
Vamos a suponer un caso ficticio donde necesitamos todas las definiciones de cada palabra en un texto. Primero las ordenamos alfabticamente, luego utilizamos un comando ficticio llamado diccionario que toma palabras de la entrada estndar y las reescribe junto a su significado en la salida estndar. Su esquema se ve en la figura Figura 49. Esquema de entrada y salida estndar del ejemplo 2. En este caso nombramos por separado las entradas y salidas estndares de los dos programas, pero la unin entre ambos programas se puede considerar como un slo tubo. Figura 49. Esquema de entrada y salida estndar del ejemplo 2
En ese tubo, el flujo est en un estado intermedio, donde est ordenado, pero no tiene las definiciones de diccionario. En la lnea de comandos esto se escribe de la siguiente manera: $ sort | dicccionario Donde el caracter | representa la conexin entre la salida estndar de un programa y la entrada estndar de otro. Con este fuerte y simple concepto se pueden concatenar gran cantidad de programas como si fuera una lnea de produccin en serie para generar resultados complejos. Para mejorar nuestro ejemplo sacaremos las palabras repetidas, antes de mostrarlas con definiciones. Suponiendo que exista un programa llamado sacar-repetidas, la lnea de comando sera: $ sort | sacar-repetidas | diccionario Simple, utilizando herramientas sencillas logramos algo un poco ms complicado. El inconveniente que tenemos en este ejemplo es que hay que escribir aquello a procesar. Normalmente queremos utilizar archivos como entrada de nuestros datos. Es necesario un comando que enve a salida estndar un archivo, as se procesa como la entrada estndar del sort y contina el proceso normalmente. Este comando es cat. La sintaxis es simple cat nombre-de-archivo. Quedando nuestro ejemplo: $ cat archivo.txt | sort | sacar-repetidas | diccionario
... crea un glosario de las palabras que se encuentren en archivo.txt La combinacin de comandos es incalculable y brinda posibilidades enormes. Veamos algunos ejemplos. Ejemplo 31. Uso de Tuberas En el caso que se quieran buscar procesos con el string http: $ ps ax | grep http 3343 ? S 0:00 httpd -DPERLPROXIED -DHAV 3344 ? S 0:00 httpd -DPERLPROXIED -DHAV 3975 ? S 0:00 httpd -DPERLPROXIED -DHAV 12342 pts/6 S 0:00 grep http
Si queremos eliminar la ultima linea podemos volver a usar grep con la opcion -v $ ps ax | grep http | grep -v grep 3343 ? S 0:00 httpd -DPERLPROXIED -DHAV 3344 ? S 0:00 httpd -DPERLPROXIED -DHAV 3975 ? S 0:00 httpd -DPERLPROXIED -DHAV Se pueden filtrar las lneas que contengan la palabra linux del archivo arch1.txt y luego mostrarlas en un paginador como less $ cat arch1.txt | grep linux | less Podemos enviar los resultados por correo a un amigo, $ cat arch1.txt | grep linux | mail amigo@email.com
Para eliminar una variable, se utiliza el comando interno del intrprete bash, llamado unset pasndole como parmetro el nombre de la variable. Es importante notar que una vez que se sale de una sesin, las variables establecidas se pierden. Es por eso que si se necesita disponer de variables especficas cada vez que se abra una sesin en GNU/Linux, es imprescindible agregar dichas configuraciones a los archivos de inicio del intrprete de comandos. Otro uso comn de estas variables es en los scripts, programas hechos en el lenguaje del intrprete; las variables de entorno son de gran ayuda para establecer configuraciones fcilmente cambiables en dichos programas.
[63] En el caso del intrprete bash, estos scripts incluyen el .bashrc, .bash_profile, y otros. [64] En bash.
[63] En el caso del intrprete bash, estos scripts incluyen el .bashrc, .bash_profile, y otros. [64] En bash.
140. .bash_profile
Este archivo es del tipo login, por lo que se ejecuta una sola vez en una sesin. Todos los archivos son scripts por lo que en la seccin Programacin en shell se ven ejemplos de programacin en bash. Permiten personalizar el bash enormemente u obligando a los usuario a ejecutar ciertas tareas administrativas en cuanto ingresan al sistema o bien ejecutan el interprete de comandos.
141. .bashrc
Este archivo es del tipo no-login. Primero se carga el archivo global al sistema /etc/bashrc y luego se pasa al archivo .bashrc en el directorio personal del usuario. Es un archivo que probablemente llame a otros como por ejemplo .profile y establezca las variable se entorno.
La lista de elementos se obtiene del resultado del comando ls. Es decir, primero se ejecuta ls, el cual dar el listado de todos los archivos de un directorio, y a todos esos archivos se les aplica un touch [65].
143. El comando if
Ya vimos un ejemplo sencillo utilizando if, que a su vez puede ser de gran utilidad. Ya hablamos de la equivalencia entre el ; y el Enter pero hay veces que pasa desapercibido el detalle de que if y then deben estar en diferentes lneas por lo que: # if COMANDO then COMANDO fi Este ltimo ejemplo va a dar error de sintaxis. La forma correcta de expresar es: # if COMANDO; then COMANDO ; fi o bien: # if COMANDO > then COMANDO > fi No hace falta crear un archivo que contenga las instrucciones, en cambio, esta programacin se puede ir realizando en lnea. Es decir, introducirla por lnea de comandos en una terminal. Muchas veces es necesario hacer comparaciones o comprobaciones para tomar decisiones. Por ejemplo "Si el usuario no posee el archivo ~/.configuracion con la configuracin por defecto" o bien "Si el nmero de archivos es mayor a 20 escribir no se puede transferir". Existe el comando test para hacer estas evaluaciones y en base al resultado, cdigo de error de test ser 0 u otro nmero. Por ejemplo, para saber si un archivo .configuracion existe en el home del usuario el comando puede ser: # test -e $HOME/.configuracion para facilitar la notacin dentro del comando if se hace un enlace simblico [66] a un comando llamado [. Parece extrao llamar a un comando con un corchete abierto pero veamos un ejemplo: if test -e $HOME/.configuracion Puede traducirse a: if [ -e $HOME/.configuracion ]
donde el ] (corchete cerrado) final no tiene importancia y la programacin queda menos engorrosa. Podramos utilizar lo aprendido para crear un script que "Si el usuario no posee el archivo / HOME/.configuracion con la configuracion por defecto entonces crearlo." en unas pocas lneas: if [ -e $HOME/.configuracion ] then crear-configuracion >> $HOME/.configuracion fi El comando test permite la composicin de condiciones con AND y OR lgicos con los modificadores -a y -o respectivamente y el modificador NOT con !. Se podra agregar a la linea del if anterior la condicin "y adems no posee el archivo SinConfiguracion" de la siguiente forma: if [ -e $HOME/.configuracion -a ! -e SinConfiguracion] Ejemplos mucho ms interesantes de analizar se pueden encontrar en el directorio /etc/rc.d/ init.d [67] .
[66] symbolic link en ingls, utilizando el comando ln -s [67] Este directorio puede variar segn las distribuciones, tambin puede ser /etc/init.d
do clear mailq sleep 2 done Este simple algoritmo muestra el contenido de la bandeja de salida de sendmail cada 2 segundos. Vemos que con pocos conocimientos en bash se pueden lograr infinidad de cosas.
354. Arranque
En Windows el programa StarOffice se arranca desde el men Inicio, carpeta Programas, carpeta StarOffice 5.2, opcin StarOffice 5.2. En Windows y en GNU/Linux se pueden aadir accesos directos en el escritorio o en otros puntos del men Inicio, el men GNOME o el men del gestor de ventanas que se est utilizando.
357. Configuracin
Las barras de smbolos se hacen aparecer o no eligindolas en el men Ver, submen Barra de Smbolos. Se puede cambiar su altura arrastrando el borde inferior. Tienen un men de contexto desde el que se pueden personalizar fcilmente, aadiendo o quitando botones. Cuando no caben en la pantalla todos los botones de la barra, aparecen en el extremo derecho dos flechitas que permiten ir viendo todos los botones. Pueden estar fijas en un extremo de la ventana o bien flotantes en su propia ventana (que se podr cambiar de forma y posicin); se pasa de un modo a otro haciendo una doble pulsacin sobre ellas, en algn punto libre, mientras se pulsa la tecla Ctrl.
Cuando por fin arranca StarOffice, ocupa su propia ventana, que es una ventana de aplicacin. Dentro de esta ventana se situarn las ventanas de documento, una para cada documento que se desee visualizar, adems de una ventana para el escritorio propio de StarOffice (en ingles, desktop). La imagen Figura 50. Desktop de StarOffice muestra una pantalla tpica en la que, adems de la ventana principal, se ve el desktop. Figura 50. Desktop de StarOffice
elementos de la ventana principal, y slo se ver la ventana del documento. Quedarn la barra de tareas de StarOffice y un icono Figura 51. Pantalla Completa que permite volver al modo anterior. En esta situacin no se puede acceder al men principal con el ratn, pero s se pueden usar los atajos de teclado y el men de contexto.
362. El Beamer
Es un visor de archivos. Cuando en el explorador se seala una carpeta, en el Beamer se ve la relacin de sus archivos; cuando en el Explorador se seala un archivo de la Galera, en el Beamer se ve su aspecto.
367. Instalacin
Para poder utilizar el programa es necesario instalarlo en el disco duro. El proceso de instalacin consiste en la creacin de un nuevo directorio, la grabacin de todos los ficheros necesarios y el ajuste de ciertos datos internos. De todo ello se encarga el programa de instalacin, de modo que el usuario apenas tiene que responder unas preguntas. Existen varios modos de instalar StarOffice en GNU/Linux. Aqu se va a explicar la que parece ms razonable para la mayora de las situaciones: El usuario root realiza la instalacin bsica general de los archivos del programa. Cada usuario que desee utilizar el programa hace una mnima instalacin en la que copia unos pocos archivos a su directorio home.
2. Se ejecuta desde el CD-ROM el programa de instalacin (el del CD oficial es setup, el de otras versiones puede cambiar) con la opcin -n. 3. El programa de instalacin da unos mensajes y en unos momentos pasa a modo grfico. 4. Despus de algunas preguntas, pide el nombre del directorio en el que instalar el programa. Recomendamos /opt/staroffice. 5. Ms adelante Figura 55. Mtodo de Instalacin presenta un cuadro de dilogo en el que hay que especificar genricamente cmo se desea hacer la instalacin (se ve abajo a la izquierda). Si se elige la instalacin personalizada, aparecer el cuadro que se ve abajo a la derecha; en l se puede especificar qu mdulos hay que instalar. 6. Figura 55. Mtodo de Instalacin
7.
8. Cuando est todo definido, se pulsa el botn Siguiente y el programa se encarga de todo.
3.
4. El directorio en el que instalar los archivos personales de usuario. Recomendamos staroffice, dentro del directorio home del usuario.
El cuadro se abre en el mismo directorio en que se trabaj la ltima vez. En la zona grande de trabajo aparecen los directorios de ese directorio y los documentos encontrados. Haciendo doble pulsacin sobre un directorio, se pasa a examinar su contenido. El cuarto botn de la
barra de herramientas permite volver al directorio padre del que se est viendo. El segundo y tercer botn sirven para elegir el modo de presentar la lista de documentos encontrados. Se recomienda el modo Detalles, ya que as se puede navegar ms fcilmente por el rbol de directorios, pulsando en los + y -. El cuadro de texto Nombre del archivo puede usarse para escribir directamente el nombre (o el nombre completo) del documento que se desea abrir. Tambin se puede escribir un nombre usando caracteres comodn; al pulsar el botn Abrir, aparecern aquellos nombres de documento que encajen con el patrn dado en los comodines. La lista desplegable Tipo de Archivo tiene exactamente esta utilidad, pero con una serie de nombres de fichero ya preestablecida. Por fin, cuando se decida el documento que hay que abrir, se pulsa sobre l y luego sobre el botn Abrir.
605. Introduccin
GNU/Linux no necesita un entorno de ventanas para funcionar. Ciertamente, cuando comenz no exista dicho entorno. La pantalla era un intrprete de comandos de aspecto similar a los Unix o una ventana de MS-DOS. Las aplicaciones que funcionan bajo terminales o consolas las llamaremos aplicaciones de texto. Tiempo despus se port un sistema de ventanas llamado X/Window, muy popular en el mundo Unix. Es un sistema de control de mouse y pantalla, pero no maneja las ventanas y operaciones con ventanas (como mover, minimizar, cerrar, etc.). Por lo tanto hay que utilizar algn programa administrador de ventanas. Se eligi para el curso es el KDE. Existen muchos otros entre los cuales est el GNOME, CDE, WindowMaker y AfterStep. Las aplicaciones que funcionan bajo X/Window las llamaremos aplicaciones grficas. Necesitan X/Window para funcionar pero no necesitan un administrador de ventanas. Sin embargo el administrador de ventanas facilita el uso de los programas.
606. Requerimientos
Como es de esperarse las consolas y terminales son mucho ms antiguas que las pantallas
con entornos grficos, por lo tanto los requerimientos son menores. Los requerimientos mnimos para usar GNU/Linux son, tan solo, una 386 con 4 MB de RAM. Esto no quiere decir que va a funcionar rpido, pero va a funcionar. En algunos trabajos no es necesario un equipo ms potente. Es comn pensar que si no se tiene la ltima mquina que est en el mercado junto los ltimos perifricos no se puede usar nada. Este es un concepto errneo. Tener en cuenta el uso que se dar a la computadora. Por ejemplo para compartir Internet entre varios amigos o dentro de una pequea empresa, una 386 con 4 MB de Ram sera suficiente. En cambio para la creacin de planos en un sistema CAD esto no sera un equipo ptimo. Si bien la computadora funciona con esa configuracin, el aspecto es similar al de terminales hace varios aos atrs. Para usuarios recin iniciados y poco familiarizados con terminales, suele parecer un entorno poco amigable. Pero si se necesita rapidez con poco hardware no queda otra opcin. Normalmente para usar una terminal grfica [68], con KDE se requiere aproximadamente un Pentium (166MHz o 200MHz) con 32MB de RAM para trabajar. Y para trabajar cmodamente con StarOffice es necesario 64MB de RAM. Para mayor detalle sobre terminales grficas ejecutar man X que detalla como funciona el servidor que atiende a KDE, llamado X/Window (es sin `s' final) Para mayor detalle sobre KDE ir a K-Ayuda KDE
Al probar esto ltimo podemos observar que en konsole no aparece el prompt [69] . Existen dos alternativas: cerrar el editor de texto o apretar Ctrl-C para que konsole mate al editor.
[69] el prompt suele ser el smbolo $. ms alguna informacin del tipo [usuario@maquina directorio]
de redes locales conectadas entre s a travs de una red pblica (simulando Internet). En Figura 75. Configuracin del esquema de red se presenta una manera de simular el caso anteriormente mencionado. Para sto se necesitan 5 PCs: Mquina A Estacin de trabajo de la red izquierda. Esta mquina representa a cualquier mquina en la red local, por lo que no debe llevar ninguna configuracin especfica de la tecnologa VPN que se est utilizando. Mquina B Esta mquina debe funcionar como pasarela de red, dando conectividad a la red local (192.168.1.0/24) contra la red pblica. Adems, debe hacer de pasarela de seguridad teniendo el software de VPN correspondiente instalado y configurado. Mquina C Para simular a una red pblica como Internet se utiliza una mquina con dos interfaces de red. sta mquina debe proveer servicios de ruteo entre ambas redes pblicas que conoce (10.1.1.0/24 y 10.1.2.0/24) pero para que la simulacin sea correcta, no debe conocer las redes locales ni cmo llegar a ellas. Mquina D Este equipo cumple las mismas funciones que la mquina B, pero en la red derecha. Mquina E La mquina E representa a cualquier estacin de trabajo en la red derecha, deber tener configurada la ruta por defecto a la mquina D y nada ms. Figura 75. Configuracin del esquema de red
A nivel de red, estamos suponiendo que las mquinas B y D son pasarelas a Internet de cada red local, esto quiere decir que ambas mquinas poseen dos interfaces de red, una que corresponde a la red local y otra que corresponde a una red con el proveedor de conexin, la cual tiene una direccin IP ruteable, mientras que las direcciones IP de las redes locales no lo son. Para lograr este escenario simulado de la vida real, se necesitan entonces ciertas configuraciones en cada mquina, las mismas se detallan a continuacin. Mquina A Necesita la configuracin de red local y nada ms.
# ifconfig eth0 192.168.1.25 netmask 255.255.255.0 # route add default gw 192.168.1.1 Mquina E Necesita una configuracin similar a la mquina A, respetando los valores de su propia red local. # ifconfig eth0 192.168.2.43 netmask 255.255.255.0 # route add default gw 192.168.2.1 Mquina B Tiene que funcionar como pasarela, es por eso que no se debe olvidar activar la capacidad de IP forwarding para el traspaso de paquetes IP de una red a la otra. # ifconfig eth0 192.168.1.1 netmask 255.255.255.0 # ifconfig eth1 10.1.1.22 netmask 255.255.255.0 # echo 1 > /proc/sys/net/ipv4/ip_forward # route add default gw 10.1.1.100 La ruta por defecto que se establece en la pasarela B es para simular la ruta por defecto que toda mquina conectada a Internet debe tener configurada con su proveedor de conexin. Mquina D Este equipo tiene la misma funcionalidad que la mquina B, por lo que sus configuraciones son muy similares. # ifconfig eth0 192.168.2.1 netmask 255.255.255.0 # ifconfig eth1 10.1.2.33 netmask 255.255.255.0 # echo 1 > /proc/sys/net/ipv4/ip_forward # route add default gw 10.1.2.100 Mquina C Esta mquina simula ser el punto de acceso a la red pblica que ofrecen los proveedores de conexin. Este equipo slo tiene conocimiento sobre las redes pblicas 10.1.1.0/24 y 10.1.2.0/24, nada sabe sobre las redes locales de ambos extremos, por lo que no puede rutear paquetes a esas redes. # ifconfig eth0 10.1.1.100 netmask 255.255.255.0 # ifconfig eth0 10.1.2.100 netmask 255.255.255.0 # echo 1 > /proc/sys/net/ipv4/ip_forward Como este equipo necesita realizar retransmisin de paquetes IP entre ambas redes, necesita el IP Forwarding activado. Lo que queda es configurar las mquinas B y D para que trabajen como pasarelas seguras y generen el tnel VPN necesario para comunicar ambas redes locales.
trabajo de una red local podrn comunicarse con las de la red opuesta. Si se quiere comunicar cada pasarela de seguridad con la red local opuesta, habr que generar tneles especficos para esta tarea.
Siguiendo el esquema de Figura 76. Esquema de ejemplo para la configuracin del FreeS/ WAN, la configuracin bsica para un tnel red-a-red se realiza editando el archivo /etc/ ipsec.conf config setup interfaces="ipsec0=eth0" klipsdebug=none
plutodebug=none plutoload=%search plutostart=%search conn %default keyingtries=0 conn sitio1-sitio2 left=10.1.1.2 leftsubnet=192.168.1.0/24 leftnexthop=%defaultroute right=10.1.2.2 rightsubnet=192.168.0.0/24 rightnexthop=%defaultroute auto=start authby=rsasig leftid=@sg1.curso.com rightid=@sg2.curso.com leftrsasigkey=0x--left-public-key rightrsasigkey=0x--right-public-key En los valores de leftrsasigkey y rightresasigkey debern ir las claves pblicas de las pasarelas de seguridad, se debern extraer de ambos equipos, con el siguiente comando: # ipsec showhostkey --right # ipsec showhostkey --left Segn corresponda, se le pasar la opcin --left o --right, y esa salida, agregarla al /etc/ ipsec.conf. El archivo resultante deber ir en ambas pasarelas de seguridad. Una vez reiniciado el servicio de ipsec, para conocer el estado del tnel, se puede utilizar el comando: # ipsec auto --status 000 interface ipsec0/eth0 10.1.1.2 000 000 algorithm ESP encrypt: id=3, name=ESP_3DES 000 algorithm ESP auth attr: id=1, name=AUTH_ALGORITHM_HMAC_MD5 000 algorithm ESP auth attr: id=2, name=AUTH_ALGORITHM_HMAC_SHA1 000 000 "sitio1-sitio2": 192.168.1.0/24===10.1.1.2[@sg1.curso.com]---10.1.1.1...10.1.2.1--10.1.2.2[@sg2.curso.com]===192.168.0.0/24 000 "sitio1-sitio2": ike_life: 3600s; ipsec_life: 28800s; rekey_margin: 540s; rekey_fuzz: 100%; keyingtries: 0 000 "sitio1-sitio2": policy: RSASIG+ENCRYPT+TUNNEL+PFS; interface: eth0; trap erouted 000 "sitio1-sitio2": newest ISAKMP SA: #0; newest IPsec SA: #0; eroute owner:
#0000 "sitio1-sitio2": ESP algorithms wanted: 3/000-1/000, 3/000-2/000, 000 "sitio1-sitio2": ESP algorithms loaded: 3/168-1/128, 3/168-2/160, 000 000 #74: "sitio1-sitio2" STATE_MAIN_I1 (sent MI1, expecting MR1); EVENT_RETRANSMIT in 4s
Esto que se muestra, indica que el tnel est establecido utilizando 3DES como algoritmo de cifrado, MD5 y SHA1 como algoritmos de cifrado para autenticacin, y otros datos interesantes.
WAN se llama Pluto. El establecimiento del tnel IPSec se hace bsicamente en dos fases: 1. IKE - Fase 1: los gateways negocian un canal bidireccional (SA) que se utilizar para crear los canales de la siguiente fase. Se presentan los algoritmos de cifrado probables, y las claves de autenticacin para armar los tneles IPSec. 2. IKE - Fase 2: usando el canal generado en la fase uno, se establece un par de SAs (unidireccionales, uno para cada sentido) con los parmetros de refresco de claves, mtodo de cifrado, y el protocolo a usar: AH o ESP.
pero cuando un extremo no lleva direccin fija, entonces se deben hacer algunos retoques para que funcione. Supongase un caso como el que se muestra en Figura 77. Ejemplo de Road Warrior: Figura 77. Ejemplo de Road Warrior
En este caso, el Road Warrior se est conectando desde cualquier tipo de conexin con IP dinmico, como ser un mdem, ADSL, o cualquier servicio similar que provea IP pblica pero no fija. En este caso, el archivo de configuracin variar un poco para el Road Warrior con respecto al de la pasarela de seguridad, a continuacin se muestran ambos casos.
rightnexthop=%defaultroute auto=add authby=rsasig leftid=@rw1.curso.com rightid=@sg2.curso.com leftrsasigkey=0x--left-public-key rightrsasigkey=0x--right-public-key La opcin auto=add en este caso, no fuerza al tnel a iniciarse, sino que se activa pero queda a la espera de conexin, la cual va a iniciar el Road Warrior cuando se conecte a Internet. Ntese que los datos correspondientes al Road Warrior no se agregan, ya que sus detalles de conexin no se conocen en forma previa.
conferencia o una simple charla por IRC o cualquier otro servicio de chat. Todo esto a travs de Internet. A medida que Internet se populariz, las empresas comenzaron a ver este medio como algo que les permita enviar y recibir informacin de todo tipo de manera rpida y econmica. Pero cuando uno habla de informacin, normalmente no clasifica esa informacin, y as como Internet es masiva, es tambin insegura en lo que respecta a privacidad durante el trnsito de la informacin. En el caso de los correos electrnicos, la solucin es muy fcil: utilizar una herramienta como GnuPG, que realice cifrado de los mensajes para que nadie que pueda interceptar los correos entre el remitente y el destinatario, pueda leer sus contenidos, pero que se puede hacer con otro servicios, como por ejemplo conexin a base de datos, a servidores web internos, o cualquier otro servicio que exista o est por existir? La solucin a esta problemtica requiere de un medio de transferencia seguro, que se establezca sobre el medio inseguro pero extremadamente barato y disponible como es Internet. Este medio proveera lo necesario para que las conexiones se realicen de forma transparente y segura. A este medio se lo denomina VPN, o Red Privada Virtual. Una red privada y virtual tiene, como su nombre lo indica, dos componentes: Virtual Es virtual porque la conexin que se establece no es una conexin de red fsica como se acostumbra a configurar, sino que se crean interfaces de red virtuales de tal manera de engaar a las aplicaciones que se posee una red adicional, y de esta manera poder utilizarlas sin ningn requerimiento extra sobre estos tipos de conexiones. Privada De nada sirve simular una conexin de red solamente, en lo que respecta a privacidad, es necesario adems agregar un componente de cifrado de algn tipo, que se realice al nivel de la capa de red, en la capa inmediata superior a la interfaz virtual, de modo tal que slo pueda ser descifrada la informacin al otro lado de la conexin, y por lo tanto, mantener la privacidad de los datos enviados y recibidos. Figura 78. Concepto de una red privada virtual
En Figura 78. Concepto de una red privada virtual se puede ver a modo conceptual como funciona una red privada virtual. Se forma un tnel, y entre los extremos de dicho tnel, la informacin se transmite de forma cifrada, pero esto es transparente a las mquinas que se encuentran detrs de esos extremos. En apariencia, ambas redes locales estarn interconectadas directamente por un enlace fsico, pero ese enlace estar provisto por el tnel VPN que se establece entre las mquinas que se encuentran en ambos extremos del mismo. Estas mquinas normalmente se las denomina Security Gateways (pasarelas de seguridad), y son las que se encargan de establecer y mantener la conexin VPN. Las dems mquinas de cada red local, debern configurarse para que el trfico a la otra red local lo enven a travs de su pasarela de seguridad, y eso es todo lo necesario para que el resto de los servicios comience a funcionar a travs de la VPN.
La gran desventaja de este protocolo reside en su diseo, que no es del todo seguro: antes que el tnel GRE se establezca, parte del inicio de sesin, autenticacin y dems se hace por protocolo TCP en forma de texto claro, parte de la informacin que pasa de este modo es el IP del cliente y el servidor, el nombre de usuario, la contrasea cifrada, etc...datos que cualquiera que est en el medio puede llegar a usar para intentar entrar. Adems, la implementacin de Microsoft agrega un poco mas de fallas a su implementacin del protocolo, usando un sistema de clave simtrico para la autenticacin: RC4 de 40 y 128 bits. La versin de 40 bits es demasiado dbil para poder ser considerada segura, pero adems de todo, la clave la basa en la contrasea del usuario (de esta manera el usuario puede tener mltiples sesiones con su propia clave). El problema de esto es que la clave debera cambiarse cada tanto (mas an cuando las sesiones PPTP son prolongadas) y esto realmente no sucede casi nunca.
Para soportar estos protocolos utilizados por las implementaciones de Microsoft, se deben aplicar algunos parches al ncleo del sistema operativo (y recompilarlo, por supuesto) y al pppd. No es el objetivo de esta clase detallar este proceso, pero de todas formas listamos algunas direcciones en Internet para el alumno interesado en profundizar en estos temas: http://lab.digitol.net/poptop-linux-howto.html http://www.taniz.org/pptp-mini-howto.pdf
619.1. Configuracin
El archivo /etc/ppp/options.pptpd debug name servername auth require-chap proxyarp +chap +chapms +chapms-v2 mppe-40 mppe-128 mppe-stateless ms-dns 192.168.1.200 ms-wins 192.168.1.200 /etc/pptpd.conf: speed 115200 option /etc/ppp/options.pptpd localip 192.168.0.234-238 remoteip 192.168.1.234-238 /etc/ppp/chap-secrets: # Secrets for authentication using CHAP # client server secret IP addresses username * password *
Caractersticas soportadas: Compatible con clientes Windows 2000. Compatible con los esquemas de encriptacin MPPE de Microsoft, mediante un parche al pppd. (RC4 a 40 bits y 128 bits). Compatible con clientes PPTP Windows 95/98/NT. Compatible con clientes PPTP Linux.