Я часто скучаю по программе, справочной странице или другому файлу при работе в моей системе Ubuntu 8.04. Есть ли простой способ узнать, какой пакет содержит данный файл (установлен ли он уже или нет)? Может быть, какой-то непонятный вариант для apt или dpkg?
300
dpkg -S /path/to/file
если у вас установлен пакет.Ответы:
или же
Для установки
apt-file
используйте:Вам нужно будет обновить его базу данных, прежде чем вы сможете ее использовать:
источник
dpkg -S
работает как описано ниже.(Debian / Ubuntu) Узнайте, к какому пакету принадлежит файл :
источник
apt-file
этого, он также находит пакет в файл, если он был установлен вручную черезdpkg -i
!dpkg -S "$(readlink -fn "$(which rename)")"
.dpkg-query: no path found matching pattern /usr/bin/java
хотя есть файл на/usr/bin/java
packages.debian.org - это то, что я всегда использую для выполнения этой задачи. Он превосходит apt-файл, потому что он также может найти части имен файлов. Он также связан с основным списком пакетов, в котором будут перечислены описания, ошибки и т. Д. В целом хороший сайт. Не так полезно из командной строки, но все же довольно полезно.
Для скорости я пометил URL:
в Firefox и добавил «debfind» в качестве ключевого слова (нажмите «еще» в менеджере закладок, когда он выделен), так что я могу просто набрать «debfind», и он будет работать. Вы можете изменить 'suite' его с нестабильного на стабильный или тестировать, если хотите, для других версий дистрибутива.
источник
Вы также можете использовать dlocate. Со страницы руководства;
источник
dlocate
это также мой любимый метод, очень надежный.dlocate
не находит недавно установленный пакет, пока вы не запустите егоsudo update-dlocatedb
сначала. Команда автоматически запускается ежедневно в /etc/cron.daily/dlocateЯ нашел Ваджиг ...
например.
Wajig - это удобный инструмент для командной строки или консоли, который включает в себя все достоинства apt-get, dpkg, которые вы никогда не хотели изучать. ,
Для установки Wajig используйте:
Эта команда 'whichpackage' сама зависит от apt-файла
вам все еще нужно обновить базу данных, прежде чем вы сможете ее использовать: - Я пока не знаю, обновляет ли wajig обновление, которое apt-get также обновляет файловый кеш, но я ожидаю, что это возможно.
(и Супер Корова, Пасха egss?!)
источник
Послушайте ответ Джамуры на Debian, вы также можете перейти на http://packages.ubuntu.com/ для Ubuntu. Вам придется прокрутить немного вниз, чтобы найти окно поиска «Поиск содержимого пакетов», в котором вы можете ввести путь к файлу.
источник
Попробуйте поискать файлы, используя http://www.kodkast.com/applications/find-which-package-file-belongs-to
Это приложение для поиска файлов, которые содержатся в разных пакетах rpms / linux, и очень полезно, когда на вашей машине даже не установлен rpm.
источник
Пакет command-not-found дает вам подсказки о потенциальных командах и имени пакета debian. Он работает, набирая команду в оболочке bash и просматривая ее вывод.
Например, если имя команды известно:
и если команда не известна, применяются некоторые предположения:
источник
-h
или--help
в конце поможет немного. Если добавление-h
в конце сделало бы это достаточно безопасным, я бы порекомендовал, но даже в этом случае это не хороший способ достичь того, что просит OP.