Respuestas:
Algún comando que uso a menudo:
para ver dependencias y dependencias inversas:
apt-cache [--important] [--installed] [--recurse] depends $package
apt-cache rdepends $package
Para eliminar un paquete, todos los paquetes de eliminación automática y todos los archivos de configuración relacionados:
sudo apt-get --purge --auto-remove purge $package
Para ver las apt
opciones de configuración reales :
apt-config dump | less
Para modificar una opción en la línea de comando
$ apt-config dump | grep -i recommend
APT::Install-Recommends "1";
$ sudo apt-get -o APT::Install-Recommends="0" install $package
Esto fue solo un ejemplo de la especificación de las opciones APT a través de la línea de comandos, para evitar instalar los paquetes recomendados, puede usar:
sudo apt-get --no-install-recommends $package
Para ver todos los paquetes locales / obsoletos:
aptitude search ~o
Para ver los paquetes eliminados con configuración residual:
aptitude search ~c
y quitarlos
sudo aptitude purge ~c
Para obtener una lista de todos los paquetes instalados (a dpkg -l
veces puede dar salida a columnas truncadas)
dpkg --get-selections | awk '{ print $1 }'
o
dpkg-query -Wf '${Package}\n' # other fields available, see man page
Para desmontar, modificar y luego montar un paquete
dpkg-deb -x file.deb ./dir
cd dir
dpkg-deb -e ../file.deb
# apply your modification, then...
cd ..
dpkg-deb -b dir file-new.deb
Dos que uso mucho son: -
apt-get autoremove <packagename>
Lo que eliminará el paquete y las dependencias no utilizadas, lo cual es útil si prueba una aplicación, luego decide que no la necesita y desea que también se elimine el cruft.
dpkg -S /path/to/file
Lo que me dice con qué paquete se instaló un archivo.
Finalmente, uno más ...
dpkg -l <packagename> | grep ^ii
Enumera los paquetes, pero solo aquellos que tienen el estado ii, lo que significa que están instalados, por lo que no mostrará las cosas que eliminé.
Si desea obtener el nombre del paquete para un archivo que no se instaló ( dpkg -S
pero para paquetes no instalados), instale apt-file
y ejecute:
apt-file search /path/to/file
which
junto con dpkg -S. por ejemplo: para ejecutables que viven en paquetes con diferentes nombres, como:dpkg -S `which uname`
$ aptitude changelog <pkgname>
Ejemplo:
$ aptitude changelog sudo
sudo (1.7.0-1ubuntu2.4) karmic-security; urgency=low
* SECURITY UPDATE: properly handle multiple PATH variables when using
secure_path in env.c
- Adapted http://www.sudo.ws/repos/sudo/raw-rev/a09c6812eaec
- CVE-2010-1646
...
apt-get changelog sudo
también funciona.
Instale apt-file, luego ejecute sudo apt-file update
. Ahora puede buscar archivos en paquetes que ni siquiera ha instalado.
También es útil si necesita saber información sobre paquetes en otras versiones de Ubuntu: rmadison, que se encuentra en el paquete devscripts. Proporcione un nombre de paquete como argumento y le dirá qué versiones de ese paquete existen en cada versión actual de Ubuntu, y en qué sección del repositorio está el paquete.
Ejemplo:
[bnrubin@server:~/]$ rmadison cowsay
cowsay | 3.03-8 | dapper/universe | source, all
cowsay | 3.03-9 | hardy/universe | source, all
cowsay | 3.03-9.2 | jaunty/universe | source, all
cowsay | 3.03-9.2 | karmic/universe | source, all
cowsay | 3.03-9.2 | lucid/universe | source, all
cowsay | 3.03+dfsg1-2 | maverick/universe | source, all
cowsay | 3.03+dfsg1-2 | natty/universe | source, all
apt-file
ahora es capaz de administrar la base de datos de un usuario, por lo que no necesita ser root update
.
apt-file
es bastante agradable gracias por compartir.
Para obtener los comandos de lista comienza con 'apt-', haga lo siguiente. abra una terminal y escriba 'apt-' y presione la tecla TAB dos veces, esto mostrará una lista de todos los comandos que comienzan con 'apt-'.
Salida de muestra:
apt-add-repository apt-extracttemplates apt-key
apt-cache apt-file apt-mark
apt-cdrom apt-ftparchive apt-sortpkgs
apt-config apt-get
Para obtener información detallada, puede consultar la página de manual de ese comando específico
p.ej: man apt-get
Me gusta pensar en tres tipos diferentes de paquetes:
Para mostrar todos los "paquetes del sistema" puede usar
aptitude search '(~pstandard|~pimportant|~prequired|~E)'
Me gusta tener todos ellos instalados y marcados como instalados manualmente.
aptitude install '(~pstandard|~pimportant|~prequired|~E)!~i'
aptitude unmarkauto '(~pstandard|~pimportant|~prequired|~E)~i~M'
Para mostrar todos los "paquetes de usuario" use
aptitude search '~i!~M!(~pstandard|~pimportant|~prequired|~E)'
En esta lista solo debe haber paquetes que sepa que desea. Todos los demás paquetes son probablemente solo dependencias o recomendaciones de otros paquetes, puede marcarlos como instalados automáticamente
aptitude markauto libsomething
Eche un vistazo a la Referencia de términos de búsqueda de aptitude y
¿Qué es un paquete esencial, obligatorio, importante, estándar, opcional o adicional? para información de fondo.
Actualice los paquetes que se retendrían porque eliminarían otros paquetes o porque es una actualización del núcleo:
sudo apt-get dist-upgrade
Purgue un paquete y su configuración.
sudo apt-get purge package
Mostrar detalles de un paquete como se conoce en la base de datos del paquete, incluida la sección, versión, dependencias, mantenedor y descripción.
apt-cache show package
Lista de archivos en un paquete instalado
dpkg -L pkg
Actualiza todos los paquetes
sudo apt-get upgrade