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.
In this section, we will focus on upgrading a Buster system to Bullseye. This is a major operation on a system; as such, it is never 100% risk-free, and should not be attempted before all important data has been backed up.
Another good habit which makes the upgrade easier (and shorter) is to tidy your installed packages and keep only the ones that are really needed. Helpful tools to do that include aptitude, deborphan, debfoster, and apt-show-versions (see Bagian 6.2.7, “Pelacakan Otomatis Paket Terinstall”). For example, you can use the following command, and then use aptitude's interactive mode to double check and fine-tune the scheduled removals:
# deborphan | xargs aptitude --schedule-only remove
Now for the upgrading itself. First, you need to change the /etc/apt/sources.list file to tell APT to get its packages from Bullseye instead of Buster. If the file only contains references to Stable rather than explicit codenames, the change isn't even required, since Stable always refers to the latest released version of Debian. In both cases, the database of available packages must be refreshed with the apt update command or the refresh button in synaptic (Bagian 6.2.1, “Inisialisasi”).
Once these new package sources are registered, you should first do a minimal upgrade with apt upgrade et al. as described in Bagian 6.2.3, “Pembaharuan Sistem”. By doing the upgrade in two steps, we ease the job of the package management tools and often ensure that we have the latest versions of those, which might have accumulated bugfixes and improvements required to complete the full distribution upgrade.
Once this first upgrade is done, it is time to handle the upgrade itself, either with apt full-upgrade, aptitude, or synaptic (Bagian 6.7, “Upgrade dari Satu Distribusi Stable ke Berikutnya”). You should carefully check the suggested actions before applying them: you might want to add suggested packages or deselect packages which are only recommended and known not to be useful. In any case, the frontend should come up with a scenario ending in a coherent and up-to-date Bullseye system. Then, all you need is to do is wait while the required packages are downloaded, answer the debconf questions and possibly those about locally modified configuration files, and sit back while APT does its magic.

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.
You might sometimes find that the new version of a software doesn't work at all. This generally happens if the application isn't particularly popular and hasn't been tested enough; a last-minute update can also introduce regressions which are only found after the stable release. In both cases, the first thing to do is to have a look at the bug tracking system at https://bugs.debian.org/package, and check whether the problem has already been reported. If this is case, it will be also listed before the upgrade begins if you have apt-listbugs installed. If it hasn't, you should report it yourself with reportbug. If it is already known, the bug report and the associated messages are usually an excellent source of information related to the bug:
  • 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

Sometimes the Debian ftpmasters remove packages from the Debian archive, because they contain release critical bugs, were abandoned by their upstream author or their package maintainer, or simply reached their end of life. In this case a newer Debian release does not ship the package anymore. To find all packages, which do not have a package source, use the apt-show-versions command:
$ 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

If the upgrade was successful there might be some configuration file cruft, either from dpkg (see Bagian 5.2.3, “Checksums, List of Configuration Files, et al.”), ucf or from removed packages. The latter can be purged by using apt autoremove --purge. The configuration files that were handled by dpkg or ucf during the upgrade process have left some counterparts with a dedicated suffix, e.g. .dpkg-dist, .dpkg-old, .ucf-old. Using the find or locate command can help to track them down. If they are no longer of any use, they can be deleted.

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.