Pembaruan dan Rollback

Build image terbaru tersedia di sini.

Upgrade ke Image Terbaru

Tampilkan status deployment yang sedang berjalan:

$ rpm-ostree status

Perintah rpm-ostree digunakan untuk mengelola pohon sistem atomik yang digunakan oleh image Fedora IoT. Perintah update adalah alias untuk perintah upgrade.

Lihat opsi dengan:

$ rpm-ostree upgrade --help
Usage:
  rpm-ostree upgrade [OPTION…]

Lakukan upgrade sistem

Opsi Bantuan:
  -h, --help                      Tampilkan opsi bantuan

Opsi Aplikasi:
  --os=OSNAME                     Beroperasi pada OSNAME yang diberikan
  -r, --reboot                    Mulai reboot setelah operasi selesai
  --allow-downgrade               Izinkan deployment pohon yang lebih lama secara kronologis
  --preview        Hanya pratinjau perbedaan paket
  --check                         Hanya periksa apakah upgrade tersedia
  -C, --cache-only              Jangan unduh data ostree dan RPM terbaru
  --download-only            Hanya unduh data ostree dan RPM terbaru, jangan deploy
  --upgrade-unchanged-exit-77     Jika tidak ada upgrade yang tersedia, keluar dengan kode 77
  --sysroot=SYSROOT               Gunakan root sistem SYSROOT (default: /)
  --peer                          Paksa koneksi peer-to-peer alih-alih menggunakan bus pesan sistem
  --install=PKG                   Overlay paket tambahan
  --uninstall=PKG                 Hapus paket overlay tambahan
  --version                       Cetak informasi versi dan keluar

Periksa pembaruan yang tersedia:

$ sudo rpm-ostree upgrade --check
Receiving metadata objects: 0/(estimating) -/s 0 bytes... done
AvailableUpdate:
        Version: 29.20190211.0 (2019-02-11T13:18:27Z)
         Commit: 5eb0553c02a8035a02f030c7fb8d5c6727d1ecb2700dade4b767363acfcab8e4
   GPGSignature: Valid signature by C2A3FA9DC67F68B98BB543F47BB90722DBBDCF7C
           Diff: 25 upgraded

Pratinjau perbedaan paket:

$ sudo rpm-ostree upgrade --preview

Jika Anda mau, Anda dapat mengunduh paket saja tanpa men-deploy-nya dengan:

$ sudo rpm-ostree upgrade --download-only

Untuk menerapkan delta pembaruan OSTree yang tersedia di CDN, gunakan perintah berikut:

$ sudo rpm-ostree upgrade

Karena sifat atomik dari OS, Anda harus reboot ke image baru agar pembaruan berlaku:

$ systemctl reboot

Rollback ke pohon sebelumnya

Utilitas rpm-ostree menyimpan dua deployment yang tersedia. Keduanya memiliki entri dalam menu bootloader. Entri yang baru diperbarui akan menjadi default. Jika perlu, Anda dapat memilih entri lain untuk boot ke deployment sebelumnya.

Waktu tunggu GRUB2 untuk menampilkan menu sangat singkat, hanya satu detik. Menekan tombol spasi atau tombol panah saat menu muncul akan menghentikan waktu tunggu dan memungkinkan Anda memilih entri lain. Tombol ENTER akan mem-boot image yang dipilih.

Untuk beralih kembali secara permanen ke deployment sebelumnya:

$ sudo rpm-ostree rollback

Seperti halnya upgrade, reboot sistem akan diperlukan. Anda dapat menggunakan perintah systemctl reboot atau Anda dapat menyertakan opsi --reboot saat mengeluarkan perintah rollback:

$ sudo rpm-ostree rollback --reboot
Informasi lebih lanjut tentang Bootloading dengan GRUB2 dapat ditemukan di Fedora Quick Docs.
Informasi lebih lanjut tentang perintah rpm-ostree dapat ditemukan di Administrator Handbook upstream

Pembaruan otomatis

Layanan rpm-ostreed tersedia untuk memantau upgrade secara otomatis.

Untuk mengaktifkan pembaruan otomatis, edit file /etc/rpm-ostreed.conf. Opsi yang tersedia adalah sebagai berikut:

  • Opsi 'none' menonaktifkan pembaruan otomatis. Ini adalah kebijakan default.

  • Opsi 'check' mengunduh metadata yang cukup untuk menampilkan pembaruan yang tersedia dengan rpm-ostree status.

  • Opsi 'stage' mengunduh, membongkar, dan menyiapkan pembaruan yang akan diselesaikan saat reboot.

  • Opsi 'apply' sama seperti stage tetapi juga memulai reboot ke versi baru.

# cat /etc/rpm-ostreed.conf
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# For option meanings, see rpm-ostreed.conf(5).

[Daemon]
AutomaticUpdatePolicy=check
#IdleExitTimeout=60

Selanjutnya kita perlu mengaktifkan layanan yang sesuai:

systemctl reload rpm-ostreed
systemctl enable rpm-ostreed-automatic.timer --now

Kita sekarang seharusnya dapat melihat status pembaruan otomatis dalam status:

# rpm-ostree status
State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: last run 4min 22s ago

rpm-ostreed-automatic.service dan rpm-ostreed-automatic.timer mengontrol frekuensi pemeriksaan dan upgrade. Informasi lebih lanjut tersedia di halaman man atau posting blog ini