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!

ffmpeg: Instalación en Slackware 14.0

ffmpeg-logo

Ya antes he escrito una entrada sobre la instalación de ffmpeg, algunas de las formas de usarlo y resolver algunos problemas aquí. Ahora voy a colocar la forma en la que lo acabo de instalar en mi nuevo sistema: Slackware 14.0 de 64 bits.

FFmpeg es una colección de software libre que puede grabar, convertir (transcodificar) y hacer streaming de audio y vídeo. Incluye libavcodec, una biblioteca de códecs. FFmpeg está desarrollado en GNU/Linux, pero puede ser compilado en la mayoría de los sistemas operativos, incluyendo Windows.

Primero les muestro un pequeño esquema de los requerimientos de esta aplicación:

+ffmpeg
 |
 +-Requirements
 | |
 | +-lame
 | +-x264
 |
 +-Optional
   |
   +-libass
   +-libbluray
   +-celt
   +-libdc1394
   +-faac
   | |
   | +-libmp4v2
   |
   +-frei0r
   +-gsm
   +-openjpeg
   +-lame *
   +-OpenAL
   +-opencore-amr
   +-rtmpdump
   +-schroedinger
   | |
   | +-orc
   |
   +-speex
   +-libvpx
   +-x264 *
   +-xvidcore

Se incluyen algunas dependencias opcionales, sin embargo no consideré las dependencias opcionales de estas para no hacer más largo el asunto. Algunas dependencias (*) están repetidas.

Primero para instalar las dependencias hay que ejecutar como root:

# sbopkg -i "libass libbluray celt libdc1394 libmp4v2 faac frei0r gsm openjpeg lame OpenAL opencore-amr rtmpdump orc schroedinger speex libvpx x264 xvidcore"

Entrar en una root shell «real» (el guión al final es necesario):

$ su -

Una vez entrada la contraseña de superusuario proceder a instalar ffmpeg:

# sbopkg -i ffmpeg:ASS="yes":BLURAY="yes":CELT="yes":DC1394="yes":FAAC="yes":FREI0R="yes":GSM="yes":JP2="yes":LAME="yes":OPENAL="yes":OPENCORE="yes":OPENSSL="yes":RTMP="yes":SCHROEDINGER="yes":SPEEX="yes":VPX="yes":X264="yes":XVID="yes"

Con esto tendremos el paquete de ffmpeg instalado y listo para correr ;).

Fuentes:

SlackBuilds
Wikipedia

sbopkg para Slackware 14.0

Bueno señores Slackware 14.0 es ahora nuestra nueva versión de esta excelente distribución de Linux, y desde que salió a la luz seguro que hemos estado configurándola e instalándole los paquetes que necesitamos. Y para aquellos que estuvimos todos estos días descargando fuentes y tarballs de SlackBuilds para armar nuestro sistema, les tengo una excelente noticia, la aplicación sbopkg 0.36.0 ha sido liberada el día de ayer (2012-10-04 03:05 UTC) y tiene las siguientes:

NUEVAS CARACTERÍSTICAS

  • Versión lista para Slackware 14.0. Ya que en SlackBuilds.org existen desde hace unos días paquetes/scripts para 14.0.
  • Soporte para la opción -d que descarga sin compilar o instalar, adicionalmente a -b (descargar, compilar) y -i (descargar, compilar, instalar).
  • Ahora es posible combinar la opción -r con otras opciones, y esto hará una sincronización con el repositorio antes de hacer lo demás.
  • Nueva opción de configuración, NICE que permite al usuario especificar el nivel de «amabilidad» para la ejecución del SlackBuild.

Más información en el ChangeLog.

DESCARGA E INSTALACIÓN

Para descargar la nueva versión de la aplicación hay que ir al sitio de descargas y elegir entre, el código fuente o el paquete compilado para Slackware.

Yo decidí descargar el paquete, y para instalarlo es tan fácil como hacer en algún Terminal como usuario root:

# installpkg sbopkg-0.36.0-noarch-1_cng.tgz

Como siempre aparecerá algo como lo siguiente:

Verifying package sbopkg-0.36.0-noarch-1_cng.tgz.
Installing package sbopkg-0.36.0-noarch-1_cng.tgz:
PACKAGE DESCRIPTION:
# sbopkg (SlackBuilds.org Package Browser)
#
# Sbopkg is a command-line and dialog-based tool to interact with the
# SlackBuilds.org repository, a collection of third-party SlackBuild
# scripts to build Slackware packages.
#
# Homepage: http://www.sbopkg.org
#
Executing install script for sbopkg-0.36.0-noarch-1_cng.tgz.
Package sbopkg-0.36.0-noarch-1_cng.tgz installed.

Listo para usarse.

CONFIGURACIÓN INICIAL

Lo primero que hay que hacer es sincronizar el repositorio con:

# sbopkg -r

Pedirá crear unos directorios si es que no se tienen.

The following directories do not exist:

Variable Assignment
-------- ----------
REPO_{ROOT,NAME,BRANCH} -> /var/lib/sbopkg/,SBo/,14.0

You can have sbopkg create them or, if these values are incorrect, you can
abort to edit your config files or pass different flags.

(C)reate or (A)bort?: c

Contestamos «C» y empezará a sincronizar:

Syncing with the remote repository into /var/lib/sbopkg/SBo/14.0.

Una vez que termine el programa está listo para instalar la mayoría de los scripts encontrados en el sitio de SlackBuilds.org solo basta con usar el comando y listo.

EJEMPLO

Un ejemplo de uso de sbopkg se muestra a continuación, instalando el paquete librecad que a su vez necesita muParser, primero se instala la dependencia y luego el paquete deseado, esto se puede hacer pasándole la lista de aplicaciones que se deseen instalar, pueden ser más de dos.

# sbopkg -i "muParser librecad"

Tardará un rato en descargar, compilar e instalar las aplicaciones.

Listo, a seguir usando nuestro Slackware 14.0.

Mas información aquí.

FUENTES

http://www.sbopkg.org/
ChangeLog

Matplotlib 1.1.0 en Slackware -current

Una de las actualizaciones que mas me gustó en el último Slackware-current es Python, ya que después de mucho tiempo usando la antigua versión 2.6.6 por fin llegó la versión 2.7.3 que es la recomendada de la rama 2.x en el sitio oficial.

python27

Después de actualizarse Python, las librerías de Matplotlib dejaron de funcionar, por lo que me di a la tarea de hacerlas correr de nuevo.

Lo que hay que hacer es volver a instalar Matplotlib para que reconozca la nueva versión de Python, sin embargo antes de hacerlo es necesario instalar primero las siguientes dependencias:

  • numpy
  • pytz
  • python-dateutil

Los scripts para instalar estos paquetes en Slackware 13.37 (funcionan también en current) se pueden encontrar en SlackBuilds.org, y como siempre la opción fácil que yo uso es mediante el programa sbopkg.

Primero hay que sincronizar el listado de paquetes por si hay cambios recientes.

# sbopkg -r

Ahora si el comando para instalar todos los paquetes:

# sbopkg -i "numpy pytz pysetuptools python-dateutil matplotlib"

Recordar que si ya se tiene algún paquete de estos instalado simplemente hay que omitirlo, pysetuptools es requerido por python-dateutil por eso entra en la lista.

SITIO ALTERNATIVO

En Slackware es posible instalar Matplotlib mediante un script de SlackBuild descargandolo junto con los otros dos archivos este sitio.

Sin embargo eso únicamente descarga el script por lo que hay que conseguir las fuentes desde sourceforge.

Una vez que se tienen ambos, hay que colocar todos los archivos juntos en el mismo directorio y ejecutar:

# chmod +x matplotlib.SlackBuild
# ./matplotlib.SlackBuild

FINALMENTE

Cuando se omiten las dependencias sale un error como el siguiente:

ImportError: No module named dateutil.rrule

Pero si todo va bien se tendrá un sistema Slackware lo más actual posible y con Matplotlib funcionando a la perfección, ahora resta hacer los cambios necesarios en el código de Python para la vesión 2.7.3.

matplotlib1

Saludos.

Libreoffice 3.5 en Slackware Linux

Bueno hace un tiempo que salió el LibreOffice 3.5 de manera oficial, lo instalé en Slackware usando una de mis herramientas favoritas que es sbopkg:

Primero actualizar el listado de paquetes disponibles.
# sbopkg -r
# sbopkg -i libreoffice

Después de un rato se tiene la aplicación instalada, luego para traducirla al español hay que descargar el langpack desde http://www.libreoffice.org/download/, dando click en Translated user interface.

Para aplicarlo hay que descargar únicamente el SlackBuild del langpack de slackbuilds.org, extraerlo y colocar los archivos extraidos en la misma carpeta del archivo descargado del sitio LibreOffice.

Ejecutar el SlackBuild en el terminal haciendo:

# LOLANG=es ./libreoffice-langpack.SlackBuild

Una vez creado el paquete resta instalarlo:

# installpkg /tmp/libreoffice-langpack-3.5.0_es-i586-1_SBo.tgz

Una de las mayores sorpresas que me llevé al instalarlo fue su excelente compatibilidad con los archivos de MS Word, pues ahora se reconocen mucho mejor los encabezados de los archivos en formato docx, sin hablar de los doc con los cuales de por si la compatibilidad es excelente. También noté que hubo mejoras en el reconocimiento de los índices y las referencias. Por lo menos yo aún tengo problemas con las imágenes de mis archivos pero bueno, felicidades al equipo de desarrollo de LibreOffice hacen de mi trabajo en la oficina más placentero al no obligarme a usar Windows por cuestiones como ésta.

Saludos.

Instalación de paquetes con sbopkg

Como buen Slacker siempre busco el paquete que deseo instalar primero en el sitio de SlackBuilds (http://www.slackbuilds.org/) y si no se encuentra en el sitio pues a buscar en otro lado con el Google.

El procedimiento para instalar un SlackBuild es simple y está bien descrito en su mismo sitio (obviamente en inglés) además de que todo slacker se lo debe de saber, ¿o no?. Bueno, resulta que hay un método para «automatizar» el proceso y no hacerlo tan manual, es por medio de una aplicación que se llama sbopkg.

sbopkg es una herramienta de línea de comandos y basada en diálogos para la sincronización con los repositorios de SlackBuilds.org («SBo»), es una colección de scripts SlackBuild de terceros para crear paquetes de Slackware. sbopkg es mantenido activamente y se suele liberar una nueva versión cada tres meses. Numerosas personas han contribuido con diffs, informando de errores, y dando sugerencias útiles y todos ellos son mencionados en el archivo THANKS (Gracias( en /usr/doc/sbopkg-$VERSION. Esta utilidad no estaría ni de lejos a su estado actual sin la ayuda de estas personas.

El sitio oficial de sbopkg es sbopkg.org y la descarga del paquete se realiza desde http://sbopkg.org/downloads.php dando clic en la opción Package misma que descargará un archivo llamado: sbopkg-0.35.0-noarch-1_cng.tgz.

La instalación del paquete se realiza como cualquier otro:

# installpkg sbopkg-0.35.0-noarch-1_cng.tgz

Listo, ahora para empezar a usar la aplicación se puede hacer de dos formas, una con los menus y otra por medio de la linea de comandos.

Usando el sistema de menus

Para la primera hay que ejecutar el siguiente comando sin parámetros o argumentos:

# sbopkg

Y como es la primera vez que lo ejecuto aparece que faltan algunos directorios de configuración necesarios y pregunta si se desea crearlos, contestando «C» y ENTER se procede a crearlos y se abre el programa:

The following directories do not exist:

Variable Assignment
-------- ----------
REPO_{ROOT,NAME,BRANCH} -> /var/lib/sbopkg/,SBo/,13.37
LOGFILE directory -------> /var/log/sbopkg
QUEUEDIR ----------------> /var/lib/sbopkg/queues
SRCDIR ------------------> /var/cache/sbopkg

TMP ---------------------> /tmp/SBo

You can have sbopkg create them or, if these values are incorrect, you can
abort to edit your config files or pass different flags.

(C)reate or (A)bort?: c

sbopkg

sbopkg corriendo

Si se hace una busqueda en este momento no aparecerán resultados pues no se tiene aún alguna actualización de los repositorios, para hacerlo hay que salirse de la aplicación y hacer:

# sbopkg -r

Esto actualizará los repositorios de SBo y se saldrá del programa, una vez que ya se ha sincronizado hay que volver a ejecutar la aplicación y hacer la búsqueda de la aplicación deseada:

Búsqueda con sbopkg

Búsqueda con sbopkg

En mi caso realicé la búsqueda de libreoffice:

sbopkg buscando libreoffice

sbopkg buscando libreoffice

Los resultados de la búsqueda se pueden poner en cola para la construcción de los paquetes seleccionando el primero y dar en Add to Queue luego seleccionando el segundo y repetir con los paquetes necesarios hasta terminar de seleccionar los deseados y dar OK:

Resultados de la búsqueda con sbopkg

Resultados de la búsqueda con sbopkg

Cuando se agrega un elemento a la lista aparece un mensaje como el siguiente:

Agregar a la lista de sbopkg

Agregar a la lista de sbopkg

Para crear el paquete se selecciona la opción Build y se da clic en OK:

Crear el paquete

Crear el paquete

Finalmente se puede crear e instalar el paquete o solo crearlo, para ello se presenta la pantalla siguiente en la que se pregunta por la opción que se desea:

Crear e instalar el paquete

Crear e instalar el paquete

Finalmente se pide una confirmación para crear e instalar el paquete:

Confirmación de la creación e instalación

Confirmación de la creación e instalación

Bueno en mi caso dio un error por que no se encontró el archivo con las fuentes en el sitio de documentfoundation.org, tal vez sea un error temporal y muy particular de libreoffice, la aplicación debería funcionar con cualquier otro paquete, para demostralo ahora usaré el modo de linea de comandos con el SlackBuild de VirtualBox.

Con la linea de comandos

Para buscar un paquete se usa la opción -s, en este caso para el virtualbox-kernel:

# sbopkg -s virtualbox-kernel

Aparecerán los archivos completos del script, con la tecla ENTER se avanza todo. Ahora para construir el paquete se hace:

# sbopkg -b virtualbox-kernel

Y para instalar el virtualbox-kernel se hace con la herramienta installpkg:

# installpkg /tmp/virtualbox-kernel-4.1.4_2.6.37.6_smp-i486-1_SBo.tgz

Antes de construir VirtualBox hay que ejecutar lo siguiente para crear el grupo de virtualbox:

# groupadd -g 215 vboxusers

Además para poder usar virtualbox hay que hacer:

# usermod -aG vboxusers eduardo

Donde eduardo es mi usuario, el cual es agregado al grupo recientemente creado vboxusers.

Antes de instalar virtualbox es necesario tener instalado acpica y jdk que se encuentra en el DVD de Slackware en el folder extra (también se necesita el virtualbox-kernel ya instalado).

Para instalar el acpica se puede buscar e instalar directamente desde SBo para probar las opciones del sbopkg:

# sbopkg -i acpica

Para el otro desde el DVD/extra ejecutar:

# installpkg jdk-6u25-i586-1.txz

Ya teniendo estas dependencias instaladas se puede proceder con el virtualbox.

# sbopkg -s virtualbox
# sbopkg -b virtualbox
# installpkg /tmp/virtualbox-4.1.4-i486-1_SBo.tgz

Finalmente hay que agregar manualmente lo de siempre para cargar el vboxdrv al iniciar del sistema y terminarlo al salir:

En /etc/rc.d/rc.local poner:

# Start vboxdrv
if [ -x /etc/rc.d/rc.vboxdrv ]; then
/etc/rc.d/rc.vboxdrv start
fi

Y en /etc/rc.d/rc.local_shutdown:

# Stop vboxdrv
if [ -x /etc/rc.d/rc.vboxdrv ]; then
/etc/rc.d/rc.vboxdrv stop
fi

Fuentes:

http://sbopkg.googlecode.com/svn/trunk/tools/sbopkg-conf5.html
http://sbopkg.googlecode.com/svn/trunk/tools/sbopkg8.html
http://sbopkg.googlecode.com/svn/trunk/tools/sbopkg-help

Saludos Slackers!