Este artículo explica cómo administrar/manejar/gestionar paquetes en [inserte nombre de distribución GNU/Linux aquí]. Navegando por DistroWatch me encontré con este excelente material, el cual me tomé el trabajo de traducir al español. Se trata de un cheatsheet o tarjeta de referencia de manejo de paquetes en distribuciones GNU/Linux. Algo que todo distro-hopper debe tener. Si se preguntan qué es un distro-hopper, se trata de una persona que tiene a DistroWatch como página de inicio en su navegador. Recomiendo una leída a los artículos de Enrique Bravo, un célebre distro-hopper y gran bloguero.
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:
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.