Cosa fornisce / etc / exports e come posso scoprirlo?


8

Ho due macchine virtuali Debian che sono state costruite dallo stesso iso netinstall, ma probabilmente hanno pacchetti diversi installati. Uno di questi ha un /etc/exportsfile per i montaggi di nfs ma l'altro no. Vorrei che entrambi avessero questo file installato dal gestore dei pacchetti.

Vengo dal mondo Fedora e se ci fossi ancora dentro, lo farei yum whatprovides /etc/exports. Mi è stato detto che in terra Debian, dovrei farlo apt-file search. Tuttavia, non sto ottenendo risultati con:

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

Cosa mi sto perdendo qui?


Risposte:


13

Quando cerchi un file appartenente a un pacchetto installato sul tuo computer, puoi usare dpkg -S(equivalente a dpkg-query -S):

dpkg -S /etc/exports

In questo caso però non troverà nulla, perché /etc/exportsè creato da uno script del manutentore (e quel tipo di file non è esplicitamente gestito da dpkg-query, o per quello da apt-file).

Quindi se apt-filee dkpg -Snon riesci a trovare un file, puoi provare a consultare gli script del manutentore:

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

Questo dovrebbe corrispondere nfs-kernel-serveragli script del manutentore; questo è il pacchetto che crea /etc/exports, almeno sui miei server NFS.


6

Su Debian, /etc/exportsnon è incluso in nessun pacchetto. Esiste un file di configurazione di esempio:

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

Puoi copiarlo su / etc / exports e modificarlo a tuo piacimento (potrebbe esserci un setup post-installazione di nfs che lo copia su /etc). Questo file viene fornito come parte del nfs-kernel-serverpacchetto:

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

2

Senza apt-file, e se il pacchetto che stai cercando non è installato (allora dpkg -Sè tuo amico), puoi guardare il sito Web Debian per il file:

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

Tuttavia, potrebbe essere più semplice utilizzare il modulo Web (ho una funzione shell che si espande in questo URL $BROWSERper me):

Per quanto riguarda /etc/exports- come mostrano i siti di cui sopra, non è contenuto direttamente in nessun pacchetto. Tuttavia, se il pacchetto è già installato, è possibile utilizzarlo negli script del manutentore:

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

Il risultato contiene /var/lib/dpkg/info/nfs-kernel-server.postinst, che indica il nostro, ormai noto, colpevole del file.

In caso contrario, è possibile cercare file con nomi simili sul sito Web. Questa ricerca di "pacchetti che contengono file i cui nomi contengono la parola chiave" ha troppi risultati, ma la ricerca di percorsi che terminano con la parola chiave ha solo 14 risultati, uno dei quali è /usr/share/nfs-kernel-server/conffiles/etc.exports nfs-kernel-server [not kfreebsd-amd64, kfreebsd-i386], che è quello che stavamo cercando.

AIUI non esiste una ricerca basata sul Web sugli script del manutentore di tutti i pacchetti (ancora?).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.