Kami menjalankan server produksi berbasis Ubuntu 9.10 Karmic Koala , kernel hampir terbaru (2.6.38.2-grsec-xxxx-grs-ipv6-64) tetapi repositori paket karmik sekarang sudah ketinggalan jaman, mis. Nginx adalah 0.7.62 - benar-benar buggy - sementara stabil terbaru adalah 1.0.x !!
Selain itu Karmic baru saja mencapai akhir hidupnya.
Pertanyaan ini: Praktik terbaik untuk memperbarui paket UNIX? terlihat serupa tetapi sebenarnya hanya mencakup beberapa saran tentang manajer paket; sama sekali tidak apa yang saya butuhkan!
jadi opsi yang saya lihat adalah:
- dapatkan mesin baru, instal dari awal, bermigrasi
- peningkatan distribusi
- gunakan repositori yang berbeda ( launchpad / ppa / backport / pinning )
- bangun sendiri
Kerugian 1. cukup jelas.
Saya tidak berani melakukan jalur dist-upgrade, karena downtime dan kemungkinan konsekuensi bencana tidak mungkin diprediksi untuk server produksi, dan saat ini sebagian besar membangun kembali paket yang saya butuhkan. Tapi saya yakin saya mungkin kehilangan beberapa.
Tidak terlalu jelas bagi saya apa risiko (stabilitas / kompatibilitas) menggunakan backport ubuntu, selain itu tidak ada yang secara resmi disediakan untuk 9,10 lagi. Launchpad adalah pengembangan individual, pertanyaan serupa - seberapa baik ini daripada menyusun sendiri.
Membangun paket tampaknya baik-baik saja, tetapi: 1. kadang-kadang saya mengalami kesulitan mereproduksi opsi ./configure yang benar untuk menggunakan kembali file konfigurasi saya yang ada 1. Saya yakin ada banyak paket dan dependensi yang sekarang cukup usang dan sumber yang mungkin bug
Akhirnya ... bagaimana dengan paket 'lama' di distrib baru-baru ini? Saya kira tidak ada cara lain selain membangunnya sendiri? Apakah kombinasi 2. dan 4. akhirnya jalur terbaik?
Apakah ada konsensus obyektif tentang apa cara terbaik untuk melakukan ini, atau alasan mengapa beberapa opsi saya baik-baik saja / tidak baik?
Jika benar-benar tidak ada, saya akan menerima bahwa pertanyaannya ditutup sebelum membuat utas yang tak ada habisnya!
Jawaban:
Mempertahankan distribusi Anda sendiri adalah banyak pekerjaan. Bahkan jika Anda mempertahankan backport, Anda akan segera kewalahan oleh masalah keamanan untuk diperbaiki, dan harus menarik perpustakaan tingkat rendah untuk terus memperbarui perangkat lunak Anda, yang mungkin merusak hal-hal lain (saya memelihara server yang menjalankan distro berusia 6 tahun, itu adalah tidak menyenangkan).
Memutakhirkan umumnya merupakan solusi yang baik.
do-release-upgrade
dibuat dengan baik, dan Anda harus dapat memutakhirkan tanpa masalah (terutama jika Anda hanya menggunakan paket resmi).Solusi favorit saya mungkin adalah jalur instal ulang. Lebih khusus lagi, server Anda harus dikelola menggunakan sistem manajemen konfigurasi seperti Wayang, Cfengine atau Chef. Jika semua kebutuhan konfigurasi / paket Anda ditentukan menggunakan alat tersebut dan data Anda aman di partisi yang terpisah, jauh lebih mudah untuk menginstal ulang dengan cepat. Anda cukup menginstal distribusi baru tanpa menghapus partisi data, dan kemudian jalankan alat manajemen konfigurasi untuk mengatur ulang paket / konfigurasi Anda. Saya percaya ini adalah cara terbersih untuk dilakukan, terutama jika Anda memiliki beberapa server untuk dikelola.
Jika Anda menggunakan paket non-resmi, Anda mungkin ingin mengidentifikasi mereka sebelum Anda meningkatkan / menginstal ulang. pemeriksaan pemeliharaan dapat membantu Anda mengidentifikasi paket-paket yang tidak dikelola secara resmi oleh Ubuntu:
Jika Anda ingin menginstal ulang, Anda juga dapat mengekspor daftar paket yang diinstal:
dan basis data debconf Anda:
Sebagai catatan, karena Anda saat ini menggunakan Karmic, mungkin tidak terlalu keras untuk meningkatkan ke Lucid, yang merupakan rilis LTS, masih didukung hingga 2015 untuk paket server utama. Ini akan memberi Anda cukup waktu untuk menyiapkan instalasi otomatis yang layak untuk masa depan.
Ketika Anda bertanya tentang paket Launchpad, saya kira maksud Anda PPA. Ada banyak PPA berbeda. Beberapa eksperimental, beberapa stabil. Beberapa dikelola oleh pengembang resmi Ubuntu, beberapa dikelola oleh orang-orang yang tidak tahu cara melakukan paket dengan benar. Sulit untuk mengatakan secara umum jika paket yang Anda temukan di PPA baik, tidak ada aturan umum. Petunjuk terbaik dalam kasus ini mungkin terlalu melihat pemilik PPA untuk mendapatkan gagasan tentang kemungkinan kualitas paket mereka.
sumber
maintenance-check
dapat membantu Anda dengan itu (lihat edit saya).Jika server tidak terekspos ke dunia, dan Anda benar-benar mempercayai pengguna Anda (umumnya itu bukan ide yang baik), maka jika itu berfungsi, Anda bisa membiarkannya.
Jika dengan cara apa pun terekspos ke dunia luar, dan / atau Anda menghibur gagasan pengguna yang sah bermain dengan itu dengan cara yang tidak sah, maka Anda benar-benar membutuhkan perbaikan dan tambalan untuk perangkat lunak yang diinstal.
Dalam hal ini, Anda memiliki dua opsi:
Jalankan distribusi yang didukung, dan dapatkan pembaruan ke perangkat lunak Anda, atau
Backport semua perbaikan ke distribusi Anda yang tidak didukung, yang, terus terang, tampaknya tidak layak.
Saya bukan pengguna Ubuntu, jadi saya tidak bisa mengomentari kelengkapan tambalan yang akan Anda lewati melalui opsi 3, tetapi jika Anda ragu, saya akan menganggap Anda tidak akan memiliki cakupan lengkap.
Solusi terbaik adalah pindah ke versi LTS Ubuntu, yang akan memberi Anda dukungan untuk versi paket yang diberikan untuk beberapa waktu mendatang. Pada waktunya, beberapa paket akan kedaluwarsa, tetapi lingkungan Anda akan memiliki tambalan keamanan dan akan stabil (tidak ada gundukan versi paket). Dari pengalaman saya, stabilitas lingkungan kerja yang dikenal biasanya lebih berharga daripada fitur baru.
Tampaknya, posisi Anda saat ini tidak dapat dipertahankan, dan Anda harus pindah. Satu-satunya cara yang aman adalah mendapatkan mesin kedua (atau mesin virtual) dan untuk menguji migrasi hingga Anda memiliki prosedur sukses yang berulang, kemudian menerapkannya pada mesin produksi. Jika Anda menggunakan cadangan Anda untuk melakukan migrasi tes, Anda akan memiliki kesempatan baik untuk menguji prosedur cadangan Anda juga.
sumber
Satu-satunya cara nyata ke depan adalah peningkatan distribusi. Saya bisa mengerti Anda menjadi gugup tentang itu, karena sekarang Anda akan melompat beberapa rilis ke depan (11,04 baru saja dirilis).
Saya akan merekomendasikan untuk membuat klon dari drive di mesin ini dan kemudian menggunakan komputer terpisah untuk menjalankan dengan klon, dan menggunakannya untuk melakukan serangkaian upgrade tes. Catat semua masalah yang dihadapi dan ulangi sampai Anda memiliki prosedur yang jelas untuk semuanya. Kemudian terapkan ini ke server langsung Anda.
Jika Anda tidak mampu melakukan downtime, maka migrasi adalah satu-satunya jalan keluar Anda. Lupakan tentang pinning dan backports, itu hanya akan membuat Anda tetap hidup untuk jangka waktu terbatas. Dan opsi "roll your own" bahkan tidak layak dipertimbangkan. Nilai saya hanya 2 sen.
sumber