Toolbx

(Toolbx is not a typo, see the project page)

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 toolbx, yang menggunakan kontainer untuk menyediakan lingkungan di mana alat pengembangan dan pustaka dapat diinstal dan digunakan.

Mengapa menggunakan toolbx?

Toolbx 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, toolbx juga dapat digunakan pada sistem berbasis paket.

Menggunakan Toolbx 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 toolbx 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 toolbx bukanlah lingkungan yang sepenuhnya terisolasi seperti mesin virtual.

Bagaimana cara kerjanya

Toolbx memudahkan penggunaan kontainer, dengan menyediakan sejumlah kecil perintah sederhana untuk membuat, memasuki, membuat daftar, dan menghapus kontainer. Ini juga mengintegrasikan kontainer toolbx 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 Toolbx memelihara citra Fedora di mana alat dan dokumentasi tersebut tersedia, memberikan pengalaman yang baik di luar kotak.

Setiap kontainer toolbx 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 toolbx terlihat, terasa, dan berperilaku seperti lingkungan baris perintah Linux standar. Dengan menghubungkan semua informasi ini, kontainer toolbx kehilangan sejumlah keamanan yang diperoleh dengan menggunakan teknologi kontainer. Oleh karena itu, Anda tidak boleh memperlakukan kontainer toolbx 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 toolbx dari dalam kontainer toolbx.

Instalasi

Fedora Kinoite

Toolbx sudah terinstal di Fedora Kinoite.

Fedora KDE Spin

Toolbx dapat diinstal pada Fedora KDE Spin (atau versi Fedora berbasis paket apapun) dengan perintah berikut:

$ sudo dnf install toolbox

Toolbox pertama Anda

Setelah toolbx terinstal, dua perintah sederhana diperlukan untuk memulai:

$ toolbox create

Ini akan mengunduh citra OCI dan membuat kontainer toolbx 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 toolbx. Simbol berlian mungkin tidak ada jika Anda menggunakan tema shell khusus.

Perintah dan penggunaan

toolbox create [options] <name>

Membuat kontainer toolbx. 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 toolbx (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 toolbx 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 toolbx.

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

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

toolbox rmi [options] <name …​>

Menghapus satu atau beberapa citra toolbx.

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

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

toolbox --help

Menampilkan halaman manual Toolbx.

Keluar dari toolbox

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

Di bawah tenda

Toolbx menggunakan teknologi berikut ini:

Kontak dan permasalahan

Untuk melaporkan masalah, memberikan saran, atau menyumbangkan perbaikan, lihat proyek toolbx di Github.

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