Mengenal Linux: Direktori /etc/init.d

Coba Instrumen Kami Untuk Menghilangkan Masalah

Jika Anda menggunakan Linux, kemungkinan besar Anda pernah mendengar tentang init.d direktori. Tapi apa sebenarnya yang dilakukan direktori ini? Itu pada akhirnya melakukan satu hal tetapi melakukan satu hal itu untuk seluruh sistem Anda, jadi init.d sangat penting. Itu init.d direktori berisi sejumlah skrip start / stop untuk berbagai layanan di sistem Anda. Semuanya dari acpid untuk x11-umum dikendalikan dari direktori ini. Tentu saja tidak sesederhana itu.

Jika Anda melihat file / etc direktori Anda akan menemukan direktori yang ada di formulir rc # .d (Di mana # adalah angka yang mencerminkan tingkat inisialisasi tertentu - dari 0 hingga 6). Di dalam masing-masing direktori ini ada sejumlah skrip lain yang mengontrol proses. Skrip ini akan dimulai dengan 'K' atau 'S'. Semua skrip 'K' dijalankan sebelum skrip 'S'. Dan tergantung di mana skrip berada akan menentukan kapan skrip dimulai. Di antara direktori, layanan sistem bekerja sama seperti mesin yang diminyaki dengan baik. Tetapi ada kalanya Anda perlu memulai atau menghentikan proses dengan bersih dan tanpa menggunakan perintah kill atau killall. Di situlah /etc/init.d direktori berguna.

Sekarang jika Anda menggunakan distribusi seperti Fedora, Anda mungkin menemukan direktori ini di /etc/rc.d/init.d . Terlepas dari lokasinya, itu melayani tujuan yang sama.

Untuk mengontrol salah satu skrip di init.d secara manual Anda harus memiliki akses root (atau sudo). Setiap skrip akan dijalankan sebagai perintah dan struktur perintahnya akan terlihat seperti:

/etc/init.d/command OPTION

Dimana perintah adalah perintah sebenarnya untuk menjalankan dan PILIHAN bisa menjadi salah satu dari berikut ini:

  • Mulailah
  • berhenti
  • muat ulang
  • mengulang kembali
  • muat ulang paksa

Paling sering Anda akan menggunakan keduanya mulai berhenti, atau mengulang kembali. Jadi jika Anda ingin menghentikan jaringan Anda, Anda dapat mengeluarkan perintah:

/etc/init.d/networking berhenti

Atau jika Anda membuat perubahan pada jaringan Anda dan perlu memulai ulang, Anda dapat melakukannya dengan perintah berikut:

/etc/init.d/networking restart

Beberapa skrip init yang lebih umum di direktori ini adalah:

  • jaringan
  • samba
  • apache2
  • ftpd
  • sshd
  • tempat perlindungan merpati
  • mysql.dll

Tentu saja mungkin ada skrip yang lebih sering digunakan di direktori Anda - itu tergantung pada apa yang telah Anda instal. Daftar di atas diambil dari instalasi Ubuntu Server 8.10 sehingga instalasi desktop standar akan memiliki lebih sedikit skrip jenis jaringan.

Tapi bagaimana dengan /etc/rc.local

Ada opsi ketiga yang biasa saya gunakan. Opsi ini adalah /etc/rc.local naskah. File ini berjalan setelah semua skrip level init lainnya berjalan, jadi aman untuk meletakkan berbagai perintah yang ingin Anda keluarkan saat startup. Banyak kali saya akan menempatkan instruksi pemasangan untuk hal-hal seperti nfs dalam skrip ini. Ini juga merupakan tempat yang baik untuk menempatkan skrip 'troubleshooting'. Sebagai contoh, suatu ketika saya memiliki mesin yang, karena suatu alasan, samba sepertinya tidak mau memulai. Bahkan setelah memeriksa untuk memastikan daemon Samba telah diatur untuk diinisialisasi saat boot. Jadi, alih-alih menghabiskan seluruh waktu saya di depan dengan ini, saya hanya menempatkan garis:

/etc/init.d/samba mulai

dalam /etc/rc.local script dan Samba bekerja dengan sangat baik. Akhirnya saya akan kembali dan memecahkan masalah ini.

Pikiran terakhir

Linux itu fleksibel. Linux sangat fleksibel sehingga hampir pasti ada banyak cara untuk menyelesaikan satu masalah. Memulai layanan sistem adalah salah satu masalah tersebut. Dengan bantuan /etc/init.d sistem (serta /etc/rc.local ) Anda dapat yakin bahwa layanan Anda akan dimulai.