Slackware Linux 14.2 RC1

El pasado jueves 17 de marzo Patrick Volkerding anunció el lanzamiento de la primer release candidate de Slackware Linux 14.2, en el changelog de la rama current. Comentó que aún resta un poco de trabajo para que quede todo listo y dió a entender que no habrá más actualizaciones en las versiones de los programas, así que nos quedamos con las versiones que hay hasta el momento a menos que se identifique algún problema.

Las últimas actualizaciones fueron:

  • Linux kernel 4.4.6
  • M2Crypto 0.23.0
  • nmap 7.10
  • Mozilla Firefox 45.0.1

La invitación está abierta para aquellos que les interese actualizar y ayudar a probar la estabilidad de la distribución.

Saludos!

Slackware-current actualizadísimo

Después de la versión Beta 2 de Slackware 14.2, han seguido apareciendo cambios en el ChangeLog de la rama -current de la distribución. Principalmente se tienen actualizaciones de los componentes base.

Slackware es una de las distribuciones que prefiere estabilidad sobre la inclusión de las versiones más recientes de los programas. Por ello una vez que se libera una versión estable, las aplicaciones reciben actualizaciones menores y de seguridad únicamente. Sin embargo en la versión -current (que es la versión de desarrollo) se puede permitir saltos más grandes entre las versiones de una aplicación.

Hasta el día de hoy, muchas de las actualizaciones en la rama -current son las versiones más recientes disponibles:

  • Linux kernel 4.4.4
  • LLVM 3.8.0
  • GCC 5.3.0
  • glibc 2.23
  • Python 2.7.11
  • php 5.6.19
  • Mozilla Firefox 45.0
  • PulseAudio 8.0, que recientemente fue incluido al sistema.

Estos son algunos componentes importantes de Slackware Linux y que por ahora se encuentran lo más actualizados posible.

Si ustedes han seguido el desarrollo de la distribución desde la versión estable actual podrán notar que se tienen cambios muy grandes, lo que ha generado comentarios entre algunos miembros de la comunidad con respecto a si se justificaría o no, el nombrar a la siguiente versión Slackware 15 y no Slackware 14.2. Ya que el cambio de la versión 14.1 a 14.2 tiende a indicar que los cambios han sido relativamente pocos. Pero con más de dos años de desarrollo los cambios y actualizaciones han sido muy grandes. Pero, como sabrán, una decisión de este tipo no está a cargo de la comunidad, que aunque sus comentarios son tomados en cuenta, la última palabra la tiene el creador de la distro: Patrick Volkerding.

Por ahora solo nos resta actualizar y usar el sistema para ir probando los cambios y reportar los detalles que se vayan encontrando en el desarrollo de la próxima versión estable. Esto último se puede hacer en el foro oficial de la distro que se encuentra en LQ.

Actualizando al ‘casi’ Beta de Slackware

El pasado sábado 14 de noviembre se lanzó un paquete de actualizaciones de Slackware Linux al que Patrick llamó un ‘casi’ beta. Esto da a entender que la próxima versión estable de Slackware, que será la 14.2, se está trabajando y está casi por definirse.

Entre las actualizaciones que se pueden encontrar en la actualización, se encuentran:

  • alsa-utils y alsa-lib 1.1.0.
  • kernel 4.1.13
  • gcc 5.2.0
  • cmake 3.4.0
  • calligra 2.9.9
  • glib 2.46.2
  • gtk+ 3.18.4
  • mesa 11.0.5
  • xorg-server 1.18.0

Se debe tener mucho cuidado al actualizar, de hecho es recomendable leer bien el changelog antes de ejecutar los comandos de actualización, ya que esta es una actualización mayor. Se actualiza el kernel de Linux, gcc y xorg-server, lo que puede representar problemas en algunos sistemas o con ciertos paquetes.

En mi caso tuve que recompilar Qt5, lo cual me toma 6 bellas horas de mi ocupado día. Qt5 es una dependencia/librería indispensable para mí, sin ella no puedo hacer mis programas en C++ y usar otros paquetes, como Texmaker por ejemplo.

Además tuve que recompilar gst-plugins-ugly para poder escuchar mp3 en Amarok, ya que me quedé sin poder escuchar la música que tengo en ese formato. Para ello usé el SlackBuild que existe para la versión 1.4.5, pero lo modifiqué para usar la versión 1.6.1. No hice ninguna otro cambio por lo que las opciones podrían no ser las adecuadas para esta versión.

multilib también representa un problema, así que aplicaciones de 32 bits como Wine y GoogleEarth se tuvieron que ir. Sin embargo, AlienBob nos hizo el favor de crear y compartir sus paquetes multilib, que ya están disponibles en http://www.slackware.com/~alien/multilib/.

Finalmente hay paquetes que me faltan por actualizar o recompilar para dejar mi sistema como antes, entre ellas Octave, Scilab, Matplotlib, Arduino y QGIS. Especialmente esta última es muy susceptible a romperse con actualizaciones de este tipo por la gran cantidad de dependencias que le configuro. Puede que algunas de ellas no compilen pero eso es algo que estaré probando en los próximos días.

Si dependes mucho de Slackware tal vez sea conveniente esperar un poco para actualizar, ya que este tipo de actualizaciones requieren mucha atención y paciencia para dejar el sistema trabajando a la perfección. Sobre todo si usamos muchas aplicaciones de terceros, como las de Alien o SBo.

Ver: Actualizar a current

😉

Actualizaciones en Slackware-current: kernel, glibc, gcc, mesa, xorg

Exciting time in the world right now!

Una gran cantidad de actualizaciones para Slackware-current fueron liberadas el viernes pasado por Pat para nuestra distribución de Linux favorita. Entre los cambios más notables están el kernel 4.1.6, la suite de compiladores gcc 4.9.3, las librerías glibc 2.22, mesa 10.6.4 y xorg-server 1.17.2. Adicionalmente, todo apunta a que la siguiente versión de Slackware será 14.2.

Con todos estos cambios es probable que algunas aplicaciones dejen de funcionar, por favor avisen sobre cualquier problema (puede ser en LinuxQuestions o en el blog de AlienBob).

AlienBob está en el proceso de actualizar sus paquetes multilib para aquellos que los usamos, por ahora solo se pierde la habilidad de correr programas de 32 bits. Seamos pacientes.

Como siempre es necesario actualizar usando slackpkg. Hay que tener cuidado de usar los comandos correctamente, pues en este caso se tienen algunos paquetes que han sido eliminados. Los comandos para actualizar ya los conocen (como root):

# slackpkg update
# slackpkg install-new
# slackpkg upgrade-all
# slackpkg new-config
# slackpkg clean-system

Enjoy!

a/aaa_elflibs-14.2-x86_64-1.txz: Upgraded.
a/dosfstools-3.0.28-x86_64-1.txz: Upgraded.
a/etc-14.2-x86_64-2.txz: Rebuilt.
a/glibc-solibs-2.22-x86_64-1.txz: Upgraded.
a/glibc-zoneinfo-2015f-noarch-1.txz: Upgraded.
a/kernel-firmware-20150820git-noarch-1.txz: Upgraded.
a/kernel-generic-4.1.6-x86_64-1.txz: Upgraded.
a/kernel-huge-4.1.6-x86_64-1.txz: Upgraded.
a/kernel-modules-4.1.6-x86_64-1.txz: Upgraded.
a/procps-ng-3.3.10-x86_64-3.txz: Rebuilt.
       Fix "fuser -s $FILE" with patch from upstream git.
       Thanks to Dan Church.
ap/cups-2.0.4-x86_64-2.txz: Rebuilt.
ap/cups-filters-1.0.73-x86_64-1.txz: Upgraded.
ap/hplip-3.15.7-x86_64-2.txz: Rebuilt.
       Patched a bug. Thanks to gmgf.
ap/linuxdoc-tools-0.9.69-x86_64-4.txz: Rebuilt.
       Upgraded to asciidoc-8.6.9 and gtk-doc-1.24.
       Thanks to Stuart Winter.
d/gcc-4.9.3-x86_64-1.txz: Upgraded.
d/gcc-g++-4.9.3-x86_64-1.txz: Upgraded.
d/gcc-gfortran-4.9.3-x86_64-1.txz: Upgraded.
d/gcc-gnat-4.9.3-x86_64-1.txz: Upgraded.
d/gcc-go-4.9.3-x86_64-1.txz: Upgraded.
d/gcc-java-4.9.3-x86_64-1.txz: Upgraded.
d/gcc-objc-4.9.3-x86_64-1.txz: Upgraded.
d/kernel-headers-4.1.6-x86-1.txz: Upgraded.
d/pkg-config-0.28-x86_64-2.txz: Rebuilt.
d/ruby-2.2.3-x86_64-1.txz: Upgraded.
       Thanks to Vincent Batts.
e/emacs-24.5-x86_64-2.txz: Rebuilt.
k/kernel-source-4.1.6-noarch-1.txz: Upgraded.
kde/korundum-4.14.3-x86_64-2.txz: Rebuilt.
kde/qtruby-4.14.3-x86_64-3.txz: Rebuilt.
l/elfutils-0.163-x86_64-1.txz: Added.
l/glib-networking-2.44.0-x86_64-2.txz: Rebuilt.
l/glibc-2.22-x86_64-1.txz: Upgraded.
l/glibc-i18n-2.22-x86_64-1.txz: Upgraded.
l/glibc-profile-2.22-x86_64-1.txz: Upgraded.
l/gtk+2-2.24.28-x86_64-2.txz: Rebuilt.
l/gtk+3-3.16.6-x86_64-1.txz: Upgraded.
l/gvfs-1.24.2-x86_64-1.txz: Upgraded.
l/libarchive-3.1.2-x86_64-2.txz: Rebuilt.
l/libelf-0.8.13-x86_64-5.txz: Removed.
l/libmng-2.0.3-x86_64-1.txz: Upgraded.
l/librsvg-2.40.10-x86_64-1.txz: Upgraded.
l/libvncserver-0.9.10-x86_64-2.txz: Rebuilt.
l/loudmouth-1.5.0_20121201-x86_64-2.txz: Rebuilt.
l/pango-1.36.8-x86_64-2.txz: Rebuilt.
l/urwid-1.3.0-x86_64-1.txz: Upgraded.
n/gnutls-3.4.4.1-x86_64-1.txz: Upgraded.
       This update fixes some bugs and security issues.
       For more information, see:
       http://www.gnutls.org/security.html#GNUTLS-SA-2015-2
       http://www.gnutls.org/security.html#GNUTLS-SA-2015-3
       http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-6251
       (* Security fix *)
n/iputils-s20140519-x86_64-1.txz: Upgraded.
n/nettle-3.1.1-x86_64-1.txz: Upgraded.
n/obexftp-0.23-x86_64-10.txz: Rebuilt.
n/samba-4.2.3-x86_64-1.txz: Upgraded.
       Modified wscript files to install talloc, tevent, and tdb directly.
       Thanks to Christoph Willing.
x/appres-1.0.4-x86_64-2.txz: Rebuilt.
x/bdftopcf-1.0.5-x86_64-2.txz: Rebuilt.
x/beforelight-1.0.5-x86_64-2.txz: Rebuilt.
x/bitmap-1.0.8-x86_64-2.txz: Rebuilt.
x/compiz-0.8.8-x86_64-3.txz: Rebuilt.
x/dri2proto-2.8-x86_64-2.txz: Rebuilt.
x/dri3proto-1.0-x86_64-2.txz: Rebuilt.
x/editres-1.0.6-x86_64-2.txz: Rebuilt.
x/fixesproto-5.0-x86_64-2.txz: Rebuilt.
x/font-util-1.3.1-x86_64-2.txz: Rebuilt.
x/fonttosfnt-1.0.4-x86_64-2.txz: Rebuilt.
x/fslsfonts-1.0.5-x86_64-2.txz: Rebuilt.
x/fstobdf-1.0.6-x86_64-2.txz: Rebuilt.
x/glamor-egl-0.6.0-x86_64-1.txz: Removed.
x/iceauth-1.0.7-x86_64-2.txz: Rebuilt.
x/ico-1.0.4-x86_64-2.txz: Rebuilt.
x/imake-1.0.7-x86_64-2.txz: Rebuilt.
x/intel-gpu-tools-1.3-x86_64-2.txz: Rebuilt.
x/kbproto-1.0.7-noarch-1.txz: Upgraded.
x/libFS-1.0.7-x86_64-1.txz: Upgraded.
x/libICE-1.0.9-x86_64-2.txz: Rebuilt.
x/libSM-1.2.2-x86_64-2.txz: Rebuilt.
x/libX11-1.6.3-x86_64-2.txz: Rebuilt.
x/libXScrnSaver-1.2.2-x86_64-2.txz: Rebuilt.
x/libXau-1.0.8-x86_64-2.txz: Rebuilt.
x/libXaw-1.0.13-x86_64-1.txz: Upgraded.
x/libXaw3d-1.6.2-x86_64-3.txz: Rebuilt.
x/libXcm-0.5.2-x86_64-2.txz: Rebuilt.
x/libXcomposite-0.4.4-x86_64-2.txz: Rebuilt.
x/libXcursor-1.1.14-x86_64-2.txz: Rebuilt.
x/libXdamage-1.1.4-x86_64-2.txz: Rebuilt.
x/libXdmcp-1.1.2-x86_64-2.txz: Rebuilt.
x/libXevie-1.0.3-x86_64-2.txz: Rebuilt.
x/libXext-1.3.3-x86_64-2.txz: Rebuilt.
x/libXfixes-5.0.1-x86_64-2.txz: Rebuilt.
x/libXfont-1.5.1-x86_64-2.txz: Rebuilt.
x/libXfontcache-1.0.5-x86_64-2.txz: Rebuilt.
x/libXft-2.3.2-x86_64-3.txz: Rebuilt.
x/libXi-1.7.4-x86_64-2.txz: Rebuilt.
x/libXinerama-1.1.3-x86_64-2.txz: Rebuilt.
x/libXmu-1.1.2-x86_64-2.txz: Rebuilt.
x/libXp-1.0.3-x86_64-2.txz: Rebuilt.
x/libXpm-3.5.11-x86_64-2.txz: Rebuilt.
x/libXpresent-1.0.0-x86_64-1.txz: Added.
x/libXrandr-1.5.0-x86_64-1.txz: Upgraded.
x/libXrender-0.9.9-x86_64-1.txz: Upgraded.
x/libXres-1.0.7-x86_64-2.txz: Rebuilt.
x/libXt-1.1.5-x86_64-1.txz: Upgraded.
x/libXtst-1.2.2-x86_64-2.txz: Rebuilt.
x/libXv-1.0.10-x86_64-2.txz: Rebuilt.
x/libXvMC-1.0.9-x86_64-2.txz: Rebuilt.
x/libXxf86dga-1.1.4-x86_64-2.txz: Rebuilt.
x/libXxf86misc-1.0.3-x86_64-2.txz: Rebuilt.
x/libXxf86vm-1.1.4-x86_64-2.txz: Rebuilt.
x/libdmx-1.1.3-x86_64-2.txz: Rebuilt.
x/libdrm-2.4.64-x86_64-1.txz: Upgraded.
x/libepoxy-1.3.1-x86_64-1.txz: Added.
x/libfontenc-1.1.3-x86_64-1.txz: Upgraded.
x/libpciaccess-0.13.4-x86_64-1.txz: Upgraded.
x/libxcb-1.11-x86_64-2.txz: Rebuilt.
x/libxkbfile-1.0.9-x86_64-1.txz: Upgraded.
x/libxshmfence-1.2-x86_64-2.txz: Rebuilt.
x/listres-1.0.3-x86_64-2.txz: Rebuilt.
x/lndir-1.0.3-x86_64-2.txz: Rebuilt.
x/luit-1.1.1-x86_64-2.txz: Rebuilt.
x/makedepend-1.0.5-x86_64-2.txz: Rebuilt.
x/mesa-10.6.4-x86_64-1.txz: Upgraded.
x/mkcomposecache-1.2.1-x86_64-2.txz: Rebuilt.
x/mkfontscale-1.1.2-x86_64-2.txz: Rebuilt.
x/oclock-1.0.3-x86_64-2.txz: Rebuilt.
x/pixman-0.33.2-x86_64-1.txz: Upgraded.
x/presentproto-1.0-x86_64-2.txz: Rebuilt.
x/randrproto-1.5.0-noarch-1.txz: Upgraded.
x/rendercheck-1.5-x86_64-1.txz: Upgraded.
x/rgb-1.0.6-x86_64-2.txz: Rebuilt.
x/sessreg-1.1.0-x86_64-2.txz: Rebuilt.
x/setxkbmap-1.3.1-x86_64-1.txz: Upgraded.
x/showfont-1.0.5-x86_64-2.txz: Rebuilt.
x/smproxy-1.0.6-x86_64-1.txz: Upgraded.
x/transset-1.0.1-x86_64-2.txz: Rebuilt.
x/twm-1.0.9-x86_64-1.txz: Upgraded.
x/viewres-1.0.4-x86_64-2.txz: Rebuilt.
x/x11perf-1.6.0-x86_64-1.txz: Upgraded.
x/xauth-1.0.9-x86_64-2.txz: Rebuilt.
x/xbacklight-1.2.1-x86_64-2.txz: Rebuilt.
x/xbiff-1.0.3-x86_64-2.txz: Rebuilt.
x/xbitmaps-1.1.1-x86_64-2.txz: Rebuilt.
x/xcalc-1.0.6-x86_64-2.txz: Rebuilt.
x/xcb-proto-1.11-x86_64-2.txz: Rebuilt.
x/xcb-util-0.4.0-x86_64-2.txz: Rebuilt.
x/xcb-util-cursor-0.1.2-x86_64-2.txz: Rebuilt.
x/xcb-util-errors-1.0-x86_64-1.txz: Added.
x/xcb-util-image-0.4.0-x86_64-2.txz: Rebuilt.
x/xcb-util-keysyms-0.4.0-x86_64-2.txz: Rebuilt.
x/xcb-util-renderutil-0.3.9-x86_64-2.txz: Rebuilt.
x/xcb-util-wm-0.4.1-x86_64-2.txz: Rebuilt.
x/xclipboard-1.1.3-x86_64-2.txz: Rebuilt.
x/xclock-1.0.7-x86_64-2.txz: Rebuilt.
x/xcm-0.5.2-x86_64-2.txz: Rebuilt.
x/xcmsdb-1.0.5-x86_64-1.txz: Upgraded.
x/xcompmgr-1.1.7-x86_64-1.txz: Upgraded.
x/xconsole-1.0.6-x86_64-2.txz: Rebuilt.
x/xcursorgen-1.0.6-x86_64-3.txz: Rebuilt.
x/xdbedizzy-1.1.0-x86_64-2.txz: Rebuilt.
x/xditview-1.0.4-x86_64-1.txz: Upgraded.
x/xdm-1.1.11-x86_64-6.txz: Rebuilt.
x/xdpyinfo-1.3.2-x86_64-1.txz: Upgraded.
x/xdriinfo-1.0.5-x86_64-1.txz: Upgraded.
x/xedit-1.2.2-x86_64-2.txz: Rebuilt.
x/xev-1.2.2-x86_64-1.txz: Upgraded.
x/xextproto-7.3.0-x86_64-2.txz: Rebuilt.
x/xeyes-1.1.1-x86_64-2.txz: Rebuilt.
x/xf86-input-acecad-1.5.0-x86_64-8.txz: Rebuilt.
x/xf86-input-aiptek-1.4.1-x86_64-8.txz: Rebuilt.
x/xf86-input-evdev-2.9.2-x86_64-2.txz: Rebuilt.
x/xf86-input-joystick-1.6.1-x86_64-8.txz: Rebuilt.
x/xf86-input-keyboard-1.8.1-x86_64-1.txz: Upgraded.
x/xf86-input-mouse-1.9.1-x86_64-3.txz: Rebuilt.
x/xf86-input-penmount-1.5.0-x86_64-8.txz: Rebuilt.
x/xf86-input-synaptics-1.8.2-x86_64-2.txz: Rebuilt.
x/xf86-input-vmmouse-13.1.0-x86_64-1.txz: Upgraded.
x/xf86-input-void-1.4.0-x86_64-8.txz: Rebuilt.
x/xf86-input-wacom-0.19.0-x86_64-7.txz: Rebuilt.
x/xf86-video-apm-1.2.5-x86_64-7.txz: Rebuilt.
x/xf86-video-ark-0.7.5-x86_64-7.txz: Rebuilt.
x/xf86-video-ast-1.1.5-x86_64-1.txz: Upgraded.
x/xf86-video-ati-7.5.0-x86_64-2.txz: Rebuilt.
x/xf86-video-chips-1.2.5-x86_64-7.txz: Rebuilt.
x/xf86-video-cirrus-1.5.3-x86_64-1.txz: Upgraded.
x/xf86-video-dummy-0.3.7-x86_64-4.txz: Rebuilt.
x/xf86-video-glint-1.2.8-x86_64-7.txz: Rebuilt.
x/xf86-video-i128-1.3.6-x86_64-7.txz: Rebuilt.
x/xf86-video-i740-1.3.5-x86_64-2.txz: Rebuilt.
x/xf86-video-intel-2.99.917-x86_64-2.txz: Rebuilt.
x/xf86-video-mach64-6.9.5-x86_64-1.txz: Upgraded.
x/xf86-video-mga-1.6.4-x86_64-2.txz: Rebuilt.
x/xf86-video-modesetting-0.9.0-x86_64-3.txz: Rebuilt.
x/xf86-video-neomagic-1.2.9-x86_64-1.txz: Upgraded.
x/xf86-video-nouveau-1.0.11-x86_64-2.txz: Rebuilt.
x/xf86-video-nv-2.1.20-x86_64-8.txz: Rebuilt.
x/xf86-video-openchrome-0.3.3-x86_64-5.txz: Rebuilt.
x/xf86-video-r128-6.10.0-x86_64-1.txz: Upgraded.
x/xf86-video-rendition-4.2.5-x86_64-7.txz: Rebuilt.
x/xf86-video-s3-0.6.5-x86_64-7.txz: Rebuilt.
x/xf86-video-s3virge-1.10.6-x86_64-8.txz: Rebuilt.
x/xf86-video-savage-2.3.8-x86_64-1.txz: Upgraded.
x/xf86-video-siliconmotion-1.7.8-x86_64-1.txz: Upgraded.
x/xf86-video-sis-0.10.7-x86_64-8.txz: Rebuilt.
x/xf86-video-sisusb-0.9.6-x86_64-7.txz: Rebuilt.
x/xf86-video-tdfx-1.4.6-x86_64-2.txz: Rebuilt.
x/xf86-video-tga-1.2.2-x86_64-7.txz: Rebuilt.
x/xf86-video-trident-1.3.7-x86_64-2.txz: Rebuilt.
x/xf86-video-tseng-1.2.5-x86_64-7.txz: Rebuilt.
x/xf86-video-v4l-0.2.0-x86_64-12.txz: Rebuilt.
x/xf86-video-vesa-2.3.4-x86_64-1.txz: Upgraded.
x/xf86-video-vmware-13.1.0-x86_64-2.txz: Rebuilt.
x/xf86-video-voodoo-1.2.5-x86_64-8.txz: Rebuilt.
x/xf86-video-xgi-git_5a3e0de677b7-x86_64-2.txz: Rebuilt.
x/xf86-video-xgixp-1.8.1-x86_64-7.txz: Rebuilt.
x/xf86dga-1.0.3-x86_64-2.txz: Rebuilt.
x/xfd-1.1.2-x86_64-2.txz: Rebuilt.
x/xfontsel-1.0.5-x86_64-2.txz: Rebuilt.
x/xfs-1.1.4-x86_64-2.txz: Rebuilt.
x/xfsinfo-1.0.5-x86_64-2.txz: Rebuilt.
x/xgamma-1.0.6-x86_64-1.txz: Upgraded.
x/xgc-1.0.5-x86_64-1.txz: Upgraded.
x/xhost-1.0.7-x86_64-1.txz: Upgraded.
x/xinit-1.3.4-x86_64-2.txz: Rebuilt.
x/xinput-1.6.1-x86_64-2.txz: Rebuilt.
x/xkbcomp-1.3.0-x86_64-2.txz: Rebuilt.
x/xkbevd-1.1.4-x86_64-1.txz: Upgraded.
x/xkbprint-1.0.4-x86_64-1.txz: Upgraded.
x/xkbutils-1.0.4-x86_64-2.txz: Rebuilt.
x/xkill-1.0.4-x86_64-2.txz: Rebuilt.
x/xload-1.1.2-x86_64-2.txz: Rebuilt.
x/xlogo-1.0.4-x86_64-2.txz: Rebuilt.
x/xlsatoms-1.1.2-x86_64-1.txz: Upgraded.
x/xlsclients-1.1.3-x86_64-2.txz: Rebuilt.
x/xlsfonts-1.0.5-x86_64-1.txz: Upgraded.
x/xmag-1.0.6-x86_64-1.txz: Upgraded.
x/xman-1.1.4-x86_64-2.txz: Rebuilt.
x/xmessage-1.0.4-x86_64-2.txz: Rebuilt.
x/xmh-1.0.3-x86_64-1.txz: Upgraded.
x/xmodmap-1.0.9-x86_64-1.txz: Upgraded.
x/xmore-1.0.2-x86_64-2.txz: Rebuilt.
x/xorg-docs-1.7.1-noarch-1.txz: Upgraded.
x/xorg-server-1.17.2-x86_64-1.txz: Upgraded.
x/xorg-server-xephyr-1.17.2-x86_64-1.txz: Upgraded.
x/xorg-server-xnest-1.17.2-x86_64-1.txz: Upgraded.
x/xorg-server-xvfb-1.17.2-x86_64-1.txz: Upgraded.
x/xorg-sgml-doctools-1.11-x86_64-2.txz: Rebuilt.
x/xpr-1.0.4-x86_64-2.txz: Rebuilt.
x/xprop-1.2.2-x86_64-2.txz: Rebuilt.
x/xproto-7.0.28-noarch-1.txz: Upgraded.
x/xpyb-1.3.1-x86_64-3.txz: Rebuilt.
x/xrandr-1.4.3-x86_64-2.txz: Rebuilt.
x/xrdb-1.1.0-x86_64-2.txz: Rebuilt.
x/xrefresh-1.0.5-x86_64-2.txz: Rebuilt.
x/xscope-1.4.1-x86_64-2.txz: Rebuilt.
x/xset-1.2.3-x86_64-2.txz: Rebuilt.
x/xsetroot-1.1.1-x86_64-2.txz: Rebuilt.
x/xsm-1.0.3-x86_64-2.txz: Rebuilt.
x/xstdcmap-1.0.3-x86_64-2.txz: Rebuilt.
x/xvidtune-1.0.3-x86_64-2.txz: Rebuilt.
x/xvinfo-1.1.3-x86_64-1.txz: Upgraded.
x/xwd-1.0.6-x86_64-2.txz: Rebuilt.
x/xwininfo-1.1.3-x86_64-2.txz: Rebuilt.
x/xwud-1.0.4-x86_64-2.txz: Rebuilt.
xap/MPlayer-20150721-x86_64-1.txz: Upgraded.
       Thanks to Heinz Wiesinger.
xap/ddd-3.3.12-x86_64-4.txz: Rebuilt.
xap/pan-0.139-x86_64-3.txz: Rebuilt.
xap/xine-lib-1.2.6-x86_64-2.txz: Rebuilt.
extra/wicd/wicd-1.7.3-x86_64-1.txz: Upgraded.
       Probably better to use NetworkManager, but this seems to work for now.
isolinux/initrd.img: Rebuilt.
kernels/*: Upgraded.
usb-and-pxe-installers/usbboot.img: Rebuilt.

Avisos de seguridad para Slackware: Kernel, Firefox y más

Hablando de que Slackware ha estado sin actividad y aparece esto. Este sábado 17 de enero de 2015 se publican noticias en los changelogs de la rama estable y de la rama current de Slackware (32 y 64 bits).

Se publican los siguientes avisos de seguridad:

  • Freetype, actualizado a 2.5.5 para Slackware desde la versión 13.0.
  • Mozilla Firefox, actualizado a 31.4.0esr para Slackware 14.1 y a 35.0 para -current.
  • Thunderbird, actualizado a 31.4.0 para Slackware 14.1 y -current.
  • Seamonkey, actualizado a 2.32 para Slackware desde la versión 14.0

Mientras que en la rama -current se presentan además las siguientes actualizaciones:

  • kernel actualizado a 3.14.29
  • GCC actualizado a 4.8.4
  • libtool actualizado a 2.4.4

Además para la versión de 32 bits se incluye el kernel 3.14.29 nosmp-sdk en extra.

Como siempre el desarrollo de la rama current sigue muy activo hasta la liberación de la próxima versión estable.

Usando un Kernel Genérico en Slackware

El sistema Linux que viene en el CD/DVD de la distribución Slackware tiene la capacidad (como muchos otros Sistemas Operativos) de poder instalarse en computadoras de diferentes características, ya sea tanto en mi laptop como en la de escritorio de mi vecino, en computadoras Intel como en AMD, en tarjetas madre marca patito como ASUS, etc. Es decir se tienen que cubrir y dar soporte a la mayor cantidad del hardware posible para que el sistema sea instalado exitosamente prácticamente en cualquier computadora (PC) sin importar su marca o fabricante.

No estoy hablando de diferencias entre arquitecturas como x86, x86_64, ARM, etc., esa es otra historia; estoy hablando de las diferencias entre computadoras de la misma arquitectura, por ejemplo de x86 o 32 bits, por el simple hecho de que ser fabricadas por diferentes compañias.

Con la finalidad de reconocer la mayor cantidad de hardware posible, Slackware proporciona un kernel que contiene una gran cantidad de módulos (entiéndase drivers o controladores), el kernel se llama huge y si tiene soporte para múltiples núcleos o procesadores será hugesmp. Durante la instalación de Slackware con CD/DVD, al principio se pide elegir el kernel para bootear y por omisión muestra el hugesmp, muchos de nosotros lo usamos y simplemente presionamos ENTER. Al proceder con la instalación de esta manera este kernel también es instalado y configurado para ser usado por el sistema día a día.

Hasta aquí todo bien, pero ¿Qué pasa con todos esos módulos que se cargaron durante la instalación? Efectivamente, TODOS siguen siendo cargados cada vez que iniciamos el sistema, incluso aunque no los necesitemos.

Para esta situación hay una solución muy simple: usar un kernel genérico y cargar exactamente los módulos que necesitemos para nuestro hardware. Esto se reflejará reduciendo ligeramente el uso de memoria RAM y un inicio más limpio y rápido.

A continuación muestro como es que logré cambiar exitosamente mi kernel a uno genérico. Para hacerlo yo realicé los siguientes pasos.

Un poco de teoría

Primero sería bueno leer la parte acerca de initrd la Wiki de AlienBob para saber por lo menos de que se trata lo que estamos haciendo, si ya lo sabes entonces bien vendría recordar un poco. El enlace es el siguiente: AlienWiki, también el archivo README.initrd que viene en el CD/DVD de instalación de Slackware.

Lo que dice Patrick Volkerding es mas o menos lo siguiente:

1. ¿Qué es initrd?

Initrd viene de “initial ramdisk”. Un disco RAM inicial es un pequeño sistema de archivos de Linux que es cargado en la memoria RAM y montado cuando el kernel arranca, antes de que el sistema de archivos principal sea montado.

2. ¿Por qué necesito un initrd?

La razón para usar un initrd es usualmente por que es necesario cargar módulos del kernel antes de montar la partición raíz (root). Usualmente esos módulos se requieren para soportar el sistema de archivos usado por la partición raíz (ext3, reiserfs, xfs), o el controlador al que el disco duro está ligado (SCSI, RAID, etc.). Esencialmete hay tantas opciones diferentes disponibles en los kernels modernos de Linux, que no resulta práctico intentar hacer muchos kernels para cubrir las necesidades de cada uno. Es mucho más flexible armar un kernel genérico y configurar módulos para él.

3. ¿Cómo creo el initrd?

La forma más fácil de hacer el initrd es usar el script mkinitrd incluido en el paquete del mismo nombre. A continuación vamos a seguir paso a paso el proceso de actualización al kernel genérico de Linux 3.2.29 usando los paquetes encontrados en el directorio slackware/a/ de Slackware.

Primero, hay que asegurarse de que el kernel, los módulos del kernel y el paquete mkinitrd están instalados (los números de la versión actual pueden ser diferentes, así que este solo es un ejemplo):

installpkg kernel-generic-3.2.29-i686-1.tgz
installpkg kernel-modules-3.2.29-i686-1.tgz
installpkg mkinitrd-1.1.0-i486-1.tgz

Luego cambiar al directorio /boot:

cd /boot

Ahora ejecutar el script mkinitrd. Como se está usando reiserfs en el sistemas de archivos raíz y como es un sistema IDE, el módulo reiserfs será el único que se necesita cargar:

mkinitrd -c -k 3.2.29 -m reiserfs

NOTA: Para facilitar el proceso se presenta un script más adelante así que evitar ir haciendo esto. Solo es teoría.

Esto debería hacer dos cosas. Primero, creará el directorio /boot/initrd-tree que va a contener el sistema de archivos de initrd. Luego creará un initrd (/boot/initrd.gz) desde este árbol de directorios. Si lo deseas, podrías hacer algunos cambios adicionales en /boot/initrd-tree/ y entonces ejecutar mkinitrd de nuevo, sin las opciones de reconstruir la imagen. Esto es opcional, aunque solo los usuarios avanzados necesitarán pensar en esto.

Aquí hay otro ejemplo: construir una imagen usando los módulos del kernel de Linux 3.2.29 para un sistema con una partición raíz ext3 en /dev/sdb3:

mkinitrd -c -k 3.2.29 -m ext3 -f ext3 -r /dev/sdb3

4. ¿Ahora que he construido un initrd, cómo lo uso?

Ahora que tienes un initrd (/boot/initrd.gz), tendrás que cargarlo junto con el kernel durante el boot. Si usas LILO como boot loader, necesitarás editar /etc/lilo.conf y agregar una línea para cargar el initrd. Aquí hay un ejemplo de lilo.conf mostrando cómo se hace esto:

# Linux bootable partition config begins
image = /boot/vmlinuz-generic-3.2.29
..initrd = /boot/initrd.gz
..root = /dev/sda6
..label = Lnx3229
..read-only
# Linux bootable partition config ends

El initrd es cargado en la linea “initrd = /boot/initrd.gz“. Solo agrega esta línea justo debajo de la línea para la imagen del kernel que uses. Guarda el archivo y ejecuta LILO de nuevo (# lilo en la línea de comandos). Necesitas ejecutar lilo cada vez que editas lilo.conf o reconstruyes el initrd.

Otros bootloaders como syslinux también soportan el uso de un initrd. Hay que revisar la documentación de esos programas para los detalles de como usar un initrd en ellos.

Creando el initrd

Simple ¿No? Pues no tanto, en mi caso terminé echando todo a la basura con el método que describe Patrick, por alguna extraña razón relacionada con el hecho de que no tengo mucha experiencia con esto. Mi sistema ya no booteaba y tuve que usar el DVD de Slackware para bootear con un kernel de los que vienen ahí y usar el sistema instalado en el disco duro en la partición raíz.

Mi solución final, después de arreglar mi sistema, fue usar el script que AlienBob tiene en su Wiki y que en Slackware 14 ya debe estar incluido (según él mismo desde la versión 12.2). Sino es así (que es muy improbable) hay que descargarlo aquí. Ejecutar el script es tan sencillo como:

# /usr/share/mkinitrd/mkinitrd_command_generator.sh /boot/vmlinuz-generic-smp-3.2.29-smp

Esto nos creará un comando que debemos ejecutar para que se configuren los módulos del kernel especificado, en mi caso me generó este comando:

# mkinitrd -c -k 3.2.29-smp -f ext4 -r /dev/sda3 -m usbhid:ehci-hcd:uhci-hcd:mbcache:jbd2:ext4 -u -o /boot/initrd.gz

Al ejecutar lo anterior se genera un pedazo de código que hay que colocar en LILO y ahí mismo vienen las instrucciones para hacerlo, primero editar lilo:

# nano /etc/lilo.conf

Y colocar el código de tal manera que quede parecido a esto:

# Linux bootable partition config begins
image = /boot/vmlinuz-generic-smp-3.2.29-smp
..initrd = /boot/initrd.gz
..root = /dev/sda3
..label = 3.2.29-smp
..read-only
# Linux bootable partition config ends

Bueno esto es como yo lo hice, cada sistema tiene una configuración diferente por ello el comando que se generará para tí será diferente, sin embargo el proceso es el mismo.

Saludos.