GNU/Linux >> Belajar Linux >  >> Linux

Manajemen paket Linux dengan dnf

Menginstal aplikasi pada sistem komputer cukup sederhana. Anda menyalin file dari arsip (seperti file .zip) ke komputer target di tempat yang diharapkan oleh sistem operasi sebagai aplikasi. Karena banyak dari kita terbiasa memiliki "wizard" penginstal yang bagus untuk membantu kita mendapatkan perangkat lunak di komputer kita, prosesnya tampaknya secara teknis lebih rumit dari itu.

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Apa itu kompleks, bagaimanapun, adalah masalah apa yang membuat sebuah aplikasi. Apa yang pengguna anggap sebagai aplikasi tunggal sebenarnya berisi peminjaman kode dari pustaka perangkat lunak (mis., .so file di Linux, .dll file di Windows, dan .dylib di macOS) tersebar di seluruh sistem operasi.

Agar pengguna tidak perlu khawatir tentang matriks kode yang benar-benar saling bergantung, Linux menggunakan sistem manajemen paket untuk melacak aplikasi apa yang membutuhkan perpustakaan apa, dan perpustakaan atau aplikasi mana yang memiliki pembaruan keamanan atau fitur, dan file data tambahan apa yang diinstal dengan setiap judul perangkat lunak. Manajer paket, pada dasarnya, adalah wizard penginstal. Mereka mudah digunakan, mereka menyediakan antarmuka grafis dan antarmuka berbasis terminal, dan mereka membuat hidup Anda lebih mudah. Semakin baik Anda mengenal manajer paket distribusi Anda, semakin mudah hidup Anda.

Menginstal aplikasi di Linux

Jika Anda adalah pengguna desktop biasa yang ingin menginstal aplikasi di Linux, maka Anda mungkin mencari Perangkat Lunak GNOME, browser aplikasi desktop.

Ini berfungsi seperti yang Anda harapkan:Anda mengeklik antarmukanya hingga menemukan aplikasi yang tampaknya berguna, lalu mengeklik tombol Pasang tombol.

Sebagai alternatif, Anda dapat membuka .rpm atau .flatpakref paket yang diunduh dari web dalam Perangkat Lunak GNOME agar dapat diinstal untuk Anda.

Jika Anda cenderung mengontrol komputer Anda dengan perintah yang diketik, baca terus!

Menemukan perangkat lunak dengan dnf

Sebelum Anda dapat menginstal aplikasi, Anda mungkin perlu mengonfirmasi bahwa aplikasi itu ada di server distribusi Anda. Biasanya, mencari nama umum aplikasi dengan dnf cukup. Misalnya, Anda baru saja membaca artikel tentang Cockpit dan memutuskan ingin mencobanya. Anda bisa mencari cockpit untuk memverifikasi bahwa distribusi Anda menyertakannya:

$ dnf search cockpit
 Last metadata expiration check: 0:01:46 ago on Tue 18 May 2021 19:18:15 NZST.
 ==== Name Exactly Matched: cockpit ====
 cockpit.x86_64 : Web Console for Linux servers

==== Name & Summary Matched: cockpit ==
 cockpit-bridge.x86_64 : Cockpit bridge server-side component
 cockpit-composer.noarch : Composer GUI for use with Cockpit
 [...]

Ada kecocokan yang tepat. Paket yang terdaftar sebagai kecocokan disebut cockpit.x86_64 , tetapi .x86_64 bagian dari nama hanya menunjukkan arsitektur CPU yang kompatibel dengannya. Secara default, sistem Anda menginstal paket dengan arsitektur CPU yang cocok, sehingga Anda dapat mengabaikan ekstensi itu. Oleh karena itu, Anda telah mengonfirmasi bahwa paket yang Anda cari memang bernama cockpit .

Sekarang Anda dapat menginstalnya dengan percaya diri dengan dnf install . Langkah ini memerlukan hak administratif:

$ sudo dnf install cockpit

Lebih sering daripada tidak, itulah dnf yang khas alur kerja:cari dan instal.

Namun terkadang, hasil dnf search tidak jelas bagi Anda, atau Anda menginginkan informasi lebih lanjut tentang sebuah paket daripada sekadar nama umumnya. Ada beberapa dnf yang relevan subperintah, tergantung pada informasi apa yang Anda cari.

Metadata paket

Jika Anda merasa pencarian Anda membuat Anda menutup ke paket yang Anda inginkan, tetapi Anda belum yakin, sering kali membantu untuk melihat metadata paket, seperti URL dan deskripsi proyek. Untuk mendapatkan info ini, gunakan dnf info yang intuitif dan menyenangkan perintah:

$ dnf info terminator
Available Packages
Name         : terminator
Version      : 1.92
Release      : 2.el8
Architecture : noarch
Size         : 526 k
Source       : terminator-1.92-2.el8.src.rpm
Repository   : epel
Summary      : Store and run multiple GNOME terminals in one window
URL          : https://github.com/gnome-terminator
License      : GPLv2
Description  : Multiple GNOME terminals in one window.  This is a project to produce
             : an efficient way of filling a large area of screen space with
             : terminals. This is done by splitting the window into a resizeable
             : grid of terminals. As such, you can  produce a very flexible
             : arrangements of terminals for different tasks.

Dump info ini memberi tahu Anda versi paket yang tersedia, yang disediakan oleh repositori yang terdaftar dengan sistem Anda, situs web proyek, dan deskripsi panjang tentang fungsinya.

Paket apa yang menyediakan file?

Nama paket tidak selalu sesuai dengan yang Anda cari. Misalnya, Anda sedang membaca dokumentasi yang memberi tahu Anda bahwa Anda harus menginstal sesuatu yang disebut qmake-qt5 :

$ dnf search qmake-qt5
No matches found.

dnf database sangat luas, jadi Anda tidak perlu membatasi diri untuk mencari kecocokan persis. Anda dapat menggunakan dnf provides perintah untuk mempelajari apakah sesuatu menyediakan apa yang Anda cari sebagai bagian dari beberapa paket yang lebih besar:

$ dnf provides qmake-qt5
qt5-qtbase-devel-5.12.5-8.el8.i686 : Development files for qt5-qtbase
Repo        : appstream
Matched from:
Filename    : /usr/bin/qmake-qt5

qt5-qtbase-devel-5.15.2-3.el8.x86_64 : Development files for qt5-qtbase
Repo        : appstream
Matched from:
Filename    : /usr/bin/qmake-qt5

Ini mengkonfirmasi bahwa aplikasi qmake-qt5 adalah bagian dari paket bernama qt5-qtbase-devel . Ini juga memberitahu Anda bahwa aplikasi akan diinstal ke /usr/bin , jadi Anda tahu persis di mana menemukannya setelah diinstal.

File apa yang disertakan dalam sebuah paket?

Ada kalanya saya menemukan diri saya mendekati dnf dari sudut yang berbeda sama sekali. Kadang-kadang, saya telah mengkonfirmasi bahwa sebuah aplikasi diinstal pada sistem saya; Saya hanya tidak tahu bagaimana saya mendapatkannya. Di lain waktu, saya tahu saya telah menginstal paket tertentu, tetapi saya tidak tahu persis paket apa yang dimasukkan ke sistem saya.

Jika Anda perlu "merekayasa balik" muatan paket, Anda dapat menggunakan dnf repoquery perintah bersama dengan --list pilihan. Ini melihat metadata repositori tentang sebuah paket dan mengembalikan daftar semua file yang disediakan oleh paket itu:

$ dnf repoquery --list qt5-qtbase-devel
/usr/bin/fixqt4headers.pl
/usr/bin/moc-qt5
/usr/bin/qdbuscpp2xml-qt5
/usr/bin/qdbusxml2cpp-qt5
/usr/bin/qlalr
/usr/bin/qmake-qt5
/usr/bin/qvkgen
/usr/bin/rcc-qt5
[...]

Daftar ini bisa panjang, jadi membantu menyalurkan perintah melalui less atau pager favorit Anda.

Menghapus aplikasi

Jika Anda memutuskan bahwa Anda tidak lagi memerlukan aplikasi yang diinstal pada sistem Anda, Anda dapat menggunakan dnf remove untuk menghapus instalannya, semua file yang diinstal sebagai bagian dari paketnya, dan semua dependensi yang tidak lagi diperlukan:

$ dnf remove bigapp

Terkadang, dependensi diinstal dengan satu aplikasi dan kemudian ditemukan berguna oleh beberapa aplikasi lain yang Anda instal. Jika dua paket memerlukan ketergantungan yang sama, dnf remove apakah tidak menghilangkan ketergantungan. Bukan hal yang aneh untuk berakhir dengan paket tersesat di sana-sini setelah menginstal dan menghapus banyak aplikasi. Sekitar setahun sekali, saya melakukan dnf autoremove untuk menghapus paket yang tidak digunakan:

$ dnf autoremove

Ini tidak perlu, tetapi ini adalah langkah membersihkan rumah yang membuat saya merasa lebih baik tentang komputer saya.

Mengenal dnf

Semakin banyak yang Anda ketahui tentang cara kerja manajer paket, semakin mudah bagi Anda untuk menginstal dan menanyakan aplikasi bila diperlukan. Bahkan jika Anda bukan dnf biasa pengguna, akan berguna untuk mengetahuinya saat Anda berinteraksi dengan distro berbasis RPM.

Setelah lulus dari yum , salah satu manajer paket favorit saya adalah dnf memerintah. Meskipun saya tidak menyukai semua sub-perintahnya, saya merasa ini adalah salah satu sistem manajemen paket yang lebih kuat di luar sana. Unduh dnf kami lembar contekan untuk membiasakan diri dengan perintah tersebut, dan jangan takut untuk mencoba beberapa trik baru dengannya. Setelah Anda terbiasa dengannya, Anda mungkin merasa sulit untuk menggunakan yang lain.


Linux
  1. Manajer paket Linux:dnf vs apt

  2. Manajemen paket Linux dengan apt

  3. 15 Contoh Perintah aptitude untuk Manajemen Paket di Linux

  1. Menggunakan AppImage untuk manajemen paket Linux

  2. Manajemen Paket CentOS 8 dengan DNF di Baris Perintah

  3. Manajemen Paket Tingkat Lanjut di Kali Linux

  1. Instal Linux dengan LVM

  2. Ganti du dengan debu di Linux

  3. Perintah dpkg di Linux Dengan Contoh