La Biblia Slacker
De Wiki Eslack
La Biblia de Slackware
Alan Hicks Chris Lumens David Cantrell Logan Johnson
Traducción: Nestor Alonso
Copyright © 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Slackware Linux, Inc.
Slackware Linux es marca registrada de Patrick Volkerding y Slackware Linux, Inc.
Linux es marca registrada de Linus Torvalds.
America Online y AOL son marcas registradas de America Online, Inc. en los Estados Unidos y/u otros países.
Apple, FireWire, Mac, Macintosh, Mac OS, Quicktime, y TrueType son marcas de Apple Computer, Inc., registrada en los Estados Unidos y otros países.
IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390, y ThinkPad son marcas de International Business Machines Corporation en los Estados Unidos, otros países, o ambos.
IEEE, POSIX, y 802 son marcas registradas del Institute of Electrical and Electronics Engineers, Inc. en los Estados Unidos.
Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, y Xeon son marcas o marcas registradas de Intel Corporation o sus subsidiarias en los Estados Unidos y otros países.
Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media y Windows NT son o bien marcas registradas o marcas de Microsoft Corporation en los Estados Unidos y/u otros países.
Netscape y el Netscape Navigator son marcas registradas de Netscape Communications Corporation en los EE.UU. y otros países.
Red Hat, RPM, son marcas o marcas registradas de Red Hat, Inc. en los Estados Unidos y otros países.
XFree86 es una marca del XFree86 Project, Inc.
Muchas de las denominaciones usadas por los fabricantes y vendedores para distinguir sus productos son declaradas como marcas. Donde esas denominaciones aparezcan en este documento, y Slackware Linux, Inc. tuviera conocimiento de la declaración de marca, las denominaciones han sido seguidas por el símbolo “™” o por “®”.
Prefacio
Público objetivo
El sistema operativo Slackware Linux es una potente plataforma para computadoras basadas en microprocesadores Intel y compatibles. Está diseñado para ser estable, seguro y funcional, ya sea como servidor de gama superior, o como poderosa estación de trabajo.
Este libro está diseñado para iniciarle en el uso del sistema operativo Slackware Linux. Esto no quiere decir que cubre cada aspecto de la distribución, sino que muestra las capacidades del sistema y le brinda a usted un conocimiento básico para el trabajo con éste.
En la medida en que usted gane experiencia con Slackware Linux, esperamos que encuentre en este libro una guía de referencia rápida. También esperamos que lo preste a todos sus amigos cuando vengan preguntando acerca de ese sistema operativo Slackware Linux tan "cool" que está corriendo en su computadora.
Aunque este libro puede que no sea una novela, de esas que lo dejan a uno al borde del asiento, ciertamente tratamos de hacerlo tan entretenido como fuera posible. Con un poco de suerte, lograremos un contrato cinematográfico. Por supuesto, también esperamos que pueda aprender de él, y lo encuentre útil.
Y ahora, que comience la función.
Cambios desde la primera edición
Esta segunda edición es la culminación de años de duro trabajo por los dedicados miembros del Proyecto de Documentación de Slackware. Los mayores cambios en esta nueva edición son los siguientes:
- Capítulo 3: Instalación
- Ha sido modificado con nuevas capturas de pantalla del instalador, y refleja los cambios en los disquetes y en el CD de instalación.
- Capítulo 4: Configuración del sistema
- Ha sido actualizado con nueva información acerca de los núcleos Linux 2.6.x.
- Capítulo 5: Configuración de red
- Ha sido expandido con explicaciones de Samba, NFS y DHCP. Se ha adicionado una sección sobre redes inalámbricas. Este capítulo ahora refleja grandes cambios en la manera en que Slackware maneja la configuración de red.
- Capítulo 6: Configuración de X
- Ha sido reescrito sustancialmente para los sistemas basados en Xorg. Este capítulo además cubre el gestor de inicio gráfico xdm.
- Capítulo 13: Comandos básicos de red
- Han sido mejorados con información acerca de utilidades de red adicionales.
- Capítulo 14: Seguridad
- Es un nuevo capítulo en esta edición. Explica como mantener un sistema Slackware Linux seguro.
- Capítulo 17: Emacs
- Es un nuevo capítulo en esta edición. Describe como utilizar Emacs, un poderoso editor para Unix.
- Capítulo 18: Gestión de paquetes
- Ha sido actualizado con información acerca de los scripts SlackBuild.
Hay muchos otros cambios, tanto grandes como pequeños, para reflejar los cambios en Slackware en la medida en que ha madurado.
Organización de este Libro
- Capítulo 1: Introducción
- Brinda material introductorio acerca de Linux, Slackware, los movimientos de código abierto y software libre.
- Capítulo 2: Ayuda
- Describe los recursos de ayuda disponibles en el sistema Slackware Linux y en línea.
- Capítulo 3: Instalación
- Describe el proceso de instalación paso a paso con capturas de pantalla para brindar un recorrido ilustrativo.
- Capítulo 4: Configuración del sistema
- Describe los importantes archivos de configuración y cubre la recompilación del núcleo.
- Capítulo 5: Configuración de red
- Describe cómo conectar una máquina Slackware Linux a una red. Cubre TCP/IP, PPP/marcado, redes inalámbricas y más.
- Capítulo 6: Configuración de X
- Describe cómo configurar y usar el sistema gráfico X Window en Slackware.
- Capítulo 7: Arranque
- Describe el proceso mediante el cual una computadora arranca en Slackware Linux. También cubre el arranque dual con sistemas operativos Microsoft Windows.
- Capítulo 8: Consola
- Describe la poderosa interfaz de comandos de Linux.
- Capítulo 9: Estructura del sistema de archivos
- Estructura del Sistema de Archivos: describe la estructura del sistema de archivos, incluyendo propiedad, permisos y enlaces.
- Capítulo 10: Gestión de archivos y directorios
- Describe los comandos utilizados para manipular ficheros y directorios desde la interfaz de la línea de comandos.
- Capítulo 11: Control de procesos
- Describe los poderosos comandos para el manejo de procesos, utilizados para gestionar múltiples aplicaciones simultáneamente.
- Capítulo 12: Administración básica del sistema
- Describe tareas básicas de administración del sistema, como adicionar y eliminar usuarios, apagar el sistema correctamente, y más.
- Capítulo 13: Comandos básicos de red
- Describe la colección de clientes de red incluidos con Slackware.
- Capítulo 14: Seguridad
- Describe muchas herramientas diferentes, disponibles para ayudar a mantener su sistema Slackware seguro, incluyendo iptables y tcpwrappers.
- Capítulo 15: Compactar archivos
- Describe las diferentes utilidades para compactar y agrupar, disponibles para Linux.
- Capítulo 16: vi
- Describe el potente editor de texto vi.
- Capítulo 17: Emacs
- Describe el potente editor de texto Emacs.
- Capítulo 18: Gestión de paquetes
- Describe las utilidades de paquetes y los procesos utilizados para crear paquetes personalizados y archivos de descripción.
- Capítulo 19: ZipSlack
- Describe la versión de Linux ZipSlack que puede ser utilizada desde Windows sin necesidad de instalación.
- Apéndice A: Licencia Pública General de GNU
- Describe los términos de licencia bajo los cuales Slackware Linux y este libro pueden ser copiados y distribuidos.
Convenciones utilizadas en este libro
Para brindar un texto consistente y fácil de leer, se han seguido varias convenciones a través del libro.
Convenciones tipográficas
Itálicas: La tipografía itálica se utiliza para comandos, texto enfatizado, y el primer uso de términos técnicos.
Monoespacio: La tipografía monoespaciada se utiliza para mensajes de error, comandos, variables de entorno, nombres de puertos, mensajes de error, nombres de host, nombres de usuarios, nombres de dispositivos, variables, y fragmentos de código.
Negrita: La tipografía en negrita se utiliza para la entrada del usuario en los ejemplos.
Entrada de usuario
Las teclas se muestran en negrita para resaltarlas del resto del texto. Las combinaciones de teclas que se supone que se tecleen simultáneamente se muestran con '+' entre las teclas, por ejemplo:
Ctrl+Alt+Del
Significa que el usuario debe teclear Ctrl, Alt y Del al mismo tiempo.
Las teclas que se supone que se tecleen en secuencia serán separadas con comas, por ejemplo:
Ctrl+X, Ctrl+S
Significa que el usuario debe teclear Ctrl y X simultáneamente y luego teclear Ctrl y S simultáneamente.
Ejemplos
Los ejemplos que comiencen con E:\> indican un comando MS-DOS®. A menos que se aclare otra cosa, estos comandos deben ser ejecutados desde una ventana “Línea de Comandos” en cualquier entorno moderno Microsoft® Windows®.
D:\> rawrite a: bare.i
Los ejemplos que comienzan por # indican un comando que debe ser invocado como superusuario en Slackware. Es posible iniciar sesión como root para teclear el comando, o iniciar sesión con su cuenta normal, y usar su(1) para ganar los privilegios de superusuario.
# dd if=bare.i of=/dev/fd0
Los ejemplos que comienzan con % indican un comando que debe ser invocado desde una cuenta de usuario normal. A menos que se especifique otra cosa, la sintaxis de comandos de C se utiliza para establecer las variables de entorno y otros comandos de la consola.
% top
Reconocimientos
Este proyecto es la acumulación de meses de trabajo de muchas personas. No habría sido posible para mí producir este trabajo en aislamiento. Muchas personas merecen nuestro agradecimiento por sus actos desinteresados: Keith Keller por su trabajo en redes inalámbricas, Joost Kremers por su grandioso trabajo en la sección de escritura con una sola mano en emacs, Simon Williams por el capítulo de seguridad, Jurgen Phillippaerts por comandos básicos de redes, Cibao Cu Ali G Colibri por la inspiración y una buena patada en los pantalones. Otros incontables han mandado sugerencias y arreglos. Una lista incompleta incluye a: Jacob Anhoej, John Yast, Sally Welch, Morgan Landry, y Charlie Law. También me gustaría agradecer a Keith Keller por alojar la lista de correos para este proyecto, así como a Carl Inglis por el alojamiento web inicial. Finalmente, pero no menos importante, me gustaría agradecer a Patrick J. Volkerding por Slackware Linux, y David Cantrell, Logan Johnson, y Chris Lumens por "Slackware Linux Essentials, 1ra Edición". Sin su marco de trabajo inicial, nada de esto podría haber sucedido jamás. Muchos otros han contribuido en mayor o menor manera a este proyecto y no han sido listados. Espero que perdonen mi mala memoria.
Alan Hicks, Mayo 2005
Introducción
¿Qué es Linux?
Linus Torvalds comenzó Linux, el núcleo de un sistema operativo, como un proyecto personal en 1991. Él comenzó el proyecto debido a que quería correr un sistema operativo basado en Unix sin pagar mucho dinero. Además, quería aprender los pormenores del procesador 386. Linux fue entregado libre de cargos al público de manera que cualquier persona podía estudiarlo y hacerle mejoras bajo la Licencia Pública General (ver la Sección 1.3 y Apéndice A para una explicación de la licencia). Hoy, Linux ha crecido hasta convertirse en un gran jugador en el mercado de los sistemas operativos. Ha sido portado para correr en una variedad de arquitecturas de sistema, incluyendo HP/Alpha de Compaq, SPARC de Sun y UltraSPARC, y los chips PowerPC de Motorola (a través de Apple Macintosh y las computadoras IBM RS/6000). Cientos, si no miles, de programadores alrededor del mundo ahora desarrollan Linux. Corre programas como Sendmail, Apache, y BIND, los cuales son programas muy populares acostumbrados a correr en servidores de Internet. Es importante recordar que el término “Linux” realmente se refiere al núcleo - el centro del sistema operativo. Este núcleo es el responsable de controlar el procesador de su computadora, así como la memoria, discos duros, y periféricos. Esto es todo lo que Linux realmente hace: Controla las operaciones de su computadora y se asegura de que todos sus programas se comporten correctamente. Varias compañías y personas empaquetan el núcleo y varios programas para hacer un sistema operativo. Llamaremos a cada paquete de este tipo una distribución de Linux.
Unas palabras sobre GNU
El proyecto del núcleo de Linux comenzó como un esfuerzo personal de Linus Torvalds en 1991, pero tal como dijo Isaac Newton, “Si he visto más allá, es porque he estado parado en hombros de gigantes.” Cuando Linus Torvalds comenzó el núcleo, la Fundación de Software Libre había establecido ya la idea del software colaborativo. Ellos llamaron a su esfuerzo GNU, un acrónimo recursivo que simplemente significa “GNU's Not Unix”. El software GNU corrió sobre el núcleo de Linux desde su primer día. Su compilador gcc fue utilizado para compilar el núcleo. Hoy muchas herramientas GNU desde gcc hasta gnutar son todavía las bases de la mayoría de las distribuciones de Linux. Por esta razón muchos de los autores de la Fundación de Software Libre mantienen fervientemente que su trabajo merece el mismo crédito que el núcleo de Linux. Ellos sugieren que todas las distribuciones de Linux deben referirse a sí mismas como distribuciones GNU/Linux.
Este es el asunto de muchas discusiones, sobrepasadas solamente por la antigua guerra santa vi contra Emacs. El propósito de este libro no es atizar el fuego sobre esta discusión de por sí caliente, sino aclarar la terminología a los neófitos. Cuando uno ve GNU/Linux esto significa una distribución de Linux. Cuando uno ve solamente Linux, puede ser bien el núcleo, o la distribución. Esto puede ser algo confuso. Típicamente el término GNU/Linux no se utiliza porque es no es fácil de pronunciar.
¿Qué es Slackware?
Slackware, comenzado por Patrick Volkerding a finales de 1992, e inicialmente liberado al mundo el 17 de julio de 1993, fue la primera distribución de Linux en alcanzar un uso masivo. Volkerding comenzó a aprender Linux cuando necesitó un intérprete de LISP barato para un proyecto. Una de las pocas distribuciones disponibles en ese entonces era SLS Linux de Soft Landing Systems. Volkerding usó SLS Linux, reparando errores en la medida en que los encontraba. Eventualmente, decidió unir todos esos arreglos en su propia distribución privada, que él y sus amigos pudieran usar. Esta distribución privada rápidamente ganó popularidad, de manera que Volkerding decidió llamarla Slackware y hacerla disponible públicamente. Por el camino, Patrick añadió nuevas cosas a Slackware; un programa de instalación amigable al usuario basado en menúes, así como el concepto de gestión de paquetes, el cual le permite al usuario fácilmente agregar, eliminar o actualizar paquetes de software en su sistema.
Existen varias razones por las cuales Slackware es la distribución de Linux más antigua que aún existe. No intenta emular a Windows; trata de ser un sistema tan parecido a Unix como sea posible. No trata de cubrir los procesos con interfaces gráficas bonitas que permitan apuntar-y-presionar. En cambio, pone al usuario en los controles, dejándole ver exactamente que está sucediendo. Su desarrollo no está apurado para cumplir metas-cada versión sale cuando está lista.
Slackware es para la gente que disfruta aprendiendo y ajustando su sistema para que haga exactamente los que ellos quieren que haga. La estabilidad y simplicidad de Slackware son las razones por las cuales la gente lo seguirá usando en los años venideros. Slackware actualmente disfruta una buena reputación como servidor sólido y como estación coherente. Es posible encontrar escritorios Slackware corriendo casi cualquier gestor de ventanas o entorno de escritorio, o ninguno en absoluto. Los servidores Slackware dan potencia a negocios, actuando en cada lugar donde un servidor pueda ser utilizado. Los usuarios de Slackware están entre los más satisfechos usuarios de Linux. Por supuesto, debemos decir eso. :^)
Código abierto y software libre
En la comunidad Linux existen dos movimientos ideológicos principales influyendo. El movimiento de Software Libre (el cual veremos en un momento) está trabajando hacia el objetivo de hacer todo el software libre de restricciones de propiedad intelectual. Los seguidores de este movimiento creen que estas restricciones frenan las mejoras técnicas y se oponen al bien de la comunidad. El movimiento de Código Abierto trabaja sobre las mismas metas, pero toma un comportamiento más pragmático. Los seguidores de este movimiento prefieren basar sus argumentos en los méritos técnicos y económicos de hacer disponible públicamente el código fuente, en vez de basarlos en los principios morales y éticos que manejan el Movimiento del Software Libre.
En el otro extremo del espectro están los grupos que desean mantener un férreo control sobre su software.
El movimiento de Software Libre está encabezado por la Fundación por el Software Libre (Free Software Foundation), organización que recoge fondos para el proyecto GNU. El software libre es más que una ideología. La expresión utilizada para aclarar este concepto es “free as in speech, not free as in beer” (Libre como la expresión, no gratis como la cerveza). En esencia, el software libre es un intento de garantizar ciertos derechos, tanto para los clientes como para los desarrolladores. Estas libertades incluyen la libertad de correr el programa para cualquier fin, para estudiar y modificar el código fuente, para redistribuir las fuentes, y para compartir las modificaciones que se realicen. Para garantizar estas libertades fue creada la Licencia Pública General GNU (GPL). La GPL, en resumen, dice que cualquiera que distribuya un programa compilado que se encuentre bajo la GPL debe brindar el código fuente, y es libre de hacer modificaciones al programa siempre que estas modificaciones se hagan también disponibles en forma de código fuente. Esto garantiza que una vez que un programa se "abra" a la comunidad, no pueda ser cerrado de nuevo, excepto bajo el consentimiento del autor de cada línea de código que se encuentre en el programa (incluso de las modificaciones). La mayor parte de los programas para Linux están licenciados bajo la GPL.
Es importante notar que la GPL no dice nada acerca de precio. Tan extraño como parezca, es posible cobrar por el software libre. La parte "libre" está en las libertades que existen con las fuentes, no en el precio que puede pagarse por el software (de todas formas, una vez que alguien le haya vendido, o incluso regalado, un programa compilado bajo la GPL, esa persona contrae la obligación de darle también el código fuente).
Otra licencia popular es la licencia BSD. En contraste con la GPL, la licencia BSD no obliga a que se libere el código fuente del programa. El software bajo la licencia BSD permite redistribuciones en fuentes o en binarios, solamente cumpliendo unas pocas condiciones. Las credenciales del autor no pueden ser utilizadas como publicidad para el programa. También indemniza al autor de las responsabilidades por daños que puedan derivarse del uso del software. Gran parte del software incluido en Slackware Linux posee licencia BSD.
A la vanguardia del movimiento de Código Abierto -más joven-, la Iniciativa por el Código Abierto (Open Source Initiative, OSI) es una organización que existe con el fin de obtener soporte para el software de código abierto, o sea, el software que tenga el código fuente disponible, así como el programa listo-para-correr. Ellos no ofrecen una licencia específica, sino que dan soporte a las diferentes licencias de código abierto existentes.
La idea detrás de OSI es lograr que más compañías respalden el código abierto, permitiéndoles escribir sus propias licencias de código abierto y certificarlas bajo las normas de la OSI. Muchas compañías desean liberar su código fuente, pero no desean utilizar la GPL. Teniendo en cuenta que no pueden modificar radicalmente la GPL, se les ofrece la oportunidad de que brinden sus propias licencias y que las tengan certificadas por esta organización.
A pesar de que la Fundación por el Software Libre y la Iniciativa por el Código Abierto trabajan para ayudarse, no son la misma cosa. La Fundación por el Software Libre usa una licencia específica y brinda software bajo esta licencia. La Iniciativa por el Código Abierto busca soporte para todas las licencias de código abierto, incluyendo la de la Fundación por el Software Libre. Las bases sobre las cuales cada una discute para hacer que el código fuente esté disponible libremente a veces divide a ambos movimientos, pero el hecho de que dos grupos ideológicamente diversos estén trabajando en pos de la misma meta le da credibilidad a los esfuerzos de cada uno.
Ayuda
A veces sucede que usted puede necesitar ayuda con un comando específico, configurar un programa, o lograr que un determinado componente de hardware funcione. Tal vez usted simplemente desea entender mejor un determinado comando, o ver qué opciones están disponibles para utilizarlo. Afortunadamente, existen varias maneras mediante las cuales es posible obtener la ayuda que necesita. Cuando usted instala Slackware, se le brinda la opción de instalar los paquetes de la serie “F”, que incluye las Preguntas Más Frecuentes (FAQs) y los Cómo (HOWTOs). Los programas también vienen con ayuda sobre sus opciones, archivos de configuración y uso.
Ayuda del sistema
man
El comando man (abreviatura de “manual”) es la forma tradicional de documentación en línea en los sistemas operativos Unix y Linux. Compuesto por archivos con un formato especial, las “páginas man”, están escritas para la amplia mayoría de los comandos y se distribuyen con el software en sí. Si se ejecuta man algúncomando, se mostrará la página man para (naturalmente) el comando especificado, en nuestro ejemplo sería el programa imaginario algúncomando.
Como usted puede imaginar, la cantidad de páginas man puede fácilmente crecer, haciéndose sobre todo confusas y seriamente complicadas, incluso para un usuario avanzado. Entonces, por esta razón, las páginas man están agrupadas en secciones enumeradas. Este sistema ya lleva funcionando bastante tiempo; el suficiente como para que a veces comandos, programas, e incluso funciones de bibliotecas de programación, sean referidas con su número de sección man.
Por ejemplo:
Usted puede ver una referencia a man(1). La numeración le dice que este “man” está documentado en la sección 1 (comandos de usuario); usted puede especificar que desea la sección 1 de las páginas man para “man” con el comando man 1 man. Especificando la sección en la que man debe buscar es útil en el caso de que haya múltiples artículos con el mismo nombre.
Secciones de las páginas man:
- Sección 1
- Comandos de usuario (solo introducción).
- Sección 2
- Llamadas de sistema.
- Sección 3
- Llamadas de bibliotecas C.
- Sección 4
- Dispositivos (p.e. hd, sd).
- Sección 5
- Formatos de archivo y protocolos (p.e. wtmp, /etc/passwd, nfs).
- Sección 6
- Juegos (solo introducción).
- Sección 7
- Convenciones, paquetes macro, etc. (p.e. nroff, ascii).
- Sección 8
- Administración del sistema (solo introducción).
Además de man(1), están disponibles los comandos whatis(1) y apropos(1), cuyo propósito compartido es hacer más fácil hallar la información en el sistema man.
El comando whatis brinda una descripción muy breve de los comandos del sistema, al estilo de una referencia de bolsillo.
Ejemplo:
% whatis whatis whatis (1) - search the whatis database for complete words
El comando apropos se utiliza para buscar una página man que contenga una palabra clave dada.
Ejemplo:
% apropos wav cdda2wav (1) - a sampling utility that dumps CD audio data into wav sound files netwave_cs (4) - Xircom Creditcard Netwave device driver oggdec (1) - simple decoder, Ogg Vorbis file to PCM audio file (WAV or RAW) wavelan (4) - AT&T GIS WaveLAN ISA device driver wavelan_cs (4) - AT&T GIS WaveLAN PCMCIA device driver wvlan_cs (4) - Lucent WaveLAN/IEEE 802.11 device driver
Si usted desea obtener mayor información sobre cualquiera de estos comandos, lea las páginas man para obtener los detalles. ;)
Directorio /usr/doc
La fuente de la mayoría de los paquetes que construimos viene con alguna clase de documentación: archivos README, instrucciones de uso, archivos de licencia, etc. Cualquier clase de documentación que venga con la fuente se incluye e instala en su sistema en el directorio /usr/doc. Cada programa va (usualmente) a instalar su propia documentación siguiendo el orden:
/usr/doc/$programa-$versión
Donde $programa es el nombre del programa sobre el cual usted desea leer, y $versión es (obviamente) la versión apropiada del paquete de software instalado en su sistema.
Por ejemplo, para leer la documentación para el comando man(1) usted debe hacer cd a:
% cd /usr/doc/man-$versión
HOWTOs y mini-HOWTOs
Está en el más verdadero espíritu de la comunidad de código abierto el hecho de brindarnos la colección de HOWTO/mini-HOWTO (CÓMOs/mini-CÓMOs). Estos archivos son exactamente eso - documentos y guías que describen cómo hacer algo. Si usted instaló la colección de HOWTO, los HOWTO estarán instalados en /usr/doc/Linux-HOWTOs y los mini-HOWTO en /usr/doc/Linux-mini-HOWTOs.
También se incluyen en la misma serie de paquetes una colección de FAQ, cuyo acrónimo significa “Frequently Asked Questions”, que en español sería Preguntas Más Frecuentes. Estos documentos están escritos al estilo “Preguntas y Respuestas” (sorprendente). Las FAQ pueden ser un lugar muy útil para buscar si usted solamente busca un “arreglo rápido” para algo. Si usted decide instalar las FAQ durante la instalación, las va a hallar instaladas en el directorio /usr/doc/Linux-FAQs.
Estos archivos son mucho mejores para leer cuando usted no está muy seguro de como proceder con algo. Ellos cubren un amplio rango de asuntos, aunque no de una manera muy detallada. ¡Buen comienzo!
Ayuda en línea
Además de la documentación brindada e instalable con el sistema operativo Slackware Linux, existe una vasta multitud de recursos en línea disponibles para que usted aprenda de ellos también.
Sitio web oficial y foros de ayuda
El sitio web oficial de Slackware Linux está a veces desactualizado, pero aun así contiene información relevante para las últimas versiones de Slackware. Una vez existió un foro activo de ayuda, antes de que hordas de trolls, buscaproblemas y llorones descendieran a él. Mantener el foro se estaba haciendo demasiado trabajo, así que Pat lo cerró. Se puede encontrar el viejo foro respaldado y funcionando completo con archivos donde es posible buscar la información vieja en http://www.userlocal.com/phorum/.
Después de que los foros se bajaran de slackware.com, otros sitios ofrecieron soporte para Slackware. Después de mucho pensar, Pat decidió nombrar a www.linuxquestions.org como el foro oficial para Slackware Linux.
Soporte por correo electrónico
Todo aquel que compre un grupo de CD oficiales tiene derecho a soporte gratis de instalación por correo electrónico. Habiendo dicho esto, por favor, tenga en mente que nosotros, los desarrolladores (y la gran mayoría de usuarios) de Slackware somos de “La Vieja Escuela”. Esto significa que preferimos ayudar a aquellos que tienen un sincero interés y tratan de ayudarse a sí mismos en el proceso. Nosotros siempre haremos nuestro mayor esfuerzo para ayudar a todos aquellos que nos envíen un correo con preguntas de soporte. De todas formas, Por Favor, revise su documentación y el sitio web (especialmente las FAQ y tal vez alguno de los foros que listamos más abajo) antes de enviar un correo. Así, usted puede obtener una respuesta más rápida, y nosotros tendremos que responder menos correos, obviamente, brindando más rápido nuestra ayuda a aquellos que la necesiten.
La dirección de correo electrónico para soporte técnico es support@slackware.com. Otras direcciones de correo e información de contacto se listan en el sitio web.
Listas de correo del proyecto Slackware Linux
Nosotros tenemos muchas listas de correo, disponibles en forma normal y digest. Revise las instrucciones para suscribirse.
Para suscribirse a una lista de correos, escriba a:
majordomo@slackware.com
con la frase “subscribe [nombre de lista]” en el cuerpo del mensaje. Las opciones de la lista se describen debajo (use uno de los nombres de abajo para el nombre de la lista).
Los archivos de la lista de correos pueden encontrarse en el sitio web de Slackware en:
http://slackware.com/lists/archive/
- slackware-announce
- La lista de correo slackware-announce es para los anuncios de nuevas versiones, actualizaciones mayores y otra información general.
- slackware-security
- La lista de correo slackware-security es para anuncios relativos a asuntos de seguridad. Cualquier exploit o vulnerabilidad que afecten directamente a Slackware va a ser enviado a esta lista inmediatamente.
Estas listas también están disponibles en modo digest. Esto significa que usted recibe solo un mensaje largo al día, en vez de varios mensajes durante día. Teniendo en cuenta que las listas de correo de Slackware no le permiten a los usuarios enviar correos, y que las listas tienen poco tráfico, la mayoría de los usuarios obtienen pocas ventajas del modo digest. De todas maneras, están disponibles suscribiéndose a slackware-announce-digest o a slackware-security-digest.
Sitios web no oficiales y foros de ayuda
Sitios web
- El Maestro de Kung-Fu de los Buscadores. Donde usted va a encontrar absoluta y positivamente hasta el último reducto de información sobre cualquier asunto. No acepta sustitutos.
- Google:Linux
- Búsquedas específicas sobre Linux.
- Google:BSD
- Búsquedas específicas sobre BSD. Slackware es tan genérico como sistema operativo al estilo Unix que uno puede encontrar información casi 100% relevante aquí. Muchas veces una búsqueda BSD revela mucha más información técnica que una relacionada con Linux.
- Google:Groups
- Busca a través de décadas de envíos a Usenet.
- http://userlocal.com
- Un tesoro virtual de conocimiento, buenos avisos, experiencia de primera mano y artículos interesantes. Frecuentemente el primer lugar donde se escucha sobre los nuevos desarrollos en el mundo de Slackware.
Recursos basados en la web
- linuxquestions.org
- El foro web oficialmente seleccionado para los usuarios de Slackware.
- LinuxISO.org Slackware Forum
- “Un lugar para descargar y obtener ayuda con Linux.”
- alt.os.linux.slackware FAQ
- Otras FAQ.
Grupos de Usenet (NNTP)
Usenet hace mucho que es el lugar donde los geeks se reunían y se ayudaban unos a otros. Existen pocos grupos de noticias dedicados a Slackware Linux, pero tienden a estar llenos con personas de mucho conocimiento.
- alt.os.linux.slackware
- alt.os.linux.slackware, más conocido como aols (¡no confundirse con AOL®!) es uno de los lugares más activos para encontrar ayuda con los problemas de Slackware. Como todo grupo de noticias, unos pocos participantes que no ayudan (“trolls”) pueden estropear la experiencia. Aprender a ignorar los trolls e identificar a las personas que realmente ayudan es la clave para sacar lo máximo de este recurso.
Instalación
Antes de que usted pueda utilizar Slackware Linux, necesita obtenerlo e instalarlo. Obtener Slackware es tan sencillo como comprarlo o descargarlo gratis a través de Internet. Instalarlo es también fácil, siempre que usted cuente con algún conocimiento básico sobre su computadora y esté deseoso de aprender otras pocas cosas. El programa de instalación en sí es un proceso muy paso-a-paso. Debido a esto, usted puede tener su sistema levantado y corriendo muy rápidamente. De hecho, Slackware se jacta de tener uno de los menores tiempos de instalación entre todas las distribuciones totalmente funcionales de Linux.
Obtener Slackware
La caja y juego de discos oficiales
El juego de CD oficiales de Slackware Linux CD está disponible desde Slackware Linux, Inc. El juego consta de 4 discos. El primer disco contiene todo el software necesario para una instalación básica de servidor, y el sistema X window. El segundo cd es un “live” CD; esto es, un CD de inicio capaz de instalarse en la RAM y que le brinda una instalación temporal para jugar con ella o para hacer un rescate de datos o de máquina. Este CD también contiene unos pocos paquetes como los entornos de escritorio KDE y GNOME. Unas cuantas mejoras se incluyen en el segundo CD, como paquetes no vitales en el directorio “extra”. El tercer y cuarto CD contienen el código fuente de todo Slackware, así como la edición original de este libro.
Uno puede también comprar una Caja que incluye los 4 discos y una copia de este libro (la edición en inglés), así como muchos pertrechos Slackware puros para mostrarlos como orgullo geek. Las suscripciones al CD están disponibles a un precio reducido, también.
El método preferido para comprar Slackware es en línea en la tienda Slackware.
Usted puede también llamar o mandar su orden por correo.
| Método | Detalles de contacto |
|---|---|
| Teléfono | 1-(925) 674-0783 |
| Sitio web | http://store.slackware.com |
| Correo electrónico | orders@slackware.com |
| Postal | 1164 Claremont Drive, Brentwood, CA 94513 |
Vía Internet
Slackware Linux también está disponible libremente en Internet. Usted puede enviarnos un mensaje con sus preguntas de soporte, pero la prioridad más alta será dada a aquellos que compren el juego de CDs oficiales. Dicho esto, nosotros recibimos muchos mensajes y nuestro tiempo es bastante limitado. Antes de enviar un mensaje para soporte considere leer el Capítulo 2.
El sitio web del proyecto oficial Slackware Linux se encuentra en:
La localización FTP primaria para Slackware Linux es:
ftp://ftp.slackware.com/pub/slackware/
Tenga en mente que nuestro sitio FTP, aunque está abierto para uso general, no tiene ancho de banda ilimitado. Por favor considere usar un servidor espejo cercano a usted para descargar Slackware. Una lista incompleta de los espejos puede encontrarse en nuestro sitio, en:
http://www.slackware.com/getslack.
Requisitos del sistema
Una instalación sencilla de Slackware requiere, como mínimo, lo siguiente:
| Hardware | Requisito |
|---|---|
| Procesador | 586 |
| RAM | 32 MiB |
| Espacio en disco | 1 GiB |
| Unidad | 4x CD-ROM |
Si usted tiene el CD autoarrancable, probablemente no necesite una unidad de disquetes. Por supuesto, es lógico que si no posee una unidad de CD-ROM, necesite de una unidad de disquetes para hacer una instalación basada en la red. Para realizar una instalación NFS se necesita una tarjeta de red. Vea la sección llamada NFS para obtener más información.
El espacio requerido en disco es algo truculento. La recomendación de 1 GiB es usualmente suficiente para una instalación mínima, pero si usted hace una instalación completa, necesitará alrededor de 2 GiB de disco duro disponible más espacio adicional para los archivos personales. La mayoría de los usuarios no hacen una instalación completa. De hecho, muchos corren Slackware en sólo 100 MiB de espacio en disco duro.
Slackware puede ser instalado en sistemas con menos RAM, discos duros más pequeños, y CPU más débiles, pero para hacer eso es necesario engrasarse un poco las manos. Si usted está listo para un poco de trabajo, mire en el archivo LOWMEM.TXT, situado en el árbol de la distribución. Ahí encontrará unos cuantos consejos útiles.
Series de software
Por razones de simplicidad, Slackware ha sido dividido históricamente en series de software. Incluso se llamaron “grupo de discos” debido a que fueron diseñados para la instalación basada en disquetes. Actualmente, las series de software se utilizan básicamente para categorizar los paquetes incluidos en Slackware, pues la instalación desde disquetes ya no es posible.
A continuación se describen brevemente las series de software:
- A
- El sistema base. Contiene suficiente software para levantar y correr una máquina, tener un editor de texto y programas básicos de comunicaciones.
- AP
- Aplicaciones varias que no requieren el sistema X Window.
- D
- Herramientas de desarrollo de programas. Compiladores, depuradores, intérpretes, y las páginas man están aquí.
- E
- GNU Emacs.
- F
- Las FAQ, HOWTOs, y otra documentación miscelánea.
- GNOME
- El entorno de escritorio GNOME.
- K
- El código fuente del núcleo Linux.
- KDE
- El Entorno de Escritorio K. Un entorno X que comparte parecido y características con MacOS y Windows. La biblioteca Qt, necesaria para KDE, está también en esta serie.
- KDEI
- Paquetes de internacionalización para el escritorio KDE.
- L
- Bibliotecas. Bibliotecas enlazadas dinámicamente requeridas por muchos otros programas.
- N
- Programas para redes. Demonios, programas de correo, telnet, lectores de noticias y cosas por el estilo.
- T
- Sistema de formateo de documentos teTeX.
- TCL
- El "Tool Command Language". Tk, TclX, y TkDesk.
- X
- El sistema base X Window.
- XAP
- Aplicaciones X que no son parte de los grandes entornos de escritorios (por ejemplo, Ghostscript y Netscape).
- Y
- Juegos de consola BSD.
Métodos de instalación
Disquetes
Aunque hace tiempo fue posible instalar todo Slackware Linux desde disquetes, el tamaño en aumento de los paquetes de software (incluso, de algunos programas individualmente) ha forzado el abandono de la instalación desde disquetes. Hasta la versión 7.1 de Slackware una instalación parcial era posible, utilizando disquetes. Las series A y N podían ser instaladas casi en su totalidad, brindando un sistema básico desde el cual era posible instalar el resto de la distribución. Si usted está considerando una instalación desde disquetes (típica de hardware antiguo) es típico recomendar que busque otra manera, o que utilice una versión más vieja de Slackware. Slackware 4.0 es aún muy popular por esta razón, así como 7.0.
Por favor, note que los disquetes aún son necesarios para una instalación desde CD-ROM si usted no posee un CD autoarrancable, así como para una instalación NFS.
CD-ROM
Si usted posee el CD autoarrancable, disponible en el juego de discos oficiales publicado por Slackware Linux Inc. (ver la sección llamada Obteniendo Slackware), la instalación basada en CD va a ser un poco más simple para usted. Si no, necesitará arrancar desde disquetes. También, si usted posee hardware especial que hace problemático el uso del núcleo que viene en el CD autoarrancable, necesitará utilizar disquetes especializados.
Desde Slackware versión 8.1, es utilizado un nuevo método para crear los CD autoarrancables, el cual no funciona bien con ciertos BIOS (debe notarse que la mayoría de los CD arrancables de Linux sufren esta dolencia). Si este es el caso, le recomendamos arrancar desde un disquete.
La Sección 3.2.3 y Sección 3.2.5 brindan información a la hora de escoger y crear disquetes para decidir desde cuál arrancar, en caso de que fuera necesario.
NFS
NFS (el Sistema de Archivos en Red - Network File System) es una manera de hacer los sistemas de archivos disponibles para máquinas remotas. Una instalación desde NFS permite instalar Slackware desde otra computadora en la red. La máquina desde la cual usted está instalando necesita configurarse para exportar el árbol de la distribución de Slackware a la máquina en la cual usted está instalando. Esto, por supuesto, implica algunos conocimientos de NFS, el cual se explica en la Sección 5.6.2.
Es posible realizar una instalación NFS mediante métodos como PLIP (sobre puerto paralelo), SLIP y PPP (aunque no sobre una conexión por módem). De todas formas, recomendamos utilizar una tarjeta de red, si estuviera disponible. Después de todo, instalar un sistema operativo mediante el puerto de impresoras es un proceso muy, muy lento.
Disquetes de inicio
El disquete de inicio es el disquete desde el cual usted arranca para comenzar la instalación. Este contiene una imagen comprimida del núcleo la cual se utiliza para controlar el hardware durante la instalación. Por ende es algo muy necesario (a menos que esté iniciando desde CD, como se explica en la sección llamada CD-ROM). Los disquetes de inicio se encuentran en el directorio bootdisks/ en el árbol de la distribución.
Existen más disquetes de inicio de Slackware, como podrá observar (digamos, alrededor de 16). Una lista completa, con una descripción de cada uno, se puede encontrar en el árbol de la distribución de Slackware en bootdisks/README.TXT. De todas maneras, la mayoría de las personas pueden utilizar la imagen de disquete de inicio bare.i (para dispositivos IDE) o scsi.s (para dispositivos SCSI).
Vea la Sección 3.2.6 para obtener las instrucciones de cómo hacer un disquete desde una imagen.
Después de iniciar, se le va a solicitar que inserte el disco "root". Nosotros recomendamos que en este punto sencillamente juegue con el disco y continúe.
Disquete root
El disquete root contiene el programa de instalación y el sistema de archivos que será utilizado durante la instalación. Estos también son necesarios. La imagen del disquete root se encuentra en el directorio rootdisks en el árbol de la distribución. Usted tendrá que hacer dos disquetes root desde las imágenes install.1 e install.2. Aquí puede también encontrar los discos network.dsk, pcmcia.dsk, rescue.dsk, y sbootmgr.dsk.
Disquete suplementario
El disco suplementario es necesario en caso de que usted esté realizando una instalación desde NFS o al instalar en un sistema con dispositivos PCMCIA. Los discos suplementarios están en el directorio de los discos root, con los nombres de archivo network.dsk y pcmcia.dsk. Recientemente, otros discos suplementarios han sido añadidos, como por ejemplo rescue.dsk y sbootmgr.dsk. El disco de rescate (rescue) es una pequeña imagen del disco root que corre en unidades con 4 MiB de RAM. Incluye algunas utilidades básicas de redes, como el editor vi, para hacer reparaciones rápidas en máquinas con problemas. El disco sbootmgr.dsk se utiliza para levantar otros dispositivos. Levante desde este disco si su CD-ROM autoarrancable no quiere iniciar los CD de Slackware. Este disco le preguntará por diferentes cosas para levantar, y puede ser una manera conveniente de escaparse de un BIOS defectuoso.
El disco root va a darle las instrucciones en el uso de los discos suplementarios cuando este cargue.
Hacer los discos
Una vez que usted ha seleccionado una imagen de un disco de arranque, necesita ponerla en un disquete. El proceso es ligeramente diferente en dependencia de qué sistema operativo esté usando para hacer los discos. Si usted está corriendo Linux (o casi cualquier sistema de estilo Unix) va a necesitar utilizar el comando dd(1). Asumiendo que bare.i es el archivo imagen de su disco y que su unidad de disquetes es /dev/fd0, el comando para hacer un disquete bare.i es:
% dd if=bare.i of=/dev/fd0
Si está corriendo un sistema operativo Microsoft, necesitará utilizar el programa RAWRITE.EXE, el cual está incluído en el árbol de la distribución en el mismo directorio que las imágenes de los disquetes. Una vez más, asumiendo que bare.i es su imagen de disco y que su unidad de disquete es A:, abra una consola de DOS y teclee lo siguiente:
C:\ rawrite a: bare.i
Particionado
Después de arrancar desde su medio preferido, usted necesitará particionar su disco duro. La partición de disco es donde el sistema de archivos de Linux será creado, y donde Slackware será instalado. Como mínimo recomendamos dos particiones; una para la raíz del sistema de archivos (/) y uno para el espacio de intercambio (swap).
Después de que el disco root termine de cargar, le va a presentar a usted un prompt para iniciar sesión. Inicie sesión como root (no tiene contraseña). En la consola, ejecute o bien cfdisk(8) o fdisk(8). El programa cfdisk brinda una interfaz más amigable al usuario que el programa fdisk, pero carece de ciertas características. Explicaremos brevemente el programa fdisk a continuación.
Comience ejecutando fdisk para su disco duro. En Linux, los discos duros no tienen como identificador las letras de las unidades, sino que se representan por un archivo. El primer disco duro IDE (master primario) es /dev/hda, el esclavo primario es /dev/hdb, y así. Los discos SCSI siguen la misma convención, solo que en forma de /dev/sdX. Usted necesitará para arrancar fdisk pasarle como parámetro su disco duro:
# fdisk /dev/hda
Como todo buen programa en Unix, fdisk le brinda un cursor (creía que le daría un menú, ¿verdad?). La primera cosa que usted debe hacer es examinar sus particiones actuales. Esto lo hacemos tecleando p en el cursor de fdisk:
Command (m for help): p
Esto mostrará toda clase de información sobre sus particiones actuales. La mayoría de las personas seleccionan una torre libre para instalar en ella y eliminan todas las particiones existentes en ella para hacer espacio para las particiones de Linux.
ADVERTENCIA: ES MUY IMPORTANTE QUE USTED RESPALDE CUALQUIER INFORMACIÓN QUE DESEE SALVAR ANTES DE DESTRUIR LA PARTICIÓN EN LA CUAL SE ENCUENTRA ESTA.
No hay ninguna manera sencilla de recuperarse de la eliminación de una partición, así que siempre respalde antes de jugar con ellas.
Mirando la información de la tabla de particiones usted debe ver el número de la partición, el tamaño y el tipo. Hay más información, pero no se preocupe por ella a hora. Vamos a eliminar todas las particiones de la torre para crear las de Linux. Use el comando d para eliminarlas:
Command (m for help): d Partition number (1-4): 1
Este proceso debe continuarse para cada una de las particiones. Después de eliminar las particiones estamos listos para crear las de Linux. Tenemos una partición para la raíz del sistema de archivos y otra para el intercambio (swap). Nótese que los esquemas de particionamiento en Unix son motivo de muchas guerras, y la mayoría de los usuarios van a decirle la mejor manera de hacerlo. Como mínimo, usted debe crear una partición para / y otra para intercambio. Al pasar el tiempo, usted desarrollará un método que funcione bien para su caso.
Yo uso dos esquemas de particionamiento básico. El primero es para escritorio. Yo hago 4 particiones, /, /home, /usr/local, y swap. Esto me permite reinstalar o actualizar toda la instalación bajo / sin barrer mis archivos de datos que se encuentran bajo /home o mis programas compilados que se hallan bajo /usr/local. Para los servidores, yo frecuentemente reemplazo la partición /usr/local por la partición /var. Muchos servicios diferentes almacenan información en esta partición, y mantenerla separada de / tiene ciertos beneficios en el desempeño. Por ahora nos quedaremos con solo dos particiones: / y swap.
Ahora crearemos las particiones con el comando n:
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4):1 First cylinder (0-1060, default 0):0 Last cylinder or +size or +sizeM or +sizeK (0-1060, default 1060):+64M
Necesitará asegurarse de crear particiones primarias. La primera partición va a ser nuestra partición de intercambio. Le diremos a fdisk que cree la partición número 1 como partición primaria. Comenzaremos en el cilindro 0 y para el cilindro final teclearemos +64M. Esto nos dará una partición de 64 MiB para intercambio (el tamaño de la partición de intercambio que usted necesita depende de la cantidad de RAM que usted tenga; es sabiduría convencional crear un espacio de intercambio que sea el doble de la RAM). Entonces definiremos que la partición número 2 comienza en el primer cilindro disponible y va a llegar hasta el final de la unidad.
Command (m for help):n Command action e extended p primary partition (1-4) p Partition number (1-4):2 First cylinder (124-1060, default 124):124 Last cylinder or +size or +sizeM or +sizeK (124-1060, default 1060):1060
Ya casi terminamos. Necesitamos cambiar el tipo de la primera partición a tipo 82 (Linux swap). Teclee t para cambiar el tipo, seleccione la primera partición, y teclee 82. Antes de escribir los cambios en el disco, usted debe mirar la nueva tabla de particiones una última vez. Utilice p en fdisk para mostrar la tabla de particiones. Si todo parece bien, teclee w para escribir sus cambios al disco y salir de fdisk.
Programa setup
Una vez que usted haya creado sus particiones, estará listo para instalar Slackware. El próximo paso en el proceso de instalación es correr el programa setup(8). Para hacer esto, simplemente teclee setup la consola. setup es un sistema basado en menúes para instalar los paquetes de Slackware y configurar su sistema.
El proceso de instalación transcurre más o menos así: Usted pasa por cada opción del programa setup, en el orden en que se listan (por supuesto, usted es libre de hacer las cosas en casi cualquier orden que desee, pero es posible que las cosas no salgan muy bien). Las opciones del menú se seleccionan utilizando las teclas arriba y abajo, y los botones “Ok” y “Cancel” pueden ser seleccionados utilizando las flechas izquierda y derecha en el teclado. Alternativamente, cada opción tiene una tecla correspondiente, la cual es resaltada en el nombre de la opción. Las opciones seleccionables (las que se indican con una [X]) pueden marcarse utilizando la barra espaciadora.
Por supuesto, todo esto se describe en la sección “help” de setup, pero pensamos que debemos darles a nuestros lectores lo que merecen.
HELP
Si esta es la primera vez que usted instala Slackware, quizás desee dar una vuelta por la pantalla de ayuda. Esta le dará una descripción de cada parte de setup (muy parecido a lo que estamos escribiendo ahora, pero con menos compromiso) y las instrucciones para navegar por el resto de la instalación.
KEYMAP
Si usted requiere de otro mapa de teclado, distinto de la organización Estados Unidos “qwerty”, usted querrá mirar esta sección. Esta ofrece un número de organizaciones alternativas para su teclado.
ADDSWAP
Si usted creó una partición swap (regrese a la Sección 3.3), esta sección va a permitirle habilitarla. Esta va a autodetectar y mostrar las particiones de intercambio de su disco duro, permitiéndole seleccionar una para formatearla y habilitarla.
TARGET
La sección "target" es donde su otra partición (no swap) será formateada y mapeada en los puntos de montaje del sistema de archivos. Se mostrará una lista de las particiones de disco duro. Por cada partición, usted tendrá la opción de formatearla o no. Dependiendo del núcleo que use, usted puede elegir entre reiserfs (predeterminada), ext3, ext2, jfs y xfs. La mayoría de las personas usan reiserfs o ext3. En el futuro cercano, podremos dar soporte a reiserfs4.
La primera opción en la sección "target" es la selección de una partición en la cual usted instalará su sistema de archivos raíz (/). Después de eso, podrá mapear otras particiones en el sistema de archivos. (Por ejemplo, usted puede desear que su tercera partición, digamos /dev/hda3, sea su sistema de archivos "home". Esto es solo un ejemplo; asigne las particiones como usted desee.)
SOURCE
La sección "source" es donde usted selecciona el medio fuente desde donde instalar Slackware. Actualmente hay cuatro fuentes de donde seleccionar. Estas son CD-ROM, NFS, o un directorio premontado.
La selección CD-ROM habilita la instalación basada en CD-ROM. Esta ofrece la opción de buscar una unidad de CD-ROM o mostrar una lista desde la cual usted pueda seleccionar su tipo de unidad. Asegúrese de tener el CD de Slackware en su unidad antes de permitirle buscar.
La selección NFS le solicita información de su red, y la información de la red de su servidor NFS. El servidor NFS debe ser configurado de antemano. Note además que usted no puede utilizar nombres de host, sino que debe utilizar la dirección IP tanto para su máquina como para el servidor NFS (esto se debe a que no hay programas para resolver nombres en el disco de inicio). Naturalmente, usted debe haber utilizado el disquete network.dsk para darle soporte al controlador de red.
El directorio premontado ofrece la mayor flexibilidad. Puede utilizar este método para instalar desde dispositivos como discos Jazz, NFS montado sobre PLIP, y sistemas de archivos FAT. Monte el sistema de archivos en un determinado lugar antes de correr setup, y especifique la localización aquí.
SELECT
La opción "select" le permite seleccionar las series de software que usted desea instalar. Estas series se describen en la Sección 3.2.1. Por favor note que usted debe instalar la serie A para obtener un sistema básico funcional. Todas las demás series son opcionales.
INSTALL
Asumiendo que usted haya ido a través de las opciones “target”, “source” y “select”, la opción install le permitirá seleccionar los paquetes de las series de software que usted haya escogido. Si no, le indicará que regrese y complete las otras opciones del menú de setup. Esta opción le permitirá escoger entre seis métodos de instalación diferentes: full, newbie, menu, expert, custom, y tag path.
La opción full instalará todos los paquetes de todas las series de software que usted haya seleccionado en la sección “select”. En esta no se realizan más preguntas. Este es el método de instalación más sencillo, ya que no necesita que usted tome ninguna decisión sobre cuales paquetes instalar. Por supuesto, esta opción es la que más espacio en disco consume.
La próxima opción es newbie. Esta opción instala todos los paquetes requeridos de las series seleccionadas. Para todos los demás paquetes, es posible seleccionar “Yes”, “No”, o “Skip”. Yes (Sí) y No hacen lo obvio, mientras Skip (Saltar) va a continuar hacia la próxima serie de software. Adicionalmente, usted verá una descripción y los requisitos de espacio para cada paquete para ayudarlo a decidir si lo necesita. Recomendamos esta opción para los nuevos usuarios, pues asegura que usted tenga todos los paquetes necesarios instalados. De todas maneras, es un poco lento debido a las preguntas.
menu es una versión más rápida y avanzada que la opción newbie. Para cada serie se muestra un menú, desde el cual usted puede seleccionar todos los paquetes no requeridos que desee instalar. Los paquetes requeridos no se muestran en este menú.
Para el usuario más avanzado, "install" ofrece la opción expert. Esta le permite el control total de que paquetes instalar. Es posible deseleccionar paquetes absolutamente requeridos, resultando en un sistema que no funcione. Por otra parte, usted puede controlar exactamente qué sucede en su sistema. Simplemente seleccione los paquetes de cada serie que usted desee que se instalen. Este método no es recomendado para usuarios novicios, pues es muy sencillo que usted se dispare en su propio pie.
Las opciones custom y tag path son también para usuarios avanzados. Estas opciones le permiten instalar basado en los archivos de tags que usted haya creado en el árbol de la distribución. Esto es útil para instalar en un gran número de máquinas muy rápidamente. Para más información utilizando los archivos de tags, ver la Sección 18.4.
Después de seleccionar el método de instalación, una de pocas cosas sucederá. Si usted selecciona menu o expert, aparecerá una pantalla de menú, permitiendo seleccionar los paquetes que serán instalados. Si usted selecciona full, los paquetes inmediatamente comenzarán a ser instalados donde se haya especificado. Si usted selecciona newbie, los paquetes serán instalados hasta que llegue alguno opcional.
Note que es posible quedarse sin espacio mientras está instalando. Si usted selecciona demasiados paquetes para la cantidad de espacio libre en el dispositivo, tendrá problemas. La opción más segura es seleccionar pocos paquetes, y adicionar más posteriormente, en la medida en que los necesite. Esto puede ser hecho fácilmente utilizando las herramientas de gestión de paquetes de Slackware. Para obtener esta información, vea el Capítulo 18.
CONFIGURE
La sección "configure" le permite hacer algunas configuraciones básicas del sistema, una vez que los paquetes hayan sido instalados. Lo que verá en esta sección dependerá en gran parte de los paquetes de software que hayan sido instalados. De cualquier manera, usted siempre verá lo siguiente:
Selección del núcleo
Aquí se le preguntará qué núcleo instalar. Usted puede instalar el núcleo que se encuentra en el disquete de inicio que utilizó para instalar, desde el CD-ROM de Slackware, o desde otro disquete que usted (siempre con vista larga) haya preparado. O puede seleccionar "skip", en cuyo caso el se instalará núcleo predeterminado.
Hacer un disco de arranque
Hacer un disco de arranque para uso futuro es probablemente una buena idea. Usted tendrá la opción de formatear un disquete y crear uno o dos tipos de disquetes de inicio. El primer tipo, simple, simplemente (vaya a la figura) escribe el núcleo en el disquete. Una opción más flexible (y altamente recomendada) es la opción lilo, la cual, por supuesto, va a crear un disco de arranque con lilo. Ver LILO en la Sección 7.1 para obtener más información. Por supuesto, usted puede escoger sencillamente continue, en cuyo caso no se creará ningún disco de arranque.
Módem
Se le solicitará información sobre el módem. Más específicamente, se le preguntará si tiene un módem, y si lo tiene, en qué puerto serie se encuentra.
Las próximas subsecciones de configuración pueden aparecer o no, dependiendo de si usted instaló o no los paquetes correspondientes.
Zona horaria
Esto es algo casi obvio: se le preguntará en qué zona horaria se encuentra. Si usted opera en Zulú, lo sentimos mucho; la lista (extremadamente larga) está ordenada alfabéticamente, y usted queda al final.
Ratón
Esta subsección simplemente pregunta qué tipo de ratón tiene usted, y si desea utilizarlo en la consola al iniciar, mediante gpm(8).
Reloj de hardware
Esta subsección pregunta si el reloj de hardware está puesto en hora con el Tiempo Universal Coordinado (UTC or GMT). La mayor parte de las PC no lo están, así que probablemente debe decir que no.
Tipografía
La subsección de tipografías le permite seleccionar una desde una lista de tipografías personalizadas para la consola.
LILO
Aquí se le pregunta para la instalación de LILO (el LInux LOader; ver Sección 7.1 para más información).
Si Slackware va a ser el único sistema operativo en su computadora, simple debe funcionar bien para usted. Si usted está preparando un inicio dual, la opción expert es mejor. Vea la Sección 7.3 para más información sobre inicio dual. La tercera opción, do not install (no instalar), no es recomendada a menos que usted sepa lo que está haciendo y tenga una muy buena razón para no instalar LILO. Si usted está haciendo una instalación experta, se le dará la opción de dónde poner el LILO. Usted puede poner el LILO en el MBR (Master Boot Record) de su disco duro, en el superbloque de su partición raíz de Linux, o en un disquete.
Red
La configuración de red es realmente netconfig. Ver la Sección 5.1 para mayor información.
Gestor X Window
Esta subsección le permitirá seleccionar el gestor de ventanas predeterminado para X. Vea el Capítulo 6 para obtener más detalles sobre X y los gestores de ventanas.
Sin importar qué paquetes haya instalado, la última cosa que se le va a preguntar es si desea poner una contraseña a root. Por razones de seguridad, esto es probablemente una buena idea, pero como casi todo en Slackware, es su opción.
Configuración del sistema
Antes de que usted pueda configurar las partes más avanzadas de su sistema, es una buena idea aprender cómo está organizado el sistema y qué comandos pueden ser utilizados para buscar archivos y programas. También es bueno saber si usted necesita compilar un núcleo personalizado, y cuáles son los pasos para hacerlo. Este capítulo lo familiarizará con la organización del sistema y los archivos de configuración. Entonces, usted podrá continuar configurando los componentes más avanzados del sistema.
Panorámica del sistema
Es importante entender cómo se estructura un sistema Linux antes de sumergirnos en los diferentes aspectos de su configuración. Un sistema Linux es significativamente diferente de un DOS, Windows, o Macintosh (con la excepción de Mac OS X, basado en Unix), pero estas secciones le ayudarán a ponerse al corriente con su organización, de manera que usted pueda configurar fácilmente su sistema para que adapte a sus necesidades.
Organización del sistema de archivos
La primera diferencia notable entre Slackware Linux y DOS o Windows es el sistema de archivos. Para los principiantes, nosotros no utilizamos letras de unidades para denotar las diferentes particiones. En Linux existe un directorio principal. Usted puede relacionarla con la unidad C: bajo DOS. Cada partición en su sistema es montada en un directorio dentro del directorio principal. Es algo así como un disco duro siempre en expansión.
Le llamamos directorio principal al directorio raíz, y se denota con una barra sencilla (/). Este concepto puede parecer extraño, pero realmente hace la vida más fácil cuando usted desea adicionar más espacio. Por ejemplo, digamos que se le está terminando el espacio en la torre en la cual se encuentra /home. La mayoría de las personas instalan Slackware y hacen una gran torre raíz. Bien, teniendo en cuenta que una partición puede ser montada en cualquier directorio, usted simplemente va a la tienda, y busca un nuevo disco duro, y lo monta en /home. Ahora tiene un espacio más en su sistema. Y todo esto sin tener que mover mucho las cosas.
Debajo, hallará las descripciones de los directorios de nivel superior que existen en Slackware.
- bin
- Los programas de usuario esenciales se almacenan aquí. Estos son, esencialmente, el grupo mínimo de programas que un usuario requiere para usar el sistema. Aquí se almacenan cosas como la consola y los comandos del sistema de archivos (ls, cp, y otros). El directorio /bin usualmente no recibe modificaciones después de la instalación. Si sucedieran, sería en forma de paquetes que nosotros brindamos.
- boot
- Los archivos que son utilizados por el cargador de Linux (LILO). Este directorio también recibe pocas modificaciones después de la instalación. El núcleo se almacena aquí desde Slackware 8.1. En versiones anteriores de Slackware, el núcleo estaba simplemente almacenado bajo / , pero la práctica común es poner el núcleo y los archivos relacionados aquí para facilitar el inicio dual.
- dev
- Todo en Linux es tratado como un archivo, incluso los dispositivos de hardware como los puertos series, discos duros, y escáneres. Para acceder a estos dispositivos, un archivo especial llamado nodo de dispositivo tiene que estar presente. Todos los nodos de dispositivos se almacenan en el directorio /dev. Usted verá que esto es así en muchos sistemas operativos de estilo Unix.
- etc
- Este directorio almacena los archivos de configuración del sistema. Todo desde el archivo de configuración de X Window, la base de datos de usuarios, los scripts de inicio del sistema. El administrador del sistema se hará muy familiar con este directorio con el transcurso del tiempo.
- home
- Linux es un sistema operativo multiusuario. Cada usuario en el sistema tiene una cuenta y un directorio único para sus archivos personales. Este directorio es llamado el "home" de cada usuario. El directorio /home se brinda como la localización predeterminada para los directorios de los usuarios.
- lib
- Aquí se almacenan las bibliotecas del sistema que se requieren para la operación básica. Las bibliotecas C, el cargador dinámico, la biblioteca ncurses y los módulos del núcleo están entre las cosas que se almacenan aquí.
- mnt
- Este directorio contiene puntos de montaje temporales para el trabajo con discos duros o unidades extraíbles. Aquí encontrará puntos de montaje para sus CD-ROM y sus disquetes.
- opt
- Paquetes de software opcionales. La idea detrás de /opt es que cada paquete de software se instale en /opt/software-package, lo cual hace más sencillo eliminarlos más adelante. Slackware distribuye algunas cosas en /opt (como por ejemplo KDE en /opt/kde), pero usted es libre de agregar lo que desee a /opt.
- proc
- Este es un directorio único. Realmente, no es parte del sistema de archivos; es un sistema de archivos virtual que brinda acceso a la información del núcleo. Varias partes de la información que el núcleo desea que usted conozca se len muestra a usted a través del directorio /proc. Usted puede también enviar información al núcleo a través de algunos de estos archivos. Pruebe haciendo:
% cat /proc/cpuinfo
- root
- El administrador del sistema es conocido como root en el sistema. El "home" de root se mantiene en /root en vez de en /home/root. La razón es simple: ¿qué sucedería si /home estuviera en una partición diferente de / y no pudiera montarse? root naturalmente desearía entrar y reparar el problema. Si su directorio "home" estuviese en el sistema de archivos dañado, le sería muy difícil entrar.
- sbin
- Aquí se almacenan programas esenciales que usa root y los que se ejecutan durante el proceso de inicio del sistema. Los usuarios comunes no pueden ejecutar los programas de este directorio.
- tmp
- La localización de almacenamiento temporal. Todos los usuarios tienen derechos de lectura y escritura en este directorio.
- usr
- Este es el gran directorio en un sistema Linux. Todo lo demás va aquí, programas, documentación, el código fuente del núcleo, y el sistema X Window. Este es el directorio en el cual es más probable que usted esté instalando programas.
- var
- Los archivos de registro (logs) del sistema, datos de caché y archivos de claves de programas se almacenan aquí. Este es el directorio para los datos que cambian frecuentemente.
Ahora usted debe de tener un buen sentido de qué contiene cada directorio en el sistema de archivos. Hay disponible más información detallada sobre la organización del sistema de archivos en la página man de hier(7). La próxima sección debería ayudarlo a hallar archivos específicos fácilmente, de manera que no tenga que hacerlo a mano.
Buscando archivos
Usted conoce a grandes rasgos qué contiene cada directorio, pero esto aún no lo ayuda realmente a encontrar las cosas. Es decir, usted puede ir mirando a través de los directorios, pero hay maneras más rápidas. Hay cuatro comandos principales de búsqueda disponibles en Slackware.
which
El primero es el comando which(1). which es utilizado para localizar un programa rápidamente. Este solo busca en su PATH y devuelve la primera instancia que encuentre y el camino del directorio hasta esta. Sirva este ejemplo:
% which bash /bin/bash
Como puede ver, bash está en el directorio /bin. Este es un comando muy limitado para buscar, pues solo busca en su PATH.
whereis
El comando whereis(1) funciona de manera similar a which, pero puede buscar además en las páginas man y los archivos de fuentes. Una búsqueda de bash con whereis puede devolver esto:
% whereis bash bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz
Este comando no solo nos dice dónde se encuentra el programa actual, sino dónde está la documentación en línea almacenada. Aun así, el comando es limitado. ¿Y si usted deseara buscar un archivo de configuración específico? Usted no podría utilizar which o whereis para esto.
find
El comando find(1) le permite al usuario buscar en el sistema de archivos con una rica colección de predicados de búsqueda. Los usuarios pueden especificar una búsqueda con determinados comodines, rangos de modificación u hora de creación, u otras propiedades avanzadas. Por ejemplo, para buscar el archivo predeterminado xinitrc en el sistema, se puede utilizar el siguiente comando:
% find / -name xinitrc /var/X11R6/lib/xinit/xinitrc
find se va a demorar un poco en correr, pues tiene que recorrer todo el árbol de directorios. Y si el comando se ejecuta como usuario normal, van a mostrarse mensajes de permisos denegados en los directorios que solo root puede ver. Pero find encontrará nuestro archivo, y eso es bueno. Si solo pudiera ser un poquito más veloz...
slocate
El comando slocate(1) busca en todo el sistema de archivos, al igual que el comando find, pero busca en una base de datos en vez de en el sistema de archivos actual. Esta base de datos se actualiza cada mañana, así que la lista que se ofrece va a estar bastante fresca. Usted puede correr manualmente updatedb(1) para actualizar la base de datos de slocate (antes de correr updatedb a mano, debe hacer su para correrlo como el usuario root). Aquí hay un ejemplo de slocate en acción:
% slocate xinitrc # no tenemos que ir a la raíz /var/X11R6/lib/xinit/xinitrc /var/X11R6/lib/xinit/xinitrc.fvwm2 /var/X11R6/lib/xinit/xinitrc.openwin /var/X11R6/lib/xinit/xinitrc.twm
Hemos obtenido más de lo que estábamos buscando, y además rápido. Con estos comandos, usted debería poder encontrar cualquier cosa que esté buscando en su sistema Linux.
Directorio /etc/rc.d
Los archivos de inicialización se almacenan en el directorio /etc/rc.d. Slackware utiliza la organización al estilo BSD para sus ficheros de inicialización, a diferencia de los scripts de inicio al estilo System V, los cuales tienden a hacer que los cambios de configuración sean más complicados sin utilizar un programa especialmente diseñado para este propósito. En los scripts init de BSD, cada nivel (runlevel) se encuentra en un solo script rc. En System V, cada nivel tiene su propio directorio, cada uno con numerosos scripts de inicio. El estilo BSD brinda una estructura organizada que es fácil de mantener.
Existen diversas categorías para los archivos de inicialización. Estas son arranque del sistema, niveles, inicialización de la red, y compatibilidad con System V. Como es tradición, uniremos todo lo demás en otra categoría.
Inicio del sistema
El primer programa que se ejecuta bajo Slackware después del núcleo Linux es init(8). Este programa lee el archivo /etc/inittab(5) para averiguar cómo iniciar el sistema. Este corre el script /etc/rc.d/rc.S para preparar el sistema antes de ir al nivel deseado. El archivo rc.S habilita la memoria virtual, monta sus sistemas de archivos, limpia ciertos directorios de registros, inicializa dispositivos "Plug and Play", carga los módulos del núcleo, configura dispositivos PCMCIA, prepara los puertos serie, y corre los scripts de inicio de System V (si existen). Obviamente rc.S tiene mucho que hacer, pero hay algunos scripts en /etc/rc.d que rc.S llamará para completar su trabajo.
- rc.S
- Este es el script de inicialización del sistema.
- rc.modules
- Carga los módulos del núcleo. Cosas como su tarjeta de red, soporte PPP y otras se cargan aquí. Si este script encuentra rc.netdevice, lo correrá también.
- rc.pcmcia
- Prueba y configura cualquier dispositivo PCMCIA que usted pueda tener en su sistema. Este es más útil para los usuarios de portátiles, que probablemente tengan un modem o una tarjeta de red PCMCIA.
- rc.serial
- Configura su puerto serie corriendo los comandos setserial apropiados.
- rc.sysvinit
- Busca scripts Sistema V para el nivel deseado y los corre. Esto se discute con mayor detalle más adelante.
Scripts de inicialización de niveles
Después de que la inicialización del sistema se completa, init se mueve a una inicialización de acuerdo con el nivel. Un nivel (runlevel) describe el estado en el cual su máquina va a estar corriendo. ¿Suena redundante? Bueno, el nivel le dice a init si usted va a estar aceptando varios usuarios, o uno solo, si desea utilizar servicios de red o no, y si va a estar utilizando el sistema X Window o agetty(8) para manejar los inicios de sesión. Los archivos a continuación definen los diferentes niveles en Slackware Linux.
- rc.0
- Detiene el sistema (runlevel 0). Por omisión, está enlazado a rc.6.
- rc.4
- Inicio multiusuario (runlevel 4) en X11 con KDM, GDM o XDM como gestor de inicio.
- rc.6
- Reinicia el sistema (runlevel 6).
- rc.K
- Inicio en modo usuario único (runlevel 1).
- rc.M
- Modo multiusuario (runlevels 2 y 3), pero con el inicio de sesión estándar basado en texto. Este es el nivel por omisión en Slackware.
Inicialización de la red
Los niveles 2, 3 y 4 van a arrancar los servicios de red. Los siguientes archivos son los responsables de la inicialización de red:
- rc.inet1
- Creado por netconfig, este archivo es responsable de configurar la interfaz de red actual.
- rc.inet2
- Corre después de rc.inet1 y arranca los servicios de red básicos.
- rc.atalk
- Arranca los servicios AppleTalk.
- rc.httpd
- Arranca el servidor web Apache. Como otros pocos scripts rc, este puede ser utilizado para detener y reiniciar el servicio. rc.httpd toma argumentos de parada, arranque y reinicio.
- rc.news
- Arranca el servidor de noticias.
Compatibilidad con System V
La compatibilidad con System V se introdujo en Slackware 7.0. Muchas otras distribuciones de Linux hacen uso de este estilo en vez del estilo BSD. Básicamente, cada nivel posee un directorio para los scripts de inicio, mientras que el estilo BSD brinda un script de instalación para cada nivel.
El script rc.sysvinit buscará cualquier script System V que usted tenga en /etc/rc.d y lo correrá, si el nivel (runlevel) es apropiado. Esto es útil para ciertos paquetes de software comercial que instalan scripts al estilo System V.
Otros archivos
Los scripts descritos a continuación son los demás scripts de inicialización del sistema. Estos típicamente corren desde uno de los scripts mayores descritos arriba, de manera que lo único que usted necesita hacer es editar los contenidos.
- rc.gpm
- Arranca los servicios del ratón para propósito general. Permite cortar y pegar en la consola de Linux. Ocasionalmente, gpm causará problemas con el ratón cuando se utiliza bajo ventanas X. Si usted experimenta problemas con el ratón bajo X, pruebe quitando los permisos de ejecución de este script y deteniendo el servidor gpm.
- rc.font
- Carga la tipografía personalizada para mostrar los caracteres en la consola.
- rc.local
- Contiene cualquier comando específico de inicio para su sistema. Está vacío después de una nueva instalación, y está reservado para los administradores locales. Este script corre después de que el resto de las inicializaciones han terminado.
Para habilitar un script, todo lo que necesita hacer es asignar los permisos de ejecución a este con el comando chmod. Para deshabilitar un script, elimínele los permisos de ejecución. Para más información sobre chmod, vea la Sección 9.2.
Seleccionar un núcleo
El núcleo es la parte del sistema operativo que brinda el acceso al hardware, el control de procesos, y el control total del sistema. El núcleo contiene soporte para sus dispositivos de hardware, de manera que la elección del núcleo para su sistema es un paso importante.
Slackware brinda más de una docena de núcleos precompilados, desde los cuales usted puede seleccionar, cada uno con un grupo estándar de controladores, y controladores específicos adicionales. Usted puede correr uno de los núcleos precompilados, o construir su propio núcleo desde las fuentes. De cualquier manera, usted necesita cerciorarse de que el núcleo tenga el soporte de hardware que su sistema necesita.
Directorio /kernels en el CD-ROM de Slackware
Los núcleos precompilados de Slackware están disponibles en el directorio /kernels en el CD-ROM de Slackware o en el sitio FTP en el directorio principal de Slackware. Los núcleos disponibles cambian en la medida en que se realizan publicaciones (releases), así que la documentación en este directorio es siempre una fuente de autoridad. El directorio /kernels tiene subdirectorios para cada núcleo disponible. Los subdirectorios tienen el mismo nombre que su disco de inicio acompañante. En cada subdirectorio usted hallará los siguientes archivos:
- System.map
- El archivo de mapa de sistema para este núcleo.
- bzImage
- La actual imagen del núcleo.
- config
- El archivo de configuración de las fuentes para este núcleo.
Para utilizar un núcleo, copie los archivos System.map y config hacia su directorio /boot y copie la imagen del núcleo hacia /boot/vmlinuz. Corra /sbin/lilo(8) para instalar LILO para el nuevo núcleo, y reinicie el sistema. Eso es todo para instalar un nuevo núcleo.
Los núcleos que terminan en .i son núcleos IDE. Esto significa que no incluyen soporte para SCSI en el núcleo base. Los núcleos que terminan en .s son núcleos SCSI. Estos incluyen todo el soporte IDE de los .i, más el soporte SCSI.
Compilar un núcleo desde el código fuente
La pregunta “¿Debo compilar un núcleo para mi sistema?” es escuchada frecuentemente en los nuevos usuarios. La respuesta es un quizás definitivo. Hay pocos ejemplos en los cuales usted necesita compilar un núcleo específico para su sistema. La mayoría de los usuarios pueden usar un núcleo precompilado y con los módulos cargables lograr un sistema totalmente funcional. Usted necesitará compilar un núcleo para su sistema si está actualizando a versiones del núcleo que en ese momento no se ofrezcan en Slackware, o usted ha parcheado el código del núcleo para brindar soporte a un dispositivo determinado que no está en el núcleo nativo. Cualquiera que tenga un sistema SMP definitivamente querrá compilar el núcleo con soporte SMP. Además, muchos usuarios encuentran que un núcleo compilado según sus necesidades corre mucho más rápido en su máquina. Usted puede encontrar útil compilar el núcleo con las optimizaciones disponibles para su procesador en específico.
Construir su propio núcleo no es tan difícil. El primer paso es asegurarse de que usted tiene las fuentes del núcleo instaladas en su sistema. Asegúrese de que instaló los paquetes de la serie K durante la instalación. Usted también querrá estar seguro de que tiene la serie D instalada, específicamente el compilador de C, GNU make, y GNU binutils. En general, es una buena idea tener la serie D completa instalada si usted planea hacer cualquier clase de desarrollo. Usted puede también descargar la última fuente del núcleo desde http://www.kernel.org/mirrors.
Compilación del núcleo de Linux versión 2.4.x
% su - Password: # cd /usr/src/linux
El primer paso es poner las fuentes del núcleo en su estado base. Emitimos este comando para hacer esto (usted puede que desee respaldar el archivo .config ya que este comando lo va a eliminar sin preguntar):
# make mrproper
Ahora usted puede configurar el núcleo para su sistema. El núcleo actual ofrece tres vías para hacer esto. La primera es el sistema original, basado en texto, de preguntas y respuestas. Este hace muchas preguntas y construye un archivo de configuración. El problema con este método es que si usted comete una equivocación, debe comenzar de nuevo. El método que la mayoría prefiere es el dirigido mediante un menú. Últimamente, existe una herramienta para la configuración del núcleo basada en X. Seleccione el que desee y emita el comando apropiado:
# make config (versión basada en texto, preguntas y respuestas) # make menuconfig (dirigida por menú, versión basada en texto) # make xconfig (Versión basada en X, asegúrese de estar primero en X)
Figura 4-1. Menú de Configuración del Núcleo
Los nuevos usuarios probablemente encontrarán menuconfig más fácil de usar. Se brindan pantallas de ayuda que explican las diversas partes del núcleo. Después de configurar su núcleo, salga del programa de configuración. Este escribirá los archivos de configuración necesarios. Ahora podemos preparar el árbol de las fuentes para construir:
# make dep # make clean
El próximo paso es compilar el núcleo. Primero trate emitiendo el comando bzImage:
# make bzImage
Esto puede tomar un rato, dependiendo de la velocidad de su CPU. Durante el proceso de construcción, usted va a ver los mensajes del compilador. Después de la imagen del núcleo, usted querrá compilar las partes del núcleo que haya marcado como modulares.
# make modules
Ahora podemos instalar el núcleo y los módulos que usted compiló. Para instalar el núcleo en un sistema Slackware, se deben ingresar estos comandos:
# mv /boot/vmlinuz /boot/vmlinuz.old # cat arch/i386/boot/bzImage > /vmlinuz # mv /boot/System.map /boot/System.map.old # cp System.map /boot/System.map # make modules_install
Usted querrá editar /etc/lilo.conf y agregar una sección para iniciar su viejo núcleo en caso de que el nuevo no funcione. Después de hacer esto, corra /sbin/lilo para instalar el nuevo bloque de inicio. Ahora puede reiniciar con su nuevo núcleo.
Núcleo Linux versión 2.6.x
La compilación de un núcleo 2.6 es solo ligeramente diferente de un núcleo 2.4 o 2.2, pero es importante que usted entienda las diferencias antes de seguir introduciéndonos al tema. Ya no es necesario correr make dep ni make clean. Además, el proceso de compilación del núcleo ya no es tan extremadamente comunicativo en la serie 2.6. Esto resulta en un proceso de construcción más fácil de entender, pero que tiene limitaciones también. Si usted tiene problemas construyendo el núcleo, es altamente recomendado que restaure todo ese exceso de comunicación. Para hacer esto simplemente agregue V=1 a la construcción. Esto permite anotar más información que puede ayudar al desarrollador del núcleo o a otro geek sociable a resolver el asunto.
# make bzImage V=1
Usar los módulos del núcleo
Los módulos del núcleo son otro nombre para los controladores de dispositivos que pueden ser insertados en un núcleo corriendo. Ellos permiten extender el hardware soportado por su núcleo sin necesidad de seleccionar otro núcleo o compilar uno usted mismo.
Los módulos también pueden ser cargados y descargados en cualquier momento, incluso con el sistema corriendo. Esto hace que actualizar controladores específicos sea fácil para los administradores de sistema. Un nuevo módulo puede ser compilado, el antiguo eliminado, y el nuevo cargado, todo sin reiniciar la máquina.
Los módulos se almacenan en el directorio /lib/modules/kernel-version en su sistema. Estos pueden ser cargados desde el inicio a través del archivo rc.modules. Este archivo está muy bien comentado y ofrece ejemplos para los mayores componentes de hardware. Para ver una lista de los módulos que están actualmente activos, use el comando lsmod(1):
# lsmod Module Size Used by parport_pc 7220 0 parport 7844 0 [parport_pc]
Usted puede ver aquí que yo solo tengo cargado el módulo para el puerto paralelo. Para eliminar un módulo, debe usar el comando rmmod(1). Los módulos pueden ser cargados con los comandos modprobe(1) o insmod(1). modprobe es usualmente más seguro, puesto que va a cargar todos los módulos de los cuales el que usted está tratando de instalar depende.
Muchos usuarios nunca han tenido que cargar o descargar un módulo a mano. Ellos utilizan el autocargador del núcleo para la gestión de los módulos. Por omisión, Slackware incluye kmod en sus núcleos. kmod es una opción del núcleo que lo habilita para que automáticamente cargue los módulos en la medida en que son solicitados. Para más información sobre kmod y cómo se configura, vea /usr/src/linux/Documentation/kmod.txt. Usted necesitará tener instalado el paquete de fuentes del núcleo, o descargarlas desde http://kernel.org/.
Puede encontrar más información en las páginas man para cada uno de estos comandos, más en el archivo rc.modules.
Configuración de red
netconfig es su amigo
Cuando usted inicialmente instaló Slackware, el programa de instalación invocó al programa netconfig. netconfig intenta realizar las siguientes funciones para usted:
- Le pregunta por el nombre de su computadora, y el nombre de dominio de su computadora.
- Le da una breve explicación de los distintos esquemas de direccionamiento, cuándo deben ser usados, y pregunta qué esquema de direccionamiento IP usted desea utilizar para configurar su tarjeta de red:
- IP estática.
- DHCP.
- Bucle (loopback).
- Entonces le ofrece sondear para hallar una tarjeta de red que configurar.
netconfig generalmente se ocupará del 80% del trabajo de configurar su LAN si se lo permite. Note que le recomiendo fuertemente que revise su archivo de configuración por un par de razones:
- Usted nunca debe confiar en que un programa de instalación configure correctamente su computadora. Si usted usa un programa de instalación, debe revisar la configuración personalmente.
- Si usted aún está aprendiendo Slackware y gestión de sistemas Linux, ver una configuración que funcione puede ser útil. Usted al menos sabrá a qué se parece una configuración. Esto le va a permitir corregir problemas debido a configuraciones erróneas del sistema posteriormente.
Configuración del hardware de red
Habiendo decidido que usted desea conectar su máquina Slackware a alguna clase de red, la primera cosa que necesitará es una tarjeta de red compatible con Linux. Usted debe tener un mínimo de cuidado para asegurarse que la tarjeta es verdaderamente compatible con Linux (por favor, refiérase al Proyecto de Documentación de Linux o a la documentación del núcleo para obtener información sobre el estado actual de la tarjeta de red propuesta). Por regla general, usted deberá estar placenteramente sorprendido por el número de tarjetas de red que se soportan bajo los núcleos más modernos. Dicho esto, aún le recomiendo referirse a cualquiera de las listas de compatibilidad de hardware (por ejemplo, The GNU/Linux Beginners Group Hardware Compatibility Links y The Linux Documentation Project Hardware HOWTO) que están disponibles en Internet antes de comprar su tarjeta. Un poco de tiempo extra pasado en la investigación puede ahorrarle días e incluso semanas tratando de solucionar el problema con una tarjeta que no sea para nada compatible con Linux.
Cuando usted visite las listas de Compatibilidad de Hardware de Linux disponibles en Internet, o cuando se refiera a la documentación del núcleo instalada en su máquina, es importante notar qué módulo del núcleo necesitará usar para soportar su tarjeta de red.
Cargar los módulos de red
Los módulos del núcleo que se cargan al arrancar el sistema, lo hacen desde el archivo rc.modules en /etc/rc.d o mediante el autocargador de módulos del núcleo, iniciado por /etc/rc.d/rc.hotplug. El archivo rc.modules por omisión incluye una sección de soporte a dispositivos de red. Si usted abre rc.modules y busca esta sección, usted verá que esta primero busca un archivo ejecutable llamado rc.netdevice en /etc/rc.d/. Este script es creado si setup autodetecta su dispositivo de red durante la instalación.
Debajo de ese bloque “if” hay una lista de dispositivos de red y líneas de modprobe, cada una comentada. Busque su dispositivo, descomente la línea modprobe correspondiente, y salve el archivo. Ahora, al correr rc.modules como root, debería cargar su controlador de dispositivo de red (así como otros módulos que estén listados y descomentados). Note que algunos módulos (como el controlador ne2000) requieren parámetros; asegúrese de seleccionar la línea correcta.
Tarjetas LAN (10/100/1000Base-T y Base-2)
Este encabezamiento incluye todas las tarjetas de red internas PCI e ISA. Los controladores para estas tarjetas se brindan vía módulos cargables del núcleo, como se describió en el párrafo anterior. /sbin/netconfig debería haber detectado su tarjeta de red y haber configurado exitosamente su archivo rc.netdevice. Si esto no ocurre, el problema más común es que el módulo que usted está intentando cargar para una tarjeta dada es incorrecto (es conocido que para diferentes generaciones de la misma marca de tarjetas del mismo fabricante pueden ser requeridos diferentes módulos). Si usted está seguro de que el módulo que está intentando cargar es el correcto, su próxima parada debe ser referirse a la documentación del módulo, para intentar descubrir cuándo se requieren parámetros específicos durante la inicialización de este.
Módems
Como las tarjetas LAN, los módems pueden venir con diferentes opciones de soporte para el bus. Hasta hace poco, la mayoría de los módems eran tarjetas ISA de 8 o 16 bits. Con los esfuerzos de Intel y los fabricantes de placas base de todas partes puestos en función de destruir completamente el bus ISA, es común ahora encontrar que la mayoría de los módems son o bien módems externos que se conectan al puerto serie o USB o son módems internos PCI. Si usted desea que su módem funcione con Linux, es VITAL que investigue su módem prospecto a compra, particularmente si usted está comprando un módem PCI. Muchos, por no decir la mayoría de los módems PCI disponibles en tiendas por estos días son WinModems. Los WinModems carecen de algún hardware básico en la tarjeta del módem: Las funciones que realiza este hardware son típicamente delegadas a la CPU por los controladores del módem y el sistema operativo Windows. Esto significa que no poseen la interfaz serie estándar que PPPD espera ver cuando usted intenta marcar hacia su Proveedor de Servicios de Internet.
Si usted desea estar absolutamente seguro de que el módem que usted está comprando trabajará con Linux, compre un módem externo que se conecte al puerto serie de su PC. Está garantizado que estos funcionan mejor y dan menos problemas para instalar y mantener, aunque requieren una fuente externa, y tienden a costar más.
Existen muchos sitios web que brindan controladores y asistencia para configurar dispositivos basados en WinModems. Algunos usuarios han reportado configuraciones e instalaciones exitosas con varios winmodems, incluyendo chipsets Lucent, Conexant y Rockwell. Como el software requerido para estos dispositivos no está incluído en Slackware, y varía de un controlador a otro, no vamos a caer en detalles.
PCMCIA
Como parte de su instalación de Slackware, se le brinda la oportunidad de instalar el paquete pcmcia (en la serie “A” de paquetes). Este paquete contiene las aplicaciones y los archivos de configuración que se requieren para trabajar con tarjetas PCMCIA bajo Slackware. Es importante notar que el paquete pcmcia solo instala software genérico requerido para trabajar con tarjetas PCMCIA bajo Slackware. Este NO instala controladores ni módulos. Los módulos disponibles estarán en el directorio /lib/modules/`uname -r`/pcmcia. Usted puede necesitar hacer algunos experimentos para hallar el módulo que trabaja con su tarjeta de red.
Usted necesitará editar /etc/pcmcia/network.opts (para una tarjeta Ethernet) o /etc/pcmcia/wireless.opts (si posee una tarjeta de red inalámbrica). Como la mayoría de los archivos de configuración de Slackware, estos dos archivos están bien comentados y debe de ser fácil determinar las modificaciones que se necesiten hacer.
Configuración TCP/IP
En este punto, su tarjeta de red debe estar instalada físicamente en su computadora, y los módulos del núcleo necesarios deben estar cargados. Usted no debería aún poder comunicarse mediante su tarjeta de red, pero se puede obtener información sobre el dispositivo de red con ifconfig -a.
# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:A0:CC:3C:60:A4 UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1 RX packets:110081 errors:1 dropped:0 overruns:0 frame:0 TX packets:84931 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:114824506 (109.5 Mb) TX bytes:9337924 (8.9 Mb) Interrupt:5 Base address:0x8400 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:2234 errors:0 dropped:0 overruns:0 frame:0 TX packets:2234 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:168758 (164.8 Kb) TX bytes:168758 (164.8 Kb)
Si teclea solo /sbin/ifconfig sin el sufijo -a, no verá la interfaz eth0, pues su tarjeta de red aún no tiene dirección IP válida ni ruta.
Aunque hay diversas maneras de configurar y poner subredes a las redes, todas ellas pueden separarse en dos tipos: Estáticas y Dinámicas. Las redes estáticas se configuran de manera que cada nodo (jerga geek para nombrar cualquier cosa con dirección IP) siempre tenga la misma dirección IP. Las redes dinámicas se configuran de manera que las direcciones IP de los nodos se controlen por un solo servidor llamado servidor DHCP.
DHCP
DHCP (o Dynamic Host Configuration Protocol - Protocolo de Configuración Dinámica de Host), es el medio a través del cual las direcciones IP pueden ser asignadas a una computadora al arrancar. Cuando el cliente DHCP arranca, envía una solicitud de la Red de Área Local (LAN) al servidor DHCP, para que le asigne una dirección IP. El servidor tiene un fondo de direcciones IP disponibles. Este va a responder a esta solicitud con una dirección IP del fondo, junto con un tiempo de arrendamiento. Una vez que el tiempo de arrendamiento para una dirección IP dada haya expirado, el cliente deberá contactar al servidor de nuevo y repetir la negociación.
El cliente entonces aceptará la dirección IP que le brinde el servidor y configurará la interfaz de red que lo solicitó con la dirección IP. Existe además un truquito que el cliente DHCP usa para la negociación de la dirección IP que le deben asignar. El cliente recordará su última dirección IP, y va a solicitarle al servidor que se la reasigne, hasta la próxima negociación. Si es posible, el servidor lo hará, pero si no, se le asignará una nueva dirección. De manera que la negociación sería algo así:
Cliente: ¿Hay algún servidor DHCP disponible en la LAN? Servidor: Sí, hay uno. Aquí estoy. Cliente: Necesito una dirección IP. Servidor: Puedes tomar 192.168.10.10 por 19200 segundos. Cliente: Gracias.
Cliente: ¿Hay algún servidor DHCP disponible en la LAN? Servidor: Sí, hay uno. Aquí estoy. Cliente: Necesito una dirección IP. La última vez que hablamos, yo tenía 192.168.10.10. ¿Puedo tenerla de nuevo? Servidor: Sí, puedes (o No, no puedes: toma 192.168.10.12 en cambio). Cliente: Gracias.
El cliente DHCP en Linux es /sbin/dhcpcd. Si usted carga /etc/rc.d/rc.inet1 en su editor de texto favorito, notará que /sbin/dhcpcd es llamado a medio camino del script. Esto va a forzar la conversación mostrada anteriormente. dhcpcd también va a mantener la cuenta del tiempo que quede de arrendamiento de la dirección IP actual, y va a contactar automáticamente al servidor DHCP con una solicitud para renovar el arrendamiento cuando sea necesario. DHCP puede además controlar información relacionada, como qué servidor ntp usar, qué ruta tomar, etc.
Configurar DHCP en Slackware es simple. Solo corra netconfig y seleccione DHCP cuando se le ofrezca. Si usted tiene más de una tarjeta de red, y no desea que eth0 sea configurada por DHCP, solo edite el archivo /etc/rc.d/rc.inet1.conf y cambie la variable relacionada con su interfaz de red a “YES”.
IP estática
Las direcciones IP estáticas son direcciones fijas que solo cambian cuando se modifican manualmente. Estas se utilizan cuando el administrador no desea que la información IP cambie, ya sea en servidores internos de una LAN, cualquier servidor conectado a Internet, y enrutadores en red. Con direcciones IP estáticas, usted asigna una dirección y así la deja. Otras máquinas conocen que usted siempre radica en esa dirección IP, y pueden contactarlo ahí siempre.
/etc/rc.d/rc.inet1.conf
Si usted planea asignar una dirección IP a su nuevo Slackware, puede hacerlo a través del script netconfig, o editando /etc/rc.d/rc.inet1.conf. En /etc/rc.d/rc.inet1.conf, usted verá:
# Primary network interface card (eth0) IPADDR[0]="" NETMASK[0]="" USE_DHCP[0]="" DHCP_HOSTNAME[0]=""
Entonces al final:
GATEWAY=""
En este caso, nuestra tarea es meramente poner la información correcta entre las comillas. Estas variables son llamadas por /etc/rc.d/rc.inet1 al inicio para configurar las interfaces de red (NIC). Para cada NIC, simplemente ingrese la información correcta sobre la IP, o ponga “YES” en USE_DHCP para habilitar el DHCP. Slackware va a iniciar las interfaces con la información que se ponga aquí, en el orden que aparezca.
La variable DEFAULT_GW fija la ruta por omisión para Slackware. Todas las comunicaciones entre su computadora y otras computadoras en Internet deben pasar a través de esta pasarela, si no se especifica otra ruta para ellas. Si usted está usando DHCP, normalmente no necesitará poner nada aquí, puesto que el servidor DHCP le especificará qué pasarela utilizar.
/etc/resolv.conf
Bien, ya tiene una dirección IP, ya tiene una pasarela por omisión, incluso puede tener diez millones de dólares (denos algo), pero ¿cuán bueno puede ser eso si no pueden resolver las direcciones IP de los nombres? Nadie quiere teclear 72.9.234.112 en su explorador web para alcanzar www.slackbook.org. Después de todo, ¿quién además de los autores desearía memorizar esa dirección IP? Necesitamos configurar DNS, ¿pero cómo? Es aquí cuando /etc/resolv.conf entra en el juego.
Es posible que usted ya tenga de antemano las opciones correctas en /etc/resolv.conf. Si configuró su conexión de red utilizando DHCP, el servidor DHCP debe de haber actualizado este archivo por usted (técnicamente el servidor DHCP solo le dice a dhcpcd qué debe poner ahí, y este obedece). Si usted necesita actualizar manualmente su lista de DNS, necesita editar /etc/resolv.conf. Debajo hay un ejemplo:
# cat /etc/resolv.conf nameserver 192.168.1.254 search lizella.net
La primera línea es simple. La directiva nameserver dice qué servidores DNS consultar. Por necesidad estas son siempre direcciones IP. Usted puede tener tantas en lista como desee. Slackware va a comprobar felizmente uno tras otro hasta que uno reporte coincidencia.
La segunda línea es un poco más interesante. La directiva search nos brinda una lista de nombres de dominio para asumir siempre que se hace una solicitud al DNS. Esto permite contactar una máquina con solo la primera parte de su FQDN (Fully Qualified Domain Name- Nombre de Dominio Totalmente Calificado). Por ejemplo, si “slackware.com” estuviese en su camino de búsqueda, usted podría alcanzar http://store.slackware.com/ solamente apuntando su explorador web a http://store.
# ping -c 1 store PING store.slackware.com (69.50.233.153): 56 data bytes 64 bytes from 69.50.233.153 : icmp_seq=0 ttl=64 time=0.251 ms 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max = 0.251/0.251/0.251 ms
/etc/hosts
Ahora que tenemos DNS funcionando bien, ¿qué sucede si queremos circunvalar a nuestro DNS, o agregar una entrada al DNS para una máquina que no está en el mismo? Slackware incluye el archivo tan querido /etc/hosts, el cual contiene una lista local de nombres de DNS y direcciones IP que debe hacer concordar.
# cat /etc/hosts 127.0.0.1 localhost locahost.localdomain 192.168.1.101 redtail 172.14.66.32 foobar.slackware.com
Aquí usted puede ver que localhost (su propia máquina) tiene una dirección IP 127.0.0.1 (siempre reservada para localhost), redtail puede ser alcanzada en 192.168.1.101, y foobar.slackware.com es 172.14.66.32.
PPP
Mucha gente aún se conecta a Internet a través de algún tipo de conexión de marcado (dialup). El método más común es PPP, aunque SLIP aún se utiliza en ocasiones. Configurar su sistema para que hable PPP con un servidor remoto es muy sencillo. Hemos incluido unas cuantas herramientas para ayudarlo a configurarlo.
pppsetup
Slackware incluye un programa llamado pppsetup para configurar su sistema para utilizar su cuenta de marcado. Este comparte su apariencia con nuestro programa netconfig. Para correr el programa, asegúrese de que está en una sesión como root. Entonces teclee pppsetup para correrlo. Usted debe ver una pantalla como esta:
El programa va a presentar una serie de preguntas, a la cual usted debe responder con las respuestas apropiadas. Cosas como su dispositivo de módem, la cadena de inicialización del módem, y el teléfono del ISP (Internet Service Provider - Proveedor de Servicios de Internet) Algunos pasos tienen configuraciones por omisión, las cuales puede aceptar en la mayoría de los casos.
Después de que el programa corra, este va a crear un programa ppp-go y un programa ppp-off. Estos se utilizan para arrancar y parar, respectivamente, la conexión PPP. Los dos programas se localizan en /usr/sbin y por lo tanto necesitan privilegios de root para correr.
/etc/ppp
Para la mayoría de los usuarios, correr pppsetup será suficiente. De todas formas, puede suceder que usted necesite hacer pequeños cambios en los valores usados por el demonio PPP. Toda la información de configuración se guarda en /etc/ppp. Aquí hay una lista de para qué sirven los diferentes archivos:
- ip-down
- Este script es ejecutado por pppd después de que la conexión PPP ha finalizado.
- ip-up
- Este script es ejecutado por pppd cuando hay una conexión ppp exitosa. Ponga aquí cualquier comando que usted desee correr después de una conexión exitosa.
- options
- Opciones generales de configuración para pppd.
- options.demand
- Opciones generales de configuración para pppd cuando corre en modo de marcado en demanda.
- pppscript
- Los comandos mandados al módem.
- pppsetup.txt
- Una bitácora de lo que usted tecleó cuando corrió pppsetup.
- Note
- La mayor parte de estos archivos no estarán ahí hasta después de correr pppsetup.
Wireless
Las redes wireless (inalámbricas) aún son una cosa relativamente nueva en el mundo de las computadoras, aunque está captando a muchas personas que compran computadoras portátiles y quieren que la red funcione, sin tener que andar buscando un viejo cable par trenzado. Esta tendencia no parece decrecer. Desafortunadamente, las redes inalámbricas no están aún fuertemente soportadas en Linux, en comparación con las redes tradicionales alambradas.
Existen tres pasos básicos para configurar una tarjeta inalámbrica Ethernet 802.11:
- Soportar el hardware para la tarjeta inalámbrica.
- Configurar la tarjeta para conectarse a un punto de acceso inalámbrico.
- Configurar la red.
Soporte de hardware
El soporte de hardware para una tarjeta inalámbrica se brinda a través del núcleo, bien con un módulo o construyendo el núcleo con el soporte incluído. Generalmente, las tarjetas Ethernet más nuevas se proveen mediante un módulo del núcleo, de manera que usted necesita determinar en qué módulo está y habilitarlo en /etc/rc.d/rc.modules. netconfig puede no detectarlo automáticamente, así que probablemente usted necesite determinarlo manualmente. Vea http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/ para obtener mayor información sobre los controladores del núcleo para las diferentes tarjetas inalámbricas.
Configurar las opciones Wireless
La gran mayoría de este trabajo se realiza a través de iwconfig, así que como siempre, lea la página man para iwconfig si necesita más información.
Primero, usted debe configurar su punto de acceso inalámbrico. Los puntos de acceso inalámbricos varían un poco en su terminología, y en cómo configurarlos, así que usted necesitará ajustar un poco para acomodarse a su hardware. En general, usted necesitará al menos la siguiente información:
- El identificador de dominio (domain ID), o nombre de la red (llamado ESSID por iwconfig).
- El canal que utiliza el WAP.
- La configuración de cifrado, incluyendo todas las llaves que se utilizan (preferentemente en hexadecimal).
- Advertencia.
UNA NOTA SOBRE WEP: WEP es bastante defectuoso, pero es mejor que nada. Si usted desea un mayor grado de seguridad en su red inalámbrica, debe investigar VPN o IPS, ambos fuera del alcance de este documento. Debe además configurar su WAP para no advertir su ID/ESSID de dominio. Una discusión más profunda de las políticas inalámbricas está más allá del alcance de esta sección, pero una búsqueda rápida en Google le va a revelar más de lo que usted hubiese deseado saber.
Una vez que usted haya recopilado la información anterior, y asumiendo que haya utilizado modprobe para cargar el controlador apropiado del núcleo, puede editar rc.wireless.conf y poner ahí sus configuraciones. El archivo rc.wireless.conf es un poco desaliñado. El menor esfuerzo es modificar la sección genérica con su ESSID y KEY (llave), y el canal (CHANNEL) si es requerido por su tarjeta (pruebe no poner CHANNEL, y si funciona, perfecto; si no, ponga CHANNEL como sea apropiado). Si usted es atrevido, puede modificar el archivo de manera que solo queden puestas las variables necesarias. Los nombres de variables en rc.wireless.conf corresponden a los parámetros de iwconfig, y son leídos por rc.wireless y utilizados en los comandos iwconfig apropiados.
Es ideal que tenga su llave en hexadecimal, así puede estar justamente convencido de que su WAP y iwconfig van a estar de acuerdo en la llave. Si usted solo tiene una cadena, no puede estar seguro de cómo su WAP la va a traducir a hexadecimal, de manera que va a tener que hacer todo un trabajo de adivinación (u obtener la llave de su WAP en hexadecimal).
Una vez que usted haya modificado rc.wireless.conf, corra rc.wireless como root, y luego rc.inet1 también como root. Puede probar su red inalámbrica con las herramientas habituales de prueba, como ping, sobre iwconfig. Si usted tiene una interfaz alambrada, entonces probablemente necesite utilizar ifconfig para apagar el resto de las interfaces mientras prueba su tarjeta para asegurarse de que no haya interferencia. También puede desear probar sus cambios a través del reinicio de la máquina.
Ahora que usted ha visto cómo editar /etc/rc.d/rc.wireless para su red por omisión, vamos a mirar más de cerca a iwconfig para ver cómo funciona. Esto le va a enseñar una manera rápida y sucia de configurar wifi en aquellos casos en los cuales se encuentre en un Internet café, cafetería o cualquier otro hot spot wifi y desee estar en línea.
El primer paso es decirle a su interfaz de red inalámbrica a qué red unirse. Asegúrese de reemplazar “eth0” con el número que utiliza su interfaz de red y cambie “mynetwork” con el essid que desee utilizar. Sí, sabemos que usted es más inteligente que ella. Lo próximo que debe especificar es la llave de cifrado (si existe) que se utiliza en su red inalámbrica. Finalmente especifique el canal a utilizar (si es necesario).
# iwconfig eth0 essid "mynetwork" # iwconfig eth0 key XXXXXXXXXXXXXXXXXXXXXXXXXXX # iwconfig eth0 channel n
Esto debería ser todo, al final, cuando quiera utilizar una red inalámbrica.
Configurar la red
Esto se realiza exactamente de la misma forma que con las redes alambradas. Simplemente refiérase a las secciones anteriores de este capítulo.
Sistemas de archivos en red
Llegado este punto, usted debe tener una conexión TCP/IP que funcione en su red. Debe poder hacerles ping a otras computadoras en su red, y si configuró una pasarela adecuada, incluso debe poder hacerles ping a computadoras conectadas a Internet. Como sabemos, el todo de conectar una computadora a una red es acceder a la información. Aunque algunas personas puede que deseen conectarse solo por el placer de hacerlo, la mayoría desean poder compartir archivos e impresoras. Desean poder acceder a documentos en Internet o jugar juegos en línea. Tener TCP/IP instalado y funcionando en su nuevo sistema Slackware es un medio para esos fines, pero solamente con TCP/IP instalado, las funcionalidades son muy rudimentarias. Para compartir archivos, tendremos que transferirlos de un lado a otro con FTP o SCP. No podremos explorar archivos en nuestra nueva computadora Slackware desde los íconos de Entorno de Red o Mis Sitios de Red en computadoras Windows. Puede que deseemos, además, acceder a archivos en otras máquinas Unix transparentemente.
Idealmente, nos gustaría usar un sistema de archivos en red que nos permita acceso transparente a nuestros archivos en otras computadoras. Los programas que utilizaremos para interactuar con la información almacenada en nuestras computadoras realmente no necesitan saber en qué computadora está almacenado un archivo dado; solamente necesitan saber si existe y cómo llegar a él. Es responsabilidad del sistema operativo gestionar el acceso hacia ese archivo a través de los sistemas de archivos disponibles, y de los sistemas de archivos de red. Los dos sistemas de archivos de red más comúnmente utilizados son SMB (implementado por Samba) y NFS.
SMB/Samba/CIFS
SMB (siglas de Server Message Block) es un descendiente del viejo protocolo NetBIOS que fue inicialmente utilizado por IBM en su producto LAN Manager. Microsoft siempre ha estado muy interesada en NetBIOS y sus sucesores (NetBEUI, SMB y CIFS). El proyecto Samba ha existido desde 1991, cuando fue escrito originalmente para enlazar una IBM PC corriendo NetBIOS con un servidor Unix. Por estos días, SMB es el método preferido para compartir archivos e impresoras en red por casi todo el mundo, pues Windows le brinda soporte.
El archivo de configuración de Samba es /etc/samba/smb.conf; uno de los archivos de configuración mejor comentados y documentados que usted encontrará jamás. En él existen ejemplos de cómo compartir, para que usted los modifique de acuerdo a sus necesidades. Si necesita un control más estricto, la página man de smb.conf es indispensable. Como Samba está tan bien documentado en los lugares anteriormente mencionados, no reescribiremos la documentación aquí, solamente nos limitaremos a cubrir, rápidamente, los aspectos básicos.
smb.conf se divide en múltiples secciones: una sección por recurso compartido, y una sección global para las opciones que se utilizan de manera general. Algunas opciones solamente son válidas en la sección global, otras solamente fuera de la sección global. Recuerde que la sección global puede ser derogada por cualquier otra sección. Refiérase a las páginas man para obtener más información.
Lo más probable es que usted desee editar su archivo smb.conf para que refleje la configuración de red de su LAN. Mi sugerencia es que modifique los siguientes apartados:
[global] # workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2 workgroup = MYGROUP
Cambie el grupo de trabajo (workgroup) para que refleje el grupo de trabajo o el nombre de dominio que se utilice localmente.
# server string is the equivalent of the NT Description field server string = Samba Server
Este debe ser el nombre de la computadora con Slackware cuando aparezca en la carpeta Entorno de Red (o Mis Sitios de Red).
# Security mode. Most people will want user level security. See # security_level.txt for details. NOTE: To get the behaviour of # Samba-1.9.18, you'll need to use "security = share". security = user
Casi seguramente usted deseará implementar seguridad a nivel de usuario en su sistema Slackware.
# You may wish to use password encryption. Please read # ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba # documentation. # Do not enable this option unless you have read those documents encrypt passwords = yes
Si la opción de cifrar contraseñas (encrypt passwords) no se encuentra habilitada, usted no podrá usar Samba con NT4.0, Win2k, WinXP, y Win2003. Los sistemas operativos Windows anteriores no requieren cifrado para compartir archivos.
SMB es un protocolo con autenticación, lo cual significa que usted debe brindar un nombre de usuario y una contraseña correcta para poder usar este servicio. Le diremos al servidor Samba qué nombres de usuario y contraseñas son válidos con el comando smbpasswd. smbpasswd toma un par de modificadores comunes para decirle si agregar usuarios tradicionales, o agregar usuarios de máquina (SMB requiere que usted agregue los nombres de NETBIOS como usuarios de máquina, restringiendo desde qué computadora uno puede autenticarse).
Adding a user to the /etc/samba/private/smbpasswd file. # smbpasswd -a user Adding a machine name to the /etc/samba/private/smbpasswd file. # smbpasswd -a -m machine
Es importante notar que el nombre de usuario dado debe existir en el archivo /etc/passwd. Puede lograr esto simplemente con el comando adduser. Note que cuando uno añade un nombre de máquina debe agregarle un signo de dólar (“$”) al nombre de la máquina. Esto no debe hacerse con smbpasswd. smbpasswd agrega el signo de dólar por sí solo. Si no se le agrega el signo de dólar al final cuando se usa adduser, ocurrirá un error cuando se añada el nombre de máquina a samba.
# adduser machine$
Network File System
NFS (o Network File System - Sistema de Archivos en Red) fue escrito originalmente por Sun para su implementación de Unix, Solaris. Aunque es significativamente más sencillo para poner en funcionamiento comparado con SMB, también es significativamente menos seguro. La primera inseguridad en NFS es que es fácil de engañar a la identificación de usuario y grupo de una máquina a otra. NFS es un protocolo sin autenticación. Las versiones futuras del protocolo NFS se están realizando con la seguridad mejorada, pero estas no son comunes en el momento en que se escribe este documento.
La configuración de NFS es gobernada por el archivo /etc/exports. Cuando usted cargue el archivo por omisión /etc/exports en un editor, verá un archivo vacío con dos líneas comentadas al inicio. Necesitamos agregar una línea al archivo de exportación para cada directorio que deseemos exportar, con una lista de las estaciones de trabajo cliente a las que se permite acceder a cada recurso. Por ejemplo, si deseamos exportar el directorio /home/foo para la estación de trabajo Bar, simplemente adicionamos la línea:
/home/foo Bar(rw)
a nuestro archivo /etc/exports. Debajo, encontrará el ejemplo de la página man del archivo exports:
# sample /etc/exports file / master(rw) trusty(rw,no_root_squash) /projects proj*.local.domain(rw) /usr *.local.domain(ro) @trusted(rw) /home/joe pc001(rw,all_squash,anonuid=150,anongid=100) /pub (ro,insecure,all_squash)
Como puede observar, existen varias opciones disponibles, pero la mayoría deben de ser muy claras, mirando este ejemplo.
NFS trabaja asumiendo que un usuario dado en esa máquina tiene el mismo identificador de usuario en todas las máquinas de la red. Cuando se realiza un intento de leer o escribir desde un cliente NFS hacia un servidor NFS, se pasa un identificador UID como parte de la solicitud de escritura/lectura. Este UID es tratado de la misma manera que si la solicitud se realizara desde la máquina local. Como puede ver, si uno puede arbitrariamente especificar una UID dada para acceder a determinado recurso en una máquina remota, Cosas Malas (mr) pueden y deben pasar. Como una protección parcial contra esto, cada directorio se monta con la opción root_squash. Esto mapea la UID para cada usuario que diga ser root a una UID diferente, previniendo de esta manera el acceso root a los archivos o carpetas en los archivos exportados. root_squash parece estar habilitado por omisión como medida de seguridad, pero los autores recomiendan especificarlo de todas formas en su archivo /etc/exports.
Puede también exportar un directorio directamente desde la línea de comandos en el servidor, utilizando el comando exportfs como sigue:
# exportfs -o rw,no_root_squash Bar:/home/foo
Esta línea exporta el directorio /home/foo a la computadora “Bar” y brinda a Bar acceso lectura/escritura. Adicionalmente, el servidor NFS no invocará root_squash, lo que significa que cualquier usuario en Bar con una UID “0” (UID de root) tendrá los mismos privilegios que root en el servidor. La sintaxis luce extraña (usualmente cuando se especifica un directorio en el formato computadora:/directorio/archivo, usted se está refiriendo a un archivo en un directorio en la computadora dada).
Usted encontrará más información en la página man del archivo exports.
Configuración de X
A partir de Slackware 10.0, se brinda un entorno X Window con Xorg. X es responsable de brindar una interfaz gráfica al usuario, que es independiente del sistema operativo, a diferencia de las de Windows o Mac OS.
El sistema X Window se implementa a través de muchos programas que corren del lado del usuario. Los dos componentes principales son el servidor y el gestor de ventanas. El servidor brinda las funciones de bajo nivel para interactuar con el hardware de video, el cual es específico del sistema. El gestor de ventanas se halla encima del servidor y brinda la interfaz de usuario. La ventaja esta estructura es que usted puede tener muchas interfaces gráficas diferentes simplemente cambiando el gestor de ventanas.
Configurar X puede ser una tarea compleja. La razón es el gran número de tarjetas de video disponibles para la arquitectura PC, la mayoría de las cuales utilizan diferentes interfaces de programación. Afortunadamente, la mayoría de las tarjetas actuales soportan el estándar básico de video, conocido como VESA, y si su tarjeta está entre ellas usted podrá arrancar X mediante el comando startx inmediatamente después de instalar.
Si esto no funciona con su tarjeta, o si usted desea tomar las ventajas de alto desempeño de su tarjeta de video como la aceleración de hardware o el renderizado 3D por hardware, entonces necesitará reconfigurar X.
Para configurar X, necesitará hacer un archivo /etc/X11/xorg.conf. Este archivo contiene muchos detalles sobre su hardware de video, ratón y monitor. Es un archivo de configuración muy complejo, pero afortunadamente existen muchos programas que le van a ayudar a crearlo. Mencionaremos unos pocos aquí.
xorgconfig
Este es una interfaz simple mediante menúes, muy parecida al instalador de Slackware. Este simplemente le dice al servidor X que mire a la tarjeta, y configura el archivo inicial de configuración basado en la información que recopila. El archivo /etc/X11/xorg.conf generado debe ser un buen punto de inicio para la mayoría de los sistemas (y debe funcionar sin modificaciones).
Este es un programa de configuración de X basado en texto, que está diseñado para el administrador de sistema avanzado. Aquí hay un pequeño paseo sobre cómo utilizar xorgconfig. Primero, arranque el programa:
# xorgconfig
Esto le va a presentar una pantalla llena de información sobre xorgconfig. Para continuar, presione ENTER. xorgconfig le preguntará para verificar si usted tiene configurado su PATH correctamente. Este debe de estar bien así, así que continúe y presione ENTER.
Configuración de ratón
Seleccione su ratón desde el menú presentado. Si usted no ve su ratón serie, seleccione el protocolo Microsoft -- es el más común y probablemente funcione. Después xorgconfig le preguntará sobre utilizar ChordMiddle y Emulate3Buttons. Usted verá estas opciones descritas en detalle en la pantalla. Utilícelas si el botón central de su ratón no funciona bajo X, o si su ratón tiene sólo dos botones (Emulate3Buttons le permite simular el botón del centro si presiona los dos botones simultáneamente). Entonces, ingrese el nombre de su dispositivo de ratón. La opción por omisión, /dev/mouse, debe trabajar teniendo en cuenta que este enlace fue configurado durante la instalación de Slackware. Si usted está corriendo GPM (el servidor de ratón de Linux) en modo repetidor, puede poner su tipo de ratón hacia /dev/gpmdata para que X obtenga la información de su ratón a través de gpm. En algunos casos (con ratones bus especialmente) esto puede trabajar mejor, pero la mayoría de los usuarios no deben hacer esto.
xorgconfig le preguntará sobre habilitar combinaciones de teclas especiales. Si usted necesita esto, diga “y”. La mayoría de los usuarios pueden decir “n” -- elija esta opción si usted no está seguro.
Sincronismo horizontal
En la próxima sección usted debe indicar el rango de sincronismo de su monitor. Para comenzar a configurar su monitor, presione ENTER. Verá una lista de tipos de monitor; escoja uno de ellos. Tenga cuidado no exceder las especificaciones de su monitor; hacerlo puede dañar su hardware.
Sincronismo vertical
Especifique el rango de sincronismo vertical de su monitor (usted debería encontrar esto en el manual de su monitor). xorgconfig le solicitará que ingrese cadenas para identificar el tipo de monitor en el archivo xorg.conf. Escriba cualquier cosa que desee en las tres líneas (incluyendo absolutamente nada).
Tarjeta de video
Ahora usted tiene la oportunidad de buscar en la base de datos los diferentes tipos de tarjetas de video. Si desea hacer esto, diga “y” y seleccione una tarjeta de la lista que se muestra. Si no ve exactamente su tarjeta, pruebe seleccionando el mismo chipset y probablemente funcione bien.
Luego, dígale a xorgconfig cuánta RAM tiene en su tarjeta de video. xorgconfig querrá que usted ingrese un texto un poco más descriptivo sobre su tarjeta de video. Si desea, puede poner descripciones en estas tres líneas.
Entonces se le preguntará qué resoluciones de pantalla usted desea utilizar. De nuevo, irse con la configuración por omisión puede estar bien para comenzar. Más tarde, puede editar el archivo /etc/X11/xorg.conf y rearreglar los modos, de manera que 1024x768 (o cualquier otro modo que desee) sea el modo por omisión.
En este punto, el programa xorgconfig le preguntará si desea guardar el archivo de configuración actual. Responda sí (yes), y el archivo de configuración de las X se guardará, completando el proceso de configuración. Ahora podrá iniciar X mediante el comando startx.
xorgsetup
La segunda forma de configurar X es utilizar xorgsetup, un programa de configuración automágico que viene con Slackware.
Para correr xorgsetup, inicie sesión como root y teclee:
# xorgsetup
Si usted ya tenía un archivo /etc/X11/xorg.conf (porque ya había configurado X), se le preguntará si desea respaldar el archivo de configuración existente antes de continuar. El archivo original se renombrará como /etc/X11/xorg.conf.backup.
xinitrc
xinit(1) es el programa que arranca propiamente X. Es llamado por startx(1); usted puede no haberlo notado (y probablemente no necesite notarlo realmente). Su archivo de configuración, sin embargo, determina qué programas (incluyendo especialmente el gestor de ventanas) son ejecutados cuando X levanta. xinit primero comprueba su directorio home, buscando un archivo .xinitrc.
Si este archivo existe, es ejecutado; en caso contrario se utiliza /var/X11R6/lib/xinit/xinitrc (el del sistema general). Aquí hay un archivo xinitrc sencillo:
#!/bin/sh # $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $ userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap sysresources=/usr/X11R6/lib/X11/xinit/.Xresources sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap # merge in defaults and keymaps if [ -f $sysresources ]; then xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then xmodmap $sysmodmap fi if [ -f $userresources ]; then xrdb -merge $userresources fi if [ -f $usermodmap ]; then xmodmap $usermodmap fi # start some nice programs twm & xclock -geometry 50x50-1+1 & xterm -geometry 80x50+494+51 & xterm -geometry 80x20+494-0 & exec xterm -geometry 80x66+0+0 -name login
Todos esos bloques “if” están ahí para fusionar varias configuraciones desde varios archivos. La parte interesante de este archivo está llegando al final, donde se ejecutan varios programas. Esta sesión X va a comenzar con el gestor de ventanas twm(1), un reloj, y tres terminales. Note el exec antes del último xterm. Lo que hace es reemplazar la consola que está corriendo actualmente (la que está ejecutando este script xinitrc) con este comando xterm(1). Cuando el usuario salga de este xterm, la sesión X terminará.
Para personalizar su inicio de X, copie el archivo por omisión /var/X11R6/lib/xinit/xinitrc como ~/.xinitrc y edítelo, reemplazando aquellas líneas de programas por cualesquiera que usted desee. El fin del mío es simplemente:
# Start the window manager: exec startkde
Note que existen varios archivos xinitrc.* en /var/X11R6/lib/xinit que corresponden a varios gestores de ventanas e interfaces gráficas. Usted puede utilizar uno de estos, si desea.
xwmconfig
Durante años, Unix fue usado casi exclusivamente como sistema operativo para servidores, con la excepción de estaciones de trabajo profesionales de alta potencia. Sólo aquellos con inclinaciones técnicas eran probables usuarios de sistemas operativos al estilo Unix, y la interfaz de usuario refleja este hecho. Las interfaces gráficas de usuario (GUI) tendían a ser justamente huesos desnudos, diseñadas para ejecutar unas pocas aplicaciones gráficas, como programas CAD y renderizadores de imágenes. La mayoría de los archivos y la gestión del sistema se hacía mediante la línea de comandos. Varios vendedores (Sun Microsystems, Silicon Graphics, etc) vendían estaciones de trabajo con un intento de brindar un estilo coherente, pero la amplia variedad de toolkits para hacer GUI que utilizaban los desarrolladores llevó inevitablemente a la disolución de la uniformidad en el escritorio. Una barra de desplazamiento podía no lucir igual en dos aplicaciones diferentes. Los menúes podían aparecer en diferentes lugares. Los programas podían tener botones y casillas de verificación diferentes. Los colores variaban ampliamente, y generalmente estaban codificados en las fuentes de cada toolkit. Pero como los usuarios eran primeramente profesionales técnicos, nada de esto importaba mucho.
Con el advenimiento de los sistemas operativos libres al estilo Unix y el número creciente de aplicaciones gráficas, X ha ganado recientemente una gran cantidad de usuarios de escritorio. La mayoría de los usuarios, por supuesto, están acostumbrados a la visión consistente que brinda Microsoft Windows o Mac OS de Apple; la falta de esta consistencia en las aplicaciones basadas en X se ha convertido en una barrera para su aceptación más amplia. En respuesta, dos proyectos de código abierto se comenzaron: el K Desktop Environment, o KDE, y el GNU Network Object Model Environment, conocido como GNOME. Cada uno tiene una amplia variedad de aplicaciones, desde barras de tareas y gestores de archivos hasta juegos y suites de oficina, escritas utilizando el mismo toolkit para las GUI y altamente integrados para brindar un escritorio uniforme y consistente.
Las diferencias en KDE y GNOME son generalmente sutiles. Cada uno luce diferente del otro, porque cada uno utiliza un toolkit para sus GUI diferente. KDE está basado en la biblioteca Qt de Troll Tech AS, mientras que GNOME usa GTK, un toolkit originalmente desarrollado para el GNU Image Manipulation Program (o El GIMP, para abreviar). Como proyectos separados, KDE y GNOME tienen cada uno sus propios diseñadores y programadores, con diferentes estilos de desarrollo y filosofías. El resultado en cada caso, sin embargo, ha sido fundamentalmente el mismo: un entorno de escritorio altamente integrado, consistente, y una colección de aplicaciones. La funcionalidad, usabilidad y la belleza pura de ambos KDE y GNOME, son rivales de cualquier otro disponible en otros sistemas operativos.
La mejor parte, además, es que estos escritorios avanzados son libres. Esto significa que usted puede tener uno de ellos, o los dos (sí, al mismo tiempo). La opción es suya.
Además de los escritorios GNOME y KDE, Slackware incluye una larga colección de gestores de ventanas. Algunos han sido diseñados para emular a otros sistemas operativos, algunos para la personalización, otros para la velocidad. Existe mucha variedad. Por supuesto, usted puede instalar cuantos desee, jugar con ellos, y decidir cuál le gusta más.
Para hacer la selección del escritorio fácil, Slackware también incluye un programa llamado xwmconfig que puede ser usado para seleccionar un escritorio o gestor de ventanas. Se ejecuta así:
% xwmconfig
Se le brindará una lista de todos los escritorios y gestores de ventanas instalados. Sencillamente seleccione el que desee de la lista. Cada usuario de su sistema necesitará correr este programa, pues diferentes usuarios pueden tener diferentes escritorios, y no todos van a desear el que usted fijó por omisión durante la instalación.
Entonces levante X, y estará listo para continuar.
xdm
Como Linux se ha hecho más y más útil como sistema operativo de escritorio, muchos usuarios encuentran deseable que la máquina arranque directamente en un entorno gráfico. Para esto, usted necesitará decirle a Slackware que inicie directamente en las X, y asignar un gestor de inicio gráfico. Slackware viene con tres herramientas de inicio gráfico: xdm(1), kdm, y gdm(1).
xdm es el gestor gráfico de inicio que viene con el sistema X.org. Es ubicuo, pero no tiene tantas características ni alternativas. kdm es el gestor de de inicio que viene con KDE, el K Desktop Environment. Finalmente, gdm es el gestor de inicio que viene con GNOME. Cualquiera de las opciones le va a permitir iniciar sesión con cualquier usuario, y seleccionar qué escritorio desea usar.
Desafortunadamente, Slackware no incluye ningún programa lindo como xwmconfig para seleccionar qué gestor de inicio de sesión utilizar, así que si los tres están instalados, usted va a tener que hacer un poco de edición para seleccionar el de su preferencia. Pero primero veamos cómo iniciar en un entorno gráfico.
Para que X arranque al inicio, usted necesita iniciar en el nivel (runlevel) 4. Los niveles son sencillamente una manera de decirle a init(8) que haga algo diferente cuando inicia el sistema operativo. Hacemos esto editando el archivo de configuración para init, /etc/inittab.
# These are the default runlevels in Slackware: # 0 = halt # 1 = single user mode # 2 = unused (but configured the same as runlevel 3) # 3 = multiuser mode (default Slackware runlevel) # 4 = X11 with KDM/GDM/XDM (session managers) # 5 = unused (but configured the same as runlevel 3) # 6 = reboot # Default runlevel. (Do not set to 0 or 6) id:3:initdefault:
Para que Slackware inicie en un entorno gráfico, solamente cambiamos el nivel por defecto, 3, a 4.
# Default runlevel. (Do not set to 0 or 6) id:4:initdefault:
Ahora Slackware iniciará en el nivel 4 y ejecutará /etc/rc.d/rc.4. Este archivo inicia X y llama al gestor de inicio de sesión que usted ha seleccionado. Entonces, ¿cómo seleccionamos el gestor de inicio de sesión? Hay pocas maneras de hacer esto, y las explicaré después de mirar rc.4.
# Try to use GNOME's gdm session manager: if [ -x /usr/bin/gdm ]; then exec /usr/bin/gdm -nodaemon fi
# Not there? OK, try to use KDE's kdm session manager: if [ -x /opt/kde/bin/kdm ]; then exec /opt/kde/bin/kdm -nodaemon fi
# If all you have is XDM, I guess it will have to do: if [ -x /usr/X11R6/bin/xdm ]; then exec /usr/X11R6/bin/xdm -nodaemon fi
Como puede ver aquí, rc.4 primero comprueba si gdm es ejecutable, y si lo es lo inicia. Segundo en la lista está kdm, y finalmente xdm. Una manera de seleccionar un gestor de inicio de sesión es simplemente eliminar los que usted no desee utilizando removepkg. Puede encontrar más información sobre removepkg en el Capítulo 18.
Opcionalmente, puede quitar los permisos de ejecución para aquellos archivos que no desea utilizar. Discutimos chmod en el Capítulo 9.
# chmod -x /usr/bin/gdm
Finalmente, puede sencillamente comentar las líneas para el gestor de inicio que no desea utilizar.
# Try to use GNOME's gdm session manager: # if [ -x /usr/bin/gdm ]; then # exec /usr/bin/gdm -nodaemon # fi
# Not there? OK, try to use KDE's kdm session manager: if [ -x /opt/kde/bin/kdm ]; then exec /opt/kde/bin/kdm -nodaemon fi
# If all you have is XDM, I guess it will have to do: if [ -x /usr/X11R6/bin/xdm ]; then exec /usr/X11R6/bin/xdm -nodaemon fi
Cualquier línea precedida por el signo numeral (#) es considerada un comentario y el intérprete de comandos lo ignora silenciosamente. Por ende, aunque gdm esté instalado y sea ejecutable, el intérprete de comandos (en este caso bash) no se molestará en preguntar por él.
Arranque
El proceso de iniciar su sistema Linux puede a veces ser fácil y a veces ser difícil. Muchos usuarios instalan Slackware en su computadora y eso es todo. La encienden y ya está lista para usarse. Otras veces, simplemente iniciar la máquina es una tarea tediosa. Para la mayoría de los usuarios, LILO funciona mejor. Slackware incluye LILO y Loadlin para iniciar Slackware Linux. LILO puede a funcionar desde una partición del disco duro, desde el MBR del disco duro o desde un disquete, haciéndolo una herramienta muy versátil. Loadlin funciona desde la línea de comandos de DOS, matando a DOS e invocando a Linux.
Otra utilidad popular para iniciar Linux es GRUB. GRUB no está incluído ni soportado oficialmente por Slackware. Slackware se ciñe al estándar “probado y verdadero” para lo que se incluye en la distribución. Mientras GRUB funciona bien e incluye algunas características que LILO no, LILO maneja todas las tareas esenciales de un cargador de inicio, con un récord de pista probado. Siendo más joven, GRUB no ha vivido lo suficiente como este legado. Como no se incluye con Slackware, no lo discutiremos aquí. Si usted desea usar GRUB (tal vez porque viene con otra distribución de Linux y desea utilizarlo en inicio dual) consulte la documentación de GRUB.
Esta sección cubre cómo usar LILO y Loadlin, los dos iniciadores incluídos en Slackware. Este también explica algunos escenarios típicos de inicio dual y cómo usted podría configurarlos.
Linux Loader
El Linux Loader, o LILO, es el cargador más popular en uso en los sistemas Linux. Es muy configurable y puede ser usado fácilmente para iniciar otros sistemas operativos.
Slackware Linux viene con una utilidad de configuración basada en menúes, llamada liloconfig. Este programa es ejecutado primero durante el proceso de configuración, pero usted puede invocarlo más tarde tecleando liloconfig en la consola.
LILO lee sus configuraciones desde el archivo /etc/lilo.conf(5). Estas no se leen cada vez que usted inicia, sino cada vez que instala LILO. LILO debe ser reinstalado en el sector de arranque cada vez que haga un cambio de configuración. Muchos errores con LILO suceden debido a que usted hace un cambio en el archivo lilo.conf, pero no ejecuta de nuevo lilo para instalar tal cambio. liloconfig le ayudará a construir el archivo de configuración para que usted pueda instalar LILO en su sistema. Si prefiere editar /etc/lilo.conf a mano, reinstalar LILO solo significa teclear /sbin/lilo (como root) en la consola.
Si esta es la primera vez que usted configura LILO, debe escoger simple. De otro modo, usted encontrar que la opción expert es más rápida si usted es familiar con LILO y Linux. Seleccionar simple va a iniciar la configuración de LILO.
Si el núcleo tiene compilado el soporte para framebuffer, liloconfig le preguntará qué resolución de video desea usar. Esta es la resolución que también se utiliza para el servidor de framebuffer de XFree86. Si no desea que la consola corra en un modo de video especial, seleccionar normal le mantendrá en uso el modo texto estándar 80x25.
La próxima parte de la configuración de LILO es seleccionar dónde desea instalarlo. Este es probablemente el paso más importante. La lista que sigue a continuación explica los lugares de instalación:
- Root
- Esta opción instala LILO al inicio de su partición raíz de Linux. Esta es la opción más segura si usted tiene otro sistema operativo en su computadora. Esto asegura que ningún otro cargador de inicio se sobreescriba. La desventaja es que LILO solamente va a cargar si la unidad Linux es la primera unidad de su sistema. Este es el porqué muchas personas deciden crear una partición /boot muy pequeña como la primera unidad de su sistema. Esto le permite al núcleo y a LILO que sean instalados al inicio de la unidad, donde LILO puede hallarlo. Versiones anteriores de LILO tenían la infame falla conocida como el “límite del cilindro 1024”. LILO no podía iniciar núcleos en las particiones posteriores al cilindro 1024. Pero las ediciones recientes de LILO ya han eliminado este problema.
- Floppy
- Este método es aun más seguro que el primero. Este crea un disco de inicio que usted puede usar para iniciar su sistema Linux. Esto mantiene el iniciador totalmente fuera del disco duro, de manera que usted solo iniciará desde ese floppy para utilizar Slackware. Las fallas de este método son obvias. Los disquetes son notoriamente propensos a fallos. Aparte, el cargador de inicio ya no se encuentra en la computadora. Si usted perdiere su disquete, tendría que hacer otro para iniciar su sistema.
- MBR
- Puede utilizar este método si Slackware es el único sistema operativo en su computadora, o si va a utilizar LILO para escoger entre múltiples sistemas operativos en su computadora. Este es el método preferido para instalar LILO y debe trabajar con casi cualquier sistema de cómputo.
ADVERTENCIA: Esta opción sobreescribirá cualquier otro cargador de inicio que usted tenga en el MBR.
Después de seleccionar el lugar de la instalación, liloconfig escribirá un archivo de configuración e instalará LILO. Eso es todo. Si usted selecciona el modo experto obtendrá un menú especial. Este menú le permite modificar el archivo /etc/lilo.conf, agregar otros sistemas operativos a su menú de inicio, y configura LILO para que pase parámetros especiales al núcleo cuando este inicie.
Sea cual sea su configuración de sistema, configurar un cargador de inicio es fácil. liloconfig hace que sea aun más fácil.
LOADLIN
La otra opción de inicio que viene con Slackware es LOADLIN. LOADLIN es un ejecutable de DOS que puede ser utilizado para iniciar Linux desde un sistema DOS que esté corriendo. Este requiere que el núcleo Linux esté en una partición de DOS de manera que LOADLIN pueda cargarlo e iniciar el sistema adecuadamente.
Durante el proceso de instalación, LOADLIN es copiado en el directorio home de root como un archivo .ZIP. No existe un proceso automatizado de instalación para LOADLIN. Usted necesitará copiar el núcleo de Linux (típicamente /boot/vmlinuz) y el archivo LOADLIN desde el directorio home de root hacia la partición DOS.
LOADLIN es útil si usted desea hacer un menú de inicio en su partición DOS. Se puede agregar un menú en su archivo AUTOEXEC.BAT que le permita seleccionar entre DOS y Linux. La opción Linux debe correr LOADLIN, iniciando por ende su sistema Slackware. Este archivo AUTOEXEC.BAT bajo Windows 95 debe brindar un menú de inicio suficiente:
@ECHO OFF SET PROMPT=$P$G SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\ CLS ECHO Por favor seleccione su sistema operativo: ECHO. ECHO [1] Slackware Linux ECHO [2] Windows 95 ECHO. CHOICE /C:12 "Seleccion? -> " IF ERRORLEVEL 2 GOTO WIN IF ERRORLEVEL 1 GOTO LINUX :WIN CLS ECHO Iniciando Windows 95... WIN GOTO END :LINUX ECHO Iniciando Slackware Linux... CD \LINUX LOADLIN C:\LINUX\VMLINUZ ROOT=<dispositivo con particion raiz> RO GOTO END :END
Usted debe especificar su partición raíz con su nombre de dispositivo bajo Linux, como /dev/hda2 o algo por el estilo. Siempre puede utilizar LOADLIN en la línea de comandos, simplemente usándolo de la misma manera que en el ejemplo de arriba. La documentación de LOADLIN viene con muchos ejemplos de cómo usarlo.
Inicio dual
Muchos usuarios configuran sus computadoras para iniciar Slackware Linux y otro sistema operativo. Hemos descrito a continuación escenarios típicos de inicios duales, en caso de que usted esté teniendo dificultades a la hora de configurar su sistema.
Windows
Configurar una computadora con Microsoft Windows y Linux es probablemente el escenario de inicio dual más común. Existen numerosas formas de configurar el inicio, pero en esta sección se cubrirán dos.
Frecuentemente, cuando se configura un sistema con inicio dual, la persona hace un plan perfecto de dónde irá cada cosa, pero se pierde en el orden de instalación. Es muy importante entender que los sistemas operativos necesitan ser instalados en cierto orden para que el inicio dual funcione. Linux siempre brinda control sobre lo que se escribe en el Master Boot Record. Por ende, siempre es recomendable instalar Linux último. Windows debe ser instalado primero, ya que siempre va a escribir su cargador de inicio en el MBR, sobreescribiendo cualquier entrada que Linux hubiese puesto ahí.
Mediante LILO
La mayoría de las personas quieren utilizar LILO para seleccionar entre Linux y Windows. Como se mencionó antes, usted debe instalar Windows primero, luego Linux.
Digamos que tiene un disco duro IDE de 40 GiB que es la única unidad en su sistema. Digamos también que desea dar la mitad del espacio a Windows, y la mitad a Linux, así:
20GiB Windows boot (C:) 1GiB Linux root (/) 19GiB Linux /usr (/usr)
Además debe poner una partición de tamaño adecuado para el intercambio de Linux (swap). La regla no escrita es usar el doble de la cantidad de RAM que tenga como espacio en disco duro. Un sistema de 64MiB debe tener 128MiB de swap, y así. El espacio adecuado de intercambio provoca grandes discusiones en IRC y Usenet. Realmente, no hay una manera “correcta” de hacerlo, pero apegarse a la regla anterior debe de ser suficiente.
Con sus particiones hechas, debe proceder a instalar Windows. Después de que esté configurado y funcionando, deberá instalar Linux. La instalación de LILO necesita especial atención. Debe seleccionar el modo experto para instalar LILO.
Comience una nueva configuración de LILO. Tiene que instalarlo en el Master Boot Record, para que pueda ser utilizado por los dos sistemas operativos. Desde el menú, agregue su partición de Linux y su partición de Windows (o DOS). Una vez que esto esté completo, puede instalar LILO.
Reinicie la computadora. LILO debería cargar y mostrar un menú, permitiendo seleccionar entre los dos sistemas operativos que tiene instalado. Seleccione el nombre del sistema operativo que desea cargar (estos nombres fueron seleccionados cuando usted configuró LILO).
LILO es un cargador de inicio muy configurable. No solo se limita a iniciar Linux o DOS. Puede cargar casi cualquier cosa. Las páginas man para lilo(8) y lilo.conf(5) brindan información más detallada.
¿Qué pasa si LILO no funciona? Existen instancias en las que LILO sencillamente no funciona en una máquina en particular. Afortunadamente, existe otra manera de inicio dual con Windows y Linux.
Mediante LOADLIN
Este método puede ser utilizado si LILO no funciona en su sistema, o simplemente si usted no desea configurar LILO. Este método es ideal también para el usuario que reinstala Windows con frecuencia. Cada vez que reinstala Windows, este sobreescribe el Master Boot Record, destruyendo cualquier instalación de LILO. Con LOADLIN, usted no está sujeto a ese problema. La mayor desventaja es que solo puede usar LOADLIN para cargar Linux.
Con LOADLIN, puede instalar los sistemas operativos en cualquier orden que desee. Sea cuidadoso a la hora de instalar cosas en su Master Boot Record, usted puede que no desee hacer eso. LOADLIN descansa en la partición de Windows que sea arrancable (bootable), así que durante la instalación de Slackware, asegúrese de saltear la configuración de LILO.
Después de instalar los sistemas operativos, copie el archivo loadlinX.zip (donde X es el número de versión, digamos, 16a) desde el directorio home de root hacia su partición Windows. También copie la imagen de su núcleo hacia la partición Windows. Usted necesitará estar en Linux para que esto funcione. Este ejemplo muestra cómo hacerlo:
# mkdir /win # mount -t vfat /dev/hda1 /win # mkdir /win/linux # cd /root # cp loadlin* /win/linux # cp /boot/vmlinuz /win/linux # cd /win/linuz # unzip loadlin16a.zip
Esto crea un directorio C:\LINUX en su partición Windows (asumiendo que es /dev/hda1) y copia todo lo necesario para LOADLIN. Después de hacer esto, usted necesitará reiniciar e ir a Windows para configurar un menú de arranque.
Una vez en Windows, vaya a la línea de comandos de DOS. Primero, debemos asegurarnos de que el sistema no inicie con la interfaz gráfica.
C:\> cd \ C:\> attrib -r -a -s -h MSDOS.SYS C:\> edit MSDOS.SYS
Agregue esta línea al archivo:
BootGUI=0
Ahora guarde el archivo y salga del editor. Edite C:\AUTOEXEC.BAT para que podamos añadir el menú de arranque. Lo siguiente brinda un ejemplo de cómo debe lucir un bloque de arranque en AUTOEXEC.BAT:
cls echo Menu de Inicio de Sistema echo. echo 1 - Linux echo 2 - Windows echo. choice /c:12 "Seleccion? -> " if errorlevel 2 goto WIN if errorlevel 1 goto LINUX :LINUX cls echo "Iniciando Linux..." cd \linux loadlin c:\linux\vmlinuz root=/dev/hda2 ro goto END :WIN cls echo "Iniciando Windows..." win goto END :END
La línea clave es la que corre LOADLIN. Le decimos qué núcleo cargar, la partición raíz de Linux, y que la queremos de solo lectura al principio.
Las herramientas para estos dos métodos son brindadas por Slackware Linux. Existen muchos otros cargadores de arranque en el mercado, pero estos deberían funcionar para la mayoría de las configuraciones de inicio dual.
Hack desechado de Windows NT
Esta es la situación menos común de inicio dual. Hace tiempo, LILO no era capaz de iniciar Windows NT, requiriendo que los usuarios de Linux modificaran NTLDR, lo cual presentaba mayores problemas que el inicio dual entre Windows 9x y Linux. Entienda que las instrucciones siguientes están desechadas. LILO es capaz de arrancar Windows NT/2000/XP/2003 desde hace muchos años. Si usted está utilizando una máquina antigua, puede que necesite esta clase de modificaciones.
- Instale Windows NT.
- Instale Linux, asegurándose de que LILO sea instalado en el superbloque de la partición Linux.
- Obtenga los primeros 512 bytes de la partición raíz de Linux y almacénelos en la partición de Windows NT.
- Edite C:\BOOT.INI bajo Windows NT para adicionar la opción Linux.
Instalar Windows NT debe de ser bastante sencillo, como instalar Linux. A partir de ahí, se pone algo truculento. Grabar los primeros 512 bytes de la partición de Linux es más sencillo de lo que parece. Necesitará estar en Linux para realizar esto. Asumiendo que su partición de Linux es /dev/hda2, ejecute este comando:
# dd if=/dev/hda2 of=/tmp/bootsect.lnx bs=1 count=512
Eso es todo. Ahora necesita copiar bootsect.lnx hacia la partición de Windows NT. Es aquí donde caemos en otro problema. Linux no tiene soporte de escritura estable para el sistema de archivos NTFS. Si usted instaló Windows NT y formateó su unidad como NTFS, necesitará copiar este archivo hacia un disquete FAT y entonces leerlo bajo Windows NT. Si formateó la unidad Windows NT como FAT, puede simplemente montarla bajo Linux y copiar el archivo. De cualquier manera, usted debe pasar /tmp/bootsect.lnx desde la unidad de Linux hacia C:\BOOTSECT.LNX en la unidad de Windows NT.
El último paso es agregar una opción al menú de inicio de Windows NT. Bajo Windows NT abra una línea de comandos:
C:\WINNT> cd \ C:\> attrib -r -a -s -h boot.ini C:\> edit boot.ini
Agregue esta línea al final del archivo:
C:\bootsect.lnx="Slackware Linux"
Guarde los cambios y salga del editor. Cuando reinicie Windows NT, tendrá la opción Linux en el menú. Seleccionándola arrancará en Linux.
Linux
Sí, la gente de verdad lo hace. Este es definitivamente el escenario más fácil de inicio dual. Simplemente utilice LILO y agregue más entradas al archivo /etc/lilo.conf. Eso es todo hasta aquí.
Consola
En un entorno gráfico, la interfaz es brindada por un programa que crea ventanas, barras de desplazamiento, menúes, etc. En un entorno de línea de comandos, la interfaz de usuario es brindada por una consola, la cual interpreta comandos y generalmente hace las cosas utilizables. Inmediatamente después de iniciar sesión (lo cual es cubierto en este capítulo), los usuarios son puestos en una consola y se les permite resolver sus asuntos. Este capítulo sirve como una introducción a la consola, y a la consola más común entre los usuarios de Linux: el Bourne Again Shell (bash). Para una información más detallada sobre cualquier parte de este capítulo, revise la página man de bash(1).
Usuarios
Inicio de sesión
Así que usted ha arrancado el sistema, y está mirando algo que se parece a esto:
Welcome to Linux 2.4.18 Last login: Wed Jan 1 15:59:14 -0500 2005 on tty6. darkstar login:
Hmm.. nadie dijo nada acerca de un inicio de sesión. ¿Y qué es darkstar? No se preocupe; lo más seguro es que usted no haya disparado un enlace de comunicaciones del hiperespacio con la luna artificial del Imperio. (Me temo que el protocolo de enlace de comunicaciones del hiperespacio no está soportado actualmente en el núcleo de Linux. Tal vez la rama 2.8 del núcleo al fin brinde este soporte tan necesario.) No, darkstar es solo el nombre de una de nuestras computadoras, y su nombre queda puesto por omisión. Si usted especificó un nombre para su computadora durante la instalación, debe verlo en lugar de darkstar.
Y para el inicio de sesión... si esta es su primera vez, debe iniciar sesión como root. Se le preguntará una contraseña; si usted puso una durante la instalación, es la que estamos buscando. Si no, sencillamente oprima enter. Eso es todo; ¡ya está dentro!
Superusuario
Ok, ¿quién o qué es root? ¿Y qué está haciendo con una cuenta en su sistema?
Bien, en el mundo de Unix y sistemas operativos similares (como Linux), existen usuarios y luego usuarios. Tendremos más detalles después, pero lo importante que se debe conocer es que root es el usuario por encima de todos los usuarios; root es plenipotente y todo lo sabe, y nadie desobedece a root. Sencillamente no está permitido. root es lo que llamamos un “superusuario”, y es eso exactamente. Y lo mejor de todo, root es usted.
¿Grandioso, heh?
Si usted no está seguro: sí, es de veras grandioso. La cosa es que a root le está permitido romper todo si así lo desea. Usted debe ir a la Sección 12.1.1 y ver cómo se añade un usuario; entonces iniciar sesión como ese usuario y trabajar desde ahí. La sabiduría tradicional dice que es mejor solo hacerse superusuario solo cuando sea absolutamente necesario, para minimizar las posibilidades de romper algo por accidente.
A propósito, si usted decide que desea ser root mientras está iniciada su sesión como alguien más, no hay problema. Sencillamente use el comando su(1). Se le preguntará la contraseña de root y entonces usted será root hasta que salga con exit o con logout. Puede convertirse en otro usuario utilizando su, siempre que conozca la contraseña de este: su logan, por ejemplo, lo hará ser yo.
Nota: root puede hacer su a cualquier usuario, sin necesitar su contraseña.
Línea de comandos
Ejecutar programas
Es difícil quedar satisfecho sin correr un programa; usted puede apuntalar algo con su computadora, o mantener con ella abierta una puerta, e incluso hará un ruidito muy cariñoso mientras funciona, pero nada más. Y creo que todos podemos estar de acuerdo en que este uso como calzo de puerta ruidoso no fue lo que le dio la popularidad que goza la computadora personal.
¿Recuerda que casi todo en Linux es un archivo? Bien, eso se aplica a los programas también. Cada comando que corra (que no se encuentre en la consola) reside en un archivo, en alguna parte. Usted corre un programa simplemente especificando el camino completo hasta él.
Por ejemplo, ¿recuerda aquel comando su de la última sección? Realmente se encuentra en el directorio /bin: /bin/su debe correrlo gustosamente.
¿Entonces por qué simplemente tecleando su funciona? Después de todo, usted no dijo que estuviera en /bin. Fácilmente podría haber estado en /usr/local/share, ¿no? ¿Cómo lo supo? La respuesta a eso reside en la variable de entorno PATH (camino); la mayoría de las consolas tienen PATH o algo muy similar a PATH. Este básicamente contiene una lista de directorios en los cuales buscar los programas que usted intenta correr. Así que cuando usted corra su, la consola buscará en su lista de directorios, chequeando en cada uno la existencia de un archivo ejecutable llamado su para correrlo; el primero al que llegue, lo corre. Esto sucede siempre que usted corra un programa sin especificar el camino completo hasta él; si usted obtiene un mensaje de error al estilo ““Command not found””, esto sencillamente significa que el programa que usted intentó correr no está en su PATH (por supuesto, esto debe de ser cierto si el programa no existe del todo...). Discutiremos las variables de entorno con más detalle en la Sección 8.3.1.
También recuerde que “.” es una abreviatura para el directorio actual, así que si sucede que usted está en /bin, ./su debe funcionar como si fuera explícitamente el camino completo.
Utilizar comodines
Casi todas las consolas reconocen algunos caracteres como sustitutos o abreviaturas que significan que alguna cosa va ahí. Esos caracteres se llaman apropiadamente comodines; los más comunes son * y ?. Por convenio, ? usualmente significa un solo caracter cualquiera. Por ejemplo, suponga que usted está en un directorio con tres archivos: ex1.txt, ex2.txt, y ex3.txt. Desea copiar todo esos archivos (usando el comando cp que cubrimos en la Sección 10.5.1) hacia otro directorio, digamos /tmp. Bien, teclear cp ex1.txt ex2.txt ex3.txt /tmp es definitivamente mucho trabajo. Es mucho más fácil teclear cp ex?.txt /tmp; el ? va a hacer la función de los caracteres “1”, “2”, y “3”, y a sustituirlos.
¿Qué ha dicho usted? ¿Que aún es mucho trabajo? Está en lo cierto. Es espantoso; tenemos leyes de trabajo que nos protegen de esa clase de cosas. Afortunadamente, también tenemos el *. Como ya dijimos, * corresponde con “cualquier número de caracteres”, incluyendo 0. Así que si esos tres archivos estuviesen solos en el directorio, podríamos decir simplemente cp * /tmp y tenerlos todos allá de un solo barrido. Suponga, además, que también hay un archivo llamado ex.txt y uno llamado hejaz.txt. Queremos copiar ex.txt pero no hejaz.txt; cp ex* /tmp hará eso por nosotros.
cp ex?.txt /tmp, debería, por supuesto, obtener solo nuestros tres archivos originales; no existe ningún caracter en ex.txt que corresponda con el ?, así que quedaría fuera.
Otro comodín común es el par de corchetes [ ]. Cualquier caracter dentro de los corchetes será sustituido en lugar de [ ] para hallar concordancias. ¿Suena confuso? No es tan malo. Suponga, por ejemplo, que tenemos un directorio que contiene los siguientes 8 archivos: a1, a2, a3, a4, aA, aB, aC, y aD. Queremos solo hallar los archivos que terminen en números; [ ] hará esto por nosotros.
% ls a[1-4] a1 a2 a3 a4
¿Pero si queremos solamente a1, a2 y a4? En el ejemplo anterior utilizamos - para indicar todos los valores entre 1 y 4. También podemos separar entradas individuales por comas.
% ls a[1,2,4] a1 a2 a4
Sé lo que está pensando ahora “¿Bien, y qué se hace con las letras?” Linux es sensible a las mayúsculas, lo que significa que a y A son caracteres diferentes y solo tienen relación en su mente. Las mayúsculas siempre vienen antes de las minúsculas, así que A y B vienen antes de a y b. Continuando con nuestro ejemplo anterior, si deseamos los archivos a1, y A1, podemos encontrarlos rápidamente con [ ].
% ls [A,a]1 A1 a1
Note que si hubiésemos puesto un guión en lugar de la coma, habríamos obtenido resultados incorrectos.
% ls [A-a]1 A1 B1 C1 D1 a1
Puede también combinar cadenas con guión y comas.
% ls [A,a-d] A1 a1 b1 c1 d1
Redireccionamiento de entrada/salida y conductos
(Aquí viene algo bien bueno.)
% ps > blargh
¿Sabe lo que es esto? Ese soy yo corriendo ps para ver qué procesos están ejecutándose; ps es cubierto en la Sección 11.3. Esa no es la parte buena. La parte buena es > blargh, la cual significa, crudamente, toma la salida de ps y escríbela en un archivo llamado blargh. Pero espere, esto se pone mejor.
% ps | less
Este toma la salida de ps y la conduce hacia less, para que yo pueda desplazarme a través de ella a mi antojo.
% ps >> blargh
Este el es tercer redirector más comúnmente usado; este hace lo mismo que “>”, excepto que “>>” va a agregar la salida de ps al archivo blargh, si dicho archivo existe. Si no, como hace “>”, este será creado. (“>” va a destruir el contenido actual de blargh.)
Existe también el operador “<”, el cual significa tomar su entrada desde lo siguiente, pero no se utiliza con tanta frecuencia.
% fromdos < dosfile.txt > unixfile.txt
La redirección se pone realmente divertida cuando usted comienza a apilarla:
% ps | tac >> blargh
Esto va a correr ps, invertir las líneas de su salida, y adicionarla al archivo blargh. Usted puede apilar tantas de esas como desee; solo tenga cuidado de recordar que son interpretadas de izquierda a derecha.
Vea la página man de bash(1) para obtener información más detallada sobre redireccionamiento.
Bourne Again Shell
Variables de entorno
Un sistema Linux es una bestia compleja, y hay mucho de qué ocuparse, muchos pequeños detalles que vienen a jugar en su interacción normal con varios programas (algunos de los cuales usted ni siquiera está enterado de que existen). Nadie desea pasar un montón de opciones a cada programa que corre, diciéndole qué terminal está siendo usada, el nombre de la computadora o cómo debe lucir el prompt.
Así que como mecanismo de copia, los usuarios tienen lo que se denomina entorno. El entorno define las condiciones en las cuales el programa se ejecuta, y como algunas de esas definiciones son variables, el usuario puede alterarlas y jugar con ellas, lo cual es correcto solo en sistemas Linux. Casi seguro que cualquier consola tendrá sus variables de entorno (si no, probablemente no sea una consola muy usable). Aquí daremos una panorámica de los comandos que bash brinda para manipular sus variables de entorno.
set por sí solo le mostrará todas las variables de entorno que están actualmente definidas, así como sus valores. Como la mayoría de los comandos internos de bash, este también puede hacer otras cosas (con parámetros); aunque le dejaremos a la página man de bash(1) la cobertura de ese tema. El Ejemplo 8-1 muestra una salida de un comando set que corrió en una de las computadoras del autor. Note en este ejemplo la variable PATH, discutida anteriormente. Los programas en cualquiera de esos directorios pueden ser corridos simplemente tecleando su nombre de archivo base.
Ejemplo 8-1. Listado de variables de entorno con set.
% set PATH=/usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin: /usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/bin: /usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin PIPESTATUS=([0]="0") PPID=4978 PS1='\h:\w\$ ' PS2='> ' PS4='+ ' PWD=/home/logan QTDIR=/usr/local/lib/qt REMOTEHOST=ninja.tdn SHELL=/bin/bash % unset VARIABLE
unset eliminará cualquier variable que usted le dé, barriendo tanto la variable como su valor; bash va a olvidar que esa variable existió (no se preocupe: a menos que usted explícitamente la haya definido en esa sesión de terminal, probablemente se redefina en cualquier otra sesión).
% export VARIABLE=algún_valor
Ahora, export es realmente útil. Al usarlo, usted le da a la variable de entorno VARIABLE el valor “algún_valor”; si VARIABLE no existía, existe a partir de ahora. Si VARIABLE ya tenía valor, pues, ya no lo tendrá más. Esto no es muy bueno, si usted solamente está tratando de adicionar un directorio en su PATH. En ese caso, usted probablemente desee hacer algo como esto:
% export PATH=$PATH:/algún/nuevo/directorio
Note el uso de $PATH ahí; cuando usted desee que bash interprete la variable (reemplácelo con su valor), ponga un $ al inicio del nombre la variable. Por ejemplo, echo $PATH va a mostrar el valor de PATH, en mi caso:
% echo $PATH /usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin: /usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/bin: /usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin
Completado con Tab
(Aquí viene algo bueno de nuevo.)
- Una interfaz de línea de comandos significa teclear mucho.
- Teclear es trabajo.
- A nadie le gusta el trabajo.
De 3 y 2, podemos determinar que (4) a nadie le gusta teclear. Afortunadamente, bash nos salva de (5) (a nadie le gusta una interfaz de línea de comandos).
¿Cómo logra bash esta magnífica característica?, se preguntará. Además de la expansión con comodines, bash incluye el completado con tab.
El completado con Tab funciona más o menos así: Usted está tecleando el nombre de un archivo. Tal vez está en su PATH, tal vez lo está tecleando explícitamente. Todo lo que tiene que hacer es teclear el nombre del fichero solamente hasta que quede identificado únicamente. Entonces, apriete la tecla Tab. bash se imaginará lo que usted desea y ¡terminará de teclearlo para usted!
Hora de ejemplos: /usr/src contiene dos subdirectorios: /usr/src/linux y /usr/src/sendmail. Yo quiero ver qué hay en /usr/src/linux. Entonces, sencillamente tecleo ls /usr/src/l, oprimo la tecla Tab, y bash me da ls /usr/src/linux.
Ahora, suponga que existen dos subdirectorios /usr/src/linux y /usr/src/linux-old. Si yo tecleo /usr/src/l y oprimo TAB, bash llenará tanto como pueda, y yo obtendré /usr/src/linux. Puedo parar ahí, o puedo apretar Tab de nuevo, y bash mostrará una lista de directorios que coincidan con lo que yo haya tecleado hasta ese momento.
Por ende, menos tecleo (y por ende, a las personas puede agradarle la línea de comandos). Le dije al comienzo que esto estaba bueno.
Terminales virtuales
Digamos que usted está en medio de cualquier tarea y decide hacer algo más. Puede simplemente desechar lo que está haciendo, e intercambiar de tarea, pero esto es un sistema multiusuario, ¿no es cierto? Y usted puede iniciar tantas sesiones simultáneas como desee, ¿no es cierto? Entonces, ¿por qué razón hacer una sola cosa al mismo tiempo?
Usted no tiene por qué. Nosotros no tenemos múltiples teclados, ratones y monitores para una máquina; ya que la mayoría de nosotros no lo necesita. Evidentemente, el hardware no es la solución. Solo queda entonces el software, y Linux se encarga de esto, brindando "terminales virtuales" o "VT".
Presionando Alt y una tecla de funciones, usted puede intercambiar entre terminales virtuales; a cada tecla de función le corresponde uno. Slackware tiene inicio de sesiones en 6 VTs por omisión. Alt+F2 lo llevará a la segunda, Alt+F3 a la tercera, etc.
El resto de las teclas de funciones están reservadas para sesiones X. Cada sesión X usa su propia VT, comenzando por la séptima (Alt+F7) en adelante. Cuando está en X, la combinación Alt+Tecla de función es reemplazada por Ctrl+Alt+Función; así que si usted está en X y desea regresar a un inicio de sesión en modo texto (sin salir de su sesión X) Ctrl+Alt+F3 lo llevará a la tercera (Alt+F7 lo traerá de regreso, asumiendo que usted utilice la primera sesión X).
Pantalla
Pero ¿qué sucede en aquellos casos en los cuales no existen los terminales virtuales? ¿Qué hacer en ese caso? Afortunadamente, Slackware incluye un bonito gestor de pantallas llamado screen. screen es un emulador de terminal que tiene posibilidades similares a las de una terminal. Al ejecutar screen parpadea una breve introducción, y luego cae a una terminal. A diferencia de las terminales virtuales estándares, screen tiene sus propios comandos. Todos los comandos de screen comienzan con la combinación Ctrl+a. Por ejemplo, Ctrl+a+c creará una nueva sesión de terminal. Ctrl+a+n seleccionará la próxima terminal. Ctrl+a+p selecciona la terminal anterior.
screen también permite adjuntar o prescindir de sesiones de screen, lo cual es particularmente útil para sesiones remotas vía ssh y telnet (hablaremos de ellos más tarde). Ctrl+a+d prescindirá de la pantalla que está mostrándose actualmente. Ejecutando screen -r se muestran las sesiones actuales que están corriendo, a las cuales usted puede adjuntarse.
% screen -r There are several suitable screens on: 1212.pts-1.redtail (Detached) 1195.pts-1.redtail (Detached) 1225.pts-1.redtail (Detached) 17146.pts-1.sanctuary (Dead ???) Remove dead screens with 'screen -wipe'. Type "screen [-d] -r [pid.]tty.host" to resume one of them.
Corriendo screen -r 1212 le adjuntará la primera pantalla de la lista. Ya mencioné anteriormente cuán útil era esto para las sesiones remotas. Si yo estuviera iniciado en un Slackware remoto vía ssh, y mi conexión estuviera dañada severamente por algún evento casual, como un fallo local de la electricidad, cualquier cosa que estuviera haciendo en ese momento perecería instantáneamente, lo cual podría ser horrible para su servidor. Usar screen previene esto prescindiendo de mi sesión si la conexión está caída. Una vez que mi conexión se restaure, puedo readjuntar mi sesión y terminar lo que estuviera haciendo en el mismo punto en el que lo dejé.
Estructura del sistema de archivos
Ya hemos discutido la estructura de directorios en Slackware Linux. A estas alturas, usted ya debe ser capaz de encontrar los archivos y directorios que necesite; solo que el sistema de archivos no es solamente la estructura de directorios.
Linux es un sistema multiusuario. Cada aspecto del sistema es multiusuario, incluso el sistema de archivos. El sistema almacena información, como quién es el propietario de un archivo y quién puede leerlo. Existen otras partes únicas del sistema de archivos, como los enlaces y los montajes NFS. Esta sección explica éstas, así como los aspectos multiusuario del sistema de archivos.
Propiedad
El sistema de archivos almacena la información de propiedad para cada archivo y directorio en el sistema. Esto incluye qué usuario y grupo posee un archivo en particular. La manera más sencilla de ver esta información es con el comando ls:
% ls -l /usr/bin/wc -rwxr-xr-x 1 root bin 7368 Jul 30 1999 /usr/bin/wc
Para cambiar el grupo propietario a “root”, podemos usar chgrp:
# chgrp root /usr/bin/wc
Podemos también usar chown para especificar el usuario y grupo que posee determinado archivo:
# chown daemon:root /usr/bin/wc
En el ejemplo anterior, el usuario podría haber usado un punto en vez de los dos puntos. El resultado sería el mismo; de todas maneras, los dos puntos se consideran una mejor forma. El uso del punto está desechado, y puede ser eliminado de versiones futuras de chown para permitir nombres de usuario que incluyan puntos. Estos nombres de usuario tienden a ser muy populares en los servidores Windows Exchange, y son muy comunes en direcciones de correo electrónico, por ejemplo: mr.jones@example.com. En Slackware, los administradores están prevenidos a mantenerse alejados de estos nombres de usuario, ya que algunos scripts aún utilizan el punto para indicar el usuario y grupo de un archivo o directorio. En nuestro ejemplo, chmod debe interpretar mr.jones como usuario “mr” y grupo “jones”.
La propiedad de archivos es una parte muy importante en el uso de un sistema Linux, incluso si usted es el único usuario. A veces necesitará ajustar la propiedad de algunos archivos, o nodos de dispositivos.
Permisos
Los permisos son otra parte importante de los aspectos multiusuario del sistema de archivos. Con estos puede cambiar quién puede leer, escribir y ejecutar archivos.
La información de permisos se almacena como cuatro dígitos octales, cada uno especifica un grupo diferente de permisos. Existen permisos para el propietario, para el grupo y para el resto del mundo. Los cuatro dígitos octales se utilizan para almacenar información especial sobre la identificación de usuario, la identificación del grupo y el bit "sticky". Los valores octales asignados a los modos de permisos son los siguientes (estos también tienen letras asociadas con ellos, las cuales son mostradas por programas como ls y pueden ser usadas por chmod):
| Tipo de Permiso | Valor Octal | Valor Letra |
|---|---|---|
| bit “sticky” | 1 | t |
| identificador de usuario | 4 | s |
| identificador de grupo | 2 | s |
| leer | 4 | r |
| escribir | 2 | w |
| ejecutar | 1 | x |
Usted suma valores octales para cada grupo de permisos. Por ejemplo, si desea que los permisos de grupo sean “leer” y “escribir”, debe usar “6” en la parte del grupo de la información de permisos.
Los permisos por omisión de bash son:
% ls -l /bin/bash -rwxr-xr-x 1 root bin 477692 Mar 21 19:57 /bin/bash
El primer guión debería ser reemplazado por una “d” si esto fuera un directorio. Estos tres grupos de permisos (propietario, grupo y mundo) se muestran a continuación. Podemos ver que el propietario tiene los permisos de lectura, escritura y ejecución (rwx). El grupo solamente tiene leer y ejecutar (r-x). Y el resto del mundo solamente tiene leer y ejecutar (r-x).
¿Cómo podemos poner los permisos a otro archivo para que queden como los de bash? Primero, hagamos un archivo de ejemplo:
% touch /tmp/example % ls -l /tmp/example -rw-rw-r--- 1 david users 0 Apr 19 11:21 /tmp/example
Usaremos chmod(1) (que significa “change mode”, cambiar modo) para poner los permisos al archivo de ejemplo. Sume los números octales para poner los permisos que desee. Para que el propietario tenga lectura, escritura y ejecución, debemos poner un valor de 7. Lectura y ejecución debe tener un 5. Ponga todo esto junto y páselo a chmod así:
% chmod 755 /tmp/example % ls -l /tmp/example -rwxr-xr-x 1 david users 0 Apr 19 11:21 /tmp/example
Ahora usted puede estar pensando, "¿por qué no se creó el archivo con esos permisos desde el principio?" La respuesta es sencilla. bash incluye una pequeña estructura llamada umask. Esta está incluida en la mayoría de las líneas de comando de Unix, y controla los permisos que se asignan a los archivos que se creen nuevos. Discutimos las estructuras internas de bash hasta determinado grado en la Sección 8.3.1. umask nos toma un poco para acostumbrarnos. Funciona de manera similar a chmod, solo que al revés. Usted especifica los valores octales que no desea que existan en los archivos que se creen nuevos. El valor por omisión de umask es 0022.
% umask 0022 % umask 0077 % touch tempfile % ls -l tempfile -rw-------- 1 david users 0 Apr 19 11:21 tempfile
Vea la página man de bash para obtener más información.
Para poner permisos especiales con chmod, adicione los números juntos y póngalos en la primera columna. Por ejemplo, para hacer que ponga el identificador de usuario y grupo, usamos 6 en la primera columna:
% chmod 6755 /tmp/example % ls -l /tmp/example -rwsr-sr-x 1 david users 0 Apr 19 11:21 /tmp/example
Si los valores octales lo confunden, usted puede utilizar letras con chmod. Los grupos de permisos se representan como:
Propietario: u Grupo: g Mundo: o Todos los anteriores: a
Para hacer lo anterior, podríamos haber usado varias líneas de comando:
% chmod a+rx /tmp/example % chmod u+w /tmp/example % chmod ug+s /tmp/example
Algunas personas prefieren las letras sobre los números. De cualquier manera, el final va a ser el mismo grupo de permisos.
El formato octal es a veces más rápido, y es el que comúnmente se ve en los scripts de línea de comandos. A veces, las letras son más potentes. Por ejemplo, no hay una manera fácil de cambiar un grupo de permisos mientras se mantienen los otros grupos en los archivos y directorios cuando se utiliza el formato octal. Esto es trivial con las letras:
% ls -l /tmp/ -rwxr-xr-x 1 alan users 0 Apr 19 11:21 /tmp/example0 -rwxr-x--- 1 alan users 0 Apr 19 11:21 /tmp/example1 ----r-xr-x 1 alan users 0 Apr 19 11:21 /tmp/example2 % chmod g-rwx /tmp/example? -rwx---r-x 1 alan users 0 Apr 19 11:21 /tmp/example0 -rwx------ 1 alan users 0 Apr 19 11:21 /tmp/example1 -------r-x 1 alan users 0 Apr 19 11:21 /tmp/example2
Hemos mencionado sobre poner el identificador de usuario y de grupo en varios lugares anteriormente. Usted debe estarse preguntando qué es eso. Normalmente, cuando usted corre un programa, este opera bajo su cuenta de usuario. Esto significa que tiene todos los permisos que usted como usuario tiene. Lo mismo se aplica al grupo. Cuando usted corre un programa, este se ejecuta bajo su grupo actual. Poniendo el permiso de identificador de usuario, usted puede forzar al programa para que siempre corra como el dueño del programa (como “root”, por ejemplo). Poner el identificador de grupo es lo mismo, pero para el grupo.
Tenga cuidado con esto, ya que poner permisos de identificador de usuario y grupo puede abrir grandes agujeros de seguridad en su sistema. Si usted frecuentemente pone identificadores de usuario a programas que son propiedad de root, está permitiendo que cualquier usuario corra ese programa como root. Como root no tiene restricciones en el sistema, ahí radica el gran problema de seguridad. Resumiendo, no es malo utilizar los permisos identificadores de usuario y grupo, solamente use su sentido común.
Enlaces
Los enlaces son punteros entre archivos. Con los enlaces, usted puede tener archivos que existan en diferentes lugares y que sean accesibles bajo diversos nombres. Existen dos tipos de enlaces: fuertes y débiles.
Los enlaces fuertes son nombres para un archivo en particular. Estos solo pueden existir en un solo sistema de archivos, y solo se eliminan cuando el nombre real es eliminado del sistema. Estos son útiles en algunos casos, pero muchos usuarios encuentran que el enlace débil es más versátil.
El enlace débil, también conocido como enlace simbólico (symlink), puede apuntar a un archivo fuera del sistema de archivos. Realmente es un pequeño archivo que contiene la información que necesita. Usted puede agregar o eliminar enlaces débiles sin afectar el archivo actual. Y como los enlaces simbólicos son realmente un pequeño archivo que contiene su propia información, incluso pueden apuntar a un directorio. Es muy común tener /var/tmp como un enlace simbólico a /tmp, por ejemplo.
Los enlaces no tienen su propio grupo de permisos ni propietarios, sino que reflejan aquellos del archivo a los cuales apuntan. Slackware utiliza mayormente enlaces débiles. Este es un ejemplo común:
% ls -l /bin/sh lrwxrwxrwx 1 root root 4 Apr 6 12:34 /bin/sh -> bash
La consola sh en Slackware es realmente bash. Para eliminar los enlaces se utiliza rm. El comando ln se utiliza para crear los enlaces. Estos comandos serán discutidos con profundidad en el Capítulo 10.
Es muy importante tener cuidado con los enlaces simbólicos. Una vez, yo estaba trabajando en una máquina que fallaba consistentemente a la hora de realizar las copias de respaldo en cintas todas las noches. Dos enlaces simbólicos se habían creado en dos directorios, uno apuntando al otro. El programa de respaldo se mantenía copiando los mismos dos directorios hacia la cinta hasta que se quedaba sin espacio. Normalmente, un grupo de medidas de chequeo debe evitar casos como este, pero este fue un caso muy especial.
Montaje de dispositivos
Como se discutió previamente en la Sección 4.1.1, todas las unidades y los dispositivos de su computadora son un gran sistema de archivos. Varias particiones de disco duro, CD-ROM y disquetes son dispuestos en el mismo árbol. Para poder adjuntar estas unidades al sistema de archivos de manera que usted pueda acceder a ellas, deben utilizarse los comandos mount(1) y umount(1).
Algunos dispositivos se montan automáticamente cuando inicia su computadora. Estos se listan en el archivo /etc/fstab. Cualquier cosa que usted desee que se monte automáticamente tiene una entrada en ese archivo. Para otros dispositivos, usted que ejecutar un comando cada vez que desee utilizar ese dispositivo.
fstab
Veamos un ejemplo de un archivo /etc/fstab:
% cat /etc/fstab /dev/sda1 / ext2 defaults 1 1 /dev/sda2 /usr/local ext2 defaults 1 1 /dev/sda4 /home ext2 defaults 1 1 /dev/sdb1 swap swap defaults 0 0 /dev/sdb3 /export ext2 defaults 1 1 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0 /dev/fd0 /mnt ext2 defaults 0 0 /dev/cdrom /mnt/cdrom iso9660 ro 0 0
La primera columna es el nombre de dispositivo. En este caso, los dispositivos están esparcidos en cinco particiones, en dos discos duros SCSI, dos sistemas de archivos especiales que no necesitan dispositivos, un disquete y una unidad de CD-ROM. La segunda columna dice dónde debe ser montado el dispositivo. Esto necesariamente debe ser el nombre de un directorio, excepto en el caso de una partición de intercambio (swap). La tercera columna es el tipo de sistema de archivo del dispositivo. Para sistemas de archivos normales en Linux, esto debe ser ext2 (second extended filesystem, segundo sistema de archivos extendido). Las unidades de CD-ROM tienen iso9660, y los dispositivos basados en Windows pueden tener msdos o vfat.
La cuarta columna es un listado de las opciones que se le aplican al sistema de archivos montado. Lo que viene por omisión normalmente está bien para casi todo. De cualquier modo, a los dispositivos de solo lectura se les debe asignar la opción ro. Existen muchas opciones que pueden ser utilizadas. Revise la página man de fstab(5) para obtener más información. Las últimas dos columnas son utilizadas por fsck y otros comandos que necesitan manipular los dispositivos. Revise la página man para obtener también esta información.
Cuando usted instale Slackware Linux, el programa de instalación va a construir gran parte del archivo fstab.
mount y umount
Adjuntar otro dispositivo a su sistema de archivos es fácil. Todo lo que tiene que hacer es utilizar el comando mount, con unas pocas opciones. El uso de mount puede simplificarse mucho si el dispositivo tiene una entrada en el archivo /etc/fstab. Por ejemplo, digamos que yo quiero montar mi unidad de CD-ROM y que mi archivo fstab es igual que el mostrado en la sección anterior. Yo llamaría a mount así:
% mount /cdrom
Como en fstab hay una entrada para el punto de montaje, mount sabe qué opciones utilizar. Si no hubiese una entrada para ese dispositivo, yo tendría que usar muchas opciones para mount:
% mount -t iso9660 -o ro /dev/cdrom /cdrom
Esta línea de comandos incluye la misma información que fstab en el ejemplo, pero iremos por partes, de cualquier manera. El -t iso9660 es el sistema de archivos que más comúnmente se utiliza en los CD-ROM. El -o ro le dice a mount que monte el dispositivo como de solo lectura. El nombre del dispositivo a montar es /dev/cdrom y /cdrom es la localización en el sistema de archivos para montar la unidad.
Antes de que usted pueda sacar un disquete, CD-ROM u otro dispositivo extraíble que esté actualmente montado, tendrá que desmontarlo. Esto se realiza mediante el comando umount. No me pregunte dónde fue la “n” porque no podría decirle. Usted puede utilizar tanto el nombre de dispositivo como el punto de montaje como argumento para umount. Por ejemplo, si usted desea desmontar el CD-ROM del ejemplo anterior, cualquiera de estos dos comandos funcionará:
# umount /dev/cdrom # umount /cdrom
Montaje con NFS
NFS significa Network FileSystem (Sistema de Archivos de Red). Realmente no es parte del sistema de archivos, pero puede utilizarse para agregar partes al sistema de archivos montado.
Los grandes entornos Unix a veces comparten los mismos programas, grupos de directorios home, y el spool de correo. El problema de tener la misma copia en cada máquina se resuelve con NFS. Podemos utilizar NFS para compartir un grupo de directorios home entre todas las estaciones de trabajo. La estación de trabajo monta este recurso compartido con NFS como si estuviera en la propia máquina.
Vea la Sección 5.6.2 y las páginas man para exports(5), nfsd(8), y mountd(8) para obtener más información.

