Pembaruan, Peningkatan & Bergulir mundur

Menginstal pembaruan dengan Fedora Silverblue itu mudah dan cepat. Ia juga memiliki fitur rollback (pengembalian) khusus, jika terjadi kesalahan. Selain itu, Anda bisa memilih untuk menginstal beberapa versi sistem operasi sekaligus, dan Anda bisa memilih versi mana yang akan di-boot kapan pun Anda memulai sistem.

Memperbarui Fedora Silverblue

Pembaruan OS sepenuhnya terintegrasi ke dalam desktop; Anda akan secara otomatis diberitahu ketika pembaruan tersedia. Perilaku standarnya adalah mengunduh pembaruan secara otomatis (ini dapat diubah dari preferensi pembaruan di Perangkat Lunak).

Setelah pembaruan siap, Anda tinggal melakukan boot ulang untuk mulai menggunakan versi baru. Tidak perlu menunggu pembaruan diinstal selama reboot ini.

Jika Anda mau, Anda juga dapat memperbarui menggunakan baris perintah. Untuk melakukan ini, jalankan:

$ rpm-ostree upgrade

Ini akan memeriksa pembaruan baru dan mengunduh serta menginstalnya jika tersedia. Atau, untuk memeriksa pembaruan yang tersedia tanpa mengunduhnya, jalankan:

$ rpm-ostree upgrade --check

Meningkatkan antar versi utama

Peningkatan antara versi utama (seperti dari Fedora 41 ke Fedora 42) dapat dilakukan dengan menggunakan aplikasi GNOME Software. Sebagai alternatif, Fedora Silverblue dapat ditingkatkan antar versi utama menggunakan perintah rpm-ostree.

Melewatkan rilis mayor saat ini belum diuji dan dengan demikian tidak didukung. Anda sebaiknya hanya meningkatkan satu rilis utama dalam satu waktu, misalnya dari Fedora 41 ke 42, dan seterusnya.

Pertama, pastikan Anda menjalankan pembaruan terbaru untuk versi saat ini:

$ rpm-ostree upgrade

Nyalakan ulang sistem Anda jika perlu. Kemudian, verifikasi bahwa cabang untuk versi utama berikutnya tersedia. Anda dapat mencetak semua cabang yang tersedia untuk Fedora Silverblue dengan perintah ini:

$ ostree remote refs fedora | grep silverblue | grep $(uname -m)

Setelah Anda memverifikasi nama cabang Anda, Anda siap untuk melanjutkan. Sebagai contoh, untuk meningkatkan ke Fedora Silverblue 42. perintahnya adalah:

$ rpm-ostree rebase fedora:fedora/42/x86_64/silverblue
Saat ini, remote default untuk Fedora Silverblue 42 diberi nama fedora. Jika ini bukan nama yang digunakan pada sistem Anda, Anda dapat mengetahui nama remote dengan menjalankan: ostree remote list.

Prosesnya sangat mirip dengan pembaruan sistem: OS baru diunduh dan diinstal di latar belakang, dan Anda tinggal mem-boot ke dalamnya ketika sudah siap.

Jika Anda menggunakan repositori RPM Fusion dan mengalami masalah selama pembaruan besar, lihat bagian Mengaktifkan repositori RPM Fusion.

Pindah ke desktop Atomic lainnya

Selain itu, Anda dapat memilih untuk merebase ke varian Fedora Atomic yang berbeda, misalnya Fedora Kinoite. Fedora Kinoite mirip dengan Fedora Silverblue, kecuali fakta bahwa ia menggunakan KDE Plasma desktop environment, bukan GNOME desktop environment default.

Artinya, Anda dapat melakukan rebase ke Fedora Kinoite untuk mencobanya, tanpa perlu menyentuh sistem Anda saat ini. Karena dua citra sistem terisolasi satu sama lain, dua lingkungan desktop tidak akan pernah terinstal pada waktu yang sama. Semua aplikasi flatpak dan file didalam /home Anda akan tetap ada di antara kedua rebase. Hal yang sama berlaku untuk menguji versi mutakhir dari Fedora Silverblue, yaitu Rawhide.

Jika Anda memutuskan untuk melakukan rebase, pastikan untuk melakukan pin pada build Anda saat ini, agar Anda tidak kehilangannya secara tidak sengaja (secara default, hanya dua build terbaru yang disimpan).

Bergulir mundur (Rollback)

Fedora Silverblue menyimpan data versi OS sebelumnya, yang dapat diganti ke versi terbaru. Meskipun ini biasanya tidak diperlukan, ini dapat membantu jika ada masalah dengan pembaruan atau peningkatan (rollback bekerja dengan cara yang sama untuk keduanya), serta untuk tujuan pengembangan.

Ada dua cara untuk kembali ke versi sebelumnya:

  1. Rollback sementara: untuk sementara kembali ke versi sebelumnya, cukup reboot dan pilih versi sebelumnya dari menu boot (sering dikenal sebagai menu grub).

  2. Rollback permanen: untuk secara permanen beralih kembali ke penerapan sebelumnya, gunakan perintah rpm-ostree rollback.

Setelah melakukan rollback, secara teknis Anda akan menggunakan versi OS yang lama, dan mungkin akan diminta untuk memperbarui. Memperbarui akan membatalkan rollback, jadi sebaiknya dihindari jika Anda ingin rollback tetap berlaku.

rpm-ostree hanya menyimpan satu versi rollback yang tersedia secara default. Jika Anda ingin melakukan rollback ke versi lain dari versi yang saat ini tersedia di sistem Anda, Anda dapat melakukannya dengan perintah berikut:

  1. Tarik log commit ostree dari repositori jarak jauh:

    $ sudo ostree pull --commit-metadata-only --depth=10 fedora fedora/42/x86_64/silverblue
  2. Menampilkan log:

    $ ostree log fedora:fedora/42/x86_64/silverblue
  3. Menerapkan commit tertentu:

    $ rpm-ostree deploy 42.20230716.0

Perhatikan bahwa ini akan menggunakan versi yang sama persis dengan yang diminta dan tidak akan menyertakan paket yang dilapis dan perubahan lainnya.

Menghapus dan mengunci (pin) deployment

Deployments akan dihapus secara otomatis saat pembaruan dilakukan. Namun, jika Anda ingin menghapus semua deployments sebelumnya atau yang sedang menunggu secara manual untuk membebaskan ruang disk, Anda dapat melakukannya menggunakan perintah rpm-ostree cleanup. Selain itu, jika Anda ingin mencegah deployments tertentu dihapus oleh perintah cleanup, Anda dapat mengunci (pin) deployments tersebut, hal ini akan dibahas nanti.

Hapus deployment sebelumnya:

$ rpm-ostree cleanup --rollback

Hapus deployment yang tertunda:

$ rpm-ostree cleanup --pending

Deployments tertentu dapat di-pin agar tidak dihapus oleh perintah rpm-ostree cleanup. Deployments juga dapat di-unpin agar dapat dihapus secara normal. Anda dapat, misalnya, meng-pin deployments yang Anda anggap stabil di sistem Anda, sehingga Anda akan memiliki cadangan yang terjamin jika pembaruan di masa depan menyebabkan regresi atau bug.

Untuk mem-pin atau membatalkan pin deployment, Anda perlu mengetahui nomor indeks deployment tersebut.

Periksa nomor indeks deployment:

$ rpm-ostree status -v

Pin deployment:

$ sudo ostree admin pin 0

Lepaskan pin dari deployment:

$ sudo ostree admin pin --unpin 0