En sistemas Debian (y derivados):
$ dpkg --search /bin/ls
coreutils: /bin/ls
Es decir, el archivo /bin/ls
pertenece al paquete Debian llamado coreutils
.
Pero esto solo funciona si el paquete está instalado. ¿Y si no es así?
fuente
En sistemas Debian (y derivados):
$ dpkg --search /bin/ls
coreutils: /bin/ls
Es decir, el archivo /bin/ls
pertenece al paquete Debian llamado coreutils
.
Pero esto solo funciona si el paquete está instalado. ¿Y si no es así?
apt-file
apt-file
proporciona la función de buscar un paquete que proporcione un archivo binario (como Debian o Ubuntu ), no está instalado de forma predeterminada sino en los repositorios.
apt-file search <path-to-file>
Es posible que desee actualizar una vez antes de buscar ...
apt-file update
Por ejemplo, busquemos el binario no instalado mysqldump
:
$ apt-file search /usr/bin/mysqldump
mysql-client-5.1: /usr/bin/mysqldump
mysql-client-5.1: /usr/bin/mysqldumpslow
mysql-cluster-client-5.1: /usr/bin/mysqldump
mysql-cluster-client-5.1: /usr/bin/mysqldumpslow
También es posible enumerar el contenido de un paquete (no instalado):
$ apt-file list mysql-client-5.1
mysql-client-5.1: /usr/bin/innochecksum
mysql-client-5.1: /usr/bin/innotop
mysql-client-5.1: /usr/bin/myisam_ftdump
mysql-client-5.1: /usr/bin/mysql_client_test
...
ñam
yum
acepta el comando whatprovides
(o provides
) para buscar binarios instalados o no instalados:
yum whatprovides <path-to-file>
De nuevo, el no instalado mysqldump
:
$ yum whatprovides /usr/bin/mysqldump
mysql-5.1.51-2.fc14.i686 : MySQL client programs and shared libraries
Repo : fedora
Matched from:
Filename : /usr/bin/mysqldump
mysql-5.1.51-1.fc14.i686 : MySQL client programs and shared libraries
Repo : fedora
Matched from:
Filename : /usr/bin/mysqldump
zypper
zypper
El search
comando puede verificar las listas de archivos cuando se usa con la -f
opción.
zypper se -f /bin/mksh
Loading repository data...
Reading installed packages...
S | Name | Summary | Type
--+------+-------------------+--------
| mksh | MirBSD Korn Shell | package
Webpin proporciona una solución basada en la web, incluso hay un script para la línea de comandos.
pkgfile
Disponible como pkgtools
para pacman
sistemas basados. Proporciona una función de búsqueda similar a las anteriores:
$ pkgfile -si /usr/bin/mysqldump
Name : mysql-clients
Version : 5.1.54-1
Url : http://www.mysql.com/
License : GPL
Depends : libmysqlclient
...
apt-file search protoc
, por ejemplo, da más de seis mil resultados. Sin embargo, los resultados terminan en el nombre del archivo, por lo que con grep en realidad se puede encontrar el nombre de archivo que buscas:apt-file search protoc | grep 'protoc$'
. Funciona porque filtra todo lo que termina en "protocolo". Por supuesto, debe reemplazar "protocol" con lo que esté buscando.La herramienta estándar para esto es apt-file . Ejecute
apt-file update
para descargar el archivo de índice. Aquí está la salida:Después de eso, corre
apt-file search search_term
.fuente
Si no tiene acceso a la máquina o no puede usar los comandos dados en las respuestas anteriores, también puede averiguarlo usando el motor de búsqueda basado en web de paquetes Debian (la segunda forma, " Buscar el contenido de los paquetes " )
fuente