Konsep Package Management

Konsep Package Management

Bitnesia • Aug 16, 2026 124 •EN

Cara kita menginstal perangkat lunak di Linux berbeda dengan kebiasaan di Windows, tempat kita umumnya mengunduh installer dari situs web lalu menjalankannya. Di Linux, perangkat lunak dikelola melalui sistem yang disebut package manager. Bab ini meletakkan fondasi konseptual sebelum kita mempraktikkan APT dan DNF pada bab-bab berikutnya. Kita akan memahami apa itu package dan package manager, mengapa cara ini lebih aman dan praktis, peran repository, masalah dependency, serta dua ekosistem utama yang dipakai Ubuntu dan Fedora.

24.1 Apa Itu Package dan Package Manager?

Sebuah package adalah berkas arsip yang berisi seluruh komponen yang dibutuhkan sebuah perangkat lunak agar dapat berjalan, seperti program itu sendiri, library, file konfigurasi, dan metadata. Metadata tersebut memuat informasi seperti nama, versi, deskripsi, serta daftar package lain yang dibutuhkan.

Package manager adalah perangkat yang mengelola package-package tersebut. Tugasnya meliputi mencari, mengunduh, menginstal, memperbarui, dan menghapus package. Package manager juga memeriksa tanda tangan digital untuk memastikan package berasal dari sumber tepercaya, serta menangani ketergantungan antar package secara otomatis.

24.2 Mengapa Tidak Download Langsung dari Website?

Pada awalnya, mengunduh installer langsung dari situs web memang terasa familier. Namun, pendekatan ini membawa sejumlah masalah yang membuatnya kurang ideal di Linux.

  • Pembaruan yang tersebar. Setiap aplikasi harus diperbarui satu per satu secara manual, dan masing-masing memiliki mekanisme pembaruan sendiri.
  • Risiko keamanan. Kita harus memastikan sendiri bahwa file yang diunduh asli dan bebas modifikasi, tanpa jaminan tanda tangan yang terverifikasi.
  • Dependency tidak teratasi. Kita harus menginstal sendiri semua library pendukung yang dibutuhkan aplikasi.
  • Kesulitan menghapus. Menghapus aplikasi beserta seluruh berkasnya secara tuntas sering kali menyulitkan.

Melalui package manager, semua masalah tersebut ditangani dari satu tempat. Seluruh perangkat lunak diperbarui melalui satu perintah, keasliannya diverifikasi, dan ketergantungannya diselesaikan secara otomatis. Di lapangan, pengguna baru yang pindah dari Windows sering kali tetap mencoba mengunduh installer generik dari internet karena kebiasaan lama, lalu bingung ketika berkas tersebut ternyata tidak bisa langsung dieksekusi atau malah bentrok dengan versi library yang sudah dikelola package manager. Membiasakan diri mencari aplikasi lewat package manager terlebih dahulu, baru menoleh ke sumber lain jika benar-benar tidak tersedia, adalah kebiasaan yang layak dibawa sejak awal belajar Linux.

24.3 Repository: Sumber Paket Software

Package manager mengambil package dari repository, yaitu kumpulan package yang tersimpan di server resmi dan dirawat oleh masing-masing distribusi. Ubuntu mengambil package dari repository milik Canonical, sedangkan Fedora mengambilnya dari repository milik Fedora Project. Selain repository resmi, tersedia pula repository pihak ketiga seperti RPM Fusion di Fedora, serta toko aplikasi seperti Flathub yang menyediakan aplikasi dalam format Flatpak.

Karena package berasal dari repository yang dikurasi dan ditandatangani, risiko menginstal perangkat lunak berbahaya menjadi jauh lebih kecil dibandingkan mengunduh dari situs acak di internet.

24.4 Dependency: Ketergantungan Antar Paket

Hampir tidak ada perangkat lunak yang berdiri sendiri. Sebagian besar aplikasi bergantung pada dependency, yaitu package lain yang harus tersedia agar aplikasi tersebut dapat berjalan. Sebagai contoh, sebuah aplikasi pengolah gambar mungkin membutuhkan library untuk membaca format file tertentu.

Mengelola dependency secara manual sangat melelahkan dan rawan konflik, masalah yang dahulu dikenal dengan sebutan dependency hell. Package manager modern menyelesaikan masalah ini dengan menghitung seluruh dependency secara otomatis dan mengunduh apa pun yang dibutuhkan saat kita menginstal sebuah package. Ketika package dihapus, package manager juga dapat membersihkan dependency yang tidak lagi terpakai. Di lapangan, dependency hell justru paling sering muncul kembali ketika sysadmin memaksakan instalasi software dari source code atau file binary lepas di luar package manager: package manager tidak tahu-menahu soal file yang dipasang manual tersebut, sehingga tidak bisa ikut mengelola atau membersihkannya, dan konflik versi library pun jadi lebih sulit dilacak.

24.5 Dua Ekosistem Utama: APT dan DNF

Setiap keluarga distribusi memiliki package manager beserta format package masing-masing. Dua ekosistem utama yang relevan dengan series ini adalah sebagai berikut.

EkosistemPackage ManagerFormat Paket
Debian/UbuntuAPT (apt).deb
Red Hat/FedoraDNF (dnf).rpm

APT adalah package manager pada Ubuntu dan keluarga Debian, sedangkan DNF adalah package manager pada Fedora dan keluarga Red Hat. Keduanya menjalankan fungsi yang sama, hanya berbeda perintah dan format paketnya. Perlu diketahui, sejak beberapa rilis terakhir, perintah dnf di Fedora (termasuk Fedora Workstation 44) sebenarnya dijalankan oleh mesin baru bernama DNF5, yaitu tulisan ulang DNF dalam bahasa C++ yang menggantikan versi lama berbasis Python. Secara pemakaian sehari-hari, perintah yang kita ketik tetap sama (dnf install, dnf remove, dan seterusnya), hanya saja mesin di baliknya kini lebih cepat dan juga dipakai oleh aplikasi grafis seperti GNOME Software. Kita akan mempelajari APT secara mendalam pada bab berikutnya dan DNF pada bab setelahnya.

24.6 Format Paket: .deb dan .rpm

Package .deb dan .rpm pada dasarnya adalah arsip yang berisi file program, metadata, serta skrip yang dijalankan saat instalasi. Format .deb dipakai oleh sistem berbasis Debian dan dikelola oleh tool bernama dpkg di bawah APT. Format .rpm dipakai oleh sistem berbasis Red Hat dan dikelola oleh tool bernama rpm di bawah DNF.

Bicara soal tanda tangan digital yang disinggung di awal bab ini, RPM 6.0, generasi terbaru dari tool rpm yang sudah hadir sejak Fedora 43 dan tetap dipakai di Fedora Workstation 44, membawa kemampuan verifikasi tanda tangan yang jauh lebih ketat di level rpm itu sendiri. Secara default versi upstream-nya, RPM 6.0 akan menolak memasang package .rpm yang tidak memiliki tanda tangan valid, kecuali kita sengaja melewatinya dengan opsi seperti --nosignature. Namun, Fedora belum mengaktifkan perilaku seketat itu secara default di Fedora Workstation 44. Tool rpm di Fedora 44 masih mengikuti kebiasaan lama yang lebih longgar, yaitu memverifikasi tanda tangan jika tersedia tanpa benar-benar mewajibkannya, dan perilaku ketat ini baru dijadwalkan menjadi default mulai Fedora 45. DNF sendiri sudah lebih dulu mewajibkan tanda tangan valid secara default sejak lama, sehingga perubahan yang akan datang di level rpm ini sekadar menyelaraskannya dengan praktik keamanan yang sudah berjalan di DNF.

Selain dua format klasik tersebut, kini berkembang format universal seperti Flatpak dan Snap yang dapat berjalan di berbagai distribusi. Keduanya akan dibahas pada bab khusus setelah APT dan DNF.

24.7 Ringkasan

  • Package adalah arsip berisi program, library, file konfigurasi, dan metadata; package manager mengelola instalasi, pembaruan, dan penghapusannya secara terpusat dari satu tempat.
  • Instalasi lewat package manager lebih aman dan praktis dibanding mengunduh installer manual karena package sudah diverifikasi keasliannya dan dependency-nya diselesaikan secara otomatis.
  • Repository adalah sumber package resmi yang dikurasi dan ditandatangani oleh masing-masing distribusi, sehingga risiko menginstal perangkat lunak berbahaya jauh lebih kecil.
  • Dependency adalah package lain yang dibutuhkan sebuah aplikasi agar bisa berjalan; package manager modern menghitung dan menyelesaikannya secara otomatis, termasuk membersihkan dependency yang sudah tidak terpakai.
  • APT dengan format .deb adalah ekosistem package manager Ubuntu dan keluarga Debian, sedangkan DNF dengan format .rpm adalah ekosistem Fedora dan keluarga Red Hat.
  • Selain .deb dan .rpm, format universal seperti Flatpak dan Snap kini tersedia untuk dipakai lintas distribusi.

Memahami konsep package management adalah kunci untuk bekerja secara efisien dan aman di Linux. Melalui package manager, kita menginstal, memperbarui, dan menghapus perangkat lunak dari satu sumber terpercaya, tanpa perlu khawatir akan dependency atau keaslian file. Pada bab berikutnya, kita akan langsung mempraktikkan APT untuk mengelola perangkat lunak di Ubuntu 26.04 LTS, mulai dari apt update hingga mengelola repository dan menginstal file .deb secara manual.