Meningkatkan Fedora Linux Menggunakan Plugin Sistem DNF
Perintah dnf system-upgrade (tertanam di DNF5 dan plugin dnf-plugin-system-upgrade untuk pengelola paket DNF4) digunakan untuk meningkatkan sistem Anda ke rilis Fedora Linux terbaru. Untuk Fedora Silverblue dan Fedora CoreOS yang menggunakan rpm-ostree, Anda dapat merujuk ke dokumentasi rpm-ostree untuk detail lebih lanjut.
Ini adalah metode peningkatan melalui baris perintah yang direkomendasikan. Cara kerjanya adalah sebagai berikut:
-
Paket-paket diunduh saat sistem berjalan secara normal
-
Sistem melakukan reboot ke dalam lingkungan khusus (diimplementasikan sebagai target systemd) untuk menginstalnya
-
Setelah selesai, sistem melakukan reboot ke rilis Fedora Linux yang baru
Periksa Catatan Rilis
Sebelum memulai proses upgrade, periksa catatan rilis untuk versi Fedora Linux yang akan Anda upgrade. Hal ini memastikan Anda mengetahui perubahan penting, fitur baru, dan potensi masalah yang mungkin memengaruhi sistem Anda.
Lihat catatan rilis terbaru di: https://docs.fedoraproject.org/id/fedora/latest/release-notes/
Melakukan peningkatan sistem
|
Cadangkan data Anda sebelum melakukan peningkatan sistem secara menyeluruh karena setiap peningkatan sistem berpotensi berisiko. Sebagai langkah pencegahan, unduh citra Fedora Workstation Live untuk berjaga-jaga jika terjadi masalah. |
-
Untuk memperbarui rilis Fedora Linux Anda melalui baris perintah, lakukan:
sudo dnf upgrade --refreshdan reboot komputer Anda.
Penting: Jangan lewati langkah ini. Pembaruan sistem diperlukan untuk menerima kunci penandatanganan dari rilis dengan versi lebih tinggi, dan sering kali memperbaiki masalah yang terkait dengan proses peningkatan.
-
Unduh paket-paket yang telah diperbarui:
sudo dnf system-upgrade download --releasever=43Ubah nomor
--releasever=jika Anda ingin meningkatkan ke rilis yang berbeda. Sebagian besar pengguna akan ingin meningkatkan ke rilis stabil terbaru, yaitu43, namun dalam beberapa kasus, seperti ketika Anda saat ini menjalankan rilis yang lebih lama dari42, Anda mungkin hanya ingin meningkatkan ke Fedora Linux42. Peningkatan sistem hanya diuji dan didukung secara resmi hingga paling banyak 2 rilis (misalnya dari41ke43). Jika Anda perlu meningkatkan lebih dari dua rilis, disarankan untuk melakukannya dalam beberapa langkah kecil (baca selengkapnya). -
Jika beberapa paket Anda memiliki dependensi yang tidak terpenuhi, peningkatan akan menolak untuk dilanjutkan sampai Anda menjalankannya kembali dengan opsi tambahan
--allowerasing. Hal ini sering terjadi pada paket yang diinstal dari repositori pihak ketiga yang pembaruan repositorinya belum dirilis. Pelajari hasil keluaran dengan cermat dan periksa paket mana yang akan dihapus. Tidak ada di antaranya yang seharusnya penting untuk fungsi sistem, tetapi beberapa mungkin berpengaruh pada produktivitas Anda.-
Jika terdapat dependensi yang tidak terpenuhi, Anda terkadang dapat melihat lebih banyak detail dengan menambahkan opsi
--bestpada baris perintah. -
Jika Anda ingin menghapus atau memasang beberapa paket secara manual sebelum menjalankan kembali
dnf system-upgrade download, disarankan untuk melakukan operasi tersebut dengan opsi baris perintah--setopt=keepcache=1. Jika tidak, seluruh cache paket akan dihapus setelah operasi Anda, dan Anda perlu mengunduh semua paket tersebut lagi.
-
-
Ketika kunci GPG baru diimpor, Anda akan diminta untuk memverifikasi sidik jari kunci tersebut. Rujuk ke https://fedoraproject.org/security untuk melakukannya.
-
Picu proses peningkatan, tergantung pada versi DNF yang digunakan oleh sistem Anda:
Jika Anda menggunakan DNF 4 (default pada rilis Fedora yang lebih lama):
sudo dnf system-upgrade reboot
Ini akan segera melakukan reboot pada mesin Anda ke lingkungan peningkatan khusus. Tutup semua program dan simpan pekerjaan Anda terlebih dahulu. Tidak ada hitungan mundur atau konfirmasi yang diberikan.
Jika Anda menggunakan DNF 5 (mulai dari Fedora 41+):
sudo dnf5 offline reboot
Ini melakukan peningkatan secara offline selama proses boot berikutnya. Untuk membatalkan peningkatan dan menghapus berkas yang telah diunduh:
sudo dnf5 offline clean
-
Setelah proses peningkatan selesai, sistem Anda akan melakukan reboot kedua kali ke rilis Fedora Linux yang telah diperbarui.
Tugas opsional setelah peningkatan
Berikut beberapa tugas yang dapat Anda lakukan setelah peningkatan berhasil.
Perbarui berkas konfigurasi sistem
Sebagian besar berkas konfigurasi disimpan di folder /etc. Jika Anda telah mengubah berkas konfigurasi paket, RPM akan membuat berkas baru dengan ekstensi .rpmnew (file konfigurasi default yang baru) atau .rpmsave (file konfigurasi lama Anda yang dicadangkan). Anda dapat mencari file-file ini, atau menggunakan alat rpmconf yang mempermudah proses ini. Untuk menginstal rpmconf, masukkan perintah:
sudo dnf install rpmconf
Setelah instalasi selesai, masukkan perintah:
sudo rpmconf -a
|
Beberapa paket pihak ketiga menempatkan berkas konfigurasi yang telah diedit di |
Untuk informasi lebih lanjut, Anda dapat merujuk ke halaman manual (man rpmconf).
Jika Anda menggunakan rpmconf untuk memperbarui berkas konfigurasi sistem yang disertakan dalam paket yang telah ditingkatkan, beberapa berkas konfigurasi mungkin berubah. Setelah peningkatan, Anda harus memverifikasi bahwa /etc/ssh/sshd_config, /etc/nsswitch.conf, /etc/ntp.conf, dan lainnya sesuai harapan. Misalnya, jika OpenSSH diperbarui, maka sshd_config akan dikembalikan ke konfigurasi paket default. Konfigurasi default paket tidak mengaktifkan autentikasi kunci publik dan tetap mengizinkan autentikasi kata sandi.
Perbarui bootloader GRUB pada sistem BIOS
Sistem dengan firmware BIOS memiliki paket RPM GRUB yang diperbarui. Namun, bootloader yang terpasang atau tertanam tidak pernah diperbarui secara otomatis. Sebaiknya perbarui bootloader di antara versi rilis Fedora Linux.
Temukan node perangkat tempat direktori /boot/ berada:
sudo mount | grep "/boot "
/dev/sda4 on /boot type ext4 (rw,relatime,seclabel)
Node perangkat tersebut adalah /dev/sda4. Instal ulang bootloader dengan menentukan node perangkat tanpa angka:
sudo grub2-install /dev/sda
Keluaran yang benar seharusnya seperti ini:
Menginstal untuk platform i386-pc.
Instalasi selesai. Tidak ada kesalahan yang dilaporkan.
Bersihkan paket yang sudah tidak digunakan
Pada setiap rilisnya, Fedora menghentikan beberapa paket. Ada berbagai alasan; paket menjadi usang, tidak lagi dikembangkan, atau maintainer mengundurkan diri. Fedora tidak lagi mendistribusikan paket-paket ini; namun, paket tersebut masih ada di sistem Anda. Paket-paket ini tidak akan menerima pembaruan. Sangat disarankan untuk menghapusnya.
Jika Anda meningkatkan satu rilis (misalnya Fedora Linux 42 ke 43), jalankan perintah berikut:
sudo dnf install remove-retired-packages
remove-retired-packages
Jika Anda meningkatkan dua rilis (misalnya Fedora Linux 41 ke 43), Anda harus menyertakan versi rilis lama pada perintah remove-retired-packages:
sudo dnf install remove-retired-packages
remove-retired-packages 41
| Peningkatan lebih dari dua rilis tidak didukung. |
Bersihkan paket lama
Anda dapat melihat paket duplikat (paket dengan beberapa versi terpasang) dengan:
sudo dnf repoquery --duplicates
Dan Anda dapat menghapusnya dengan:
sudo dnf remove --duplicates
|
Perintah ini menggunakan biner Versi DNF4 yang lebih lama tersedia sebagai |
|
Jalankan |
Untuk paket dari repositori resmi, versi terbaru seharusnya sudah terpasang. Namun, beberapa paket yang masih ada di sistem Anda mungkin tidak lagi tersedia di repositori. Untuk melihat daftar paket tersebut, jalankan:
sudo dnf list --extras
Jika Anda melihat paket yang tidak diperlukan atau tidak digunakan, Anda dapat menghapusnya dengan:
sudo dnf remove $(sudo dnf repoquery --extras --exclude=kernel,kernel-\*,kmod-\*)
Anda dapat dengan aman menghapus paket yang sudah tidak digunakan dengan:
sudo dnf autoremove
|
DNF menentukan bahwa suatu paket sudah tidak dibutuhkan jika Anda tidak pernah secara eksplisit memintanya untuk diinstal dan tidak ada paket lain yang memerlukannya. Namun, itu tidak berarti bahwa paket tersebut tidak berguna atau tidak Anda gunakan. Hapus hanya paket yang benar-benar Anda yakin tidak diperlukan. |
Clean-up old kernels
Setelah Anda melakukan boot ke kernel terbaru dan menguji sistem, Anda dapat menghapus kernel sebelumnya. Kernel lama tetap ada bahkan setelah menjalankan dnf autoremove untuk mencegah penghapusan yang tidak disengaja.
Salah satu cara termudah untuk menghapus kernel lama adalah dengan menggunakan skrip yang mempertahankan kernel terbaru. Skrip di bawah ini akan berfungsi setiap kali Fedora memperbarui kernel, dan tidak bergantung pada peningkatan sistem.
#!/usr/bin/env bash
old_kernels=($(dnf repoquery --installonly --latest-limit=-1 -q))
if [ "${#old_kernels[@]}" -eq 0 ]; then
echo "No old kernels found"
exit 0
fi
if ! dnf remove "${old_kernels[@]}"; then
echo "Failed to remove old kernels"
exit 1
fi
echo "Removed old kernels"
exit 0
Bersihkan kunci lama yang dipercaya untuk penandatanganan paket RPM
Kunci dari rilis Fedora yang lebih lama dan repositori pihak ketiga akan menumpuk di database RPM seiring waktu. Anda dapat menghapus kunci yang tidak lagi direferensikan dari /etc/yum.repos.d/ dengan perintah berikut:
sudo dnf install clean-rpm-gpg-pubkey
sudo clean-rpm-gpg-pubkey
Bersihkan symlink lama
Mungkin terdapat beberapa symlink rusak di sistem berkas setelah peningkatan. Anda dapat membersihkan tautan rusak tersebut dengan menginstal utilitas symlinks dan menghapus tautan lama.
sudo dnf install symlinks
Setelah utilitas terpasang, Anda dapat memeriksa symlink rusak seperti yang ditunjukkan di bawah ini. Opsi -r berarti rekursif.
sudo symlinks -r /usr | grep dangling
Setelah Anda memverifikasi daftar symlink rusak, Anda dapat menghapusnya seperti yang ditunjukkan di bawah ini. Opsi -d berarti hapus.
sudo symlinks -r -d /usr
Perbarui kernel penyelamatan (rescue kernel)
Kernel penyelamatan dan initramfs dihasilkan oleh Anaconda selama instalasi sistem. initramfs akan diperbarui ketika kernel diperbarui, tetapi kernel penyelamatan mungkin tidak diperbarui. Apakah kernel penyelamatan diperbarui tergantung pada konfigurasi sistem.
Jika kernel penyelamatan sudah kedaluwarsa, jalankan perintah berikut untuk membuatnya ulang.
sudo rm /boot/*rescue*
sudo kernel-install add "$(uname -r)" "/lib/modules/$(uname -r)/vmlinuz"
Proses pembuatan ulang kernel penyelamatan dapat diotomatisasi dengan menginstal paket dracut-config-rescue.
sudo dnf install dracut-config-rescue
Setelah paket terpasang, kernel penyelamatan akan dibuat ulang setiap kali dracut digunakan sebagai generator initrd. Lihat /usr/lib/kernel/install.d/51-dracut-rescue.install untuk detailnya.
Menangani masalah setelah peningkatan
|
Ikuti langkah-langkah ini hanya jika Anda mengalami masalah dengan sistem yang telah ditingkatkan. |
Membangun ulang database RPM
Jika Anda melihat peringatan saat menggunakan alat RPM/DNF, mungkin database Anda rusak. Anda dapat membangunnya kembali untuk melihat apakah hal ini menyelesaikan masalah. Selalu buat cadangan /usr/lib/sysimage/rpm terlebih dahulu. Untuk membangun ulang database, jalankan:
sudo rpm --rebuilddb
Menggunakan distro-sync untuk menyelesaikan masalah dependensi
Alat peningkatan sistem menggunakan dnf distro-sync secara bawaan. Jika sistem Anda hanya sebagian yang diperbarui atau terdapat masalah dependensi paket, coba jalankan kembali distro-sync secara manual untuk melihat apakah ini dapat memperbaiki masalah. Perintah ini akan mencoba menyamakan versi paket yang terinstal dengan repositori aktif, bahkan jika perlu menurunkan versi beberapa paket:
sudo dnf distro-sync
Anda juga dapat menggunakan opsi --allowerasing yang akan menghapus paket-paket dengan dependensi yang tidak dapat dipenuhi. Selalu tinjau paket mana yang akan dihapus sebelum mengonfirmasi proses ini:
sudo dnf distro-sync --allowerasing
Memberi label ulang berkas dengan kebijakan SELinux terbaru
Jika Anda menemui peringatan terkait kebijakan SELinux, beberapa berkas mungkin memiliki izin SELinux yang salah. Hal ini dapat terjadi jika SELinux sebelumnya pernah dinonaktifkan. Untuk memberi label ulang SELinux pada sistem, jalankan perintah berikut kemudian lakukan reboot:
sudo fixfiles -B onboot
Proses boot mungkin akan memakan waktu lama karena sistem akan memeriksa dan memperbaiki label izin SELinux pada semua berkas di sistem Anda.
Pertanyaan yang sering diajukan (FAQ)
Bagaimana cara melaporkan masalah dengan proses peningkatan?
-
Lihat Bug umum untuk memeriksa apakah masalah tersebut sudah diketahui oleh komunitas.
-
Cari laporan bug yang sudah ada di Bugzilla untuk DNF5, atau Plugin DNF4.
Jika Anda tidak menemukan laporan yang sesuai dengan gejala Anda, Anda dapat membuat laporan baru dari halaman pencarian tersebut. Silakan ikuti petunjuk pelaporan bug yang disebutkan dalam README dari repositori GitHub.
Jika Anda mengalami masalah setelah peningkatan pada paket tertentu, buat laporan bug terhadap paket yang bermasalah tersebut.
Apakah DNF System Upgrade memverifikasi perangkat lunak yang dijalankan atau diinstal selama proses peningkatan?
Ya. Kunci penandatanganan paket untuk rilis Fedora Linux yang lebih baru dikirim ke rilis yang lebih lama agar DNF dapat memverifikasi integritas paket yang diunduh. Fungsi ini dapat dinonaktifkan jika diperlukan, tetapi tidak direkomendasikan karena akan membuat sistem Anda rentan terhadap serangan perangkat lunak berbahaya.
Apakah paket dari repositori pihak ketiga juga akan ditingkatkan?
Ya, jika repositori tersebut dikonfigurasi seperti repositori DNF biasa dan nomor versinya tidak dikunci di berkas repositori (biasanya ditemukan di /etc/yum.repos.d/). Repositori pihak ketiga yang umum digunakan seperti RPM Fusion seharusnya berfungsi dengan baik. Namun, jika Anda mencoba meningkatkan sebelum atau segera setelah rilis resmi Fedora Linux, repositori tersebut mungkin belum memperbarui jalur repositorinya, sehingga DNF mungkin tidak dapat menemukan paketnya. Biasanya, hal ini tidak akan mencegah proses peningkatan berjalan dengan sukses. Anda juga dapat memperbarui paket dari repositori pihak ketiga tersebut di lain waktu.
Dapatkah saya meningkatkan dari rilis yang sudah End-of-Life (EOL)?
Sangat disarankan untuk meningkatkan rilis EOL pada sistem produksi atau sistem apa pun yang terhubung ke internet publik.
Setiap peningkatan dari Fedora Linux 20 atau yang lebih lama dilakukan dengan tanggung jawab Anda sendiri, karena DNF belum menjadi alat manajemen paket default pada saat itu. Namun, jika Anda menggunakan rilis yang lebih baru dari Fedora Linux 20 tetapi sudah berstatus EOL, Anda dapat mencoba melakukan peningkatan, meskipun metode ini tidak didukung. Anda dapat mencoba meningkatkan melalui rilis perantara hingga mencapai rilis yang saat ini didukung, atau mencoba langsung ke rilis yang didukung saat ini dalam satu langkah. Namun, sekali lagi, cara ini tidak didukung dan sepenuhnya menjadi tanggung jawab Anda sendiri.
Dapatkah saya melakukan peningkatan tunggal melewati beberapa rilis (misalnya 30→34)?
Peningkatan ke rilis berikutnya (misalnya 42 ke 43) serta peningkatan yang melewati satu rilis (misalnya 41 ke 43) keduanya didukung. Namun, sangat disarankan untuk melakukan peningkatan sebelum rilis Anda mencapai masa End of Life (EOL). Hal ini terjadi kira-kira satu bulan setelah rilis N+2 dirilis (ketika Anda masih berada di rilis N). Siklus Rilis Fedora dirancang untuk memberikan masa tenggang sekitar satu bulan agar pengguna dapat meningkatkan sistem mereka setiap tahun, yaitu satu kali setiap dua rilis. Anda dapat mempelajari Rilis Fedora untuk melihat status rilis dan jadwal saat ini. Sekitar satu bulan setelah rilis baru keluar, rilis kedua terakhir akan mencapai EOL. Peningkatan kemungkinan masih akan berhasil setelah itu, tetapi masa tersebut tidak pasti.
Peningkatan yang melewati lebih dari dua rilis tidak didukung, dan masalah yang timbul akibat metode tersebut mungkin tidak dianggap sebagai bug penting.
Ketika meningkatkan melewati lebih dari dua rilis, Anda mungkin perlu mengimpor kunci GPG untuk rilis yang ingin ditingkatkan. Anda dapat melakukannya dengan perintah berikut:
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-N-primary
(di mana N adalah versi Fedora Linux.)
Want to help? Learn how to contribute to Fedora Docs ›