Este artículo se aplica a todas las versiones soportadas de Ubuntu
Gestión de paquetes con APT
La gestión de paquetes a través de apt-get va de la mano del archivo /etc/apt/sources.list. Para información sobre la edición o actualización de su lista de fuentes vea SourcesList.
Introducción
Esta página describe cómo manejar los paquetes en su sistema usando apt-get y comandos relacionados. Por ejemplo, puede instalar un nuevo paquete, eliminar un paquete instalado o actualizar todos los paquetes instalados a las últimas versiones.
Comandos
Todos estos comandos, excepto los de búsqueda, deben ser ejecutados como root o con privilegios de superusuario, vea sudo para más información.
-
Ejemplo:
sudo apt-get install ubuntu-desktop
Comandos de instalación
-
apt-get install <package_name>
Este comando instala un nuevo paquete.
-
apt-get build-dep <package_name>
Este comando busca en los repositorios e instala las dependencias de construcción para <nombre_paquete>. Si el paquete no está en los repositorios devolverá un error.
-
aptitude install <package_name>
Aptitude es un visor Ncurses de paquetes instalados o disponibles. Aptitude se puede utilizar desde la línea de comandos de forma similar a apt-get. Introduzca man aptitude para más información.
- APT y aptitude aceptarán múltiples nombres de paquetes como una lista delimitada por espacios. Por ejemplo:
apt-get install <package1_name> <package2_name> <package3_name>
Utilice la bandera -s para simular una acción. Por ejemplo: «apt-get -s install <nombre_del_paquete>» simulará la instalación del paquete, mostrando qué paquetes se instalarán y configurarán.
auto-apt
-
auto-apt run <command_string>
Este comando ejecuta <command_string> bajo el control de auto-apt. Si un programa intenta acceder a un archivo que se sabe que pertenece a un paquete desinstalado, auto-apt instalará ese paquete usando apt-get. Esta característica requiere apt y sudo para funcionar.
- Auto-apt mantiene bases de datos que deben mantenerse actualizadas para que sean efectivas. Esto se consigue llamando a los comandos auto-apt update, auto-apt updatedb y auto-apt update-local.
- Ejemplo de uso
-
Estás compilando un programa y, de repente, se produce un error porque necesita un archivo que no tienes. El programa se autoapunta y te pide que instales los paquetes si son necesarios, deteniendo el proceso correspondiente y continuando una vez instalado el paquete.
# auto-apt run ./configure
Entonces pedirá instalar los paquetes necesarios y llamará a apt-get automáticamente. Si está ejecutando X, una interfaz gráfica sustituirá a la interfaz de texto por defecto.
-
-
apt-get update
Ejecute este comando después de cambiar /etc/apt/sources.list o /etc/apt/preferences . Para obtener información sobre /etc/apt/preferences, consulte PinningHowto. Ejecute este comando periódicamente para asegurarse de que su lista de fuentes está actualizada. Esto es el equivalente a «Reload» en Synaptic o «Fetch updates» en Adept.
-
apt-get upgrade
Este comando actualiza todos los paquetes instalados. Es el equivalente a «Marcar todas las actualizaciones» en Synaptic.
-
apt-get dist-upgrade
Lo mismo que lo anterior, excepto que añade la casilla «smart upgrade». Indica a APT que utilice un sistema «inteligente» de resolución de conflictos, y que intentará actualizar los paquetes más importantes a costa de los menos importantes si es necesario.
«apt-get dist-upgrade» no actualiza desde una versión anterior de Ubuntu. Para más información sobre la actualización desde una versión anterior de Ubuntu vea http://www.ubuntu.com/getubuntu/upgrading .
-
apt-get check
Este comando es una herramienta de diagnóstico. Hace una actualización de las listas de paquetes y comprueba si hay dependencias rotas.
-
apt-get -f install
Este comando hace lo mismo que Edit->Fix Broken Packages en Synaptic. Haga esto si recibe quejas sobre paquetes con «dependencias no satisfechas».
-
apt-get autoclean
Este comando elimina los archivos .deb de los paquetes que ya no están instalados en su sistema. Dependiendo de sus hábitos de instalación, la eliminación de estos archivos de /var/cache/apt/archives puede recuperar una cantidad significativa de espacio en disco.
-
apt-get clean
Lo mismo que lo anterior, excepto que elimina todos los paquetes de la caché de paquetes. Esto puede no ser deseable si tienes una conexión a Internet lenta, ya que hará que vuelvas a descargar cualquier paquete que necesites para instalar un programa.
-
La caché de paquetes está en /var/cache/apt/archives . El comando
du -sh /var/cache/apt/archives
te dirá cuánto espacio consumen los paquetes en caché.
-
-
dpkg-reconfigure <package_name>
Reconfigura el paquete con nombre. Con muchos paquetes, se te plantearán algunas preguntas de configuración que quizá no sabías que estaban ahí.
-
Por ejemplo:
dpkg-reconfigure fontconfig-config
te presentará un «asistente» de configuración de fuentes en Ubuntu.
-
-
echo "<package_name> hold" | dpkg --set-selections
Este comando pone en espera el paquete deseado.
-
echo "<package_name> install" | dpkg --set-selections
Este comando elimina el estado de «retención» o «paquete bloqueado» establecido por el comando anterior. La nota anterior sobre el uso de sudo se aplica a este comando.
-
apt-get remove <package_name>
Este comando elimina un paquete instalado, dejando los archivos de configuración intactos.
-
apt-get purge <package_name>
Este comando elimina completamente un paquete y los archivos de configuración asociados. Los archivos de configuración que residen en ~ no suelen verse afectados por este comando.
- + operador
-
Si desea eliminar el paquete1 e instalar el paquete2 en un solo paso:
apt-get remove <package1> <package2>+
.
-
- + operador
-
apt-get autoremove
Este comando elimina los paquetes que fueron instalados por otros paquetes y ya no son necesarios.
-
apt-get autoremove <package_name>
Este comando elimina un paquete instalado y sus dependencias.
-
- Aunque no hay una forma incorporada de eliminar toda la información de configuración de los paquetes eliminados, puede eliminar todos los datos de configuración de cada paquete eliminado con el siguiente comando.
dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge
-
apt-cache search <search_term>
Cada paquete tiene un nombre y una descripción. Este comando lista los paquetes cuyo nombre o descripción contiene <search_term>.
-
dpkg -l *<search_term>*
Esto encontrará paquetes cuyos nombres contengan <search_term>. Similar a la búsqueda de apt-cache, pero además muestra si un paquete está instalado en tu sistema marcándolo con ii (instalado) y un (no instalado).
-
apt-cache show <package_name>
Este comando muestra la descripción del paquete <nombre_del_paquete> y otra información relevante incluyendo versión, tamaño, dependencias y conflictos.
-
dpkg --print-avail <package_name>
Este comando es similar a «apt-cache show».
-
dpkg -L <package_name>
Este comando listará los archivos del paquete <nombre_paquete>.
-
dpkg -c foo.deb
Este comando lista los archivos del paquete «foo.deb». Tenga en cuenta que foo.deb es un nombre de ruta. Utilice este comando en paquetes .deb que haya descargado manualmente.
-
dlocate <package_name>
Este comando determina qué paquete instalado posee <nombre_del_paquete>. Muestra los archivos de los paquetes instalados que coinciden con <nombre_de_paquete>, con el nombre del paquete del que proceden. Considere esto como una utilidad de «búsqueda inversa».
Para poder utilizar este comando, el paquete dlocate debe estar instalado en su sistema.
-
dpkg -S <filename_search_pattern>
Este comando hace lo mismo que dlocate, pero no requiere la instalación de ningún paquete adicional. Es más lento que dlocate pero tiene la ventaja de estar instalado por defecto en todos los sistemas Debian y Ubuntu.
-
apt-file search <filename_search_pattern>
Este comando actúa como dlocate y dpkg -S, pero busca todos los paquetes disponibles. Responde a la pregunta, «¿qué paquete proporciona este archivo?»
-
El archivo apt necesita ser actualizado regularmente como apt-get. Utiliza el comando:
apt-file update
Para poder utilizar este comando, el paquete apt-file debe estar instalado en tu sistema.
-
-
apt-cache pkgnames
Este comando proporciona un listado de todos los paquetes del sistema
-
apt-cache search <filename> | grep -w <filename>
mostrará sólo los archivos que contengan <filename> como palabra entera
-
dpkg -L package | grep /usr/bin
listará los archivos ubicados en el directorio /usr/bin, útil si buscas un ejecutable en particular.
-
Ejemplo:
man apt-get
.
Comandos de mantenimiento
Comandos de eliminación
Comandos de búsqueda
Una nota general sobre la búsqueda: Si la búsqueda genera una lista demasiado larga, puede filtrar los resultados pasándolos por el comando grep. Ejemplos:
Para más información sobre apt-get, apt-cache y dpkg consulte sus páginas de manual utilizando el comando man. Estos manuales le proporcionarán un mayor alcance de información además de todas las opciones que puede utilizar con cada programa.
Ejemplo de uso típico
Quiero sentir el viento en mi pelo, quiero la adrenalina de la velocidad. Así que vamos a instalar un juego de carreras. Pero, ¿qué juegos de carreras hay disponibles?
apt-cache search racing game
Me da muchas respuestas. Veo un juego llamado «torcs». Vamos a buscar más información sobre este juego.
apt-cache show torcs
Hmmm… parece interesante. Pero ¿este juego no está ya instalado en mi ordenador? Y cuál es la versión disponible? De qué repositorio es (Universo o Principal)?
apt-cache policy torcs
Bien, pues ahora, ¡a instalarlo!
apt-get install torcs
¿Cuál es el comando que debo escribir en la consola para lanzar este juego? En este ejemplo, es sencillo («torcs»), pero no siempre es así. Una forma de encontrar el nombre del binario es mirar qué archivos tiene el paquete instalado en «/usr/bin». Para los juegos, el binario estará en «/usr/games». Para los programas administrativos, estará en «/usr/sbin».
dpkg -L torcs | grep /usr/games/
La primera parte del comando muestra todos los archivos instalados por el paquete «torcs» (pruébalo). Con la segunda parte, pedimos que sólo se muestren las líneas que contengan «/usr/games/».
Hmmm, ese juego es genial. Quizá haya alguna pista extra?
apt-cache search torcs
Pero me estoy quedando sin espacio. ¡Voy a borrar la caché de apt!
apt-get clean
Oh no, mi madre me ha pedido que elimine todos los juegos de este ordenador. Pero quiero conservar los archivos de configuración para poder simplemente reinstalarlo más adelante.
apt-get remove torcs
Si quiero eliminar también los archivos de configuración :
apt-get purge torcs
Configuración de apt-get para usar un http-proxy
Estos son tres métodos para usar apt-get con un http-proxy.
Sesión proxy temporal
Este es un método temporal que puede usar manualmente cada vez que quiera usar apt-get a través de un http-proxy. Este método es útil si sólo quiere utilizar temporalmente un http-proxy.
Introduzca esta línea en el terminal antes de usar apt-get (sustituya sus datos por su dirección de proxy y su puerto de proxy).
export http_proxy=http://yourproxyaddress:proxyport
Si normalmente usas sudo para ejecutar apt-get necesitarás iniciar sesión como root primero para que esto funcione a menos que también añadas algunas configuraciones de entorno explícitas a /etc/sudoers, e.g.
Defaults env_keep = "http_proxy https_proxy ftp_proxy"
Método del archivo de configuración de apt
Este método utiliza el archivo apt.conf que se encuentra en su directorio /etc/apt/. Este método es útil si sólo quieres que apt-get (y no otras aplicaciones) use un proxy http permanentemente.
En algunas instalaciones no habrá ningún archivo apt-conf configurado. Este procedimiento editará un archivo apt-conf existente o creará un nuevo archivo apt-conf.
gksudo gedit /etc/apt/apt.conf
Agrega esta línea a tu archivo /etc/apt/apt.conf (sustituye tus datos por tuproxyaddress y proxyport).
Acquire::http::Proxy "http://yourproxyaddress:proxyport";
Guarda el archivo apt.conf.
Método rc de BASH
Este método añade dos líneas a su archivo .bashrc en su directorio $HOME. Este método es útil si quieres que apt-get y otras aplicaciones, por ejemplo wget, usen un proxy http.
gedit ~/.bashrc
Añade estas líneas al final de tu archivo ~/.bashrc (sustituye tus datos por tuproxyaddress y proxyport)
http_proxy=http://yourproxyaddress:proxyportexport http_proxy
Guarda el archivo. Cierra la ventana de tu terminal y luego abre otra ventana de terminal o accede al archivo ~/.bashrc:
source ~/.bashrc
Prueba tu proxy con sudo apt-get update y cualquier herramienta de red que desees. Puedes usar firestarter o conky para ver las conexiones activas.
Si te equivocas y vuelves a editar el archivo de nuevo, puedes cerrar el terminal y volver a abrirlo o bien puedes hacer un source de ~/.bashrc como se muestra arriba.
source ~/.bashrc
Cómo iniciar la sesión de un usuario proxy
Si necesitas iniciar la sesión en el servidor Proxy, esto se puede conseguir en la mayoría de los casos utilizando el siguiente esquema al especificar la dirección del proxy en http-proxy. (sustituya sus datos por el nombre de usuario, la contraseña, yourproxyaddress y proxyport)
http_proxy=http://username:password@yourproxyaddress:proxyport
Paquetes adicionales útiles
-
Deborphan
-
Debfoster
Enlaces adicionales enlaces
-
Repositorios/Línea de comandos
-
PinningHowto
-
AutoDeb
-
Gestor de paquetes Synaptic
-
Foros de la comunidad de Ubuntu: Instalaciones y actualizaciones
-
Cómo acelerar las actualizaciones de paquetes usando apt-fast
Solución de problemas
-
https://help.ubuntu.com/community/PackageManagerTroubleshootingProcedure
CategoríaGestión de paquetes CategoríaLínea de comandos