Mengapa Ubuntu membutuhkan restart untuk menyelesaikan pembaruan?

15

Saya telah mendengar bahwa mesin Linux dapat berjalan berbulan-bulan tanpa memulai ulang. Lalu mengapa Ubuntu mengatakan "Restart diperlukan untuk menyelesaikan pembaruan ..." setelah menginstal pembaruan?

Pengguna Linux dan UNIX membual tentang bagaimana mereka belum me-restart sistem mereka sejak George Bush Sr. adalah presiden.

http://www.tested.com/news/feature/1141-how-often-do-you-really-need-to-reboot-your-pc/

Roland
sumber
3
Kebanyakan orang mengatakan bahwa mereka menjalankan sistem yang sangat rentan, tetapi mereka tidak terhubung ke Internet, atau mereka berada di belakang banyak firewall.
Zoredache

Jawaban:

12

Apa yang Anda baca itu benar. Sebagian besar administrator akan membual tentang waktu aktif mesin mereka. Bisa jadi berhari-hari, berbulan-bulan atau bahkan bertahun-tahun.
Namun, yang perlu Anda ketahui adalah, mesin-mesin itu bukan Sistem Desktop sehari-hari Anda. Mereka adalah mesin Server khusus.

Hal pertama tentang mereka, mereka jarang menjalankan X11. Sebagian besar sistem server biasanya akan selalu hanya di Terminal. Jadi, pemutakhiran di XServer tidak masalah.
Kedua, seperti yang ditunjukkan Karthik, pembaruan ke X Server hanya mengharuskan Anda me-restart X, bukan keseluruhan mesin. Jadi uptime Anda masih tetap.

Hal lain yang sangat penting adalah, sistem Server tidak memperbarui ke Versi Kernel terbaru saat keluar. Di Ubuntu, Anda mungkin menggunakan versi 3.2 sekarang. Pada Sistem Arch saya, saya menggunakan versi 3.6, tetapi banyak dari sistem ini yang membanggakan waktu yang lama, masih mungkin di suatu tempat di baris 2.xx, meskipun sepenuhnya aman dengan tambalan yang di-backport.

Semua pembaruan pada sistem tersebut dilakukan hanya di tempat. Pembaruan pertama-tama diuji pada mesin pengujian, dan setelah pengujian menyeluruh untuk memastikan tidak ada kerusakan, dan bahwa reboot tidak diperlukan untuk mengimplementasikannya, pembaruan tersebut ditingkatkan oleh administrator.

Anda dapat melakukan hal yang sama pada Sistem Ubuntu Anda juga. Tetapi kemudian lupakan tentang pembaruan otomatis. Lakukan sedikit pengujian dan coba dan lakukan pembaruan di tempat. Bahkan kernel dapat ditukar dengan panas. Namun, dibutuhkan banyak keterampilan dan keahlian untuk berhasil melakukannya setiap saat.

darnir
sumber
1
Itu tidak sulit. Cukup gunakan ksplice. ksplice.com/pricing
Zoredache
Saya menyebutkannya dari sudut melakukan seluruh proses secara manual, bukan dengan alat otomasi.
darnir
8

Ini HANYA terjadi jika kernel linux sendiri diperbarui. Semua jenis pembaruan lainnya diterapkan secara langsung. Kernel tidak dapat diganti ketika sedang berjalan dan karenanya membutuhkan reboot.

Pembaruan kernel jarang terjadi selama pembaruan rutin dan biasanya hanya dilakukan selama siklus pemutakhiran (12.04-12.10, dll.)

Anda dapat memilih untuk tidak me-restart, itu akan terus menggunakan Kernel lama.

Sunting : Kernel Hotswapping dapat dilakukan untuk mencegah reboot secara teori, tetapi tampaknya tidak sepele.

Karthik T
sumber
2
Saya baru saja melakukan pembaruan, dan memperbarui beberapa file xserver. Namun OS mengatakan perlu restart untuk menyelesaikan pembaruan. Juga, saya yakin saya pernah membaca di suatu tempat bahwa OS Linux dapat terus berjalan tanpa memulai ulang bahkan setelah pembaruan kernel.
Roland
7
xserver secara teknis TIDAK perlu restart, Anda cukup restart xserver :). Ini hanya instruksi sederhana untuk mengatakan mesin reboot. Dalam banyak kasus, logout login juga cukup.
Karthik T
$ cat /var/run/reboot-required.pkgsoutputs libssl1.0.0- apakah libssl bagian dari kernel?
Dan Dascalescu
3
@DanDascalescu Seharusnya tidak, dan jika Anda bertanya kepada saya, reboot tidak wajib ketika memperbarui openssl / libssl, selama Anda memastikan Anda me-restart semua program / layanan yang menggunakan openssl / libssl. Saya percaya pengelola paket hanya mengambil jalan keluar yang mudah dan bermain aman dengan meminta reboot alih-alih melalui semua proses yang berjalan, memeriksa yang menggunakan libssl dan kemudian melakukan tebakan untuk memetakan proses untuk memulai dan / atau nama layanan sysvinit .
blubberdiblub