reboot atau "systemctl daemon-reload" untuk perubahan ke /etc/systemd/system.conf?

10

Dalam CentOS-7 apakah perubahan dalam opsi dalam /etc/systemd/system.conf systemd memerlukan reboot atau apakah "systemctl daemon-reload" sudah cukup?

Jeff Kubina
sumber

Jawaban:

15

Tidak, daemon-reload akan memuat ulang semua file unit, bukan konfigurasi untuk systemd itu sendiri. Namun, # systemctl daemon-reexecakan mengeksekusi kembali systemd dan menyebabkannya mencerna konfigurasi baru dalam proses.

Dari halaman manual systemctl:

daemon-reexec
       Reexecute the systemd manager. This will serialize the manager
       state, reexecute the process and deserialize the state again. This
       command is of little use except for debugging and package upgrades.
       Sometimes, it might be helpful as a heavy-weight daemon-reload.
       While the daemon is being reexecuted, all sockets systemd listening
       on behalf of user configuration will stay accessible.

Ketika halaman manual mengatakan daemon-reexec berguna untuk upgrade paket, sebagian besar berarti bahwa perintah ini mengeksekusi biner baru apa pun yang ada dan memproses ulang konfigurasinya. NAMUN, RPM yang kami gunakan untuk memutakhirkan systemd sudah berisi skrip untuk melakukan ini, jadi biasanya tidak pernah diperlukan dalam kasus peningkatan normal.

Atau Anda bisa reboot. Baik akan melakukannya.

Pengumpul informasi
sumber
3
Perhatikan bahwa paket systemd RPM termasuk skrip yang sudah daemon-reexec ketika paket ditingkatkan, jadi Anda tidak perlu melakukan ini secara manual dalam situasi itu.
Michael Hampton
1
Satu-satunya hal yang benar-benar membutuhkan reboot lagi adalah kernel. Sebagian besar jika tidak semua layanan memulai ulang sendiri (jika sudah berjalan) dari dalam skrip RPM selama peningkatan menggunakan systemctl try-restart.
Michael Hampton
2
@MichaelHampton ini sebenarnya sedikit lebih rumit: tidak hanya kernel, tetapi juga libc (dan, terkadang, device-mapper userland juga) peningkatan memerlukan reboot penuh. Tentu, Anda dapat menentukan dan me-restart setiap layanan yang terpengaruh, tetapi karena pada dasarnya semua layanan terkait dengan libc, well, umumnya lebih cepat untuk me-reboot ...
shodanshok
1
@Motivasi libcbukan layanan, melainkan GNU C Library, yang dihubungkan oleh hampir semua linux yang dapat dieksekusi. Jadi, setelah libcupgrade, Anda harus memulai kembali program / proses yang sedang berjalan; metode yang lebih mudah adalah me-reboot mesin.
shodanshok
1
@ Dimotivasi Jawabannya adalah berbicara tentang skrip dalam paket RPM, yang digunakan oleh distribusi Red Hat, tetapi tidak oleh distribusi turunan Debian. Ini menggunakan metode pengemasan yang berbeda, tetapi juga memanggil systemctl untuk memulai kembali layanan atau systemd itu sendiri.
Michael Hampton