Toolbox

Sebagai host yang immutable, Fedora Kinoite adalah platform yang sangat baik untuk pengembangan berbasis kontainer. Untuk bekerja dengan kontainer, buildah dan podman direkomendasikan.

Fedora Kinoite juga dilengkapi dengan utilitas toolbox, yang menggunakan kontainer untuk menyediakan lingkungan di mana alat pengembangan dan pustaka dapat diinstal dan digunakan.

Mengapa menggunakan toolbox?

Toolbox memudahkan penggunaan lingkungan yang terkontainerisasi untuk pengembangan perangkat lunak sehari-hari dan debugging. Pada sistem operasi yang immutable, seperti Fedora Kinoite, toolbox menyediakan lingkungan berbasis paket yang sudah dikenal di mana alat dan pustaka dapat diinstal dan digunakan. Namun, toolbox juga dapat digunakan pada sistem berbasis paket.

Menggunakan Toolbox untuk menjalankan alur kerja Anda dengan cara yang terkontainerisasi memberi Anda beberapa keuntungan:

  • Ini menjaga OS host tetap bersih dan stabil, dan membantu menghindari kekacauan yang dapat terjadi setelah menginstal banyak alat dan paket pengembangan.

  • Anda mendapatkan akses ke berbagai versi distribusi yang didukung, tidak tergantung pada versi yang Anda jalankan.

  • Kontainer adalah cara yang baik untuk mengisolasi dan mengatur ketergantungan yang diperlukan untuk berbagai proyek.

  • Kontainer adalah tempat yang aman untuk bereksperimen: jika terjadi kesalahan, Anda dapat dengan mudah membuang toolbox dan memulai lagi.

Namun, sangat penting untuk diperhatikan bahwa kontainer toolbox masih terintegrasi dengan sistem host Anda, sehingga Anda tidak boleh mencoba melakukan sesuatu atau menjalankan perangkat lunak yang tidak dapat dilakukan pada sistem host Anda. Kontainer toolbox bukanlah lingkungan yang sepenuhnya terisolasi seperti mesin virtual.

Bagaimana cara kerjanya

Toolbox memudahkan penggunaan kontainer, dengan menyediakan sejumlah kecil perintah sederhana untuk membuat, memasuki, membuat daftar, dan menghapus kontainer. Ini juga mengintegrasikan kontainer toolbox ke dalam lingkungan kerja Anda yang biasa, untuk memudahkan Anda menggunakannya sebagai ruang pengembangan sehari-hari.

Kontainer dibuat dari citra dan biasanya merupakan versi distribusi yang sangat sederhana. Pada image seperti itu hampir tidak ada alat dan dokumentasi yang tersedia. Tim di belakang Toolbox memelihara citra Fedora di mana alat dan dokumentasi tersebut tersedia, memberikan pengalaman yang baik di luar kotak.

Setiap kontainer toolbox adalah lingkungan yang dapat Anda masuki dari baris perintah. Di dalam tiap kontainer, Anda akan menemukan:

  • Nama pengguna dan hak akses Anda saat ini

  • Akses ke direktori home Anda dan beberapa lokasi lainnya

  • Akses ke sistem dan sesi D-Bus, jurnal sistem, dan Kerberos

  • Alat bantu baris perintah umum, termasuk manajer paket (mis., DNF di Fedora)

Dengan kata lain, kontainer toolbox terlihat, terasa, dan berperilaku seperti lingkungan baris perintah Linux standar. Dengan menghubungkan semua informasi ini, kontainer toolbox kehilangan sejumlah keamanan yang diperoleh dengan menggunakan teknologi kontainer. Oleh karena itu, Anda tidak boleh memperlakukan kontainer toolbox sebagai kotak pasir di mana Anda dapat menjalankan skrip apa pun yang tidak akan pernah Anda jalankan di sistem lain.

Pada umumnya, ketika sebuah perintah dijalankan di dalam kontainer, program dari dalam kontainer yang digunakan. Namun, ada beberapa kasus khusus di mana program pada host digunakan sebagai gantinya (menggunakan flatpak-spawn). Salah satu contohnya adalah perintah toolbox itu sendiri; hal ini memungkinkan untuk menggunakan toolbox dari dalam kontainer toolbox.

Instalasi

Fedora Kinoite

Toolbox sudah terinstal di Fedora Kinoite.

Fedora KDE Spin

Toolbox dapat diinstal pada Fedora KDE Spin (atau versi Fedora berbasis paket apa pun) dengan perintah berikut:

$ sudo dnf install toolbox

Toolbox pertama Anda

Setelah toolbox terinstal, dua perintah sederhana diperlukan untuk memulai:

$ toolbox create

Ini akan mengunduh citra OCI dan membuat kontainer toolbox darinya. Setelah selesai, jalankan:

$ toolbox enter

Setelah berada di dalam toolbox, Anda dapat mengakses alat baris perintah umum, dan menginstal alat baru menggunakan manajer paket (misalnya, DNF di Fedora).

Ketika prompt berada di dalam toolbox, maka akan diawali dengan tanda berlian: ini mengindikasikan bahwa prompt berada di dalam kontainer toolbox. Simbol berlian mungkin tidak ada jika Anda menggunakan tema shell khusus.

Perintah dan penggunaan

toolbox create [options] <name>

Membuat kontainer toolbox. Ini akan mengunduh citra OCI jika tidak tersedia (ini diperlukan untuk membuat kontainer). Secara default, citra yang sesuai dengan versi host akan digunakan. Jika sistem host tidak memiliki citra yang sesuai, citra Fedora akan digunakan sebagai gantinya.

Jika digunakan tanpa opsi, toolbox create akan secara otomatis menamai kontainer yang dibuatnya. Untuk membuat toolbox tambahan, gunakan argumen <nama>.

Untuk menggunakan versi tertentu dari sistem host (misalnya, Fedora 32 pada Fedora 34), gunakan opsi --release <release> | -r <release>.

Untuk menggunakan distribusi yang berbeda untuk membuat kontainer toolbox (misalnya, RHEL di Fedora), gunakan opsi --distro <distro> | -d <distro>.

Untuk menggunakan citra yang berbeda, gunakan opsi --image <name> | -i <name>.

toolbox enter [options] <name>

Masuk ke toolbox untuk penggunaan interaktif. Digunakan tanpa opsi, toolbox enter membuka kotak alat default.

Untuk memasuki toolbox dengan nama tertentu, gunakan argumen name.

Untuk masuk ke toolbox untuk distribusi yang berbeda (misalnya, Fedora pada RHEL), gunakan opsi --distro <distro> |-d <distro>.

Untuk masuk ke toolbox dengan versi tertentu (misal, RHEL 8.1 pada RHEL 8.3), gunakan opsi --release <release> | -r <release>.

toolbox run [options] <cmd> <arg …​>

Menjalankan perintah dalam toolbox tanpa memasukinya. Digunakan tanpa opsi, toolbox run menjalankan perintah dalam toolbox default.

Untuk menjalankan perintah dalam toolbox dengan nama tertentu, gunakan opsi --container <name> | -c <name>.

Untuk menjalankan perintah pada toolbox untuk distribusi yang berbeda (misalnya, Fedora pada RHEL), gunakan opsi --distro <distro> |-d <distro>.

Untuk menjalankan perintah pada toolbox dengan versi tertentu (misal: RHEL 8.1 pada RHEL 8.3), gunakan opsi --release <release> | -r <release>.

toolbox list [options]

Menampilkan daftar citra dan kontainer toolbox lokal.

Untuk hanya menampilkan kontainer, gunakan opsi --containers | -c.

Untuk hanya menampilkan citra, gunakan opsi --images | -i.

toolbox rm [options] <name …​>

Menghapus satu atau beberapa kontainer toolbox.

Opsi --force | -f akan menghapus kontainer yang ditandai meskipun kontainer tersebut sedang berjalan.

Opsi --all | -a menghapus semua kontainer toolbox.

toolbox rmi [options] <name …​>

Menghapus satu atau beberapa citra toolbox.

Opsi --force | -f menghapus citra yang ditandai dan semua kontainer yang telah dibuat menggunakan citra yang ditandai.

Opsi --all | -a menghapus semua citra toolbox.

toolbox --help

Menampilkan halaman manual Toolbox.

Keluar dari toolbox

Untuk kembali ke lingkungan host, jalankan exit atau keluar dari shell saat ini (biasanya Ctrl+D).

Di bawah tenda

Toolbox menggunakan teknologi berikut ini:

Kontak dan permasalahan

Untuk melaporkan masalah, memberikan saran, atau menyumbangkan perbaikan, lihat proyek GitHub toolbox.

Untuk berhubungan dengan pengguna dan pengembang toolbox, gunakan instance Discourse untuk Fedora, atau bergabunglah dengan kanal IRC #silverblue di Libera.