Як знайти пакет, який надає заданий файл у OpenSuSE?


11

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

Проста розробка: Наприклад, нам потрібна двійкова назва exampletool, яку ми дуже добре знаємо з інших дистрибутивів або операційних систем. Ми хочемо встановити це, наприклад, на блискавці. Але на блискавку можна встановити лише пакет. Щоб дізнатися, в якому пакеті ми можемо знайти потрібний 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 in mercurial

Слід зазначити, що він zypper wpє застарілим і більше не може бути доступним.


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

6

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

Наприклад, ми можемо скористатися binкомандою скаута, щоб дізнатися, який пакет надає hgвиконуваний файл:

scout bin hg

Результатом цього пошуку є mercurialпакет:

 repository      | package   | path     | binary
-----------------+-----------+----------+--------
 zypp (repo-oss) | mercurial | /usr/bin | hg    

Чи можете ви бути трохи більш конкретними щодо scoutінструменту? Чи можете ви вказати його "повне ім'я чи URL-адресу"?
SebMa

@SebMa Це можна було завантажити з rpm, ймовірно, за допомогою блискавки. Цілком можливо, що це було в нестандартному репо. Я не пам'ятаю дуже добре :-( я більше не використовую SuSE. Але цілком можливо, що я буду, тоді я перевірю це і поясню, що знайшов. Можливо, що SuSE дуже змінився з тих пір
peterh

На моєму пристрої Jolla1 (SailFishOS) zypper wp scoutсказаноNo matching items found.
SebMa

@SebMa Googling для "розвідника інструментів розвідки" Я знайшов це посилання на місці, в даний момент я не можу допомогти більше. Ймовірно, вам знадобиться встановити його з якогось нестандартного сховища.
peterh

На наданому вами посиланні написано: "Скаут - це інтерфейс до приміток Томбоя або Gnote, який використовує DBus для зв'язку". Я не впевнений, що це інструмент, який ми шукаємо.
SebMa

1

Я використовую Gecko Linux XFCE. Я відкрив Yast2 і встановив gnome-search-tool та gnome-shell-search-provider-nautilus . Це чудово працює, як Сом.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.