¿Hay algún método o comando que pueda decir de qué repositorio proviene un paquete?
¿Hay algún método o comando que pueda decir de qué repositorio proviene un paquete?
Respuestas:
dpkg -s <package>
- le permite encontrar la versión que ha instalado. ( fuente )apt-cache showpkg <package>
- mostrará una lista de las versiones del paquete disponibles. Para cada versión, se proporcionará la fuente del paquete, en forma de un nombre de archivo de índice.Si desea encontrar la fuente del paquete que está instalado actualmente, necesitará la salida de dpkg -s <package>
. De lo contrario, simplemente puede mirar la salida de la versión más reciente por apt-cache showpkg <package>
.
$ dpkg -s liferea
Package: liferea
Status: install ok installed
Priority: optional
Section: web
Installed-Size: 760
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: i386
Version: 1.6.2-1ubuntu6
...
$ apt-cache showpkg liferea
Package: liferea
Versions:
1.6.2-1ubuntu6.1 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid-updates_main_binary-i386_Packages)
Description Language:
File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid-updates_main_binary-i386_Packages
MD5: 557b0b803b7ed864e6d14df4b02e3d26
1.6.2-1ubuntu6 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages) (/var/lib/dpkg/status)
Description Language:
File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages
MD5: 557b0b803b7ed864e6d14df4b02e3d26
...
Desde el primer comando, puedo ver que Liferea versión 1.6.2-1ubuntu6 está instalada. Desde el segundo comando, puedo ver que esa versión aparece en la lista /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages
.
Sin demasiado esfuerzo, puedo deducir que la línea de origen contiene archive.ubuntu.com
, ubuntu
, lucid
, y main
.
Y, efectivamente, mi /etc/apt/sources.list
contiene la siguiente línea.
deb http://archive.ubuntu.com/ubuntu lucid main universe restricted multiverse
apt-cache policy <package name>
(a partir de: superuser.com/a/236605/37279 )
trusty
las fuentes de paquetes de Ubuntu , agrego temporalmente utopic
a mi sources.list
para instalar la versión 1.20ubuntu3 de init-system-helpers
y luego elimino el repositorio nuevamente de mi sources.list
, apt-cache showpkg init-system-helpers
solo mentirá sobre la lista de paquetes original y apt-cache policy init-system-helpers
solo indicará lo obvio.
Use el siguiente comando. Tiene mejor salida:
apt-cache policy <Package Name>
Para Ubuntu 16.04 y posterior, hay una forma más corta de hacerlo:
apt policy <Package Name>
apt-cache policy
consulta superuser.com/a/236605/61370
apt-cache policy
es bueno, pero algunas veces necesitas apt-cache showpkg
comparar sumas MD5 del paquete. Ver tambiéndebsums --changed
policy
opción es la más útil cuando se compara consources.list
apt policy <package-name>
se puede usar una versión aún más simple , desde 16.04LTS en adelante. Una vez que 14.04LTS se convierte en EOL en 2018, esta respuesta puede editarse para usar el comando más nuevo.
apt
en Ubuntu 16.04+Además apt-cache policy
, showpkg
y show
ahora tenemos un subcomando más simple y fácil de recordar: apt
(no confunda con clásico apt-*
):
apt policy <package>
O la alternativa con más información apt show <package>
, línea que comienza con "APT-Sources:" .
Descripción: este paquete proporciona herramientas de línea de comandos para buscar y administrar, así como consultar información sobre paquetes como acceso de bajo nivel a todas las funciones de la biblioteca libapt-pkg. Estos incluyen: apt-get
, apt-cache
, apt-cdrom
, apt-config
, apt-key
.
apt --help
Otros subcomandos fáciles de recordar también:
apt list
- lista de paquetes basados en nombres de paquetesapt search
- buscar en las descripciones de los paquetesapt show
- Mostrar detalles del paqueteapt update
- actualizar la lista de paquetes disponiblesapt install
- instalar paquetesapt remove
- eliminar paquetesapt purge
- eliminar paquetes y archivos de configuración :
La eliminación de un paquete elimina todos los datos empaquetados, pero por lo general deja atrás los archivos de configuración de usuario pequeños (modificados), en caso de que la eliminación haya sido un accidente. Solo emitir una solicitud de instalación para el paquete eliminado accidentalmente restaurará su función como antes en ese caso. Por otro lado, puede deshacerse de estos restos llamando a purga incluso en paquetes ya eliminados. Tenga en cuenta que esto no afecta ningún dato o configuración almacenada en su directorio de inicio.
apt upgrade
- Actualice el sistema instalando / actualizando paquetes
apt full-upgrade
- Actualice el sistema eliminando / instalando / actualizando paquetesapt edit-sources
- editar el archivo de información de origenapt policy xxx
parece idéntico a apt-cache policy xxx
, tal vez esto debería haber sido un comentario en su lugar. O al menos mencionar que apt show
parece necesitar el -a
cambio para ver "registros adicionales" de otras fuentes
Lamentablemente, esta información no se registra durante la instalación del paquete. Puede hacer una suposición decente si el repositorio todavía está en la lista de fuentes y el repositorio todavía tiene el paquete:
grep -l PKG /var/lib/apt/lists/*
Incluso synaptic no puede decir si deshabilita el repositorio y la actualización.