¿Cómo puedo saber de qué paquete Debian proviene un archivo?
fuente
¿Cómo puedo saber de qué paquete Debian proviene un archivo?
Hay varias utilidades en Debian que realizan esta tarea; comprobar esta página para una descripción. Mencionaré dos de ellos, apt-file y dlocate.
apt-file busca su caché interno, lo que le permite no instalar todos los paquetes que desea buscar. A continuación encontrará una guía más detallada.
dlocate es una alternativa rápida a dpkg -L (el comando que enumera el contenido del paquete), y como tal, solo busca los paquetes instalados. La búsqueda es realizada por dlocate -S file.name.
También puedes buscar paquetes en línea usando packages.debian.org servidor (el Buscar el contenido de los paquetes. sección).
apt-fileEs una buena idea actualizar primero:
sudo apt-get update
Mira qué apt-file es para:
apt-cache show apt-file
Instalarlo:
sudo apt-get install apt-file
Leer datos de repositorios (esto funciona también sin sudo pero crea el caché del usuario entonces; con sudo el caché es de todo el sistema):
sudo apt-file update
Realizar búsqueda En este ejemplo queremos saber en qué paquete. xrandr ejecutable es:
apt-file search xrandr
Enumera muchos paquetes con unxrandr, lxrandr.mo o source_lxrandr.py. No es muy útil en nuestro caso. Búsqueda más inteligente:
apt-file search -x /xrandr$
( $ denota el final de la línea). Ejemplo de salida:
bash-completion: /usr/share/bash-completion/completions/xrandr
x11-xserver-utils: /usr/bin/xrandr
El primer resultado no parece ejecutable, el segundo sí lo hace. Podemos investigar más a fondo. Correr:
apt-cache show x11-xserver-utils
¡Bingo! Este es el paquete.
Donde bash es el nombre del paquete.
fuente
Otra alternativa:
Al menos en mi Ubuntu, ambos parecen estar en el
dpkgpaquete, por lo que no hay una ventaja real para cualquier específico ...fuente
Instalacion de archivos generados. no será encontrado por
dpkg -S, como se menciona en: https://askubuntu.com/a/667227/52975Por ejemplo,
/bin/ncaparece cuando instala el paquetenetcat-openbsd.Pero sobre:
obtenemos
dpkg-query: no path found matching pattern /bin/nc.Esto sucede porque
/bin/nces generado por elupdate-alternativesllamar al script postinst que se ejecuta después de la instalación.Funciona así porque otra versión de
/bin/nces proporcionado por elnetcat-traditionalpaquete.No creo que haya una forma general de encontrar tales archivos generados. En el caso específico de enlaces simbólicos alternativos, solo podemos seguir el enlace con
readlink -f:fuente
Al no estar familiarizado con Debian, me sorprendió cuando intenté esto:
Un poco de investigación y encontré el paquete:
fuente