Saya baru-baru ini menginstal Samba dan saya mengacaukan /etc/samba/smb.conf
file. Bagaimana saya mendapatkan konfigurasi asli kembali?
ubuntu
debian
samba
package-management
config-files
Frew Schmidt
sumber
sumber
sudo cp /usr/share/samba/smb.conf /etc/samba/smb.conf
Jawaban:
Diedit :
Melihat ini pada pertanyaan kesalahan server . Jika
dpkg-reconfigure foo
tidak berhasil, gunakan ini:Hapus atau ganti nama file konfigurasi yang rusak.
Minta penggantian dari
dpkg
.Ini memberitahu Anda
dpkg
untuk mengganti file konfigurasi yang hilang dengan yang dari deb. Anda mungkin menemukan paket asli .deb di/var/cache/apt/archives
, atau Anda dapat menggunakan salinan baru dari versi yang sama dari repositori distribusi Anda.Ini memberitahu Andadpkg
untuk menimpa file konfigurasi yang ada dengan file .deb. Anda mungkin menemukan paket asli .deb di/var/cache/apt/archives
, atau Anda dapat menggunakan salinan baru dari versi yang sama dari repositori distribusi Anda.sumber
dpkg
untuk menimpa file konfigurasi jika jika tidak meminta izin untuk melakukannya . Itu tidak membuatnya secara ajaib membuat kembali file konfigurasi asli dari paket.--force-confmiss
sebaliknya. dalam kasus khusus ini, misalnya samba, saya pikir--force-confnew
akan melakukan overwrite, tetapi Anda benar bahwa itu tergantung pada rincian skrip konfigurasi paket.Jawaban singkat:
/usr/share/samba/smb.conf
adalah versi asli dari file smb.conf.Ketika dihadapkan pada situasi ini untuk paket apa pun, apa yang saya lakukan adalah salah satu dari yang berikut:
Periksa file cadangan versi asli dari editor Anda. Saya menggunakan Emacs, yang biasanya meninggalkan
foo~
file, dan saya telah mengatur opsi kontrol versi numerik sehingga versi aslinya selalufoo.~1~
. Tapi mungkin Anda melakukannya dengan cara lain, atau menggunakan editor lain. Pertimbangkan untuk memeriksa konfigurasi editor Anda untuk mengaktifkan fitur ini jika Anda belum melakukannya; itu kebiasaan yang baik untuk masuk.Konfigurasikan ulang paket dengan
dpkg-reconfigure PACKAGENAME
. Terkadang ini berhasil. Dalam pengalaman saya itu jarang berhasil; itu tergantung pada bagaimana paket membuat file konfigurasinya.Bersihkan dan instal ulang paket (dengan
apt-get purge packagename
diikuti olehapt-get install packagename
). Ini harus selalu berhasil.Dalam kasus ekstrem Anda harus, setelah membersihkan, secara manual memburu dan menghapus file konfigurasi sebelum menginstal ulang paket, tetapi ini jarang terjadi. Namun, ini akan menghilangkan data dan / atau file konfigurasi lainnya untuk paket, dan itu tidak selalu dapat diterima.
Unduh kode sumber untuk paket (
apt-get source foo
) dan lihat apakah file konfigurasi asli ada sebagai file di sana. Namun, mungkin file config tidak ada sebelumnya, tetapi dibuat saat instalasi oleh skrip post-install paket.Periksa skrip postinst untuk paket (
/var/lib/dpkg/info/foo.postinst
) untuk mencari tahu di mana ia menciptakan file konfigurasi dan bagaimana melakukannya. Kemudian coba ulangi proses secara manual. Ini sedikit kerja, dan tidak selalu mudah.sumber
sudo cp /usr/share/samba/smb.conf /etc/samba/smb.conf
untuk menimpa file conf trash saya dengan yang asli.dpkg-reconfigure <package>
tidak akan mengubah file conf yang diubah secara default.Mungkin cara termudah untuk melakukan ini, jika Anda masih memiliki paket di cache apt adalah menjalankan
di mana nama file paket biasanya kira-kira seperti
<package name>_<version>.deb
(gunakan saja penyelesaian tab). Ini akan berjalan melalui proses yang sama dengan apt-upgrade, dan menanyakan apa yang ingin Anda lakukan ketika menemukan file conf yang diubah. Cukup masukkanN
di setiap prompt. dpkg akan menginstal versi paket dari file conf dengan.dpkg-dist
di akhir nama file. Anda kemudian dapat menggunakanvimdiff
atau beberapa alat penggabung lainnya untuk membandingkan perbedaan, dan memodifikasi file read conf.sumber
Anda dapat mengekstrak deb dan mengambil file asli:
sumber
dpkg-source
lebih mudah, dan menggunakanapt-get source PACKAGE
adalah jauh lebih mudah.packagename.postinst
skrip.Anda dapat mengunduh dan mengekstrak isi paket deb
sumber
Cara terbaik (didapat dari #ubuntu) adalah dengan melakukan ini:
Dalam hal ini artinya
sumber
Anda dapat mengembalikan
smb.conf
file konfigurasi asli seperti ini:Ini pada dasarnya adalah apa yang dilakukan proses instalasi paket asli (pada Debian Squeeze).
Ini akan menimpa Anda saat ini
smb.conf
, jadi buat cadangan terlebih dahulu jika Anda tidak ingin kehilangannya.sumber
dan
akan melakukan pekerjaan itu.
sumber