Apa yang menyediakan / etc / ekspor dan bagaimana cara mengetahuinya?


8

Saya memiliki dua mesin virtual Debian yang dibangun dari iso netinstall yang sama, tetapi mungkin ada paket yang berbeda diinstal. Salah satu dari mereka memiliki /etc/exportsfile untuk nfs mounts tetapi yang lainnya tidak. Saya ingin mereka berdua menginstal file ini oleh manajer paket.

Saya datang dari dunia Fedora dan jika saya masih di dalamnya, saya akan melakukannya yum whatprovides /etc/exports. Saya diberitahu bahwa di tanah Debian, saya harus melakukannya apt-file search. Namun, saya tidak mendapatkan hasil apa pun dengan:

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

Apa yang kulewatkan di sini?


Jawaban:


13

Saat Anda mencari file milik paket yang diinstal pada mesin Anda, Anda dapat menggunakan dpkg -S(setara dengan dpkg-query -S):

dpkg -S /etc/exports

Dalam hal ini meskipun tidak akan menemukan apa pun, karena /etc/exportsdibuat oleh skrip pengelola (dan jenis file itu secara eksplisit tidak ditangani oleh dpkg-query, atau dalam hal ini oleh apt-file).

Jadi jika apt-filedan dkpg -Sgagal menemukan file, Anda dapat mencoba melihat skrip pengelola:

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

Ini harus cocok nfs-kernel-serverdengan skrip pengelola; itulah paket yang membuat /etc/exports, setidaknya di server NFS saya.


6

Di Debian, /etc/exportstidak termasuk dalam paket apa pun. Ada file konfigurasi sampel:

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

Anda dapat menyalin ini ke / etc / ekspor dan mengeditnya untuk kepuasan Anda (mungkin ada beberapa set-up post-install nfs yang menyalin ini ke /etc). File ini disediakan sebagai bagian dari nfs-kernel-serverpaket:

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

2

Tanpa apt-file, dan jika paket yang Anda cari tidak diinstal (maka itu dpkg -Sadalah teman Anda), Anda dapat melihat situs web Debian untuk file tersebut:

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

Mungkin lebih mudah menggunakan formulir web (saya memiliki fungsi shell yang memperluas URL ini $BROWSERbagi saya):

Adapun /etc/exports- seperti yang ditunjukkan situs di atas, itu tidak terkandung langsung dalam paket apa pun. Namun, jika Anda sudah menginstal paket, Anda dapat melihatnya dalam skrip pengelola:

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

Hasilnya berisi /var/lib/dpkg/info/nfs-kernel-server.postinst, yang mengarah ke penyebab kami, yang sekarang dikenal, untuk file tersebut.

Jika gagal, Anda dapat mencari file dengan nama yang sama di situs web. Pencarian ini untuk "paket yang berisi file yang namanya mengandung kata kunci" memiliki terlalu banyak hasil, tetapi mencari jalur yang berakhir dengan kata kunci hanya memiliki 14 hasil, salah satunya adalah /usr/share/nfs-kernel-server/conffiles/etc.exports nfs-kernel-server [not kfreebsd-amd64, kfreebsd-i386], yang adalah apa yang kami cari.

AIUI tidak ada pencarian berbasis web di atas semua skrip pengelola paket (belum?).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.