En estas últimas 2 semanas he instalado Mandrake 4 veces, en
4 ordenadores diferentes. Tres de ellas han sido instalaciones
desde CDROMs en PCs de escritorio de sobremesa, y la cuarta en
un portátil sin CDROM, por red (arrancando desde un simple
diskette).
La instalación por CDROM
En ambos casos (por CDROM o por red) la instalación
es exáctamente igual: aparece una pantalla gráfica que nos indica
que pulsando F1 podemos ver las diferentes opciones de arranque
en la instalación, mientras que pulsando Enter la iniciamos con
las opciones por defecto. En mi caso siempre he realizado las
instalaciones en modo experto, que no es más que un modo especial
que realiza más preguntas al usuario que instala, dejando así
menos decisiones al programa instalador. Me gusta controlar lo
que instalo, así que con F1 y tecleando expert (intro) inicié
la instalación en modo experto.
Podemos instalar Mandrake con 1, 2 ó los 3 CDs; no es necesario
disponer de los 3, aunque obviamente tendremos menos paquetes
disponibles para la selección de programas en la instalación.
Eso sí, si tenemos las primeras imágenes o CDs que salieron
de Mandrake 9.2 es MUY importante comprobar que nuestro lector
de CDROM no esté afectado por el fallo de firmware del fabricante
LG. Para quien no lo sepa, LG utilizó el comando estándar
ATAPI FLUSH_CACHE para introducir el código de actualización
del firmware. Este comando (que en teoría sólo usan las grabadoras)
debería devolver un determinado valor en un lector estándar, y
fue utilizado por la gente de Mandrake para el sistema detección
de grabadoras instaladas. El problema radica en que la gente de LG
decidió utilizarlo para actualizar el firmware, de forma que
una Mandrake 9.2 sin el kernel corregido puede borrar el firmware de
un lector LG y hacerlo inutilizable. Recomiendo ver la lista de
unidades afectadas
antes de continuar.
Si tienes un lector afectado no te preocupes: todos mis lectores
estaban afectados y pude instalarla sin peligro. Lo que hice fue,
dado que las grabadoras y los lectores de DVD no padecen este problema,
apagar el PC, abrirlo y desconectar el cable bus IDE y de alimentación
de mi lector LG, realizando la instalación con la grabadora. Una vez
instalado el sistema hice una actualización del kernel como veremos
más adelante, y volví a conectar el lector. Asímismo, si no tenemos
grabadora y sólo tenemos un lector LG (o equivalente y afectado) podemos
realizar una instalación por red desde un sólo diskette. Es más lento
pero es seguro, y una vez actualizado el sistema podemos conectar el
lector de nuevo.
Ojo, todo este follón sólo hay que hacerlo si tenemos un CDROM
afectado y estamos usando los discos de instalación que se liberaron
inicialmente: Mandrake ya ha corregido el kernel y las nuevas
isos ya no tienen este sistema activado, con lo que no se dañan las
unidades LG.
Pero vayamos con la instalación en sí misma (quien quiera puede
consultar primero
el manual de instalación de Mandrake). Antes del set de
preguntas, Mandrake nos permite introducir un disco ext2 con
drivers extras para dar soporte a hardware que por defecto no
esté soportado. Esto es bueno porque permite cargar drivers de
controladoras de disco o similares que no vengan activados en
el kernel estándar. Una vez respondido que no
necesitamos drivers adicionales, lo primero que nos
preguntan es el idioma que queremos utilizar. Aquí no sólo recomiendo
instalar el Español (o el que utilicemos): recomiendo que pulséis
en Avanzadas y marquéis también el Inglés (EN_US) por si acaso
algún programa no tiene traducción y necesita ese tipo de locales.
Tras mostrarnos la licencia de Mandrake, configuramos el ratón y
el teclado (si es que no lo selecciona automáticamente gracias al
idioma de instalación elegido). Lo siguiente es el nivel de seguridad,
entre Estándar, Alta, Más Alta y Paranoica. La diferencia entre unas
y otras son restricciones, activación o no del firewall, chequeos
nocturnos de la integridad del sistema, etc. Para un escritorio que
esté tras un firewall o un router podemos seleccionar la Estándar.
La celdilla de "Administrador de seguridad" sirve para indicar
la dirección de email que recibirá cualquier alerta de seguridad
detectada.
A continuación viene el sistema de particionamiento: lo mejor es
seleccionar la opción Particionamiento de disco personalizado
y utilizar DiskDrake para crear, borrar y redimensionar
particiones, y asignarles puntos de montaje. Debo decir que la
redimensión de particiones a mi me funcionó estupendamente: la
utilicé para reducir mi partición de Debian SID de 8 a 4GB y poder
crear una nueva partición en ese hueco para instalar Mandrake. El
único defecto que le ví al particionador es que no permite mover
particiones arriba o abajo (físicamente) en el disco. En cualquier
caso Diskdrake nos permite crear (y formatear, aunque se puede
hacer también en el paso siguiente) particiones de todo tipo, desde
Ext2 hasta Reiserfs, pasando por volúmenes lógicos LVM. En mi caso
creé todas las particiones de tipo EXT3.
Ahora viene el meollo de la cuestión: la selección de paquetes. Lo
primero que nos preguntará (si estamos instalando por CDROM) es si
tenemos los CDs 2 y/o 3, de forma que podemos instalar sólo con el
primero, o añadir cualquiera de los otros 2 cds. La pantalla que nos
aparece para empezar es permite seleccionar un conjunto básico de
paquetes según la
orientación que vaya a tener nuestro sistema. Es muy importante
marcar la opción de Selección de paquetes individuales para
poder afinar los paquetes en un siguiente paso.
Este instalador de paquetes resuelve las dependencias (como dije en el
anterior artículo también en el sentido inverso al habitual, quitando
las librerías cuando quitamos los programas) y dispone de barra de
progreso. En todo momento podemos ver qué pasos va realizando en la
consola nº 3 (CTRL+ALT+F3), realizar cosas en la consola (consola 2)
o volver a la consola 7 (la de instalación) con CTRL+ALT+F7. Además,
el instalador nos permite (el icono con forma de diskette) guardar
la selección de paquetes realizada en un disco para poder realizar
una instalación similar en la misma u otras máquinas.
Una vez acabada la descarga e instalación podremos indicar la contraseña de root y
crear usuarios en el sistema, justo antes de presentarnos una
pantalla de resumen que nos permitirá modificar las configuraciones
realizadas hasta el momento, y configurar las X o la red.
Tras este paso viene la selección de LILO o GRUB (y sus parámetros) y
la configuración de qué
servicios queremos que arranquen con el sistema. En mi caso
eliminé gran cantidad de servicios que no me eran necesarios, como
netfs (compartir ficheros vía NFS), devsfd (Desktops dinámicos),
fam (sistema de monitorización de cambios en ficheros), kheader
(regeneración automática de cabeceras del núcleo en /boot),
partmon (aviso cuando una partición está próxima a estar llena),
portmap (para los servicios RPC), rawdevices (para acceder a DVDs),
smb (samba), tmdns (un DNS caché), o webmin (para la administración
sencilla del sistema). Quitando estos servicios lo que hice fue
dejar más o menos los mismos servicios que antes corría en mi Debian,
evitando correr en la máquina cosas que no necesito.
En la siguiente parte de la instalación nos pedirá que si queremos
instalar las actualizaciones disponibles en Internet, a lo que le
diremos que no. Es mejor realizar esto manualmente dentro del sistema
que tener que esperar accesos por red en el instalador. Este es el
último paso y tras él reiniciaremos y accederemos a Mandrake Linux
por primera vez. En teoría como usuarios de otras distribuciones nada
nos debe de haber supuesto el más mínimo problema para instalar.
La instalación por red
La instalación por red tiene varias particularidades que quiero
comentar. No es perfecta, pero a mi me funcionó correctamente en
mi portátil sin CDROM. Lo primero es hacerse el diskette de
instalación por red utilizando una de las 2 imágenes IMG del
directorio /IMAGES del CDROM oficial, o bien de cualquier mirror,
como por ejemplo en rediris.
El diskette network.img es para PCs, mientras que pcmcia.img es para
portátiles. Lo grabamos de la forma habitual (dd if=fichero of=/dev/fd0)
y reiniciamos el sistema con él en la diskettera. Instalando en modo
experto, lo primero que tendremos que hacer será configurar la Red
e indicarle al instalador de dónde ha de bajarse el programa de
instalación (sí, el mismo que corre en el CD). Dándole el path
correcto al instalador del diskette se bajará el instalador de 16MB desde
la Red a la memoria y lanzara
este programa de instalación recién descargado. ¿Y cómo sabemos cuál
es el path correcto? Muy sencillo, es el FTP o HTTP de cualquiera de los
mirrors de Mandrake y su path, que apunte al fichero
mdkinst_stage2.bz2. Un ejemplo podría ser Server = ftp.ciril.fr y
Path = /pub/linux/mandrake/9.2/i586/Mandrake/base.
Una vez descargados los 16MB del instalador, el resto es igual que
por CDROM con un par de peculiaridades. Lo primero es que se tirará
bastantes minutos descargando la lista completa de paquetes vía FTP/HTTP
(antes de seleccionarlos) en una pantalla de "Espere, actualizando la
lista de paquetes disponibles". La otra es que hay que tener mucho
cuidado con qué mirror escoger: en mi caso especifiqué el mirror de
rediris, que por lo visto estaba lleno en ese momento. El resultado fue
que, pese a que el instalador hace reintentos, algunos paquetes no se
descargaron y no se pudieron instalar. Fueron 5 paquetes que luego tuve
que bajar e instalar a mano. No os preocupéis por tomar nota de los
nombres si os aparece algún error, al terminar la instalación se graba
un log con todos los eventos de la misma y con el path completo
en el FTP de los ficheros que fallaron, con lo que podéis hacer un
wget PATH ; rpm -ihv fichero. Ojo, esto me pasó a mi por problemas
con Rediris: si usáis un mirror rápido no debería haber fallos. Eso sí,
esta instalación por red es mucho peor que un NetInstall de Debian, que
nunca me ha dado el más mínimo fallo, y reintenta las descargas todas
las veces que hagan falta. En mi caso fallaron las descargas de una
serie de paquetes de KDE, con lo cual tras la instalación me encontré
con Mandrake arrancando en modo texto (KDE no funcionaba). Con
descargarlos e instalarlos manualmente tuve bastante para que todo
funcionara como la seda. Entiendo que esto no es lo bastante intuitivo
como para un usuario novato, de modo que es un aspecto donde deberían
mejorar el netinstall.
Primeros pasos en el sistema
Lo primero que hice en el sistema fue mirarme los logs de la
instalación (en un caso para echarle un vistazo, y en el caso
de los fallos de descarga del portátil, para descargar e instalar
los paquetes fallidos con wget + rpm -ihv). Estos logs los tenéis
en /root/drakx (fichero install.log):
[root@compiler:~]$ ls drakx/
auto_inst.cfg.pl install.log replay_install.img stage1.log
ddebug.log README report.bug.gz
Bien, los pasos básicos ahora mismo son los siguientes:
- Configurar urpmi para poder hacer instalaciones y upgrades por red
- Realizar una actualización del sistema a los últimos paquetes estables
disponibles
- Instalar el último kernel (sin el fallo de LG) y sus fuentes (esto
último para poder compilar el driver de nvidia)
- Instalar los drivers de NVIDIA
- Revisar la paquetería para añadir y quitar programas
- Habilitar y deshabilitar servicios.
Lo primero es RPM y urpmi. Como ya sabéis, rpm es el equivalente en
Mandrake de dpkg. Simplemente sirve para instalar (rpm -ihv fichero.rpm),
desinstalar (rpm -ehv fichero.rpm) y actualizar (rpm -Uhv fichero.rpm) paquetes sin gestionar
sus dependencias. Permite hacer otras cosas como obtener la lista
completa de paquetes instalados (rpm -qa) o de un sólo paquete
(rpm -q paquete), averiguar información o lista de ficheros del
mismo (rpm -qi paquete y rpm -ql paquete), o saber a qué paquete
pertenece un determinado fichero (rpm -qf /path/fichero). Todos estos
comandos son los equivalentes RPM de dpkg -i, -e, -S, etc.
Ahora bien, nosotros no queremos descargar los RPMs manualmente y
gestionarlos, sino que queremos usar el equivalente de apt en Mandrake.
Olvidémonos por ahora de los gestores gráficos de paquetes como
gurpmi y rpmdrake (los cuales funcionarán después de lo que vamos
a configurar manualmente ahora) y centrémonos en urpmi. Nuestro compañero
HnZeKt0 escribió hace unas semanas un artículo para libertonia sobre
el uso de urpmi para actualizar Mandrake.
Voy a intentar explicar qué pasos seguí yo para realizar las tareas que
he comentado en la lista anterior.
Lo primero es decirle a urpmi de dónde se tiene que bajar la lista
de paquetes y los paquetes en sí mismos. Es el equivalente de rellenar
el /etc/apt/sources.list . Con urpmi podríamos rellenar el fichero
/etc/urpmi/urpmi.cfg manualmente, pero lo más cómodo es hacerlo con
el comando urpmi.addmedia. Cada "línea de sources de paquetes" se
llama media. Lo que yo he hecho es hacerme una serie de
sencillos scripts para añadir los medias (configurar el sources.list,
digamos), actualizar los medias (el equivalente de un apt-get update),
y actualizar el sistema a partir de los medias (el equivalente de un
apt-get dist-upgrade). Los 3 scripts son add_sources.sh, update_sources.sh
y download_sources.sh. Aparte de estas 3 operaciones podremos ya
instalar paquetes vía media, mediante el comando urpmi paquete (que
equivale a apt-get install paquete).
Vayamos por pasos. Primero creamos este script y lo ejecutamos
con sh add_sources.sh.
#!/bin/sh
#
# add_sources.sh
# Este script tan sólo habrá que ejecutarlo una vez, cuando
# añadamos los sources necesarios para descargar paquetes y
# actualizaciones. Cada comando "urpmi.addmedia" equivale a
# añadir una línea en Debian a /etc/apt/sources.list. Estas
# líneas se pueden eliminar con urpmi.removemedia <NOMBRE>
# posteriormente si así lo deseamos, y actualizar con
# urpmi.update <NOMBRE>.
# Lo primero que hacemos es borrar todas las listas de paquetes
# iniciales (el CDROM):
urpmi.removemedia -a
urpmi.addmedia plf \
http://mandrakeusers.com/PLF/mandrake/9.2 with ./hdlist.cz --wget
urpmi.addmedia --update updates \
ftp://ftp.mirror.ac.uk/sites/sunsite.uio.no/pub/unix/Linux/Mandrake/Mandrake/updates/9.2/RPMS/ \
with ../base/hdlist.cz --wget
urpmi.addmedia main \
ftp://ftp.mirror.ac.uk/sites/sunsite.uio.no/pub/unix/Linux/Mandrake/Mandrake/9.2/i586/Mandrake/RPMS \
with ../base/hdlist.cz --wget
urpmi.addmedia contrib \
ftp://ftp.mirror.ac.uk/sites/sunsite.uio.no/pub/unix/Linux/Mandrake/Mandrake/9.2/contrib/i586 \
with ../../i586/Mandrake/base/hdlist2.cz --wget
urpmi.addmedia Macromedia http://macromedia.rediris.es/urpmi/mandrake/9.2/RPMS/ \
with synthesis.hdlist.cz --wget
urpmi.addmedia jpackage \
ftp://ftp.pbone.net/pub/jpackage/1.5/mandrake-9.2/free \
with ./hdlist.cz --wget
urpmi.addmedia sinclairmania \
http://www.speccy.org/sinclairmania/arch/emu/mandrake/9.2/RPMS with \
./hdlist.cz --wget
Los 4 primeros medias son los básicos que debemos añadir: PLF es
el media de Penguin Liberation Front, gente externa a Mandrake
que hace paquetes RPM de aplicaciones existentes. El media updates
son las actualizaciones, tanto de seguridad como de bugs y versiones.
El media main es el paquete de aplicaciones de Mandrake (y hay
más de las que vienen en el CD), y contrib son paquetes
añadidos por terceros. Y la pregunta es... ¿cómo sabe este hombre
qué URLs tenía que añadir? Fácil, las obtuve yendo paso por paso
(es importarte ir pulsando los botones de Proceed) en Easy URPMI.
Una vez seleccionada la versión, marcando Show Specific Sources y
seleccionando los mirrors (siempre usando los botones de proceed para
pasar de un paso a otro), la web te indica los medias que tienes
que ejecutar (y que yo pegué dentro de mi script).
Los otros medias son opcionales: Macromedia son cosas como
los plugins de flash, jpackage son paquetes relacionados
con Java, y sinclairmania contiene fuse (el emulador de
Spectrum para Linux) y dosbox (un emulador de msdos orientado a
ejecutar juegos de DOS abandonware). Como véis, aparte de los
repositorios oficiales uno puede crear y añadir sus propios repositorios.
De hecho, al hacerse socio del Mandrake Club te mandan las URLs
de nuevos repositorios con más paquetes.
Este script sólo tendremos que ejecutarlo la primera vez para
añadir los sources: el resto de actuaciones habituales se reducen
a updates y downloads (los otros 2 scripts). Si queremos borrar
algún media (por ejemplo, para quitar un mirror y añadir otro)
podemos hacerlo con urpmi.removemedia NOMBRE y posteriormente
ejecutar el urpmi.addmedia correspondiente en la línea de comandos (y ya de paso
añadirlo al script, para tenerlo ordenadito por si nos queremos
llevar esos scripts a otras máquinas).
Pues bien, el script lo primero que hace es borrar todos los
medias disponibles (urpmi.removemedia -a) y después añadir
uno a uno los repositorios para los paquetes. Tardará bastante
porque tiene que descargar los ficheros hdlist con las descripciones
de los paquetes. Si queremos podemos cambiar las cadenas hdlist
por synthesis.hdlist, que son ficheros más pequeños sin las descripciones.
En mi caso, con banda ancha, prefiero las descripciones completas :).
Nótese asímismo que he añadido --wget a las órdenes para que en
lugar de usar curl se use wget, que en mi opinión funciona mejor.
Quiero destacar que ahora mismo el contrib de Mandrake da un
error indicando que no existen ficheros, no sé si es fallo de rediris
o si es que todavía no se han añadido paquetes al contrib. El caso
es que ese error no es fatal (es más bien un warning) y funciona.
El famoso "error" tiene el siguiente aspecto:
soporte "contrib" usa un archivo de lista no válido:
probablemente el sitio de réplica no está actualizado, intentando método alternativo
.
Instalando algún paquete
Ahora que ya tenemos los sources definidos, antes de actualizar
vamos a hacer una prueba buscando e instalando instalando algún paquete.
Por ejemplo:
[root@compiler:~]$ urpmi mplayer
Para resolver las dependencias, se instalarán los paquetes siguientes (26 MB):
divx4linux-20020418-3plf.i586
libdivx4linux0-20020418-3plf.i586
libflac4-1.1.0-5mdk.i586
libxvid2-0.9.2-2plf.i586
mplayer-1.0-0.pre2.2plf.i586
real-codecs-1.2-1plf.i586
win32-codecs-1.4-2plf.i586
xanim-codecs-1.0-3plf.i586
¿Está todo bien? (S/n) s
http://mandrakeusers.com/PLF/mandrake/9.2/./i586/xanim-codecs-1.0-3plf.i586.rpm
http://mandrakeusers.com/PLF/mandrake/9.2/./i586/libdivx4linux0-20020418-3plf.i586.rpm
http://mandrakeusers.com/PLF/mandrake/9.2/./i586/real-codecs-1.2-1plf.i586.rpm
http://mandrakeusers.com/PLF/mandrake/9.2/./i586/mplayer-1.0-0.pre2.2plf.i586.rpm
http://mandrakeusers.com/PLF/mandrake/9.2/./i586/win32-codecs-1.4-2plf.i586.rpm
http://mandrakeusers.com/PLF/mandrake/9.2/./i586/divx4linux-20020418-3plf.i586.rpm
http://mandrakeusers.com/PLF/mandrake/9.2/./i586/libxvid2-0.9.2-2plf.i586.rpm
Preparando... ##################################################
1:libxvid2 ##################################################
2:win32-codecs ##################################################
3:real-codecs ##################################################
4:libflac4 ##################################################
5:xanim-codecs ##################################################
6:libdivx4linux0 ##################################################
7:mplayer ##################################################
8:divx4linux ##################################################
(No es tan bonito como apt, pero hay que reconocer que elimina los
quebraderos de cabeza relacionados con los RPMs)
Cabe destacar que si cortamos el urpmi y lo repetimos se hace
resume (continuación) de todos los paquetes menos el paquete actual.
Es decir, todos los RPMs bajados residen en /var/cache/urpmi/rpms y
no hay que volver a bajarlos de nuevo, pero el que estuviéramos
bajando en el momento de hacer CTRL+C se pierde (en esto Debian
también funciona mejor).
Los paquetes correctamente instalados se borran del directorio
de caché de URPMI, de modo que si queremos conservarlos (por ejemplo,
para llevarlos manualmente al /var/cache/urpmi/rpms de otra máquina
y así no tener que bajarlos por red) hay que añadir el parámetro
--noclean. Es recomendable también añadir --wget para
realizar las descargas.
¿Cómo sabemos qué paquete instalar? Fácil, con urpmq y urpmf. El
primero busca paquetes a partir del nombre, y el segundo busca
ficheros dentro de paquetes. Veamos unos ejemplos:
[root@compiler:~]$ urpmq spectrum
Los siguientes paquetes contienen spectrum:
libspectrum2
libspectrum2-devel
libspectrum2-static-devel
[root@compiler:~]$ urpmf main.cf
postfix:/etc/postfix/main.cf
postfix:/etc/postfix/main.cf.default
Pero ojo con urpmq, que no es ni de lejos tan bueno como apt-cache search,
ya que se hace un lío con los guiones. Un ejemplo:
[root@compiler:~]$ urpmq openssh
openssh
[root@compiler:~]$ urpmq openssh-
Los siguientes paquetes contienen openssh-:
openssh
openssh-askpass
openssh-askpass-gnome
openssh-clients
openssh-server
La primera búsqueda debería haber encontrado los mismos
paquetes que al segunda, pero no ha sido así. Es un detalle
a tener en cuenta. Mi teoría es que no es exactamente un
problema de búsqueda, sino que si la cadena que especificas
es exáctamente el nombre de un paquete, urpmq sólo te
indica ese paquete y no sigue buscando. Pienso que sería
interesante reportar este comportamiento a Mandrake para
su corrección.
La desinstalación de paquetes es sencilla, mediante urpme
(también gestionará las dependencias).
Actualizando la lista de paquetes
Ahora hay que saber cómo actualizamos la lista de paquetes
de manera regular, es decir, el equivalente de apt-get update.
Esto se hace con el comando urpmi.update -a (o bien
urpmi.update NOMBRE_DE_MEDIA). Urpmi se conectará al media y
mirará si ha cambiado el fichero de descripciones, en cuyo caso
se lo bajará. En mi caso he añadido el comando urpmi.update -a a
un script llamado update_sources.sh.
Actualizando el sistema
Ya tenemos sources definidos (medias) y sabemos buscar, instalar
y desinstalar paquetes. Ahora toca (como primer paso a realizar
antes de trabajar en la máquina) actualizar el sistema. Vamos a
realizar el equivalente a un apt-get upgrade. Para ello
nos vamos a una consola virtual (CTRL+ALT+F1), pasamos a runlevel 3
(telinit 3 o /etc/init.d/dm stop) y ejecutamos
el siguiente script download_sources.sh que
habremos creado previamente:
#!/bin/sh
#
# download_sources.sh
# Descarga todas las actualizaciones disponibles de cada media.
# Lo hacemos en 2 pasos: el primero con --test se descarga los
# paquetes en /var/cache/urpmi/rpms y comprueba que se pueden
# instalar sin problemas, pero no los instala. El segundo (sin
# el --test) sí que los instala, y los va borrando del directorio
# anterior. Si no queremos que los borre (ver nota 1) se puede
# añadir --noclean.
#
# Nota 1: en ocasiones nos puede interesar no borrar los rpms.
# Por ejemplo, si vamos a actualizar otro ordenador que tengamos
# a mano, podemos copiar los RPMs por red o CDROM al directorio
# /var/cache/urpmi/rpms y ahorrar así la descarga, porque urpmi
# se dará cuenta de que ya están descargados y no los bajará otra
# vez. Este directorio es el equivalente a /var/cache/apt en Debian.
# Automáticamente seleccionar paquetes para actualizaciones
urpmi --auto-select
# Tratamos de actualizar urpmi antes que nada, por si hubiera
# alguna versión nueva.
urpmi --wget urpmi
# Ahora actualizamos los diferentes medias.
urpmi --test --auto-select --wget --media updates
urpmi --auto-select --wget --media updates
urpmi --test --auto-select --wget --media main
urpmi --auto-select --wget --media main
urpmi --test --auto-select --wget --media plf
urpmi --auto-select --wget --media plf
urpmi --test --auto-select --wget --media contrib
urpmi --auto-select --wget --media contrib
urpmi --test --auto-select --wget --media jpackage
urpmi --auto-select --wget --media jpackage
urpmi --test --auto-select --wget --media Macromedia
urpmi --auto-select --wget --media Macromedia
urpmi --test --auto-select --wget --media sinclairmania
urpmi --auto-select --wget --media sinclairmania
No tiene misterio, no es más que un update de paquetes,
pero hecho media a media (primero updates, luego main, etc.)
y hecho en 2 pasos, uno de test (que descarga los paquetes
y chequea si la instalación dará errores) y uno sin --test
(que usa los paquetes decargados y los instala realmente).
Recordad añadir el --noclean si no queréis que borre los
RPM descargados, para reutilizarlos.
Tras ejecutar este script os habrá actualizado el sistema
con todos los updates de seguridad y de fallos disponibles.
Es importante hacerlo en la consola de texto, insisto. Una
vez finalizado podemos volver con telinit 5 o arrancando el
servicio dm (/etc/init.d/dm start).
Con esto ya tendremos el sistema actualizado, salvo por el
kernel, que es lo único que no se actualiza de forma
automática. En el siguiente apartado os digo cómo lo actualicé
yo para poder instalar los drivers de nvidia y poder conectar
de nuevo mi CDROM LG, ya con un kernel sin fallo.
Actualizando el kernel
Supongamos que aparece un nuevo kernel en la sección de
updates de nuestro media de Mandrake. Una vez hecho un update
de la base de datos de paquetes (urpmi.update updates) en
teoría lo podemos instalar con el comando urpmi kernel.
El kernel de Mandrake es como el de Debian, tiene todas las
opciones compiladas como módulos para que los sistemas de
detección de hardware puedan añadirlos y/o quitarlos cuando
éste cambia, por eso ocupa la friolera de 19MB (el paquete).
Debo decir que yo no utilicé el método urpmi para actualizar
el kernel, sino que directamente hice un wget del fichero RPM
y luego un rpm -ihv del mismo. (Lo descargué del
directorio de updates
que había definido anteriormente con wget /PATH/kernel-2.4.22.21mdk-1-1mdk.i586.rpm
y lo instalé con rpm -ihv fichero.rpm).
Lo que sí que instalé vía urpmi fue kernel-source y kernel-headers,
mediante urpmi kernel-source kernel-headers (esto es necesario
para el siguiente punto, la instalación de los drivers de NVIDIA).
En cualquier caso, cuando se instala el kernel vía RPM, automáticamente
modifica /etc/lilo.conf y cambia la entrada por defecto al kernel
nuevo, y ejecuta lilo -v. Yo aconsejo ejecutar lilo -v manualmente
por si acaso :-). Una vez hecho esto, debemos reiniciar para comprobar
que el nuevo kernel funciona (y antes de seguir con el tema NVIDIA).
Una cosa que quería comentar sobre el kernel de Mandrake es que viene
con una serie de parches aplicados destinados a hacer el sistema más
interactivo para el usuario, como el parche preemptive. Si bajamos
un kernel de http://www.kernel.org (kernel oficial) y lo compilamos en
Mandrake, perderemos los parches que vienen aplicados en este kernel
especial. Si no queremos que pase esto, es decir, necesitamos compilar
nuestro propio kernel pero sin perder los parches de Mandrake, podemos
bajar los sources del kernel con urpmi (que ya vienen parcheados) y
recompilar. La recompilación en /usr/src/ puede ser vía el método
habitual ( make dep clean bzImage ) o con make rpm, que
nos generará un rpm listo para instalar (como el make-kpkg de Debian).
Instalando los drivers de NVIDIA
Yo tengo una tarjeta Gforce 2 MX con 64MB de VRAM que requiere
la instalación de unos drivers externos. Es posible que los usuarios
del 90% de tarjetas que no sean NVIDIA ni ATI no tengan que hacer
nada para tener aceleración, pero en el caso de estas 2 marcas
(al menos seguro en el caso de NVIDIA) hay que instalar un módulo
externo. Los usuarios de ATI tendrán que seguir el README de los
drivers binarios en cuestión, mientras que los de NVIDIA sólo
han de realizar una serie de sencillos pasos que a continuación
detallo.
Por defecto Mandrake configura las X con el driver "nv" para las
tarjetas NVIDIA. Este driver funciona correctamente, pero no tiene
aceleración 3D (si hacéis un urpmi tuxracer lo podréis
comprobar). Para poder disponer de aceleración 3D tenemos que
utilizar el Driver "nvidia", que es propietario y hay que
descargar, compilar e instalar una vez tengamos instalados el
último kernel disponible y sus fuentes.
Empezaremos por descargar el binario de la página
de descarga de NVIDIA. En concreto en la sección de Riva TNT y Geforce.
La url final del fichero que descargué con wget es:
http://download.nvidia.com/XFree86/Linux-x86/1.0-4496/NVIDIA-Linux-x86-1.0-4496-pkg2.run
Bien, salimos de las X y las cerramos (telinit 3 o /etc/init.d/dm stop)
y ejecutamos el binario con sh FICHERO (como root). Aceptamos la licencia,
le decimos que no busque un paquete en Internet, y le damos a Intro un
par de veces para que compile el módulo nvidia.o y lo instale en memoria (nota:
la compilación de este módulo es dependiente del kernel, de modo que tendremos
que re-ejecutar el .run de NVIDIA si actualizamos el kernel y sus fuentes.
Nos acordaremos de hacerlo porque si se nos olvida, las X no arrancarán y
apareceremos en la consola :-).
Lo siguiente es editar el fichero /etc/X11/XF86Config-4 y:
- Donde pone Driver "nv", cambiarlo por Driver "nvidia"
- En la sección de Section "Module", añadir un Load "glx"
- En la misma sección, asegurarse de que NO aparece ninguna línea
Load "dri" o Load "GLcore". Si aparecen las podemos
comentar con el carácter # o directamente borrar la línea.
El resultado de la sección sería más o menos algo como:
Section "Module"
Load "glx" # Este debe de estar
Load "dbe"
# Habrá más líneas Load, pero no han de estar ni
# dri ni glcore entre ellas.
EndSection
Pasando ahora a runlevel 5 (telinit 5 o /etc/init.d/dm start) ya
tendremos aceleración 3D. La mejor manera de comprobarlo es una
partida al tuxracer :-) (aunque las malas lenguas dicen que con
ejecutar glxinfo y ver si aparece información sobre NVIDIA basta).
Algunos detalles
Supuestamente ahora mismo estaremos en las X (en mi caso con KDE),
con aceleración 3D. Tendremos el último kernel disponible sin
fallos de seguridad y sus fuentes, y la distribución completa
actualizada a todos los paquetes disponibles en los updates.
Además sabemos utilizar urpm* para añadir y quitar paquetes. Este
es el punto en el cual podemos empezar a utilizar el sistema, y
una de las primeras cosas que recomiendo hacer es utilizar
rpmdrake (o rpm -qa y urpmi/urpme) para añadir y quitar todos
los programas que necesitemos. Vamos a usar rpmdrake a través
de drakconf.
Si ejecutamos drakconf se nos pedirá la password de root y
se accederá a una especie de panel de control general de Mandrake
desde el cual podremos configurar el hardware que no haya
sido detectado, revisar los servicios arrancados (eliminando
los que no necesitemos), reconfigurar el sistema, añadir impresoras
(asistente que nos instalará *en ese momento* el software necesario
para gestionarla :-), o instalar/quitar software. En concreto, podemos
revisar qué tenemos instalado con la opción RpmDrake le ayuda
a quitar paquetes de software del menú Administración de
software, donde podemos ver qué tenemos instalado (y sus descripciones)
y desinstalarlo. Cuando los paquetes dependan de otros, se nos
informará y se nos dará la opción de cancelar. Por otro lado, la
opción RpmDrake le ayuda a instalar paquetes de software nos
permitirá buscar paquetes por nombre o contenido, o bien pasearnos
por el arbol de clasificación de paquetes para marcar nuevo
software e instalarlo. Aprovecharemos pues para instalar lo que
necesitemos y que no estaba disponible en los CDs pero sí en
los sources de Internet que hemos añadido.
Una vez hecho esto es interesante pasearse por el resto de
opciones de drakconf (que por cierto, también funciona en
línea de comandos de modo texto, mediante menúes de tipo dialog)
para configurar nuestro sistema.
Una vez tuve todo el sistema configurado, e instalados todos
los programas que necesitaba, lo siguiente que hice fue desactivar
el automount de Mandrake (que no me gusta), editando /etc/fstab.
Simplemente hay que cambiar las líneas:
none /mnt/cdrom supermount dev=/dev/hdc,fs=udf:iso9660,ro,--,iocharset=iso8859-15 0 0
none /mnt/floppy supermount dev=/dev/fd0,fs=ext2:vfat,--,sync,iocharset=iso8859-15,codepage=850,umask=0 0 0
por:
/dev/cdrom /mnt/cdrom iso9660 defaults,ro,user,noauto 0 0
/dev/fd0 /mnt/floppy auto defaults,user,noauto 0 0
(en realidad, en mi caso también usé /cdrom y /floppy en lugar
de /mnt/cdrom y /mnt/floppy, previa creación de los directorios).
Y ya por último unos apuntes relativos a KDE. No os voy a decir cómo
se configura KDE porque eso es algo estándar a todas las distribuciones,
excepto en el caso de los menúes. En KDE, para editar los menúes se
utiliza kmenuedit. Yo utilizo dicho programa para añadir aplicaciones
a mi menú de kde y asociarles atajos de teclado (del tipo konqueror=CTRL+ALT+K).
En Mandrake cuando ejecutas el editor de menú lo que aparece es una
aplicación llamada menudrake que es mucho menos potente que
kmenuedit. Permite añadir submenúes, aplicaciones e iconos, y poco más.
No permite añadir atajos de teclado (y por eso voy a explicaros cómo
se hace :-). Si intentáis usar el kmenuedit real, cuando salgáis de
KDE perderéis todos los cambios realizados al menú. Es un defecto
muy grave para mi de Mandrake el hecho de que trate de usar su propio
sistema y herramienta de menúes. Entiendo que está hecho para que
al añadir una aplicación al menú también nos aparezca en los
demás entornos gráficos instalados, pero no creo que esa sea la
solución. El caso es que mientras encuentro una manera de evitar
ese sistema de menúes lo que hice fue añadir mis aplicaciones con
menudrake y después ir a kcontrol Sección Accesibilidad
Subsección Accesos rápidos de teclado. En este menú hay una pestaña
llamada Command shortcuts que nos permite añadir (uno a uno dándole
al botón aplicar cada vez, parece) atajos de teclado a las aplicaciones
añadidas con menudrake (no os olvidéis de darle a GUARDAR en menudrake).
Finalizando
Con lo que hemos visto tenemos suficiente para tirar adelante
en los primeros pasos. Espero que este artículo os haya servido
para que el primer contacto con Mandrake tenga algo más de luz :).
Ahora tenemos un sistema Mandrake Linux actualizado y prácticamente
configurado. También conocemos el funcionamiento básico de urpmi,
la manera de lanzar los asistentes de configuración de Mandrake,
cómo configurar una tarjeta NVIDIA, y algunas peculiaridades de
KDE. Si queda algo por arreglar, se puede hacer con paciencia
desde nuestro sistema plenamente funcional.
Mandrake tiene sus puntos fuertes y sus puntos flojos. El sistema
de paquetes no es tan bueno como el de Debian, pero es una distribución
muy interesante para el escritorio. Supongo que está al nivel de una
Debian Testing con un KDE 3.1.3 instalado, pero instalada de una
manera más rápida (aunque urpmi no sea nada intuitivo comparado
con apt).
Hay que tener en cuenta que la migración de usuarios de una
distribución a otra es lo que las hace mejorar e integrarse
entre ellas. Un usuario nuevo de Linux que no conozca Debian
e instale Mandrake se maravillará de la gestión de dependencias
vía urpmi, porque no conoce otra cosa (y porque funciona). En
cambio los usuarios de Debian lo compararemos inevitablemente
con APT, y podemos forzar desde dentro la mejora de urpmi.
Siendo miembros de Mandrake Club, por ejemplo, podríamos pedir
a Mandrake que adoptara apt-rpm, o que algo funcionara tal y
como estamos acostumbrados en Debian. Estaríamos exportando
las bondades de Debian a otra distribución, al igual que cuando
llegamos a Debian hemos intentando aportar las cosas buenas
de otras distribuciones (como mejoras en la instalación, etc.).
Este tipo de actitudes comprometidas son las que ayudan a mejorar
el software libre.
En cualquier caso, si algo no os funciona ya sabéis que podéis
tirar del asistente SinnerDRAKE de resolución de problemas...