Как мне найти пакет, который предоставляет данный файл в OpenSuSE?

11

Я думаю о некоторых, как Contents-<arch>.gzна Debian. Сетевой сервис тоже был в порядке. Это существует?

Простая разработка: например, нам нужен двоичный файл с именем exampletool, который мы очень хорошо знаем из других дистрибутивов или операционных систем. Мы хотим установить это, например, с помощью zypper. Но Zypper может только установить пакет. Чтобы выяснить, в каком пакете мы можем найти требуемый exampletoolдвоичный файл, нам нужно выполнить практически поиск, а в идеале быстрый индексированный поиск в списке файлов не установленных в данный момент, но доступных в репозиториях пакетов . На debian в репозиториях пакетов есть файл индекса Contents-amd64.gz, в котором мы можем найти требуемый пакет с помощью одной zgrepкоманды. Я также ищу похожее решение для одной команды для OpenSUSE. Если такового нет, веб-сервис также был бы в порядке для той же функциональности.

Петер - Восстановить Монику
источник

Ответы:

7

Для поиска из всех доступных пакетов, чтобы найти определенный файл, вы можете использовать опцию wpили se --provides --match-exactв качестве примера:

zypper se --provides --match-exact hg

Вы увидите вывод, похожий на следующее:

Loading repository data...
Reading installed packages...

S | Name      | Summary                  | Type   
--+-----------+--------------------------+--------
  | mercurial | Scalable Distributed SCM | package

С этого момента вы можете установить пакет через стандартную установку zypper

zypper in mercurial

Следует отметить, что zypper wpоно устарело и может быть недоступно.

SailorCire
источник
Это не всегда надежно. Я не знаю почему, но имена файлов, такие как zypper search --provides [--match-exact] getenforceне возвращают результаты, в то время как zypper search --provides nslookupделает.
Лестер
6

Гуглерам будущего: рядом с замечательным решением @SailorCire :-), есть также инструмент с именем scout, который способен искать практически во всем, мы можем найти rpm-s для двоичного файла так же, как мы можем найти банки для данного класса Java.

Например, мы можем использовать binкоманду scout, чтобы узнать, какой пакет предоставляет hgисполняемый файл:

scout bin hg

Результатом этого поиска является mercurialпакет:

 repository      | package   | path     | binary
-----------------+-----------+----------+--------
 zypp (repo-oss) | mercurial | /usr/bin | hg    
Петер - Восстановить Монику
источник
Можете ли вы быть немного более конкретным об scoutинструменте? Можете ли вы дать его полное имя или URL к его коду?
Себма
@SebMa Его можно было загрузить с rpm, вероятно, с помощью zypper. Возможно, это было в нестандартном репо. Я не очень хорошо помню :-( Я больше не использую SuSE. Но вполне возможно, что я буду, тогда я проверю это и объясню, что я нашел. Возможно, что SuSE сильно изменился с тех пор.
Петер - Восстановить Монику
На моем устройстве Jolla1 (SailFishOS) zypper wp scoutпишетNo matching items found.
SebMa
@SebMa Googling для "Scout Tool RPM" Я нашел эту ссылку на месте, в настоящий момент я не могу помочь больше. Вероятно, вам нужно будет установить его из какого-то нестандартного хранилища.
Петер - Восстановить Монику
На предоставленной вами ссылке написано: «Scout - это интерфейс для заметок Tomboy или Gnote, который использует DBus для связи». Я не уверен, что это инструмент, который мы ищем.
SebMa
1

Я использую Gecko Linux XFCE. Я открыл Yast2 и установил gnome-search-tool и gnome-shell-search-provider-nautilus . Работает нормально, как и сом.

Росс Васильев
источник