FreeSlack: Liberando Slackware

Hace tiempo escribí una entrada  en la que explicaba porqué la FSF no avala a Slackware como distro libre. Las distros Linux que avala la FSF son pocas y no son precisamente las más populares. En primera, si quisiéramos ser usuarios de una distro completamente libre no estaríamos usando Slackware Linux o ninguna de las distros populares como Debian, Ubuntu, Fedora, Red Hat, Arch, etc.
Según la FSF, Slackware no es libre porque distribuye blobs (partes compiladas distribuidas sin el código fuente) en el kernel y porque no adopta una política exacta de instalar únicamente software libre y eliminar el no libre cuando se detecte (curioso porque hablamos de libertad). Por un lado en la distro se incluyen aplicaciones como Google Chrome, Java y Flash Player, entre otras. Además es posible instalar Skype, Dropbox, Google Earth y demás aplicaciones. Todas las aplicaciones mencionadas no son software libre.
Sin embargo existe la opción de hacer a Slackware una distro de componentes completamente libres, usando las instrucciones que se encuentran en el sitio de freeslack.net. FreeSlack es un Free eXpansion Pack for Slackware (algo así como un paquete de expansión libre). El objetivo principal del proyecto es documentar todo el software no libre de la distribución, y facilitar al usuario el mantenimiento de un Slackware completamente libre.
El proyecto FreeSlack proporciona:

  • Una lista de paquetes no libres en Slackware 14.1 y 14.0
  • Instrucciones para cambiar el kernel por uno completamente libre, se incluyen links a SlackBuilds para compilar tu propio kernel libre.
  • Un repositorio con paquetes únicamente libres.
  • Algunas instrucciones para eliminar paquetes no libres y facilitar las actualizaciones con software libre únicamente.

Por lo tanto si que es posible tener un Slackware libre conforme a lo que dice la FSF, si ese es tu objetivo.

Mi experiencia

Personalmente encuentro difícil (más no imposible) vivir con un sistema así. En principio mi trabajo consiste en desarrollar aplicaciones capaces de ejecutarse en Windows, uso mucho Google Earth y un poco Skype. El trabajo en equipo me obliga a usar Microsoft Office cuando uso Windows y sus respectivos formatos. No todos somos capaces de vivir en un ambiente completamente libre. Pero para aquellos que sí y que además usen o quieran usar Slackware ahí está la opción.

Saludos

Actualizar paquetes de SlackBuilds instalados usando sbopkg

Para instalar paquetes de terceros en Slackware yo uso sbopkg, como muchos slackers.
sbopkg es una herramienta capaz de actualizar los paquetes instalados mediante la misma. Sin embargo hay que poner mucha atención a la hora de hacerlo. Se debe ser cuidadoso de actualizar primero las dependencias de los paquetes para que no se tengan conflictos.
La aplicación debe ser ejecutada en el terminal y en una sesión de root (o superusuario):

# sbopkg

Una pantalla al estilo ncurses aparecerá, usando la opción Updates se listarán las potenciales actualizaciones de los paquetes instalados:

sbopkg-update-0

sbopkg-update-2

sbopkg-update-3

sbopkg-update-4

Al cerrar la lista de actualizaciones potenciales, se preguntará si se desean agregar los paquetes listados a la cola de procesamiento, indicar que si y posteriormente usar la opción Queue para seleccionar los paquetes a actualizar. Aquí se debe tener cuidado porque la lista se procesa en orden alfabético por lo que se deben eliminar (usando el botón Delete) los paquetes cuyas dependencias se encuentren más abajo de la lista. Se deberá ejecutar sbopkg una segunda vez (o posiblemente más) cuando las primeras dependencias se hayan actualizado.

sbopkg-update-1

Cuando se haya terminado de eliminar de la cola aquellos paquetes que no se van a actualizar en esta primera ejecución, se procede con la actualización usando la opción Process.

sbopkg-update-7

Ahora se pedirá revisar la cola de actualización una vez más, seleccionando solo aquellos paquetes que se van a actualizar. Los paquetes cuya versión instalada sea mayor a la del sitio de SlackBuilds (downgrades) aparecerán desactivados para no ser procesados.

sbopkg-update-8

Luego se pedirá seleccionar la operación que se desea realizar con los paquetes de la cola, se puede hacer solo la descarga, la compilación o la instalación.

sbopkg-update-9

sbopkg-update-10

Finalmente se empezarán a actualizar los paquetes seleccionados de manera normal.

sbopkg-update-11

Si todo sale bien, se informará el éxito al final del proceso.

Con esta herramienta es muy sencillo hacer una actualización de las aplicaciones del sistema que hemos instalado desde los SlackBuilds. Nos ahorra la tarea de buscar los paquetes de uno por uno y checar si existe una actualización.

Es recomendable que se consulte el sitio de SlackBuilds.org para buscar información de los paquetes que se van a actualizar. Algunos, por ejemplo, deben desinstalarse por completo antes de intentar compilar una versión nueva. Otros no se actualizarán de esta manera debido a ciertas restricciones (como programas privativos distribuidos en binario o ejecutables).

Finalmente, la única desventaja del proceso de actualización es el tiempo nos lleva actualizar todo, pues Slackware no utiliza un sistema de resolución de dependencias y tampoco la aplicación de sbopkg, así que aquellos paquetes que requieran de muchas dependencias deben dejarse para el final, probablemente sea necesario ejecutar la opción de actualización varias veces para ir resolviendo dependencias de manera ordenada.

Have fun!

Actualizando glibc

A pesar de que la noticia de la vulnerabilidad GHOST de glibc ya lleva un par de días, quiero publicar el sencillo método de dos pasos que hay que seguir para actualizar.
Primero hay que descargar los paquetes apropiados para la versión de Slackware que tengamos instalada, las versiones afectadas son 13.0, 13.1, 13.37, 14.0 y 14.1.
Los paquetes son:

  • glibc
  • glibc-i18n
  • glibc-profile
  • glibc-solibs
  • glibc-zoneinfo-2014j

Para 32 y 64 bits se descargan desde el sitio ftp.slackware.com, los enlaces de descarga se ponen a disposición en el aviso de seguridad.
Sin embargo si tienes un equipo con Slackware multilib (64 bits con compatibilidad para aplicaciones de 32 bits), ninguno de estos paquetes servirá. Los adecuados se encuentran en el sitio de AlienBob (que por cierto expresó enojo en una publicación de su blog cuando ciertas personas le exigieron que publicara cuanto antes los paquetes) y se pueden descargar desde este enlace, solo hay que escoger la versión correcta.
Una vez descargados solo hay que acceder al directorio donde se encuentran los paquetes, usando el Terminal y ejecutar como usuario root:

# upgradepkg --reinstall glibc-*

¡Saludos!

Avisos de seguridad para Slackware: glibc

Ya se encuentran disponibles los nuevos paquetes de GNU C Library, mejor conocido como glibc para Slackware 13.0, 13.1, 13.37, 14.0 y 14.1 que arreglan un problema de seguridad del sistema. Slackware-current no se ve afectada pues tiene la versión 2.20 de glibc, que no es vulnerable. El aviso fue publicado el día de ayer miércoles 28 de enero de 2015.
Esta actualización corrige un problema de seguridad del que se ha estado hablando mucho por todos lados. Este problema podría permitir a atacantes locales o remotos tomar el control de la máquina ejecutando alguna de las versiones vulnerables de glibc. La empresa Qualys es fue la responsable del descubrimiento del problema (conocido como la vulnerabilidad GHOST).
Además se actualizó la ultima información del timezone: tzcode2014j y tzdata2014j.
En -current se actualiza Mozilla Firefox a 35.0.1 y patch a 2.7.2.
¡Actualizar ya, si no lo has hecho!

Avisos de seguridad para Slackware: samba

Desde el martes 20 de enero de 2015 ya estan disponibles los nuevos paquetes de samba 4.1.16 para Slackware 14.1 y -current que arreglan un problema de seguridad (ver aviso de seguridad).

Además en el ChangeLog de Slackware-current hay tres actualizaciones:

  • gdb es actualizado a 7.8.2.
  • alpine es actualizado a 2.20.
  • imapd es actualizado a 2.20.

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.

Empezando el 2015

slackware-14.1-xfce_2

Definitivemente el año 2014 fue un año de mucho slacking para mí. No hubo mucha actividad en el blog, pero bueno aquí vamos empezando este 2015. El año pasado estuve muy ocupado y me fue difícil dedicar tiempo a publicar en el blog. Hubo muchos cambios en mi vida durante el año pasado, cambios en mis metas y cambios en el trabajo. Y para este año espero haya muchos más. Ahora comienzo una nueva etapa en la que al parecer tendré más tiempo para escribir y compartir en el blog. Incluso ya he comenzado un nuevo blog con contenido en inglés y enfocado un poco más a la programación.

En lo que respecta a la temática de este blog puedo decir que me aventuré a usar otra distribución Linux. Los que me conocen saben que no soy de los que gusta andar instalando cada nueva versión de las distros que aparecen en Distrowatch para hacer reviews o guías de instalación. No. Yo soy más de tomar las cosas en serio y un cambio de distribución para mí significa algo por completo y definitivo. Pues estamos hablando de mi distribución principal, aquella que me servirá tato para el trabajo como para el entretenimiento. Una que sea de día y noche. Con buena estabilidad, que sea aguantadora y que de batalla.

He tomado dos decisiones curiosas en mi vida. Cuando elegí la distribución de Linux con la que quería comenzar mis aventuras, sabía que debía elegir bien y que definitivamente Ubuntu no era. Decidí elegir una de las distribuciones ‘más difíciles’. Y elegí Slackware. Es curioso porque recuerdo que cuando elegí mi carrera de licenciatura, (más bien ingeniería) tomé mi decisión con un criterio parecido. La más difícil. Nada que ver pero bien, la anécdota está contada.

Ahora durante 2014 decidí cambiar mi distribución de Linux, y dejé Slackware por Fedora. Estuve usando Fedora por algunos meses y me sentí fuera de casa. Raro. En ese momento yo quería una distro más ‘fácil’, enfocada a desarrolladores, que no fuera rolling-release, que manejara RPM y que soportara algunos programas no libres de terceros. Se que dí un paso muy alejado de los terrenos en los que me muevo. Ahora me doy cuenta de que una opción más sabia hubiera sido CentOS o Scientific Linux por el lado RPM; por el lado DEB yo creo que Debian es lo más conveniente. Fedora maneja siempre e software más actual, así que eso causó muchas incompatibilidades y problemas molestos con aplicaciones que yo he desarrollado con las librerías “antiguas” que usa Slackware. Al querer portarlas a Fedora… zaz en la boca. Problemas realmente molestos con Qt, Python, Qwt, Poppler, etc., son algunas de las causas de mi fracaso, sobre todo porque se manejan versiones muy diferentes. Creo que lo mismo me hubiera pasado con OpenSUSE (aunque ahora que lo pienso también “hubiera” sido una opción interesante). Arch la descarté porque se actualiza y cambia muy seguido también. Me gusta más la estabilidad al estilo de Slack y por eso regresé.

Tampoco hay mucho que contar sobre Slackware, durante el año pasado no hubo una nueva versión de la distro y la verdad al menos yo no la necesité. Mi Slack 14.1 funciona perfectamente en mi laptop que se va desgastando poco a poco de tanto compilar. El desarrollo de Slackware-current sigue como debe y este año no estuve al pendiente pues no creo volver a animarme a usar la rama current de nuevo. Al menos mientras tenga compromisos que cumplir con mi equipo. Si tuviera otra computadora tal vez me tomaría el tiempo de ver como funcionan las cosas en current. A falta de recursos no se puede experimentar. Siempre he querido hacer esto, ir testeando los cambios en current en una computadora especial para ello. Creo que con otro equipo tendría la oportunidad de contribuir un poco con la comunidad sin arriesgar mi trabajo.

El uso que le doy a la distribución es el desarrollo de aplicaciones de escritorio en Python, C++ y Qt. Casi no uso aplicaciones de ofimática como LibreOffice. Además de navegar mucho por la web, escribir en el blog, checar correos electrónicos y sitios de universidades. Dropbox está siempre con algo que actualizar. Y obvio música y muchos videos de series y películas.

En el 2014 también usé el dual boot con Windows 8 para hacer algunas contribuciones a aplicaciones en C#. De esta manera conocí Visual Studio, es un entorno de desarrollo agradable y muy completo. Supongo que esa es la idea, que sea tan completo para que no necesites buscar otra cosa. Aún así los que hacemos programación en Linux no me dejarán mentir, si yo no conociera más que Visual Studio en Windows seguro que sentiría que es lo máximo. Pero por fortuna conozco más allá de eso y para mí Linux es el paraíso de la programación. Es mucho más natural (y más fácil) hacer programación en Linux, usando cualquier IDE o editor de texto. Los IDEs que hay para Linux algunos deben ser más completos que Visual Studio y otros tienen menos herramientas, pero siempre hay una forma muy natural de hacer las cosas. Se soportan muchos más lenguajes de programación en Linux que los que Microsoft soporta en Windows. De manera simple en Slackware y cualquier Linux se puede usar C, C++, Python, Perl, FORTRAN, COBOL, Java y un largo etc., en cambio sobran dedos para contar los lenguajes que “soporta” Microsoft como Visual Basic, C++, C#, F#, etc. Las bases de datos y tecnologías web son algo parecido. Ahora que si incluimos los lenguajes de programación libres la lista crece pues todos son muy bien soportaros en Windows. En fin terminé usando mucho Visual Studio este 2014, pero no terminé convencido.

Pues bien empiezo este año con un poco de slacking, ya va medio mes y aún nada en el blog, pero espero que las cosas cambien en los próximos días. Ahora me dió por usar már Xfce (como pueden ver en la captura de pantalla al inicio) y la verdad ha sido muy placentero el cambio a pesar de que estoy muy acostumbrado al uso de Qt. La verdad si se siente la diferenia entre la ligereza de Xfce y pesadez de KDE, pero nada del otro mundo Xfce no tiene una “ultra velocidad”. Pues bien, seguiré compartiéndo mi viaje como linuxero durante este año.

Saludos y que ustedes también tengan un slack new year