Dalam Linux, perkhidmatan dan systemctl adalah dua arahan penting dan hampir sama. Persamaan mereka dengan mudah boleh menyebabkan tertanya-tanya bagaimana ia berbeza dan sama ada ia boleh digunakan secara bergantian.
Memahami butiran perkhidmatan dan systemctl akan membolehkan anda menggunakannya secara fleksibel.
Gunakan arahan perkhidmatan untuk menyemak status tembok api
Di Linux, arahan perkhidmatan ialah skrip pembalut yang membolehkan pengguna mengkonfigurasi dan berinteraksi dengan perkhidmatan sistem dengan mudah. Ia mendahului systemd dan berfungsi terutamanya dengan skrip yang terletak di /etc/init.d.
Walaupun systemctl telah menggantikan sebahagian besar kepentingan perkhidmatan sebelum ini, ia tetap relevan melalui banyak ciri warisan.
Peralihan sistem init yang berkaitan daripada SysVinit kepada systemd adalah kontroversi, tetapi cabaran yang semakin meningkat dengan kefungsian sistem init asal menjadikan peralihan ini perlu.
systemd memulakan perkhidmatan secara selari, bukannya secara bersiri, memberikan masa permulaan yang lebih cepat daripada SysVinit dan menyediakan kawalan daemon sistem yang lebih canggih sedikit melalui antara muka baris arahan (CLI).
Gunakan systemctl dalam terminal untuk menyemak status firewall
Sama seperti perkhidmatan, systemctl ialah perintah yang sangat serba boleh yang membolehkan anda mendayakan, memuat semula, memulakan, menghentikan dan menyemak status perkhidmatan yang dijalankan pada sistem Linux.
systemctl bertindak sebagai antara muka yang mudah digunakan dan berkuasa untuk mengkonfigurasi fail dalam systemd, contohnya, menggunakan systemctl anda boleh melumpuhkan perkhidmatan semasa permulaan dengan hanya satu atau dua arahan.
systemctl serasi ke belakang dengan sistem permulaan SysVinit dan digunakan terutamanya dengan perkhidmatan. systemctl bukanlah pengganti langsung perkhidmatan, tetapi ia lebih serba boleh dan fleksibel dari segi alat untuk menguruskan perkhidmatan sistem.
Anda boleh menyelesaikan tugas seperti menyekat atau melumpuhkan perkhidmatan dalam satu atau dua baris arahan.
perkhidmatan dan systemctl sebahagian besarnya mempunyai tujuan yang sama. Banyak persamaan antara mereka adalah disengajakan untuk memudahkan pengguna beralih daripada perkhidmatan kepada systemctl.
Namun, apabila mula menggunakan sistem init pada Linux, terdapat beberapa perbezaan antara kedua-duanya yang perlu anda ketahui.
Sistem permulaan yang berbeza
Perbezaan paling ketara antara perkhidmatan dan systemctl ialah ia tergolong dalam sistem permulaan yang berbeza. perkhidmatan milik SysVinit (System V Init), yang merupakan proses permulaan Linux klasik.
systemctl kepunyaan systemd dan merupakan pengganti SysVinit dan proses permulaan moden yang digunakan pada banyak sistem Linux.
Memandangkan perkhidmatan dan systemctl adalah sebahagian daripada proses pemula yang berbeza, ia mengendalikan fail sistem pemula dalam direktori yang berbeza. service berfungsi dengan fail sistem permulaan yang terletak di /etc/init.d, manakala systemctl berfungsi dengan fail sistem permulaan yang terletak di /lib/systemd.
Biasanya anda akan menemui sistem init systemd dalam pemasangan Linux yang luar biasa, jadi anda perlu membiasakan diri menggunakan systemctl untuk berinteraksi dengannya.
Jika anda bercadang untuk menggunakan sistem yang berfungsi sebelum atau pada masa yang sama seperti systemd dikeluarkan pada tahun 2010, tidak rugi untuk membiasakan diri menggunakan arahan perkhidmatan.
Keserasian
Perkhidmatan masih merupakan arahan yang sangat berguna dari perspektif keserasian - sebagai perintah pembalut ia boleh mengubah hala kepada pengurus perkhidmatan yang digunakan pada sistem yang berbeza. Jika anda akan bekerja dengan pelbagai sistem Linux, anda harus merancang untuk mempelajari dan memasukkannya ke dalam senjata anda.
Fungsi asas
Satu lagi perbezaan utama antara systemctl dan perkhidmatan ialah cara ia beroperasi. service ialah arahan peringkat tinggi yang mengubah hala kepada pengurus perkhidmatan asas yang digunakan pada sistem tertentu, bermakna ia sangat serba boleh merentas sistem. Ia mungkin mengubah hala ke /etc/init.d, pemula, atau bahkan systemctl. Sementara itu, arahan systemctl berinteraksi secara langsung dengan systemd.
Kebolehan
Dari segi tugas yang boleh dicapai, boleh dikatakan dengan selamat bahawa systemctl jauh melebihi perkhidmatan dalam fungsi. Selain fungsi asas seperti memulakan, menghentikan, mendayakan atau melumpuhkan perkhidmatan tertentu, anda juga boleh menggunakan systemctl untuk menetapkan konfigurasi lanjutan.
Memandangkan perkhidmatan mesti serasi dengan pengurus perkhidmatan asas yang bergantung padanya, fungsinya lebih terhad.
perkhidmatan dan systemctl adalah kedua-duanya arahan yang sangat penting untuk menguruskan perkhidmatan sistem. Sama ada anda hanya ingin memanfaatkan sepenuhnya sistem Linux anda atau anda merancang untuk bekerja pada rangkaian korporat, adalah penting untuk membiasakan diri dengan kedua-dua arahan.
Nasib baik, terdapat banyak tutorial yang sangat baik yang boleh membantu anda menjadi mahir menggunakan systemctl dan perkhidmatan di terminal.
Atas ialah kandungan terperinci Apakah perbezaan antara perkhidmatan dan systemctl dalam Linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!