Pemecahan masalah

Fedora Kinoite adalah cara baru untuk menerapkan dan mengelola sistem operasi desktop Anda, sehingga Anda mungkin akan mengalami masalah ketika menjalani aktivitas berkomputer sehari-hari. Di bawah ini adalah beberapa masalah umum yang dilaporkan dan solusi untuk masalah tersebut.

"Forbidden base package replacements"

Hal ini dapat terjadi ketika paket yang sedang di-layer memiliki ketergantungan pada paket yang ada di OS dasar. Dalam kasus yang menjadi masalah, paket yang di-layer membutuhkan versi yang lebih baru dari paket dependen yang tidak tersedia di OS dasar.

Pada kebanyakan kasus, menunggu penyusunan OSTree yang lebih baru akan menyelesaikan masalah ini. Paket dependen akan diperbarui di dalam penyusunan dan paket yang akan di-layer akan berhasil diinstal.

Namun, jika Anda terus mengalami masalah ini dengan penyusunan citra yang lebih baru, Anda dapat mencoba membersihkan metadata dengan rpm-ostree cleanup -m dan kemudian mencoba kembali rpm-ostree install.

Sebagai alternatif, Anda dapat mencoba melakukan rebase ke ref updates, seperti fedora/30/updates/x86_64 setelah operasi cleanup.

Untuk informasi lebih lanjut, lihat rpm-ostree#415.

Menginstalasi paket ke /opt atau /usr/local

Instalasi ke dalam /opt biasanya menjadi masalah ketika pengguna mencoba menginstal Google Chrome. Sebagian solusi telah diimplementasikan yang memungkinkan pengguna untuk melapisi Google Chrome, namun ini bukan solusi lengkap untuk aplikasi yang menulis data yang dapat diubah ke /opt.

Masalah ini dapat ditelusuri di rpm-ostree#233.

Menggunakan driver NVIDIA

Anda dapat menginstal driver biner resmi NVIDIA dari repositori RPM Fusion.

Driver biner NVIDIA tidak dikelola oleh Proyek Fedora dan terkadang tidak tersedia untuk versi kernel yang disertakan dalam Fedora Kinoite.
Proyek Universal Blue membuat citra sistem operasi untuk Fedora Kinoite dengan menyertakan driver NVIDIA. Image Universal Blue didasarkan pada citra resmi Fedora dengan perubahan tambahan atas kebijakan mereka. Image Universal Blue tidak didukung secara resmi oleh Proyek Fedora. Gunakanlah sesuai pertimbangan Anda sendiri.
  1. Pertama, pastikan bahwa sistem Anda telah diperbarui sepenuhnya dengan menjalankan sudo rpm-ostree upgrade dan lakukan boot ulang.

  2. Kemudian siapkan repositori RPM Fusion dengan mengikuti dokumentasi, termasuk dua kali melakukan reboot.

  3. Terakhir, instal drivernya:

    # rpm-ostree install kmod-nvidia xorg-x11-drv-nvidia
    # rpm-ostree kargs --append=rd.driver.blacklist=nouveau --append=modprobe.blacklist=nouveau --append=nvidia-drm.modeset=1 --append=initcall_blacklist=simpledrm_platform_driver_init
    # systemctl reboot
Bila menggunakan Boot Aman, driver NVIDIA yang terinstal secara lokal harus ditandatangani dengan kunci lokal yang didaftarkan menggunakan mokutil. Lihat fedora-silverblue#499 untuk informasi lebih lanjut.

Anda mungkin juga mengalami masalah berikut selama proses instalasi: #286, #331

Terima kasih kepada Alex Larsson yang telah melakukan perubahan yang diperlukan pada paket akmods dan kmodtools. Anda dapat membaca lebih lanjut tentang pekerjaan yang dilakukan Alex di blog miliknya.

Modul dan driver di luar kernel tree menggunakan DKMS

Fedora Kinoite saat ini tidak memiliki dukungan untuk DKMS. Lihat masalah hulu rpm-ostree#1091.

Sebagai gantinya, kami menyarankan Anda untuk membuat paket kmods untuk modul-modul kernel di luar tree dan mengirimkannya ke repositori RPM Fusion. Paket-paket kmods kemudian akan digunakan oleh akmods yang didukung pada Fedora Kinoite.

Menambahkan repositori paket eksternal

Bagian ini membahas sumber perangkat lunak pihak ketiga yang tidak secara resmi berafiliasi atau didukung oleh Proyek Fedora. Gunakan sumber-sumber tersebut sesuai dengan pertimbangan Anda sendiri.
Jika Anda ingin menggunakan repositori RPM Fusion, silakan ikuti bagian Mengaktifkan repositori RPM Fusion.

Beberapa perangkat lunak mungkin hanya tersedia dari repositori pihak ketiga. Anda dapat menambahkan repositori eksternal secara manual pada Fedora Kinoite dengan menempatkan berkas .repo ke dalam /etc/yum.repos.d/ dan kunci GPG ke dalam /etc/pki/rpm-gpg/. Berikut ini adalah contoh lengkap untuk menyiapkan repo Taiscale:

  1. Ambil dan instal konfigurasi repo:

    $ curl -O https://pkgs.tailscale.com/stable/fedora/tailscale.repo
    [tailscale-stable]
    name=Tailscale stable
    baseurl=https://pkgs.tailscale.com/stable/fedora/$basearch
    enabled=1
    type=rpm
    repo_gpgcheck=1
    gpgcheck=0
    gpgkey=https://pkgs.tailscale.com/stable/fedora/repo.gpg
    $ sudo install -o 0 -g 0 -m644 tailscale.repo /etc/yum.repos.d/tailscale.repo
  2. Ambil dan instal kunci GPG:

    $ curl -O https://pkgs.tailscale.com/stable/fedora/repo.gpg
    $ sudo install -o 0 -g 0 -m644 repo.gpg /etc/pki/rpm-gpg/tailscale.gpg
  3. Ganti URL gpgkey= pada konfigurasi repo dengan jalur kunci GPG:

    $ sudo $EDITOR /etc/yum.repos.d/tailscale.repo
    $ cat /etc/yum.repos.d/tailscale.repo
    [tailscale-stable]
    name=Tailscale stable
    baseurl=https://pkgs.tailscale.com/stable/fedora/$basearch
    enabled=1
    type=rpm
    repo_gpgcheck=1
    gpgcheck=0
    # Update this line
    gpgkey=file:///etc/pki/rpm-gpg/tailscale.gpg
    #      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  4. Instal paket baru dengan:

    $ rpm-ostree install tailscale

Dukungan yang lebih baik pada rpm-ostree untuk kasus penggunaan ini dapat ditelusuri di rpm-ostree#4014.

Masalah-masalah SELinux

Pada saat pengguna bekerja dengan Fedora Kinoite dalam sehari-hari, ada kemungkinan mereka telah memodifikasi kebijakan default SELinux dalam upaya untuk mengatasi satu atau beberapa masalah yang terkait dengan SELinux. Hal ini biasanya dilakukan ketika pengguna melihat penolakan SELinux dalam jurnal. Jika ini yang terjadi dan Anda ingin kembali ke kebijakan SELinux default, Anda dapat mencoba beberapa tindakan berikut.

  1. Periksa status kebijakan SELinux

    $ sudo ostree admin config-diff | grep policy
    M    selinux/targeted/active/policy.linked
    M    selinux/targeted/active/policy.kern
    M    selinux/targeted/policy/policy.31
    A    selinux/targeted/policy/policy.30

    Jika ada yang dikembalikan oleh perintah ini, maka kebijakan SELinux Anda telah dimodifikasi dari default.

  2. Salin kebijakan SELinux default yang dikirimkan dalam penyusunan OSTree

    $ sudo cp -al /etc/selinux{,.bak}
    $ sudo rsync -rlv /usr/etc/selinux/ /etc/selinux/

    Setelah melakukan ini, keluaran dari ostree admin config-diff | grep policy seharusnya tidak lagi mengindikasikan bahwa kebijakan telah dimodifikasi.

    Jika kebijakan Anda masih terlihat dimodifikasi, Anda dapat mencoba pendekatan berikut ini.

  3. Hapus kebijakan SELinux; salin kebijakan default

    $ sudo rm -rf /etc/selinux
    $ sudo cp -aT /usr/etc/selinux /etc/selinux

    Setelah itu, perintah ostree admin config-diff | grep policy akan menampilkan hasil tanpa modifikasi.

Tidak dapat menambahkan pengguna ke grup

Karena cara rpm-ostree menangani entri user + group, maka tidak mungkin menggunakan usermod -a -G untuk menambahkan user ke dalam sebuah group dengan sukses. Sampai rpm-ostree beralih menggunakan systemd sysusers, maka pengguna harus mengisi berkas /etc/group dari berkas /usr/lib/group sebelum dapat menambahkan dirinya ke dalam grup.

Misalnya, jika Anda ingin menambahkan pengguna ke grup libvirt:

$ grep -E '^libvirt:' /usr/lib/group | sudo tee -a /etc/group
$ sudo usermod -aG libvirt $USER
Anda harus keluar log dan masuk kembali untuk menerapkan perubahan ini.

Masalah ini dapat ditelusuri di rpm-ostree#29 dan rpm-ostree#49.

ostree fsck melaporkan kerusakan berkas

Ada kalanya satu atau beberapa berkas pada disk menjadi rusak atau hilang. Dalam kasus ini, ostree fsck akan melaporkan kesalahan pada commit tertentu. solusi dalam kasus ini adalah menandai seluruh commit OSTree sebagai "sebagian diambil" dan kemudian menarik kembali commit tersebut.

Hanya-baca /boot/efi mencegah peningkatan apapun

Masalah ini paling sering terlihat ketika pengguna telah menginstal Fedora Kinoite pada perangkat keras Apple. Partisi /boot/efi pada perangkat keras Apple diformat sebagai HFS+ dan tidak selalu tahan terhadap kegagalan daya atau jenis gangguan daya keras lainnya.

Karena Fedora Kinoite sekarang menyertakan paket hfsplus-tools di dalam penyusunan dasar, maka menjadi relatif mudah bagi pengguna untuk mengatasi kesalahan semacam ini.

# umount /boot/efi
# fsck.hfsplus /dev/sda1
# mount -o rw /boot/efi

Lihat isu GitHub rpm-ostree#1380 untuk detail tambahan.

Tidak dapat menginstal Fedora Kinoite pada sistem EFI

Pengguna telah melaporkan bahwa mereka tidak dapat menginstal Fedora Kinoite pada sistem berbasis EFI di mana mereka sebelumnya telah menginstal OS lain. Kesalahan yang sering terjadi terlihat seperti ini:

ostree ['admin', '--sysroot=/mnt/sysimage', 'deploy', '--os=fedora-workstation', 'fedora-workstation:fedora/28/x86_64/workstation'] exited with code -6`

Ada beberapa solusi yang mungkin dilakukan:

  • Selama proses penginstalan, pilih "Custom Partitioning" dan buat partisi EFI tambahan. Tetapkan partisi EFI yang baru dibuat ke /boot/efi. Anda kemudian akan dapat mem-boot OS sebelumnya bersama Fedora Kinoite. Jika solusi ini tidak berhasil, ikuti langkah di bawah ini.

  • Format ulang partisi EFI pada host selama proses instalasi. Hal ini dapat dilakukan dengan memilih "Custom Partitioning" dan mencentang kotak Reformat saat membuat partisi /boot/efi.

Memilih untuk memformat ulang /boot/efi kemungkinan akan mengakibatkan ketidakmampuan untuk mem-boot sistem operasi lain yang telah diinstal sebelumnya. Pastikan Anda telah mencadangkan data penting sebelum menggunakan solusi ini.

Masalah ini dapat ditelusuri di Bugzilla #1575957.

toolbox: gagal membuat daftar citra dengan com.redhat.component=fedora-toolbox

Pada versi podman versi 1.4.0, solusi ini tidak diperlukan. Pastikan podman adalah versi terbaru dengan menjalankan rpm-ostree upgrade sebelum mencoba solusi ini.

Ketika menjalankan perintah toolbox list, sistem yang menggunakan versi podman yang lebih baru dari 1.2.0, akan menghasilkan kesalahan berikut:

toolbox: failed to list images with com.redhat.component=fedora-toolbox
Solusi berikut ini mungkin berguna untuk kesalahan toolbox lainnya yang disebabkan oleh versi podman yang lebih besar dari 1.2.0. Lihat Toolbox Github Repo

Sebagai solusinya, Anda dapat mengganti paket podman yang lebih baru dari versi 1.2.0 dengan menjalankan:

$ rpm-ostree override --remove=podman-manpages replace https://kojipkgs.fedoraproject.org//packages/podman/1.2.0/2.git3bd528e.fc30/x86_64/podman-1.2.0-2.git3bd528e.fc30.x86_64.rpm

Nyalakan ulang sistem untuk menerapkan perubahan.

Sebagai referensi, Anda juga dapat mengganti paket dengan mengikuti langkah-langkah berikut ini:

  1. Unduh podman-1.2.0-2.git3bd528e.fc30.x86_64.rpm dari Koji

  2. Hapus podman-manpages dengan menjalankan: rpm-ostree override remove podman-manpages

  3. Timpa paket podman yang sedang terinstal (menggunakan paket yang telah Anda unduh pada langkah pertama) dengan cara: rpm-ostree override replace podman-1.2.0-2.git3bd528e.fc30.x86_64.rpm

Sekarang Anda dapat menyalakan ulang sistem agar perubahan diterapkan.

Untuk membatalkan solusi ini, jalankan perintah berikut:

$ rpm-ostree override reset podman; rpm-ostree override reset podman-manpages

Tidak dapat masuk ke toolbox karena kesalahan izin

Pada versi tertentu dari podman, mencoba masuk ke dalam toolbox akan mengakibatkan kesalahan. Anda dapat memperbaikinya dengan mengatur ulang izin pada overlay-container dengan perintah berikut.

$ sudo chown -R $USER ~/.local/share/containers/storage/overlay-containers

Ini akan mengatur ulang izin pada kontainer Anda dan memungkinkan Anda untuk memasukinya lagi.

Lihat masalah podman hulu: podman#3187.

Menjalankan restorecon

Anda tidak boleh menjalankan restorecon pada host Fedora Kinoite. Lihat bug berikut untuk detailnya - https://bugzilla.redhat.com/show_bug.cgi?id=1259018

Namun demikian, jika Anda melakukan hal ini, Anda dapat memulihkannya.

  1. Boot dengan enforcing=0 pada baris perintah kernel

  2. Membuat commit baru yang "diperbaiki" secara lokal

  3. Menerapkan commit yang telah "diperbaiki" yang baru

  4. Jalankan restorecon

  5. Nyalakan ulang

  6. Pembersihan

$ rpm-ostree status -b | grep BaseCommit
                BaseCommit: 696991d589980aeaef5eda352dd7ad3d33c444c789c209f793a84bc6e7269aee
$ sudo ostree checkout -H 696991d589980aeaef5eda352dd7ad3d33c444c789c209f793a84bc6e7269aee /ostree/repo/tmp/selinux-fix
$ sudo ostree fsck --delete
$ sudo ostree commit --consume --link-checkout-speedup --orphan --selinux-policy=/ /ostree/repo/tmp/selinux-fix
$ sudo restorecon -Rv /var
$ sudo restorecon -Rv /etc
$ sudo ostree admin deploy fedora:fedora/39/x86_64/kinoite
$ sudo reboot

Peringatan untuk pemulihan ini adalah bahwa paket layer Anda akan dihapus; Anda harus melayer ulang paket tersebut setelah proses pemulihan.

Lihat komentar di bagian hulu ini untuk detail tambahan: ostree#1265.

Mengatur ulang kata sandi dalam Mode Penyelamatan

Jika Anda tidak dapat mengingat kata sandi pengguna atau kata sandi root, Anda dapat mengatur ulang kata sandi menggunakan langkah-langkah berikut.

  1. Sewaktu sistem sedang melakukan booting, hentikan urutan booting pada menu GRUB2 dengan menggunakan tombol Esc.

  2. Pilih entri boot yang ingin Anda edit menggunakan tombol panah.

  3. Edit entri yang dipilih dengan tombol e.

  4. Gunakan tombol panah untuk memilih baris yang diawali dengan linux, linux16, atau linuxefi.

  5. Pergi ke akhir baris tersebut dan tambahkan init=/bin/bash ke akhir baris.

  6. Tekan Ctrl-x atau F10 untuk mem-boot entri.

  7. Pada prompt bash yang dihasilkan, jalankan perintah berikut:

# mount -t selinuxfs selinuxfs /sys/fs/selinux
# /sbin/load_policy
# passwd
# sync
# /sbin/reboot -ff

Jika Anda ingin mengubah kata sandi untuk akun pengguna, ganti perintah passwd dengan passwd <username>.

Setelah sistem selesai di-boot ulang, Anda seharusnya dapat masuk dengan nama pengguna dan kata sandi baru.