Menambahkan ekstensi OS ke sistem host
Fedora CoreOS menjaga citra dasar tetap sesederhana dan sekecil mungkin demi alasan keamanan dan kemudahan pemeliharaan. Karena itu, secara umum Anda disarankan untuk lebih memilih penggunaan kontainer podman daripada menumpuk perangkat lunak di atas OS. Namun, dalam beberapa kasus, perlu untuk menambahkan perangkat lunak langsung ke OS dasar itu sendiri. Misalnya, driver atau perangkat lunak VPN merupakan kandidat potensial karena lebih sulit untuk dikontainerisasi dan dapat ditambahkan sebagai ekstensi ke OS.
| Jika Anda melakukan perubahan yang signifikan pada sistem operasi dasar, pertimbangkan untuk menggunakan Fedora Bootc, yang berfokus pada pembuatan OS kustom yang diturunkan dari citra dasar awal. Informasi lebih lanjut tentang hubungan antara Fedora CoreOS dan Fedora Bootc dapat ditemukan di FAQ kami. |
Untuk menambahkan perangkat lunak tambahan pada sistem Fedora CoreOS, Anda dapat menggunakan rpm-ostree install. Anggap paket-paket ini sebagai “ekstensi”: mereka memperluas fungsionalitas OS dasar, bukan misalnya menyediakan runtime untuk aplikasi pengguna. Namun demikian, tidak ada pembatasan pada paket mana pun yang sebenarnya dapat diinstal. Secara bawaan, paket-paket diunduh dari repositori Fedora.
Untuk memulai penumpukan (layering) paket, Anda perlu menulis unit systemd yang menjalankan perintah rpm-ostree untuk menginstal paket yang diinginkan. Perubahan akan diterapkan ke deployment baru dan reboot diperlukan agar perubahan tersebut berlaku.
Contoh: Menumpuk vim dan menjadikannya editor default
Fedora CoreOS menyertakan nano dan vi sebagai editor teks, dengan nano ditetapkan sebagai default (lihat perubahan Fedora terkait).
Contoh ini menunjukkan cara menginstal editor teks vim secara lengkap dan cara mengaturnya sebagai default untuk semua pengguna dengan menambahkan konfigurasi yang diperlukan di /etc/profile.d/.
| Di masa mendatang, akan ada metode yang lebih ramah terhadap Ignition untuk melakukan hal ini dengan jaminan yang lebih kuat. Lihat isu hulu butane#81 dan fedora-coreos-tracker#681 untuk informasi lebih lanjut. |
variant: fcos
version: 1.6.0
systemd:
units:
# Menginstal vim sebagai paket berlapis dengan rpm-ostree
- name: rpm-ostree-install-vim.service
enabled: true
contents: |
[Unit]
Description=Layer vim dengan rpm-ostree
Wants=network-online.target
After=network-online.target
# Kami menjalankan sebelum `zincati.service` untuk menghindari konflik transaksi rpm-ostree
Before=zincati.service
ConditionPathExists=!/var/lib/%N.stamp
[Service]
Type=oneshot
RemainAfterExit=yes
# `--allow-inactive` memastikan bahwa rpm-ostree tidak mengembalikan error
# jika paket sudah terinstal. Ini berguna jika paket ditambahkan ke citra root
# dalam rilis Fedora CoreOS mendatang karena akan mencegah layanan gagal.
ExecStart=/usr/bin/rpm-ostree install -y --allow-inactive vim
ExecStart=/bin/touch /var/lib/%N.stamp
ExecStart=/bin/systemctl --no-block reboot
[Install]
WantedBy=multi-user.target
storage:
files:
# Menetapkan vim sebagai editor default
# Kami menggunakan prefiks `zz-` untuk memastikan ini diproses terakhir
# agar menimpa pengaturan default sebelumnya.
- path: /etc/profile.d/zz-default-editor.sh
overwrite: true
contents:
inline: |
export EDITOR=vim
Want to help? Learn how to contribute to Fedora Docs ›