Что предоставляет / etc / exports и как мне это выяснить?

8

У меня есть две виртуальные машины Debian, которые были собраны из одной и той же netinstall iso, но, вероятно, на них установлены разные пакеты. У одного из них есть /etc/exportsфайл для монтирования nfs, а у другого нет. Я хотел бы, чтобы у них обоих был этот файл, установленный менеджером пакетов.

Я родом из мира Fedora и был бы там до сих пор yum whatprovides /etc/exports. Мне сказали, что на земле Debian я должен это сделать apt-file search. Тем не менее, я не получаю никаких результатов с:

apt-file update
apt-file search /etc/exports

Что мне здесь не хватает?

DRS
источник
askubuntu.com/questions/481/…
Сиро Сантилли 冠状 病毒 审查 六四 事件 法轮功

Ответы:

13

Когда вы ищете файл, принадлежащий пакету, который установлен на вашем компьютере, вы можете использовать dpkg -S(эквивалентно dpkg-query -S):

dpkg -S /etc/exports

В этом случае, хотя он ничего не найдет, потому что /etc/exportsсоздается сценарием сопровождающего (и этот тип файла явно не обрабатывается dpkg-queryили, в этом отношении, apt-file).

Так что если apt-fileи dkpg -Sне удастся найти файл, вы можете попытаться просматривать сценарии сопровождения:

grep /etc/exports /var/lib/dpkg/info/*

Это должно соответствовать nfs-kernel-serverсценариям сопровождающего; это пакет, который создается /etc/exports, по крайней мере, на моих серверах NFS.

Стивен Китт
источник
6

На Debian /etc/exportsне входит ни в один пакет. Существует пример файла конфигурации:

/usr/share/nfs-kernel-server/conffiles/etc.exports

Вы можете скопировать это в / etc / exports и отредактировать по своему усмотрению (вполне возможно, что есть некоторые настройки nfs после установки, которые копируют это /etc). Этот файл предоставляется как часть nfs-kernel-serverпакета:

$ apt-file search /usr/share/nfs-kernel-server/conffiles/etc.exports
nfs-kernel-server: /usr/share/nfs-kernel-server/conffiles/etc.exports
John1024
источник
2

Без apt-file, и если пакет, который вы ищете, не установлен (тогда dpkg -Sэто ваш друг), вы можете найти файл на сайте Debian:

https://packages.debian.org/search?searchon=contents&keywords=/etc/exports&mode=path&suite=unstable&arch=any

Хотя может быть проще использовать веб-форму (у меня есть функция оболочки, которая расширяется до этого URL $BROWSERдля меня):

Что касается /etc/exports- как показывают вышеупомянутые сайты, он не содержится непосредственно ни в одной упаковке. Однако, если у вас уже установлен пакет, вы можете использовать его в сценариях сопровождающего:

fgrep -r etc/exports /var/lib/dpkg/info

Результат содержит /var/lib/dpkg/info/nfs-kernel-server.postinst, что указывает на нашего, теперь уже известного, виновника файла.

В противном случае вы можете искать файлы с одинаковыми именами на сайте. Этот поиск «пакетов, которые содержат файлы, имена которых содержат ключевое слово» имеет слишком много результатов, но поиск путей, заканчивающихся ключевым словом, имеет только 14 результатов, один из которых - то /usr/share/nfs-kernel-server/conffiles/etc.exports nfs-kernel-server [not kfreebsd-amd64, kfreebsd-i386], что мы искали.

В AIUI нет поиска в Интернете по всем сценариям сопровождающего всех пакетов (пока?).

mirabilos
источник