El Codiguero
Programando para la wé

Avatar de alvlin Publicado por alvlin, el 25/12/2008
Categorías: Linux

Slackware 12.2: Instalación

Hace un par de semanas fue publicada la versión 12.2 de Slackware, la distribución de GNU/Linux más antigua entre las que siguen desarrollándose.
Esta distribución se caracteriza por su fama de complicada, sin embargo una vez que el sistema está configurado el mantenimiento necesario es mínimo, y resulta tan sencilla de manejar como cualquier otra distribución. Lo único que el sistema pide a cambio de su estabilidad y facilidad de mantenimiento es algo de tiempo leyendo manuales y ayudas para comprender lo que sucede y por qué. La instalación, configuración y uso de este sistema es probablemente la mejor forma de aprender a manejar un sistema Unix.

Queda claro que le tengo un aprecio bastante grande, sin embargo soy capaz de reconocer que, como todo, esta distribución no es perfecta y tiene sus problemas. Y para solucionar los problemas suele requerirse un conocimiento de lo que se hace. Es por eso que quiero compartir mi experiencia instalando Slackware 12.2 en mi computadora Dell Vostro 1000.

Instalación

La instalación en sí no es un problema, recomiendo esta guía de instalación para aquellos que no hayan realizado este proceso antes. La guía es para la distribución ZenWalk, pero el proceso es casi el mismo ya que ZenWalk es una de las tantas distribuciones hijas de Slackware.

Un punto a recordar es que, una vez en el programa de instalación, debe iniciarse el proceso eligiendo la opción ADDSWAP en el menú, o TARGET. Estos pasos deben hacerse primero ya que son los que preparan el disco en el que se instalará, si no se hacen primero siempre se llega a un punto en la instalación en el que se debe iniciar todo el proceso de nuevo.
Y esto siempre requiere salir del programa de instalación y abrirlo de nuevo, ya que la autodetección del disco CD/DVD de instalación funciona solamente la primera vez que se hace.

De todas formas, la instalación con las opciones por defecto (full install, instalar todos los paquetes disponibles) puede iniciarse en menos de 5 minutos y terminarse en más o menos media hora.

Al terminar la copia de archivos se hacen algunos pasos para la configuración inicial del sistema, principalmente lo que respecta a la ubicación geográfica, la configuración de red y la instalación del gestor de arranque (LILO). Una vez finalizados estos pasos, el programa de instalación se cierra y se nos indica que debemos reiniciar el sistema.

Configuración inicial

Al arrancar el sistema, a diferencia de lo que sucede con otras distribuciones, el entorno gráfico no se inicia por defecto. Se nos presenta una pantalla de inicio de sesión en modo texto, en la que deberemos entrar como el usuario root y con la contraseña correspondiente (que habremos indicado en uno de los últimos pasos de la instalación).

Una vez dentro, hay varias tareas a realizar.

Arrancar por defecto el entorno gráfico

Esto se hace editando el archivo /etc/inittab y cambiando el nivel de ejecución predeterminado. Lo haremos con vim
root@alvlin:/# vim /etc/inittab
Una vez que se abra el archivo, hay que ir a la línea que contiene
# Default runlevel. (Do not set to 0 or 6) id:3:initdefault:

vim no se parece en nada a los editores normales, por lo que para quien lo usa por primera vez puede resultar bastante extraño. La forma más sencilla de editar lo necesario y salir es llevar el cursor hacia el 3 en la línea mencionada antes, y presionar la siguiente secuencia de teclas:

  • x : borrará el 3
  • i : cambiará a modo edición
  • 4 : escribirá un 4
  • :wq : este comando guarda el archivo y sale de vim

Con esto, se indica que el nivel de ejecución por defecto debe ser el nivel 4. Normalmente cualquier documentación de GNU/Linux que se encuentre indica que el nivel 4 no se utiliza, y además casi todas las demás distribuciones utilizan el nivel 5 para el modo gráfico. En esto Slackware es diferente, en tanto que utiliza el nivel 4 para el modo gráfico y no utiliza el nivel 5.

Lo único que resta es configurar correctamente el servidor X, para esto basta ejecutar el programa xorgsetup, que se encargará de escribir un archivo de configuración inicial correcto.

Crear un usuario sin privilegios

La forma usual de utilizar el sistema es como usuario sin privilegios. Esto es, sin permiso para instalar programas o modificar el sistema, únicamente se tiene permiso para hacer modificaciones en la carpeta asignada al usuario. Este modo es ideal por la seguridad y para evitar errores fatales, que casi todos hemos cometido alguna vez. Añadiremos un usuario, entonces, con el comando adduser y escribiendo la información que el comando solicita.

Para que este usuario sea usable, conviene iniciar el programa kuser y asegurarse de que pertenezca a los grupos audio (para que pueda utilizar la tarjeta de sonido), cdrom, disk, plugdev (para que pueda utilizar dispositivos extraíbles), y video.

Utilizar el kernel generic en lugar de huge

Para la instalación, y por defecto en la instalación completa, Slackware instala un núcleo Linux que tiene compilado casi todos los controladores disponibles. Esto implica que el núcleo por defecto es bastante grande e ineficiente, aunque en una instalación funciona bien. Para el uso diario es mejor cambiar a un núcleo que incluya solamente lo mínimo, y en el que los controladores estén incluidos en forma de módulos (de tal forma que solamente se cargarán aquellos que sean necesarios).
Este cambio requiere de varias modificaciones, que quizás sea mejor hacer desde el entorno gráfico (se requiere edición de archivos, y es más fácil usar kedit que vim.) Por lo que reiniciar en este momento e iniciar sesión como root en el entorno gráfico puede ser la mejor idea.

Vincular al kernel correcto

Desde la consola, el siguiente comando
cd /boot ; ls -l
Debería mostrar algo como esto (eliminé algunas líneas innecesarias):
lrwxrwxrwx 1 root root 37 2008-12-20 00:44 README.initrd -> /usr/doc/mkinitrd-1.3.3/README.initrd lrwxrwxrwx 1 root root 35 2008-12-18 00:49 System.map -> System.map-huge-smp-2.6.27.7-smp -rw-r--r-- 1 root root 965704 2008-11-21 02:20 System.map-generic-smp-2.6.27.7-smp lrwxrwxrwx 1 root root 32 2008-12-18 00:49 vmlinuz -> vmlinuz-huge-smp-2.6.27.7-smp -rw-r--r-- 1 root root 2347888 2008-11-21 02:20 vmlinuz-generic-smp-2.6.27.7-smp
Los archivos System.map y vmlinuz son enlaces que apuntan a las versiones huge del núcleo (esto puede verse indicado por las flechas -> junto al nombre del archivo). Debemos vincularlas a las versiones generic. Para esto, se utilizan los siguientes comandos:
rm System.map vmlinuz ln -s vmlinuz-generic-smp-2.6.27.7-smp vmlinuz ln -s System.map-generic-smp-2.6.27.7-smp System.map
Obviamente conviene hacer uso del autocompletado en bash, para no tener que recordar todo el nombre del archivo (presionar tecla tabulador).

El siguiente paso es crear el archivo initrd requerido. Dado que el núcleo genérico no tiene los controladores en el núcleo mismo sino como módulos, es necesario brindarle algunos controladores iniciales para que pueda encontrar el disco duro, leerlo, y cargar el resto de los módulos que necesita. Estos controladores iniciales se guardan en el archivo initrd.
Las instrucciones necesarias para crear este archivo están en el archivo README.initrd dentro de la carpeta /boot. Básicamente, para un sistema cuya partición principal es de tipo ext3, y está en /dev/sda1 (la primera partición primaria del primer disco SATA), el comando necesario es
mkinitrd -c -k 2.6.27.7-smp -m mbcache:jbd:ext3 -f ext3 -r /dev/sda1
(dentro de la carpeta /boot)
El último paso ahora es configurar LILO para que cargue este archivo initrd. Habrá que editar el archivo /etc/lilo.conf, buscar la sección correspondiente y agregar una línea al bloque
# Linux bootable partition config begins image = /boot/vmlinuz root = /dev/sda1 label = Linux read-only # Linux bootable partition config ends

que deberá quedar como
# Linux bootable partition config begins initrd = /boot/initrd.gz image = /boot/vmlinuz root = /dev/sda1 label = Linux read-only # Linux bootable partition config ends

Ya que estamos editando el archivo lilo.conf, conviene también editar el tiempo que se espera antes de arrancar el sistema, en la pantalla de selección de SO. Por defecto este tiempo es 2 minutos, recomiendo cambiarlo a un tiempo que sea corto pero permita interrumpir el proceso en caso de ser necesario (por ejemplo, medio segundo)
Habrá que ir hacia el principio del archivo lilo.conf y cambiar:
# This is given in tenths of a second, so 600 for every minute: timeout = 1200
por
# This is given in tenths of a second, so 600 for every minute: timeout = 50

Una vez realizados estos cambios, hay que re-instalar LILO. Este proceso es simplemente ejecutar el comando lilo en la terminal. Recomiendo ejecutar primero lilo -t (hacer una simulación de la instalación) y luego, si no hay errores (puede haber advertencias), ejecutar lilo.

Ahora, reiniciar el sistema nuevamente para cargar el núcleo genérico.

Configuración de una computadora portátil

Si tienes una computadora de escritorio, no se requieren más detalles de configuración, todo debería haber sido reconocido y autoconfigurado. El resto será cuestión de configurar los detalles del entorno gráfico. Pero si como yo tienes una computadora portátil, habrá otros detalles a configurar.

Red inalámbrica

Es muy probable que el dispositivo de red inalámbrica no tenga controladores para Linux. En este caso habrá que apelar a ndiswrapper, un programa que es capaz de utilizar los controladores de Windows que estos dispositivos incluyen. ndiswrapper no está incluido en la distribución de Slackware, pero puede conseguirse sin dificultad en SlackBuilds.org.
Para el control de la red inalámbrica Slackware incluye el programa wicd en la carpeta /extra. Bastará entonces con instalar el paquete desde esa carpeta. Algo importante a recordar es que, para que wicd funcione correctamente, es necesario darle permisos de ejecución al archivo /etc/rc.d/rc.wicd, y más importante aún: remover la configuración que se encuentra en el archivo /etc/rc.d/rc.inet1.conf. Para lograr esto simplemente se agrega una almohadilla # a toda línea de este archivo que no comience con una.
Si todo va bien entonces, al reiniciar habrá un ícono de wicd al lado del reloj, pronto para conectarse a alguna de las redes detectadas.

Synaptics, el controlador para el touchpad

El controlador synaptics viene incluido en Slackware, pero no será activado por defecto. Para activarlo, se requiere editar el archivo /etc/X11/xorg.conf. Este archivo contiene una sección por cada dispositivo de entrada (ratón, teclado), para el monitor, para la tarjeta de video, etc. Deberemos editar la sección correspondiente al ratón.
Esta sección es fácil de encontrar, habrá una línea como la siguiente:
Identifier "Mouse0"
Habrá que cambiar algunas líneas, para que quede similar a lo siguiente:
Section "InputDevice" Identifier "TouchPad" Driver "synaptics" Option "Protocol" "auto-dev" Option "Device" "/dev/input/by-path/platform-i8042-serio-1-event-mouse" Option "SHMConfig" "On" EndSection
Las líneas importantes son Protocol y Driver. La opción SHMConfig permite cambiar parámetros del touchpad al vuelo (por ejemplo, permite desactivarlo de forma temporal), mientras que para cambiar la línea Device se requiere un buen motivo.
Yo lo cambié porque noté que si iniciaba la computadora con mi ratón USB conectado, el nombre de dispositivo que le tocaba al touchpad era diferente. Por lo que resultaba que a veces funcionaba y a veces no. Para solucionar esto, le escribí como nombre de dispositivo algo que sabía que siempre se asigna igual (o mejor dicho, un nombre que se asigna al lugar correcto siempre). Normalmente el parámetro Device funciona sin problemas con un valor similar a /dev/input/eventN (donde N es un número)

Otro cambio necesario para el touchpad es cambiar la forma en que trabaja el módulo psmouse trabaja. Este módulo es un módulo genérico de Linux para ratón, y por defecto viene configurado de tal forma que el touchpad no se reconoce correctamente.
La configuración que hay que cambiar está en /etc/modprobe.d/psmouse. Habrá que cambiar la línea
options psmouse proto=ipms
por
options psmouse proto=any

De esta forma, en el arranque del sistema el touchpad pasará de ser reconocido como
PS/2 Synaptics TouchPad
a ser reconocido como debe ser:
SynPS/2 Synaptics TouchPad

Configuración de ahorro de energía

KLaptop puede configurar sin grandes problemas parte del sistema de ahorro de energía, pero hay un detalle que debe configurarse editando un archivo: qué se hace cuando se presiona el botón de encendido/apagado.
En esta página se explica cómo se debe configurar esto, el artículo es viejo y la mayor parte de lo que se explica ya no es necesario (como escribí antes, de eso se encarga KLaptop ahora)
Los pasos para que al presionar el botón la computadora hiberne en vez de apagarse son los siguientes:

  1. Cambiar a la carpeta /etc/acpi
  2. Dejar en esta carpeta únicamente el archivo acpi_handler.sh y crear las carpetas events and actions en caso de ser necesario.
  3. Crear un archivo /etc/acpi/actions/pwrbtn.sh con permisos de ejecución, y con el siguiente contenido:
    #!/bin/sh klaptop_acpi_helper --hibernate
  4. Crear un archivo /etc/acpi/events/pwrbtn con el siguiente contenido:
    event=button[ /]power action=/etc/acpi/actions/pwrbtn.sh

Listo, al presionar el botón de encendido la computadora hibernará en vez de apagarse. ¿Pero cómo restaurar?
Lo que hace la hibernación es mover el contenido de la memoria RAM y de algunas otras cosillas a la partición swap. Para poder restaurar el sistema es necesario indicarle al núcleo la partición de swap.
Hay que editar el archivo lilo.conf de nuevo, buscar la sección de Linux y añadirle la siguiente línea:
append = "resume=/dev/sda2"
(donde /dev/sda2 es la partición de swap).
Para finalizar, hay que volver a ejecutar el comando lilo (como antes, primero lilo -t para asegurarse de que todo es correcto, luego lilo para hacer la instalación). Con esto, si la máquina fue hibernada, el núcleo restaurará el estado. En caso de que la máquina haya sido apagada, se hará un arranque normal. En mi caso tengo configuradas dos secciones idénticas, una con el resume y otra sin él, simplemente para hacer pruebas de vez en cuando.

Toques finales

Para finalizar, personalmente me gusta instalar dos añadidos que modifican la apariencia de KDE. Uno de ellos es kde-moodin-engine (permite crear temas para la pantalla de inicio de KDE) y el otro es kdmtheme (permite crear temas para KDM). Con ellos se logra un arranque bastante bonito, personalmente uso el tema LoveKDE para kdm y el tema MoodinKDE para la pantalla de arranque.

Luego de todo esto quizás pienses: ¿por qué complicarse tanto si la distribución X lo hace todo automático? La respuesta, al menos en mi caso, es: para aprender lo que sucede tras bastidores en el sistema.

  • Digg
  • del.icio.us
  • Meneame
  • Reddit
  • Technorati
  • StumbleUpon
  • Facebook
  • LinkedIn
  • MySpace
  • Yahoo! Buzz
  • YahooMyWeb

» 20 Comentarios para “Slackware 12.2: Instalación”

  1. Carlos Alberto escribió:

    sos un Mago. Gracias por la ayuda. Agrague la página en mis favoritos para que no se me pierda y pueda seguir consultando.

  2. alvlin escribió:

    Muchas gracias Carlos por tu comentario, siempre es bueno saber que a alguien le resulta útil :-)

  3. Cristian escribió:

    Estoy iniciando con Linux y elegí Slackware, y tu ayuda ha resultado muy util para alguien que recién comienza.

    Se aprecia tu esfuerzo y gracias

  4. alvlin escribió:

    Gracias Cristian, muchos éxitos con Slackware. Estaría bueno que si encontrás alguna cosita que sea necesario configurar en el sistema y que no esté descripta aquí, me lo comentes :)

  5. arquichato escribió:

    Excelente ayuda soy nuevo en slackware, haber si puedes comentar la forma de configurar la conexion de red con ip fija pero desde el modo grafico.

    saludos y nuevamente excelente ayuda.

  6. alvlin escribió:

    arquichato, gracias por tu comentario. A decir verdad nunca imaginé que esta entrada fuera a ser tan exitosa, se ha convertido en poco tiempo en la entrada con más tráfico del sitio. Me alegra ver tanta gente interesada en este excelente SO.
    Con respecto a tu pregunta, la verdad es que pienso que lo mejor es correr el programa 'netconfig' desde la consola (como root). Es un asistente que te pregunta lo que necesita y configura todo.
    Otra opción es ir al Centro de Control de KDE, la sección "Internet y Red", "Parámetros de red". No tengo conocimiento de una opción similar para XFCE.
    Pero la que para mí es la mejor opción es instalar wicd desde la carpeta /extra del DVD, y utilizarlo para configurar la red. Es muy sencillo, aunque vale la misma aclaración que para la red inalámbrica: hay que quitar toda la información referente a las interfaces de red del archivo /etc/rc.d/inet1.conf

    Saludos.

  7. Ruben escribió:

    He seguido un curso IBM-GNU/Linux durante 9 meses (los días Sábados) el año pasado y me ha gustado mucho que en un corto tutorial de instalación encuentre varias cosas hasta ahora desconocidas y otras muy similares a las que se ven en este curso en el que se trabaja con fedora 3 y 5 y me he animado aún más a utilizar slackware en lugar de centos que había sido mi elección inicial.

  8. alvlin escribió:

    Ruben,
    Sin duda CentOS te resultará más familiar que Slackware, pero si estás dispuesto a darle un tiempo, seguro que Slackware no te defraudará.
    Por otro lado, cualquiera sea tu elección encontrarás cosas diferentes, sobretodo considerando que la versión actual de Fedora es la 10. Así que habrá cosas nuevas que aprender.

    Muchas gracias por tu comentario.

  9. Alex_HG escribió:

    Tengo un problema. al ejecutar "lilo" despues de insertar "initrd = /boot/initrd.gz" me sale este error
    Warning: The boot sector and map file are on different disks.
    Fatal: open /boot/initird.gz: No such file or directory
    Tengo 2 discos duros en el principal (hda) tengo Window$, y en el otro (hdb) Slackware, el arranque de lilo esta en el MBR de hda pero el boot de linux esta en hdb, sera ese el problema del error??? si es asi como lo corrijo??

  10. alvlin escribió:

    pues lo que sucede es que no creaste el archivo initrd.gz, o no lo creaste dentro de la carpeta /boot. Además, no sé si copiaste directamente el mensaje de error o lo escribiste, pero el mensaje que escribiste es Fatal: open /boot/initird.gz: No such file or directory
    Fijate si no será esa "i" extra el problema.

  11. nelson escribió:

    hola alvlin..felicidades por este post…..te quedo excelente!!!!!!….

    Será que me das una mano…..lo que pasa es que soy nuevo con slackware y no como utilizar bien el editor de textos VIM….por tanto no he podido levantar el entorno grafico por eso. Mi principal problema es que cuando intento guardar con el comando :wq: ….no se como….toca escribirlo en un lugar especial? o lo estoy escribiendo mal??….por fa dame una mano que me gusta este SO…tiene cara de ser muuuuy bueno!!!

    saludos y otra vez felicitaciones por tu post

  12. nelson escribió:

    upps alvlin…sorry por la preguntadera pero es que logre salirme del vim!!!…jejeje(y guardar obviamente)…pero entonces ahora no puedo levantar el entorno grafico ya que me dice que el xorgsetup command not found…
    Hombre que pena con usted pero es que estoy ansioso por aprender a manejarlo!!!!!!!!

    saludos!!!

    PD: no se si sea como en debian que toca poner en algunos casos su…y la herramienta magica aptitude….jejejeje

  13. nelson escribió:

    pd: le cambie lo del vim /etc/inittab y ahora tengo tengo el problema que dice:

    hey you dont hace kdm gdm xdm….

    y no me deja hacer naaaaaaaaaaaaaadaaaaaaaª!!!!!!

    noooooooo!!! ayuda!!!!!!!!!!!!por fa!!!!!!!

  14. alvlin escribió:

    nelson,
    todo indica que no tenés instalados los paquetes de la serie X (entorno gráfico). Que no encuentre el programa xorgsetup y que te diga que no tenés xdm, kdm o gdm.
    Instalando la serie X encontrás todo lo necesario.
    Ya que el sistema está instalado, lo más sencillo sería colocar el DVD (o CD) y ejecutar "pkgtool" en la línea de comandos. Esto te dará una pantalla idéntica a la de la instalación en donde podrás seleccionar instalar paquetes.
    Otra forma es montar el DVD (cosa que no explico acá pero que podés encontrar fácilmente por la red) con un comando como

    mount -t iso9660 /dev/hda /media/cdrom

    en donde /dev/hda es el lector de dvd (podría ser también hdb, sda, sdb u otro, depende de tu sistema).
    Una vez teniendo el dvd montado, bastaría con ejecutar

    installpkg /media/cdrom/slackware/x/*.tgz

    Gracias por tus comentarios, y suerte

  15. ZZZ... escribió:

    Yo soy un usuario de Slackware de nivel medio creo :), nunca me han gustado los editores de texto de consola, pues buscando hace tiempo en la red encontré una herramienta que me ayuda con esto y mucho más, llamada 'mc' (MidnightCommander), es un comando para usar en consola que resulta de mucha utilidad en Slackware (ya viene incluido por defecto). Los números que aparecen abajo en mc, hacen referencia a las teclas de función 1 = F1, 2 = F2 … etc.

    Agradacemientos a Alvlin por este tutorial pues he conocido algunas cosas interesantes.

    Salu2 a to2

    Mi cuenta: zzzcot(arroba)gmail(.)com

  16. ZZZ... escribió:

    Hola nuevamente, les dejo una dirección que me ayudó mucho a conocer Slackware:
    http://www.slackware.cl/?q=guia_slackware, también con un manual en pdf.
    Está un poco viejo pero aún aplican muchas cosas.

  17. ZZZ... escribió:

    También repositorios:
    http://www.slacky.eu/
    http://slackbuilds.org/ <–código fuente con un script que genera automáticamente el paquete.
    http://www.slackware.com/~alien/slackbuilds/
    http://www.linuxpackages.net/ <–muy poco lo uso

  18. leonardo escribió:

    hola y gracias por el tutorial que esta muy bueno ,pero tengo un problema y espero que alguien me pueda ayudar, instale slacware desde el dvd y todo bien hasta que inicie y edite con vim para iniciar en el nivel 4 pero cuando reinicio y comenza a cargar se queda pegado en la parte que dice iniciando entorno x11, me decidi por slackware para poder aprender ,antes usaba opensuse y mandriva pero esta me parece la mejor opcion , espero que este no sea un gran problema , necesito ayuda porfavor gracias

  19. alvlin escribió:

    eso puede ser síntoma de que el servidor X no quedó bien configurado.
    Sigue estos pasos:
    Arranca normalmente, en el nivel 3. Para hacer esto, presiona el tabulador mientras la pantalla de LILO está visible, y agrega a la opción elegida un "3", separado por un espacio. Es decir, si el sistema te muestra la palabra "Linux", debería quedar como "Linux 3".
    Una vez termine el proceso de arranque, te encontrarás en la consola normal. Inicia sesión como root.
    Luego simplemente ejecuta el programa xorgsetup, que intentará detectar tu hardware y crear un archivo xorg.conf que funcione.
    Bueno, en realidad hay una opción más simple, y es saber que Slackware siempre deja activa la 6ta consola, incluso en modo gráfico. Así que bastaría con que, una vez que te quedas estancado en ese mensaje de "Starting up X11 session manager", presiones Control-Alt-F6. Esto te llevará a la 6ta consola, donde podrás iniciar sesión como root. Solamente que en este caso tendrás que cambiar primero al nivel de ejecución 3 (telinit 3), correr xorgsetup, y luego ejecutar telinit 4 (cuidado: es probable que al ejecutar telinit 3 vuelvas a la 1ra consola, basta con volver a presionar Ctrl-Alt-F6).
    Creo que me he enredado un poco con la explicación, pero cualquier problema ando por aquí o en ForosdelWeb :-)
    Saludos, y gracias por el comentario

  20. leonardo escribió:

    hola alvlin no te preocupes que te entendi xD ,de hecho te cuento que me resulto muy bien y ahora puedo disfrutar de slackware, solo me falta configurar algunas cosas pero la parte mas dificil ya paso , muchas gracias por tu ayuda

» Si te pareció interesante, dejá un comentario...



Todo el contenido de este sitio está bajo una licencia de Creative Commons.

Campaña AnyBrowser | XHTML 1.0 Válido | CSS 2 Válido | WAI A

Diseño creado por alvlin. Sitio basado en WordPress