Qu'est-ce qui fournit / etc / exports et comment le savoir?

8

J'ai deux machines virtuelles Debian qui ont été construites à partir de la même iso netinstall, mais j'ai probablement installé des packages différents. L'un d'eux a un /etc/exportsfichier pour les montages nfs mais pas l'autre. Je voudrais qu'ils aient tous les deux ce fichier installé par le gestionnaire de paquets.

Je viens du monde Fedora et si j'étais encore dedans, je le ferais yum whatprovides /etc/exports. On me dit que dans le pays Debian, je devrais le faire apt-file search. Cependant, je n'obtiens aucun résultat avec:

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

Qu'est-ce que j'oublie ici?

drs
la source
askubuntu.com/questions/481/…
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功

Réponses:

13

Lorsque vous recherchez un fichier appartenant à un package installé sur votre machine, vous pouvez utiliser dpkg -S(équivalent à dpkg-query -S):

dpkg -S /etc/exports

Dans ce cas, il ne trouvera rien, car il /etc/exportsest créé par un script de maintenance (et ce type de fichier n'est explicitement pas géré par dpkg-query, ni d'ailleurs par apt-file).

Donc , si apt-fileet dkpg -Sne parviennent pas à trouver un fichier, vous pouvez essayer de regarder à travers les scripts de maintenance:

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

Cela devrait correspondre nfs-kernel-serveraux scripts du responsable; c'est le package qui crée /etc/exports, au moins sur mes serveurs NFS.

Stephen Kitt
la source
6

Sur Debian, /etc/exportsn'est inclus dans aucun paquet. Il existe un exemple de fichier de configuration:

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

Vous pouvez copier ceci dans / etc / exports et le modifier à votre satisfaction (il peut très bien y avoir une configuration post-installation nfs qui la copie /etc). Ce fichier est fourni dans le cadre du nfs-kernel-serverpackage:

$ apt-file search /usr/share/nfs-kernel-server/conffiles/etc.exports
nfs-kernel-server: /usr/share/nfs-kernel-server/conffiles/etc.exports
John1024
la source
2

Sans apt-file, et si le paquet que vous recherchez n'est pas installé (alors dpkg -Sc'est votre ami), vous pouvez consulter le site Web Debian pour le fichier:

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

Cependant, il peut être plus facile d'utiliser le formulaire Web (j'ai une fonction shell qui se développe pour cette URL $BROWSERpour moi):

Quant à /etc/exports- comme le montrent les sites ci-dessus, il n'est contenu directement dans aucun paquet. Cependant, si le package est déjà installé, vous pouvez le rechercher dans les scripts du responsable:

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

Le résultat contient /var/lib/dpkg/info/nfs-kernel-server.postinst, ce qui indique notre, désormais connu, coupable du fichier.

À défaut, vous pouvez rechercher des fichiers portant le même nom sur le site Web. Cette recherche de «packages contenant des fichiers dont les noms contiennent le mot-clé» a trop de résultats, mais la recherche de chemins se terminant par le mot-clé n'a que 14 résultats, dont l'un est /usr/share/nfs-kernel-server/conffiles/etc.exports nfs-kernel-server [not kfreebsd-amd64, kfreebsd-i386]ce que nous recherchions.

AIUI il n'y a pas encore de recherche basée sur le Web sur les scripts de maintenance de tous les packages.

mirabilos
la source