O que fornece o / etc / exports e como descubro isso?

8

Eu tenho duas máquinas virtuais Debian que foram construídas a partir do mesmo netinstall iso, mas provavelmente tem pacotes diferentes instalados. Um deles tem um arquivo /etc/exports para montagens nfs, mas o outro não. Eu gostaria que ambos tivessem este arquivo como instalado pelo gerenciador de pacotes.

Eu venho do mundo Fedora e ainda estava nele, eu iria yum whatprovides /etc/exports . Disseram-me que, no Debian, devo fazer apt-file search . No entanto, não estou obtendo nenhum resultado com:

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

O que estou perdendo aqui?

    
por drs 22.04.2015 / 23:52

3 respostas

13

Quando você estiver procurando por um arquivo pertencente a um pacote instalado em sua máquina, você pode usar dpkg -S (equivalente a dpkg-query -S ):

dpkg -S /etc/exports

Nesse caso, ele não encontrará nada, porque /etc/exports é criado por um script do mantenedor (e esse tipo de arquivo não é explicitamente tratado por dpkg-query ou por apt-file ).

Portanto, se apt-file e dkpg -S não conseguirem encontrar um arquivo, você pode tentar examinar os scripts do mantenedor:

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

Isso deve corresponder aos scripts de mantenedor do nfs-kernel-server ; esse é o pacote que cria /etc/exports , pelo menos nos meus servidores NFS.

    
por 23.04.2015 / 00:07
6

No Debian, /etc/exports não está incluído em nenhum pacote. Existe um arquivo de configuração de amostra:

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

Você pode copiar isso para / etc / exports e editá-lo para sua satisfação (pode muito bem haver alguma configuração pós-instalação do nfs que copie isso para /etc ). Este arquivo é fornecido como parte do pacote 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
    
por 23.04.2015 / 00:08
2

Sem apt-file e se o pacote que você está procurando não está instalado (então dpkg -S é seu amigo), você pode consultar o site do Debian para o arquivo:

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

Pode ser mais fácil usar o formulário da web (eu tenho uma função de shell que se expande para esse URL em $BROWSER para mim):

  • link (também no link ) para backports oldstable, stable, testing, unstable, experimental e relacionados
  • link para versões mais antigas do Debian, como sarge, etch, lenny,…

Quanto a /etc/exports - como os sites acima mostram, ele não está contido diretamente em nenhum pacote. No entanto, se você já tiver o pacote instalado, poderá fazer uma busca nele nos scripts do mantenedor:

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

O resultado contém /var/lib/dpkg/info/nfs-kernel-server.postinst , o que aponta para o nosso, agora conhecido, culpado pelo arquivo.

Se você não conseguir, poderá procurar arquivos com nomes semelhantes no site. Esta pesquisa por “pacotes que contêm arquivos cujos nomes contêm as palavra-chave ” tem muitos resultados, mas procura por os caminhos que terminam com a palavra-chave têm apenas 14 resultados, um dos quais é /usr/share/nfs-kernel-server/conffiles/etc.exports nfs-kernel-server [not kfreebsd-amd64, kfreebsd-i386] , que é o que procurávamos.

AIUI não existe uma pesquisa baseada na web sobre os scripts de manutenção de todos os pacotes (ainda?).

    
por 23.04.2015 / 12:48

Tags