Administrar repositorios con slackpkg+ en Slackware Linux (ACTUALIZADO)


Ayer AlienBob publicó un artículo [enlace] en el que describe el paquete slackpkg+ [enlace] como una útil extensión de slackpkg. Alienbob menciona que slackpkg fue escrito pensando en un modelo modular. Así se podría extender sus capacidades añadiendo funciones en el directorio /usr/libexec/slackpkg/functions.d/.

Lo interesante es la posibilidad de utilizar slackpkg como gestor para buscar, instalar, actualizar, y otros de repositorios externos, como por ejemplo, los provistos por AlienBob [enlace], Slacky [enlace], RlWorkman [enlace], SalixOS [enlace], etc.

Así no habrá necesidad de estar revisando ningún archivo ChangeLog.txt para saber qué paquetes necesitan actualización ni instalar otras herramientas externas.

How-To

1. Descargar la última versión de slackpkg+:

$ lftp -e 'mirror -i "\.txz$"; bye' http://slakfinder.org/slackpkg+/pkg/

2. Instalar slackpkg+:

# installpkg slackpkg+-0.9.7.3-noarch-1mt.txz

NOTA: tener cuidado con la versión, cambiarla si hace falta

3. Configurar archivo /etc/slackpkg/slackpkgplus.conf:

# egrep -v "^$|^[[:space:]]*#" /etc/slackpkg/slackpkgplus.conf 
SLACKPKGPLUS=on
VERBOSE=1
PKGS_PRIORITY=( multilib:.* restricted:.* alienbob:.* rlworkman:.* salixos:.* salixext:.* slacky:.* )
REPOPLUS=( slackpkgplus multilib restricted alienbob rlworkman salixos salixext slacky )
MIRRORPLUS['multilib']=http://taper.alienbase.nl/mirrors/people/alien/multilib/14.0/
MIRRORPLUS['alienbob']=http://taper.alienbase.nl/mirrors/people/alien/sbrepos/14.0/x86_64/
MIRRORPLUS['restricted']=http://taper.alienbase.nl/mirrors/people/alien/restricted_sbrepos/14.0/x86_64/
MIRRORPLUS['slacky']=http://repository.slacky.eu/slackware64-14.0/
MIRRORPLUS['salixos']=http://download.salixos.org/x86_64/14.0/
MIRRORPLUS['salixext']=http://people.salixos.org/ralvex/repository/x86_64/14.0/
MIRRORPLUS['rlworkman']=http://rlworkman.net/pkgs/14.0/
MIRRORPLUS['slackpkgplus']=http://slakfinder.org/slackpkg+/

Explico cada opción:

  • «SLACKPKGPLUS» sirve para habilitar (on) o no (off) la extensión
  • «VERBOSE» modifica la forma de mostrar los mensajes al sincronizar los repositorios. El valor 1 sólo muestra una barra (estilo wget), existiendo otras opciones: 0 y 2
  • «PKGS_PRIORITY» sirve para especificar la prioridad de los repositorios y/o paquetes; acepta expresiones regulares. Yo utilizo la prioridad para repositorios con el formato <nombre_repo>:*. Cada elemento debe estar separado por espacios
  • «REPOPLUS» establece los repositorios de terceros que sincronizaremos. Cada repositorio debe tener su propio valor «MIRRORPLUS»
  • Cada «MIRRORPLUS» especifica a cada repositorio que sincronizaremos. Si se añade un repositorio este debe incluirse en «REPOPLUS»

NOTA: Es posible incluir repositorios locales anteponiendo al path completo el protocolo dir:/, por ejemplo MIRRORPLUS['51114u9']=dir:///home/s1114u9/Slackware/, dicho repositorio local debe cumplir el formato de repositorio, es decir, contener una serie de archivos de control además de los paquetes. AlienBob escribió este script [enlace] que genera los archivos de control a partir de los paquetes existentes en una carpeta.

4. Configurar archivo /etc/slackpkg/slackpkg.conf:

Como incluí el repositorio SalixOS, SalixExt y RlWorkman, estos no contienen las llaves GPG o son parciales, así que debemos desactivar la descarga y verificación del repositorio. Esta es la configuración para slackpkg:

# egrep -v "^$|^[[:space:]]*#" /etc/slackpkg/slackpkg.conf
TEMP=/var/cache/packages
WORKDIR=/var/lib/slackpkg
WGETFLAGS="--passive-ftp"
DELALL=off
CHECKMD5=on
CHECKGPG=off
CHECKSIZE=off
PRIORITY=( patches %PKGMAIN extra pasture testing )
POSTINST=on
ONLY_NEW_DOTNEW=off
ONOFF=on
DOWNLOAD_ALL=on
DIALOG=on
BATCH=off
DEFAULT_ANSWER=n
USE_INCLUDES=on
SPINNING=on
DIALOG_MAXARGS=139000

NOTA: verificar que la opción CHECKGPG tenga el valor off (apagado).

5. Actualizar repositorios:

# slackpkg update

NOTA: Si se modifica o añade un repositorio en «REPOPLUS» se debe utilizar el anterior comando.

Ejemplo de uso: Buscar un paquete

Buscamos si existen actualizaciones del paquete «vlc»:

# slackpkg search vlc

DONE

The list below shows all packages with name matching "vlc".

[ Status           ] [ Repository               ] [ Package                                  ]
   installed           restricted                   npapi-vlc-20130408-x86_64-1alien          
  upgrade              restricted                   vlc-2.0.7-x86_64-1alien --> vlc-2.0.8-x86_64-1alien  
  uninstalled          alienbob                     phonon-vlc-0.6.0-x86_64-1alien            
   installed           alienbob                     npapi-vlc-20130408-x86_64-1alien          
  upgrade              alienbob                     vlc-2.0.7-x86_64-1alien --> vlc-2.0.8-x86_64-1alien  
  upgrade              salixos                      vlc-2.0.7-x86_64-1alien --> vlc-2.0.4-x86_64-1dj  

You can search specific files using "slackpkg file-search file".

Teniendo configurado la prioridad de repositorios de ésta forma “multilib -> restricted -> alienbob -> rlworkman -> salixos -> salixext -> slacky”, es correcto que proponga en ése orden al paquete vlc desde el repositorio restricted de AlienBob.

Ejemplo de uso: Actualizar un paquete

Ya actualizado los archivos del repositorio, ejecutamos el comando:

# slackpkg upgrade vlc

Si hubiese un paquete en más de un repositorio mostrará una ventana indicando cuál seleccionar:

[*] vlc-2.0.8-x86_64-1alien.txz   restricted

Simple, directo y fácil!

Ejemplo de uso: Actualizar paquetes desde un repositorio

Esta opción es útil cuando uno quiere actualizar los paquetes instalados desde un repositorio en específico.

En mi caso quiero actualizar los paquetes desde el repositorio MultiLib para x86_64, así que ejecuto el comando:

#slackpkg upgrade multilib

El comando obtendrá los paquetes instalados en el OS, analizará los existentes en el repositorio y mostrará los potencialmente actualizables. Selecciono y confirmo qué paquetes deseo actualizar y listo.

Actualizar Slackpkg+

Slackpkg+ está en constante desarrollo, y está abierto para que puedas contribuir con reportes de errores o sugerencias en su repositorio GitHub [enlace].

Utilizando este comando puedes verificar, y a la vez, actualizar a una versión más moderna:

# slackpkg upgrade slackpkg+

Saludos!

About these ads

12 comentarios en “Administrar repositorios con slackpkg+ en Slackware Linux (ACTUALIZADO)

  1. ¡Qué bueno! Desconocía por completo esta extensión de Slackpkg. Ya la he añadido a mi recien instalada Slack 14.1 y la acabo de probar con vlc.
    Me daba un errror hasta que descubrí que tenía que importar las gpg.
    Gracias por el blog. Sigue con Slackware. Tenemos mucho que aprender. Los que no dominamos el ingles vamos siempre cojos.
    Saludos

    • Genial que te sirva, cumplí con el objetivo al redactar esto.

      A veces hacer algunas cosas en Slackware es sencillo y natural… luego me pongo a pensar y quizá muchas de ellas sean de utilidad para quienes recién toman cariño a la distro.

      Estás bienvenido para sugerirme algún tema, cómo hacer algo, o cómo configuración tal o cual cosa en Slackware. :)

  2. Hay una escasez de información en Español y también en Inglés de la mejor distribución de Linux como es Salckware que este tipo de información es muy valiosa y se agredece .

    • Diego, es verdad que en español no hay muchos, pero en inglés quizá no estás revisando los lugares adecuados. Debes visitar con regularidad LQ y la comunidad en Google+.

      Teniendo un nivel casi avanzado en Slackware, puede que obvie pasos, conceptos, y otros que otros puede que necesiten la explicación. Si tienes algún tema que tengas problemas, dificultades o explicación me podrías proponer para que pueda escribir en artículos o corregir los existentes. Hazlo mediante twitter (si tuvieses) al usuario @51114u9.

      Saludos y gracias por leerme!

      • Gracias por responder , si sabía de LQ pero no de Google+ ya lo visité y me va hacer de gran ayuda ,ahora si tengo algún problema y si no es ninguna molestia le puedo escribir aquí por qué le tengo animadversión a las páginas sociales como Twitter.

  3. ¿Lo has probado ya? Para saber que tal funciona, porque yo supongo que estará a manera de testing…
    Por lo que veo ahorra mucho tiempo el no tener que ir leyendo ChangeLogs, trataré de probarlo por estos días.

    Saludos

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s