Вопрос: Найти, к какому файлу относится файл в Ubuntu / Debian?
Я часто обнаруживаю, что у меня отсутствует программа, справочная страница или другой файл при работе в моей системе Ubuntu 8.04. Есть ли простой способ поиска того, какой пакет содержит данный файл (независимо от того, установлен он уже или нет)? Может быть, какой-то непонятный вариант для apt или dpkg?
257
2017-07-22 19:06
Источник
Ответы:
apt-file search filename
или
apt-file search /path/to/file
Установить apt-file
, используйте:
sudo apt-get install apt-file
Вам необходимо будет обновить свою базу данных, прежде чем вы сможете ее использовать:
sudo apt-file update
209
2017-07-22 19:08
(Debian / Ubuntu) Узнайте, какой пакет принадлежит файлу:
dpkg -S /usr/bin/ls
'dpkg -S' просто соответствует строке, которую вы
поставьте его, поэтому просто используйте 'ls' как
аргумент соответствует любому файлу из любого
пакет, который имеет «ls» в любом месте
имя файла. Так обычно это хорошая идея
использовать абсолютный путь. Ты можешь видеть
во втором примере 12 тыс.
файлы, которые, как известно, dpkg соответствуют
голая строка 'ls'.
348
2017-07-22 19:13
packages.debian.org это то, что я всегда использую для выполнения этой задачи. Он превосходит apt-файл, так как он также может найти части имен файлов. Он также связан с основным списком пакетов, в котором будут перечислены описания, ошибки и т. Д. В целом хороший веб-сайт. Не так полезно из командной строки, но все же весьма полезно.
Для скорости я добавил в закладки URL:
http://packages.debian.org/search?searchon=contents&keywords=%s&mode=filename&suite=unstable&arch=any
в Firefox, и добавил «debfind» в качестве ключевого слова (нажмите «больше» в менеджере закладок с ним hilighted), поэтому я могу просто набрать «debfind», и он будет работать. Вы можете изменить 'suite' от неустойчивого до стабильного или тестирования, если хотите, для других версий дистрибутива.
15
2017-07-22 20:07
Вы также можете использовать dlocate. Со страницы man;
$ dlocate [ PATTERN ]
List all records where either the package name or the filename matches PATTERN.
11
2017-08-08 19:30
Я нашел Ваджига ...
wajig whichpackage /path/to/file
например.
wajig whichpackage /etc/apt/sources.list
Wajig - удобная командная строка или консольный инструмент, который обертывает все навыки apt-get, dpkg, которые вы никогда не хотели изучать. ,
Для установки wajig используйте:
apt-get install wajig
Сама команда `whichpackage 'зависит от apt-файла
вам все равно придется обновлять свою базу данных, прежде чем вы сможете ее использовать: - Я еще не знаю, будет ли обновление wajig whixh обновлять apt-get, также обновляет кеш-файл, но я ожидаю, что это возможно.
sudo wajig update
sudo apt-file update
(и Super Cow, Easter egss?!)
4
2018-01-14 02:40
Отвечая на ответ Джамуры для Debian, вы также можете пойти в http://packages.ubuntu.com/ для Ubuntu. Вам придется немного прокрутить список, чтобы найти «Поиск содержимого пакетов» где вы можете ввести путь к файлу.
2
2017-10-28 10:40
Попробуйте найти файлы, используя http://www.kodkast.com/applications/find-which-package-file-belongs-to
Это приложение для поиска файлов, которые содержатся в разных пакетах rpms / linux, и очень полезно, когда вы даже не устанавливаете rpm на вашем компьютере.
0
2017-12-20 00:33
Пакет, не найденный командой, дает вам подсказки о потенциальных командах и имени пакета debian. Он работает, набрав команду в оболочке bash и посмотрев ее вывод.
Например, если имя команды известно:
zer@ivy:~ 10:45 $ zsh5
The program 'zsh5' is currently not installed. To run 'zsh5' please ask
your administrator to install the package 'zsh'
zsh5: command not found
и если команда неизвестна, применяются некоторые догадки:
zer@ivy:~ 09:46 $ zsh
No command 'zsh' found, did you mean:
Command 'lsh' from package 'lsh-client' (main)
Command 'osh' from package 'omake' (main)
Command 'ysh' from package 'libyaml-shell-perl' (main)
Command 'ssh' from package 'openssh-client' (main)
Command 'vsh' from package 'crystalspace' (main)
Command 'dsh' from package 'dsh' (main)
Command 'ash' from package 'ash' (main)
Command 'msh' from package 'nmh' (main)
Command 'zssh' from package 'zssh' (main)
Command 'qsh' from package 'gridengine-client' (main)
Command 'sh' from package 'dash' (main)
Command 'bsh' from package 'bsh' (main)
zsh: command not found
0
2017-11-24 09:59