NOTA DE ACTUALIZACIÓN: he cambiado el título de la entrada pues este método debería servir para cualquier versión estable de Slackware. Cuando escribí el artículo yo tenía Slackware 13.37, ahora con la versión 14 el método sigue siendo el mismo y no es por adivinar pero creo que así seguirá por un buen rato.
También he actualizado parte del contenido.
INTRODUCCIÓN
En ésta entrada explico de una forma sencilla el método para actualizar la distribución Slackware 13.37 (o cualquier otra versión estable) a la versión current. Esto actualiza los paquetes existentes en el sistema a las últimas versiones disponibles incluidas en ésta distribución. Además esto permite tener un sistema seguro (pues se corrigen muchos errores) y potente, sin quedarse atrás de las otras distros de Linux.
Tuve que recordar los comandos que utilicé pues la actualización la hice desde ayer, para eso utilicé el comando history en el terminal, la cual lista los comandos utilizados últimamente.
¿QUÉ ES SLACKWARE CURRENT?
Es una rama del desarrollo de la distribución Slackware Linux en la que se incluyen las actualizaciones y cambios más recientes como la integración de aplicaciones nuevas, actualización de las existentes, eliminación de otras y re-compilación. Estas actualizaciones están disponibles para aquellos que deseen probar.
Cuando se desea incluir una nueva versión de un paquete, este es agregado a -current, entonces es probado y se corrigen los errores que pudieran encontrarse buscando estabilidad en el sistema. Una vez que el paquete es probado y se ha logrado hacerlo lo más estable posible, es incluido en la próxima versión estable de Slackware. Lo mismo pasa con paquetes nuevos y además hay otros que son eliminados debido a que se vuelven obsoletos. En pocas palabras -current es algo como la versión testing de otras distribuciones de Linux.
Los cambios que se van haciendo a -current empiezan días después de que una versión estable es liberada y terminan cuando la versión actual es convertida en estable. Esta lista de cambios se publica en un archivo de texto llamado ChangeLog el cual se encuentra en el árbol de directorios de Slackware, es decir, en el sitio web o mirror desde el cual se descarga la distribución. Además hay un ChangeLog digamos «oficial» en el sitio web de Slackware.
Para ver las últimas características incluidas en el ChangeLog de Slackware -current hay que ir al sitio principal…
… y dar clic en el enlace al ChangeLog de la barra lateral: http://slackware.com/changelog/.
Como se puede ver en el sitio, existen básicamente dos ChangeLogs, uno para la versión estable y otro para la versión -current. En el de la versión estable se publican básicamente bugfixes (correcciones de errores) de las aplicaciones, por lo tanto no es tan divertido como -current.
Visitando éste sitio de manera regular me entero de los cambios que se han realizado, que consisten básicamente en paquetes agregados, actualizados, reconstruidos y removidos; los cuales son etiquetados con Added, Upgraded, Rebuilt y Removed respectivamente.
ACTUALIZACIONES
Las actualizaciones de la versión current, al momento de hacer esta entrada (Febrero de 2012), son éstas:
- Linux Kernel 3.2.2 (arreglado el bug mempodipper)
- Coreutil 8.15 (trae mejorado ext4)
- Cups 1.4.8 (arreglos para el problema de impresión de LibreOffice, tiene chance de hacer backporting a 13.37 como parche)
- Glibc 2.14.1(última versión estable reconstruida con el nuevo GCC)
- GCC 4.6.2 (última estable, con soporte para el lenguaje Go de Google)
- Emacs 23.4
- Mozilla Firefox/Thunderbird 10
- Seamonkey 2.7 (con las actualizaciones GCC para trabajar con la arquitectura ARM, gracias a AlienBOB)
- OpenSSL 0.9.8t
- ca-certificates-20111211: certificados no confiables removidos
- Algunas otras librerías
REQUERIMIENTOS
Como siempre se necesita tener un poco de conocimiento y muchas ganas de aprender. Además de eso hay que tener instalado slackpkg en el sistema, que en una instalación normal de Slackware ya debería estar incluido. Si no es así se puede descargar la última versión estable hasta hoy (2.82) desde www.slackpkg.org e instalar se el archivo tgz con installpkg. Para su descarga se puede usar un navegador o wget y el terminal (consola o línea de comandos).
Por ejemplo descargar e instalar de la siguiente forma:
$ wget http://www.slackpkg.org/stable/slackpkg-2.82.0-noarch-2.tgz
# installpk slackpkg-2.82.0-noarch-2.tgz
Para ejecutar slackpkg basta con ejecutar como superusuario:
# slackpkg
Más adelante vemos como se usa.
MÉTODO
Primero hay que editar el archivo de mirrors de slackpkg y escoger una y solo una de las direcciones o enlaces que se encuentran ahí, para abrir el archivo se hace lo siguiente (nano es el editor de texto que yo uso, puedes usar cualquier otro es solo elección personal):
# nano /etc/slackpkg/mirrors
Una vez abierto hay que ir a la sección que tiene los enlaces para Slackware -current, ya sabiendo cual enlace queremos hay que borrar el símbolo «#» (número, gato o sharp en inglés) del inicio de la línea de nuestro enlace y listo. Para salir de nano, una vez hechos los cambios, hay que teclear Ctrl+X
luego responder que si, pulsando la tecla «S» (o la tecla «Y» depende si se tiene el sistema en español o inglés) para decir que queremos guardar los cambios hechos y finalmente pulsar la tecla «ENTER» para aceptar la ruta indicada para guardar el archivo, yo recomiendo no cambiarla.
Yo seleccioné y quité el símbolo «#» de una dirección de USA pues es la que me queda más cerca (Chapingo en Texcoco, México).
Mirrors de Slackpkg
Una vez que slackpkg sabe a donde comunicarse para actualizarse, hay que ejecutar los siguientes comandos como superusuario:
# slackpkg update gpg
(Sólo si se usa slackpkg por primera vez, no es necesario hacerlo de nuevo)
# slackpkg update
# slackpkg install-new
# slackpkg upgrade-all
# slackpkg clean-system
Primero update va a descargar la lista de los últimos paquetes del mirror seleccionado y la va a comparar con los paquetes que se tengan instalados. De esta manera sabrá cuales paquetes necesitan actualización, cuales se agregaron y cuales se removieron desde nuestra última actualización o desde la versión estable si es que nunca hemos actualizado.
Después install-new instalará los nuevos paquetes antes de actualizar los paquetes existentes.
Posteriormente upgrade-all actualiza todos los paquetes del sistema a la versión oficial y más estable que se tenga disponible para Slackware. Todo el proceso tardó unos minutos en descargar e instalar desde el terminal.
Finalmente es MUY IMPORTANTE ejecutar slackpkg clean-system especialmente cuando se han removido paquetes, al ejecutar el comando aparece la lista de paquetes instalados en el sistema que no son parte de la instalación estándar de Slackware y se da la opción de seleccionar los paquetes a remover, todos los paquetes aparecen marcados por lo que hay que desmarcar los que se deseen conservar y dejar marcados aquellos que en ChangeLog.txt aparecen con la etiqueta «Removed».
Después de unos 15 minutos (tal vez menos) ya tenía mi sistema actualizado a la versión -current.
En caso de que el Kernel se haya actualizado
Como en este caso particular se actualizó mi kernel, para checar que el sistema se actualizó correctamente verifiqué la versión del mismo.
Kernel actualizado
Finalmente me pidió que ejecutara LILO y respondí que si pues es necesario para que ubique el nuevo kernel y no de errores al iniciar. Especialmente cuando hay actualizaciones en el kernel es importante ejecutar:
# lilo
Con tal de que el sistema reconozca los cambios. Me desconfiguró el arranque dual con Chakra que tenía en mi sistema pero eso fue lo de menos, ahora tengo mi Slackware actualizado.
NOTAS FINALES
La rama -current está llena de aplicaciones de versiones recientes, por lo tanto inestables. Es posible trabajar bien en current mientras exista compatibilidad entre las aplicaciones nuevas y las de la versión estable, sin embargo si se actualiza algún paquete esencial para el sistema (librerías por ejemplo) del cual dependan otras aplicaciones y se rompa la compatibilidad con estas otras aplicaciones estaremos en problemas. Por ello no es recomendable actualizar sin antes saber lo que se está haciendo, así que a aquellos usuarios nuevos de Slackware les tocará aprender a usar correctamente slackpkg (leer documentación y ChangeLogs antes de ejecutar comandos) si no quieren tener problemas.
Si por ejemplo, únicamente se desea obtener la última versión de Firefox, basta checar el ChangeLog de la versión estable y usar un mirror para esa versión, en vez de usar -current.
No es recomendable actualizar un kernel funcional (es decir estable, quen reconozca nuestro hardware y no nos cause problemas). Si funciona a la perfección ¿Para qué actualizarlo? La mayoría de las veces ni notamos las nuevas características de un nuevo kernel en nuestro sistema.
Cabe señalar que aunque veamos en el ChangeLog un cambio, es posible que slackpkg nos siga que todo sigue igual y sin novedad, esto se debe a que algunas de las mirrors tardan en actualizarse algunas horas y a veces hasta días, y probablemente estemos usando alguna de estas. Cambiar a otra mirror solucionará este problema, lamentablemente yo no puedo decirles cuales son las «mas actuales» es cuestion de prueba y error.
CONCLUSIÓN
Los usuarios de Slackware presumimos de una distro segura, estable y moderna, para ello hay que tener nuestro sistema al día y así no quedarnos detrás de otras distros. Es recomendable ejecutar estos comandos una o dos veces por semana (siempre que se sepa lo que se está haciendo) para lograr lo anterior. Usar slackpkg es sencillo y seguro para actualizar Slackware, que después de una actualización sigue siendo una roca.
Saludos Slackers!
Fuente SlackBlogs
Fuente Ubuntu-Guia