Product SiteDocumentation Site

6.7. Upgrade dari Satu Distribusi Stable ke Berikutnya

Salah satu fitur yang paling terkenal adalah kemampuannya untuk mengupgrade sistem terinstall dari satu rilis stable ke rilis berikutnya: dist-upgrade — istilah yang mashur — besar kontribusinya terhadap reputasi rroyek. Dengan sedikit tindakan pencegahan, mengupgrade sebuah komputer dapat membutuhkan waktu beberapa menit, atau belasan menit, tergantung kecepatan unduh dari repositori paket.

6.7.1. Prosedur yang Direkomendasikan

Karena Debian memiliki beberapa waktu untuk evolusi antara rilis stable, Anda harus membaca catatan rilis sebelum melakukan upgrade.
Pada bagian ini, kita akan fokus mengupgrade sistem Stretch ke Buster. Ini adalah operasi utama pada sebuah sistem; seperti, ini tak pernah 100% bebas-resiko, dan jangan dicoba sebelum semua data-data penting telah dibackup.
Kebiasaan baik lainnya yang membuat upgrade lebih mudah (dan ringkas) adalah membereskan paket terinstall dan tersisa hanya yang diperlukan saja. Peralatan yang membantu untuk melakukan hal tersebua termasuk aptitude, deborphan dan debfoster (lihat Bagian 6.2.7, “Pelacakan Otomatis Paket Terinstall”). Misalnya, Anda dapat menggunakan perintah berikut, kemudian menggunakan mode interaktif aptitude untuk pemeriksaan ulang dan jadwal penghapusan yang rapih:
# deborphan | xargs aptitude --schedule-only remove
Sekarang untuk upgrade itu sendiri. Pertama, Anda perlu mengganti berkas /etc/apt/sources.list untuk memberitahu APT untuk mendapatkan paketnya dari Buster bukannya Stretch. Jika berkas tersebut hanya berisi referensi ke Stable bukan nama kode secara eksplisit, perubahan bahkan tidak diperlukan, karena Stable selalu merujuk ke rilis terbaru Debian. Dalam kedua kasus, basisdata paket tersedia harus disegarkan (dengan perintah apt update atau tombol segarkan di synaptic).
Ketika sumber paket baru ini telah terdaftar, Anda harus melakukan upgrade minimal terlebih dahulu dengan apt upgrade. Dengan melakukan upgrade dalam dua langkah, kita dapat memermudah pekerjaan peralatan manajer paket dan seringkali untuk memastikan bahwa kita memiliki versi terbarunya, yang mungkin memiliki kumpulan perbaikan kutu dan diperlukan perbaikan untuk melengkapi upgrade distribusi lengkap.
Sekali upgrade yang pertama ini selesai, sekarang waktunya untuk menangani upgrade itu sendiri, entah itu menggunakan apt full-upgrade, aptitude, atau synaptic. Anda harus berhati-hati memeriksa aksi yang disarankan sebelum menerapkannya: Anda mungkin ingin menambahkan paket yang disarankan atau tidak memilih paket yang hanya direkomendasikan dan diketahui tidak berguna. Apapun kasusnya, front-end harus muncul dengan sebuah skenario yang berakhir dengan sistem Buster yang koheren dan mutakhir. Kemudian, yang perlu Anda lakukan adalah menunggu ketika paket yang diperlukan diunduh, menjawab pertanyaan-pertanyaan debconf dan mungkin tentang berkas konfigurasi lokal yang telah dimodifikasi, dan duduklah ketika APT melakukan sulapnya.

6.7.2. Menangani Masalah setelah Pembaharuan

Dalam kegemasan usaha terbaik maintainer Debian, upgrade sistem utama tidak selalu selancar yang Anda inginkan. Versi terbaru perangkat lunak mungkin tidak cocok dengan versi sebelumnya (misalnya, perilaku bawaannya atau format data mereka mungkin berubah). Juga, beberapa kutu mungkin terselip oleh crack walaupun fase testing yang selalu mendahului rilis Debian.
Untuk mengantisipasi beberapa masalah ini, Anda dapat menginstall paket apt-listchanges, yang menampilkan informasi tentang kemungkinan masalah di permulaan upgrade paket. Informasi ini dikompilasi oleh maintainer paket Debian dan dimasukkan dalam berkas /usr/share/doc/paket/NEWS.Debian untuk memberi manfaat bagi pengguna. Membaca berkas perubahan ini (melalui apt-listchanges) akan membantu Anda menghindari kejutan buruk.
Anda mungkin terkadang menemukan bahwa versi baru sebuah perangkat lunak sama sekali tidak bekerja. Ini umumnya terjadi jika aplikasi tidak terlalu populer dan belum cukup dites; menit-terakhir pembaharuan dapat pula mengenalkan kemunduran yang hanya ditemukan setelah rilis stable. Dalam kedua kasus tersebut, hal pertama yang dilakukan adalah memeriksa sistem pelacakan kutu pada https://bugs.debian.org/paket, dan periksa apakah masalah tersebut telah dilaporkan. Bila ini yang terjadi, itu juga akan ditampilkan dalam daftar sebelum peningkatan dimulai, kalau Anda memasang apt-listbugs. Jika belum, Anda harus melaporkannya sendiri dengan reportbug. Jika telah diketahui, laporan kutu dan pesan yang berhubungan biasanya merupakan sumber informasi yang baik terkait kutu:
  • terkadang sebuah patch telah ada, dan tersedia pada laporan kutu; Anda dapat mengompilasi ulang versi tetap paket yang rusak di lokal (lihat Bagian 15.1, “Membangun ulang sebuah Paket dari Source-nya”);
  • dalam kasus lain, pengguna mungkin menemukan solusi masalah tersebut dan dibagi dalam penjelasannya dalam balasan ke laporan tersebut;
  • dan dalam kasus lain, paket perbaikkan mungkin telah dipersiapkan dan tersedia secara publik oleh maintainer.
Tergantung pada keparahan kutu, versi terbaru paket mungkin telah dipersiapkan secara spesifik untuk revisi baru rilis stable. Ketika hal ini terjadi, paket perbaikan tersedia di bagian proposed-updates dari mirror Debian (lihat Bagian 6.1.2.3, “Pengajuan Pembaharuan”). Entri yang sesuai dapat ditambahkan sementara ke berkas sources.list, dan paket yang diperbaharui dapat diinstall dengan apt atau aptitude.
Terkadang paket yang diperbaiki belum tersedia di bagian ini karena tertunda validasi oleh Manajer Rilis Stable. Anda dapat memverifikasi apakah itu yang terjadi pada laman web mereka. Daftar paket belum tersedia, namun setidaknya Anda tahu bahwa proses publikasi sedang berjalan.

6.7.3. Membersihkan setelah Peningkatan

APT biasanya memastikan peningkatan yang bersih, menarik dependensi baru dan yang diperbarui, atau menghapus paket yang bertentangan. Tetapi bahkan alat yang hebat, itu tidak dapat mencakup semua tugas yang akan dihadapi pengguna dan administrator setelah peningkatan, karena mereka memerlukan keputusan manusia.

6.7.3.1. Paket-paket yang dihapus dari Arsip Debian

Kadang-kadang Debian FTP Masters menghapus paket dari arsip Debian, karena mengandung bug kritis rilis, ditinggalkan oleh penulis hulu mereka atau pengelola paket mereka, atau sekadar mencapai akhir hidup mereka. Dalam hal ini rilis Debian yang lebih baru tidak membawa paket itu lagi. Untuk menemukan semua paket, yang tidak memiliki sumber paket, gunakan perintah apt-show-versions:
$ apt-show-versions | grep "No available version"
Hasil serupa dapat dicapai dengan aptitude search ~o. Jika paket yang ditemukan tidak diperlukan lagi, mereka harus dibersihkan dari sistem, karena mereka tidak akan menghadapi pembaruan apa pun untuk bug terkait kritis atau keamanan lagi.

6.7.3.2. Paket-paket Transisi dan Dummy

Kadang-kadang, mungkin perlu untuk paket untuk mendapatkan nama baru. Dalam hal ini sering kali paket lama disimpan sebagai paket (hampir) kosong, bergantung pada yang baru dan hanya menginstal berkas wajib di /usr/share/doc/paket/. Paket tersebut disebut paket "dummy" atau "transitional". Jika pengelola paket yang bertanggung jawab juga mengubah bagian paket ini menjadi oldlibs, maka alat seperti aptitude, deborphan, atau debfoster (lihat sidebar ALTERNATIVE deborphan dan debfoster) dapat mengambil paket-paket ini untuk menyarankan penghapusan mereka.
Sayangnya saat ini tidak ada cara ampuh untuk memastikan bahwa paket ini secara otomatis dihapus atau dipilih oleh alat yang disebutkan di atas. Salah satu cara untuk memeriksa apakah sistem masih memiliki beberapa paket ini diinstal, adalah untuk melihat melalui deskripsi paket-paket yang diinstal dan kemudian memeriksa hasilnya. Berhati-hatilah untuk tidak menjadwalkan hasil untuk penghapusan otomatis, karena metode ini dapat menyebabkan positif palsu:
$ dpkg -l | grep ^ii | grep -i -E "(transition|dummy)"
Karena paket baru ditarik sebagai ketergantungan paket transisi, biasanya ditandai sebagai diinstal secara otomatis dan mungkin dijadwalkan untuk penghapusan jika Anda mencoba untuk membersihkan paket transisi dari sistem Anda. Dalam hal ini Anda dapat menggunakan salah satu pendekatan yang dijelaskan di sidebar TIP Penghapusan dan instalasi pada saat yang sama dan Bagian 6.2.7, “Pelacakan Otomatis Paket Terinstall” untuk secara selektif menghapus paket transisi.

6.7.3.3. Berkas-berkas Konfigurasi Tak Terpakai atau Lama

Jika peningkatan berhasil mungkin ada beberapa konfigurasi berkas cruft, baik dari dpkg (lihat Bagian 5.2.3, “Checksums, Daftar Berkas Konfigurasi”), ucf atau dari paket dihapus. Yang terakhir dapat dibersihkan dengan menggunakan apt autoremove --purge. Berkas konfigurasi yang ditangani oleh dpkg atau ucf selama proses peningkatan telah meninggalkan beberapa rekan dengan akhiran khusus (mis. .dpkg-dist, .dpkg-old, .ucf-old). Menggunakan perintah find atau locate dapat membantu melacak mereka. Jika tidak lagi digunakan, mereka dapat dihapus.

6.7.3.4. Berkas yang tak dimiliki oleh sebarang Paket

Kebijakan Debian memberlakukan bahwa paket tidak meninggalkan berkas ketika mereka dibersihkan. Melanggar prinsip ini adalah bug serius dan Anda akan jarang menghadapinya. Jika Anda menemuinya, laporkan; dan jika Anda penasaran, Anda dapat menggunakan paket cruft atau cruft-ng untuk memeriksa sistem Anda untuk berkas yang tidak dimiliki oleh paket apa pun.