Dnf adalah manajer paket tingkat tinggi default dalam keluarga distribusi Red Hat, yang mencakup Fedora, Red Hat Enterprise Linux dan semua klonnya. Ini adalah penerus Yum, dan memang menggunakan perintah yum dalam versi terbaru dari distribusi yang disebutkan di atas, hanyalah cara lain untuk memanggil dnf. Dnf memiliki banyak fitur bagus
dan plugin yang membantu kami menginstal, memperbarui, dan menghapus perangkat lunak yang dikemas dalam format “.rpm”. Dalam tutorial ini kita menjelajahi grup paket dnf dan mempelajari cara menanganinya.
Dalam tutorial ini Anda akan belajar :
- Apa itu grup paket
- Cara mendapatkan informasi tentang grup paket
- Cara membuat daftar semua grup paket yang tersedia
- Cara menginstal, meningkatkan, dan menghapus grup paket
Persyaratan dan konvensi perangkat lunak yang digunakan
Kategori | Persyaratan, Konvensi, atau Versi Perangkat Lunak yang Digunakan |
---|---|
Sistem | Distribusi yang menggunakan dnf sebagai pengelola paket |
Perangkat Lunak | dnf |
Lainnya | Tidak ada |
Konvensi | # – mengharuskan perintah-linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo command$ – mengharuskan perintah-linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa |
Apa itu grup paket?
Mari kita mulai dengan mendefinisikan apa itu grup paket. Grup paket pada dasarnya adalah paket "virtual". Di sini kami menyebutnya "virtual" karena tidak menyediakan perangkat lunak khusus, tetapi merujuk paket "nyata" lainnya. Kita dapat
menggunakan grup paket untuk menginstal "set" paket dengan satu perintah. Katakanlah misalnya kita perlu menginstal paket yang diperlukan untuk bekerja dengan mesin virtual kvm di Fedora:alih-alih menginstal setiap paket secara tunggal, kita cukup menginstal grup paket "virtualisasi", yang akan menyebabkan semua perangkat lunak yang diperlukan diinstal pada sistem kita .
Mendapatkan informasi tentang grup paket
Sebelum kita menginstal grup paket, kita mungkin ingin melihat paket apa yang akan ditarik olehnya. Untuk menyelesaikan tugas ini, yang harus kita lakukan adalah menggunakan dnf group info
perintah, meneruskan nama grup paket yang ingin kita periksa sebagai argumennya. Untuk melihat apa @virtualization
grup paket berisi, misalnya, kami akan menjalankan:
$ dnf group info virtualization
Berikut adalah output dari perintah di atas pada sistem Fedora 34:
Group: Virtualization Description: These packages provide a graphical virtualization environment. Mandatory Packages: virt-install Default Packages: libvirt-daemon-config-network libvirt-daemon-kvm qemu-kvm virt-manager virt-viewer Optional Packages: libguestfs-tools python3-libguestfs virt-top
Kita dapat meningkatkan verbositas perintah, dan menerima informasi yang lebih detail dengan menjalankannya dengan -v
(kependekan dari --verbose
) pilihan:
Group: Virtualization Group-Id: virtualization Description: These packages provide a graphical virtualization environment. Mandatory Packages: virt-install-3.2.0-3.fc34.noarch @System Default Packages: libvirt-daemon-config-network-7.0.0-4.fc34.x86_64 @System libvirt-daemon-kvm-7.0.0-4.fc34.x86_64 @System qemu-kvm-2:5.2.0-7.fc34.x86_64 @System virt-manager-3.2.0-3.fc34.noarch @System virt-viewer-9.0-3.fc34.x86_64 @System Optional Packages: libguestfs-tools python3-libguestfs-1:1.45.4-1.fc34.x86_64 updates virt-top-1.0.9-17.fc34.x86_64 fedora
Hal pertama yang dapat kita perhatikan pada output adalah nama dan id dari grup paket, dalam hal ini "Virtualisasi" dan "virtualisasi", masing-masing. Setelah mereka, kita dapat membaca deskripsi singkat dari grup paket dan tujuannya,
dan akhirnya daftar paket yang sebenarnya termasuk di dalamnya. Kita dapat melihat paket-paket tersebut dibagi menjadi tiga bagian utama:
- Wajib
- Bawaan
- Opsional
Paket yang ditandai sebagai “Wajib” dan “Default” akan selalu diinstal, sedangkan yang ditandai sebagai "Opsional" akan diinstal hanya jika ditentukan. Demi kelengkapan, kami harus menyebutkan bahwa ada bagian lain, yang tidak digunakan dalam kasus ini:Kondisional . Paket-paket yang merupakan bagian dari bagian "Bersyarat" hanya diinstal jika paket yang mereka butuhkan sudah diinstal.
Dalam kasus tertentu beberapa paket yang merupakan bagian dari grup paket dapat sudah ada di sistem. Saat kami menjalankan group info
perintah dengan -v
pilihan, seperti yang kita lakukan di atas, paket-paket yang merupakan bagian dari grup dan belum diinstal akan mudah dibedakan, karena mereka akan disorot dalam daftar. Berikut adalah output dari dnf -v group info virtualization
perintah setelah virt-viewer
paket diinstal secara tunggal:
dnf -v group info virtualization
keluaran perintah Mencantumkan semua grup paket yang tersedia
Untuk membuat daftar semua grup paket yang tersedia di repositori distribusi kami, yang harus kami lakukan adalah menjalankan perintah berikut:
$ dnf group list
Perintah di atas mengembalikan daftar semua grup yang dikenal. Namun, kita dapat menambahkan serangkaian opsi untuk mengubah perilakunya. Secara default, yang disebut grup tersembunyi tidak termasuk dalam daftar. Untuk menampilkannya, yang
perlu kita lakukan adalah menambahkan --hidden
pilihan:
$ dnf group list --hidden
Jika kami hanya ingin mendapatkan daftar semua terpasang grup paket, sebagai gantinya, kita dapat menggunakan --installed
pilihan:
$ dnf group list --installed
Menginstal, meningkatkan, dan menghapus grup paket
Jadi, bagaimana kita bisa menginstal grup paket? Ada dua cara utama:kita dapat menentukan nama paket yang diawali dengan @
simbol, atau gunakan dnf group install
perintah, seperti yang sudah kita lihat. Perintah di bawah ini setara:
$ sudo dnf install @virtualization
$ sudo dnf group install virtualization
Seperti yang telah kami katakan, hanya paket "Mandatory" dan "Default" yang diinstal secara default. Perilaku default ini, bagaimanapun, dapat dimodifikasi dengan menggunakan group_package_types
dnf, baik dari baris perintah atau di file konfigurasi dnf
. Mari kita buat contoh. Misalkan kita ingin menginstal hanya paket-paket yang merupakan bagian dari bagian "Wajib" dari grup paket, kita dapat menjalankan perintah berikut:
$ sudo dnf --setopt=group_package_types="mandatory" group install Virtualization
Jika kita tidak ingin menentukan opsi setiap kali kita menjalankan perintah, kita dapat mengaturnya secara permanen di file konfigurasi dnf, /etc/dnf/dnf.conf
:
[main] # Install only Mandatory packages from package groups group_package_types=mandatory
Jika kita hanya ingin paket yang disertakan dalam bagian “Opsional” dari grup paket untuk disertakan, kita juga bisa menambahkan --with-optional
tanda baris perintah saat memasang grup paket:
$ sudo dnf group install --with-optional virtualization
Kami juga memiliki kesempatan untuk meningkatkan versi kelompok paket. Ketika kami melakukannya, semua paket yang merupakan bagian dari grup akan ditingkatkan bersama dengan grup paket itu sendiri:ini berpotensi menyebabkan paket baru diinstal
jika telah ditambahkan ke grup, atau dihapus jika tidak bagian dari grup lagi dan mereka tidak diinstal secara eksplisit oleh pengguna. Untuk mengupgrade grup paket, kami menggunakan group upgrade
perintah, jadi, misalnya,
untuk memutakhirkan paket “Virtualisasi” kita akan menjalankan:
$ sudo dnf group upgrade virtualization
Dnf juga memberikan perintah untuk menghapus grup paket yang diinstal:group remove
. Perintah akan menghapus semua paket yang merupakan bagian dari grup dari sistem operasi, kecuali paket yang merupakan bagian dari grup paket lain, atau yang diinstal secara eksplisit oleh pengguna. Untuk menghapus grup paket “Virtualisasi”, kami akan menjalankan:
$ sudo dnf group remove virtualization
Kesimpulan
Dalam tutorial ini kita belajar tentang grup paket. Kami melihat bagaimana mendapatkan informasi tentang grup paket tertentu dalam distribusi yang menggunakan dnf sebagai manajer paket, seperti Fedora dan Rhel, bagaimana paket yang merupakan anggota grup paket dibagi menjadi beberapa bagian, yang mana yang diinstal secara default, dan bagaimana kita dapat mengubah
perilaku ini. Terakhir, kami mempelajari cara menginstal, meningkatkan, dan menghapus grup paket.