El manejo, administración o gestión de paquetes es probablemente una de las características más distintivas de toda distribución GNU/Linux. Mientras que la tendencia es ofrecer una herramienta gráfica donde los usuarios puedan administrar sus paquetes con el click del mouse, estos programas son front-ends a las utilidades de bajo nivel que manejan las tareas asociadas a la instalación de paquetes en cualquier sistema Linux. A pesar de que a muchos usuarios GNU/Linux les puedan resultar atractivas las herramientas gráficas de alto nivel, no se pueden negar las características que ofrecen las herramientas de línea de comandos: poder, flexibilidad y velocidad. Por otro lado, en un servidor sin interfaz gráfica (¿existen servidores GNU/Linux con interfaz gráfica?) la única alternativa es utilizar las herramientas de línea de comandos.

Un problema que encuentran muchos distro-hoppers es tener que dominar un nuevo conjunto de herramientas de gestión de paquetes cada vez que cambian de una distribución a otra. Para ellos DistroWatch creó esta cheatsheet, una tarjeta de referencia que cubre las tareas más frecuentemente utilizadas en todo manejador de paquetes:

Package Management Cheatsheet

Habiendo aclarado que se trata de una obra y creación de DistroWatch, me tomé el trabajo de traducirla al español, es por ello que la dejo disponible para quien la quiera utilizar/copiar/redistribuir (siempre respetando la licencia de DistroWatch, como se aclara en el pie de página):

Distributions principales

La primera tabla lista las tareas de manejo de paquetes en los cuatro grupos de distribuciones más populares: Debian (incluyendo Ubuntu, Linux Mint, KNOPPIX, aptosid y otras derivadas), openSUSE, Fedora (incluyendo Red Hat Enterprise Linux, CentOS, Scientific Linux y otras distribuciones basadas en Red Hat y Fedora), y Mandriva Linux and Mageia.

Tarea apt (deb)
Debian, Ubuntu
zypp (rpm)
openSUSE
yum (rpm)
Fedora, CentOS
urpmi (rpm)
Mandriva, Mageia
Gestionar software        
Instalar software desde repositorios apt-get install pkg zypper install pkg yum install pkg urpmi pkg
Instalar software desde paquetes dpkg -i pkg zypper install pkg yum localinstall pkg urpmi pkg
Actualizar software apt-get install pkg zypper update -t package pkg yum update pkg urpmi pkg
Remover software apt-get remove pkg zypper remove pkg yum erase pkg urpme pkg
Actualizar el sistema        
Actualizar lista de paquetes apt-get update
aptitude update
zypper refresh yum check-update urpmi.update -a
Actualizar el sistema apt-get upgrade
aptitude safe-upgrade
zypper update yum update urpmi --auto-select
Buscar paquetes        
Buscar paquetes por nombre apt-cache search pkg zypper search pkg yum list pkg urpmq pkg
Buscar por patrón apt-cache search pattern zypper search -t pattern pattern yum search pattern urpmq --fuzzy pkg
Buscar por nombre de archivo apt-file search path zypper wp file yum provides file urpmf file
Listar paquetes instalados dpkg -l zypper search -is rpm -qa rpm -qa
Configurar acceso a repositorios de software        
Listar repositorios cat /etc/apt/sources.list zypper repos yum repolist urpmq --list-media
Agregar repositorio (edit /etc/apt/sources.list) zypper addrepo path name (add repo to /etc/yum.repos.d/) urpmi.addmedia name path
Remover repositorio (edit /etc/apt/sources.list) zypper removerepo name (remove repo from /etc/yum.repos.d/) urpmi.removemedia media

Slackware y distribuciones basadas en Slackware

La siguiente tabla muestra las herramientas de manejo de paquetes que se encuentran en Slackware Linux y otras distribuciones basadas en Slackware. Tal como ha enunciado Patrick Volkerding en varias ocasiones, es poco probable que Slackware incluya alguna vez una herramienta para la gestión de paquetes avanzada (por ejemplo, que resuelva dependencias). Por lo tanto las tareas de instalación, actualización y remoción de paquetes se realizan utilizando las herramientas pkgtools, un conjunto de scripts muy simples que se mantienen inalterados desde hace años. Sin embargo slackpkg, una herramienta de gestión de paquetes avanzada, es parte de Slackware a partir de la versión 12.2. Algunas distribuciones populares basadas en Slackware, tal como VectorLinux, utilizan slapt-get, una utilidad que imita el comportamiento de la herramienta APT de Debian, mientras que Zenwalk Linux introduce su propia herramienta de gestión de paquetes llamada netpkg.

Tarea pkgtools
Slackware
slackpkg
Slackware
slapt-get
Vector
netpkg
Zenwalk
Gestionar software        
Instalar software desde repositorios -- slackpkg install pkg slapt-get --install pkg netpkg pkg
Instalar software desde paquetes installpkg pkg slackpkg install pkg slapt-get --install pkg netpkg pkg
Actualizar software upgradepkg pkg slackpkg upgrade pkg slapt-get --install pkg netpkg pkg
Remover software removepkg pkg slackpkg remove pkg slapt-get --remove pkg netpkg remove pkg
Actualizar el sistema        
Actualizar lista de paquetes -- slackpkg update slapt-get --update (automatic)
Actualizar el sistema -- slackpkg upgrade-all slapt-get --upgrade netpkg upgrade
Buscar paquetes        
Buscar paquetes por nombre -- slackpkg search pkg slapt-get --search pkg netpkg pkg repo
Buscar por patrón -- slackpkg search pattern slapt-get --search pattern netpkg list | grep pattern
Buscar por nombre de archivo -- -- -- netpkg file repo
Listar paquetes instalados ls /var/log/packages/ ls /var/log/packages/ slapt-get --installed netpk list I
Configurar acceso a repositorios de software        
Listar repositorios -- cat /etc/slackpkg/mirrors cat /etc/slapt-get/slapt-getrc netpkg mirror
Agregar repositorio -- (edit /etc/slackpkg/mirrors) (edit /etc/slapt-get/slapt-getrc) (edit /etc/netpkg.conf)
Remover repositorio -- (edit /etc/slackpkg/mirrors) (edit /etc/slapt-get/slapt-getrc) (edit /etc/netpkg.conf)

Distribuciones Linux independientes

El siguiente grupo está formado por distribuciones mayormente independientes. Sabayon Linux (derivada de Gentoo) posee su propia herramienta de gestión de paquetes por línea de comandos llamada equo. Arch Linux utiliza Pacman, la cual es considerada una de las utilidades para manejo de paquetes más rápida. Conary, desarrollada por rPath y popularizada por Foresight Linux, utiliza un nuevo enfoque para la gestión de paquetes (creada por ingenieros ex-Red Hat bien conocidos con muchos años de experiencia en la materia). Finalmente Pardus Linux utiliza la herramienta PiSi.

Tarea equo
Sabayon
pacman
Arch
conary
rPath, Foresight
pisi
Pisi, SolusOS
Gestionar software        
Instalar software desde repositorios equo install pkg pacman -S pkg conary update pkg pisi install pkg
Instalar software desde paquetes equo install pkg pacman -U pkg conary update pkg pisi install pkg
Actualizar software equo install pkg pacman -S pkg conary update pkg pisi install pkg
Remover software equo remove pkg pacman -R pkg conary erase pkg pisi remove pkg
Actualizar el sistema        
Actualizar lista de paquetes equo update pacman -Sy   pisi update-repo
Actualizar el sistema equo world pacman -Su conary updateall pisi upgrade
Buscar paquetes        
Buscar paquetes por nombre equo match pkg pacman -Ss pkg conary query pkg pisi search pkg
Buscar por patrón equo search pattern pacman -Ss pattern conary query pkg pisi search pkg
Buscar por nombre de archivo equo belongs file pacman -Qo file conary query --path path pisi search-file path
Listar paquetes instalados equo list pacman -Q conary query pisi list-installed
Configurar acceso a repositorios de software        
Listar repositorios equo repoinfo cat /etc/pacman.conf   pisi list-repo
Agregar repositorio   (edit /etc/pacman.conf)   pisi add-repo name path
Remover repositorio   (edit /etc/pacman.conf)   pisi remove-repo name

Manejo de paquetes independiente

Mas allá de las utilidades estándar para el manejo de paquetes que la mayoría de las distribuciones utilizan como parte de sus sistemas, existen algunas herramientas independientes que han sido desarrolladas con diferentes niveles de suceso en algunas distribuciones. Smart fue originalmente desarrollada por Conectiva. Algunos usuarios la prefieren por sobre urpmi (Mandriva) o zypper (openSUSE). También soporta Debian y sistemas basados en Slackware. PackageKit de Fedora, posee la herramienta de línea de comandos pkgcon que funciona como front-end unificado para las herramientas nativas de manejo de paquetes de Fedora, Ubuntu, openSUSE, Mandriva y otras distribuciones.

Tarea smart
Mandriva, openSUSE
pkgcon
Fedora, Ubuntu, openSUSE, Mandriva
Gestionar software    
Instalar software desde repositorios smart install pkg pkcon install pkg
Instalar software desde paquetes smart install pkg pkcon install-file pkg
Actualizar software smart install pkg pkcon update pkg
Remover software smart remove pkg pkcon remove pkg
Actualizar el sistema    
Actualizar lista de paquetes smart update pkcon refresh
Actualizar el sistema smart upgrade pkcon upgrade
Buscar paquetes    
Buscar paquetes por nombre smart search pkg pkcon search name pkg
Buscar por patrón smart search pattern pkcon search details pattern
Buscar por nombre de archivo smart query file pkcon what-provides file
Listar paquetes instalados smart query --installed --
Configurar acceso a repositorios de software    
Listar repositorios smart channel --show pkcon repo-list
Agregar repositorio smart channel --add name path  
Remover repositorio smart channel --remove name  

Distribuciones basadas en código fuente

La siguiente tabla está dedicada a distribuciones basadas en fuentes. La herramienta Portage de Gentoo está bien documentada y probada, pero otras distribuciones diseñadas para ser compiladas desde los fuentes poseen manejadores de paquetes no muy conocidos. Sorcerer utiliza scripts Bash para las tareas de gestión de paquetes. Lunar Linux y Source Mage GNU/Linux son derivadas de Sorcerer.

Tarea portage
Gentoo
lunar
Lunar
sorcery
Source Mage
Gestionar software      
Instalar software desde repositorios emerge pkg lin pkg cast pkg
Instalar software desde paquetes      
Actualizar software emerge pkg lin pkg cast pkg
Remover software emerge -aC pkg lrm pkg dispel pkg
Actualizar el sistema      
Actualizar lista de paquetes emerge --sync lin moonbase scribe update
Actualizar el sistema emerge -NuDa world lunar update sorcery upgrade
Buscar paquetes      
Buscar paquetes por nombre emerge --search pkg lvu search pkg gaze search -name pkg
Buscar por patrón emerge --search pattern lvu search pattern gaze search pattern
Buscar por nombre de archivo equery belongs pkg   gaze from file
Listar paquetes instalados qlist -I lvu installed gaze installed
Configurar acceso a repositorios de software      
Listar repositorios layman -L -- scribe index
Agregar repositorio layman -a repo -- scribe add repo
Remover repositorio layman -d repo -- scribe remove repo

FreeBSD

Finalmente, una tabla para FreeBSD, un popular sistema operativo basado en BSD que ofrece manejo de paquetes binarios y código fuente.

Tarea packages
FreeBSD
ports
FreeBSD
Gestionar software    
Instalar software desde repositorios pkg_add -r package cd port_dir && make && make install
Instalar software desde paquetes pkg_add path_to_package --
Actualizar software pkg_add path_to_package portupgrade -R pkg
Remover software pkg_delete pkg pkg_delete pkg
Actualizar el sistema freebsd-update fetch install portsnap fetch install
Actualizar lista de paquetes   csup -L 2 -h cvsup.FreeBSD.org path_to_supfile
portsnap update
Actualizar el sistema   portupgrade -a
portmanager -u
portmaster -a
Buscar paquetes    
Buscar paquetes por nombre   cd /usr/ports && make search pkg
Buscar por patrón   cd /usr/ports && make search pattern
Buscar por nombre de archivo    
Listar paquetes instalados pkg_info pkg_info
Configurar acceso a repositorios de software    
Listar repositorios -- --
Agregar repositorio -- --
Remover repositorio -- --

 Copyright © 2011 DistroWatch.com. Verbatim copying and distribution of this entire article is permitted in any medium, provided this copyright notice is preserved.


Tal vez pueda interesarte


Compartí este artículo