Linux Distros dan Package Manager: APT, Pacman, DNF, Zypper, APK, XBPS, Flatpak, dan Snap

Linux Distros dan Package Manager: APT, Pacman, DNF, Zypper, APK, XBPS, Flatpak, dan Snap

Kalau sering berpindah distro Linux, salah satu hal yang paling terasa adalah cara meng-install software yang berbeda-beda. Di Ubuntu kita menggunakan APT, di Arch Linux menggunakan Pacman, di Fedora menggunakan DNF, sedangkan openSUSE menggunakan Zypper.

Bagi pengguna baru, kondisi ini mungkin terlihat membingungkan. Kenapa Linux tidak memiliki satu package manager saja seperti sistem operasi lain?

Jawabannya berkaitan dengan bagaimana distro Linux dikembangkan. Banyak distro sebenarnya berasal dari keluarga atau basis distribusi tertentu, sehingga mereka mewarisi sistem package management dari distro induknya.

Sebagai contoh, Ubuntu berbasis Debian, sehingga menggunakan APT. Linux Mint, Pop!_OS, Zorin OS, dan elementary OS juga masih berada dalam ekosistem Debian/Ubuntu, sehingga cara pengelolaan package-nya relatif mirip.

Hal yang sama terjadi pada keluarga Arch dan Red Hat.

Mari kita lihat satu per satu.

1. Debian Family menggunakan APT

Debian merupakan salah satu distro Linux tertua dan paling berpengaruh. Banyak distro populer saat ini dibangun langsung atau tidak langsung di atas Debian.

Beberapa distro yang berada dalam ekosistem Debian antara lain:

  • Debian
  • Ubuntu
  • Linux Mint
  • Pop!_OS
  • Zorin OS
  • elementary OS
  • Kali Linux
  • MX Linux

Package manager yang paling umum digunakan pada keluarga ini adalah APT.

Debian Family
├── Debian
├── Ubuntu
├── Linux Mint
├── Pop!_OS
├── Zorin OS
├── elementary OS
├── Kali Linux
└── MX Linux

Package Manager → APT

Untuk meng-install package:

sudo apt install <package>

Contohnya:

sudo apt install git

Untuk menghapus package:

sudo apt remove <package>

Contohnya:

sudo apt remove git

APT sebenarnya bekerja di atas sistem package Debian yang menggunakan format .deb. Di level yang lebih rendah terdapat tool seperti dpkg, tetapi untuk penggunaan sehari-hari pengguna Debian dan Ubuntu biasanya cukup berinteraksi melalui APT.

Jadi secara sederhana:

APT
 ↓
dpkg
 ↓
.deb package

2. Arch Family menggunakan Pacman

Arch Linux memiliki pendekatan yang cukup berbeda dari Debian. Arch dikenal sebagai distro rolling release dengan filosofi sistem yang relatif sederhana dan dekat dengan konfigurasi manual pengguna.

Beberapa distro populer yang menggunakan basis atau ekosistem Arch antara lain:

  • Arch Linux
  • Manjaro
  • Garuda Linux
  • EndeavourOS
  • BlackArch
Arch Family
├── Arch Linux
├── Manjaro
├── Garuda Linux
├── EndeavourOS
└── BlackArch

Package Manager → Pacman

Package manager utama di keluarga Arch adalah Pacman.

Untuk meng-install package:

sudo pacman -S <package>

Contohnya:

sudo pacman -S git

Untuk menghapus package:

sudo pacman -R <package>

Contohnya:

sudo pacman -R git

Sintaks Pacman memang terlihat sedikit berbeda dibanding APT karena banyak operasi menggunakan kombinasi flag seperti -S, -R, atau -Syu.

Walaupun begitu, setelah terbiasa pola penggunaannya cukup konsisten.

Pada Manjaro, pengguna mungkin juga sering menemukan Pamac. Pamac lebih tepat dianggap sebagai frontend atau tool tambahan untuk mempermudah pengelolaan package, sedangkan Pacman tetap menjadi bagian penting dari ekosistem Arch.

3. Red Hat Family menggunakan DNF

Di sisi lain terdapat keluarga Red Hat. Ekosistem ini banyak digunakan baik pada desktop maupun server dan enterprise.

Beberapa distro yang umum menggunakan DNF antara lain:

  • Fedora
  • Red Hat Enterprise Linux atau RHEL
  • Rocky Linux
  • AlmaLinux
Red Hat Family
├── Fedora
├── RHEL
├── Rocky Linux
└── AlmaLinux

Package Manager → DNF

Untuk meng-install package:

sudo dnf install <package>

Contohnya:

sudo dnf install git

Untuk menghapus package:

sudo dnf remove <package>

Contohnya:

sudo dnf remove git

Keluarga Red Hat menggunakan package berbasis .rpm. Sebelum DNF menjadi standar, banyak pengguna Linux mungkin lebih familiar dengan YUM.

Pada distro modern, DNF mengambil peran utama untuk package management. Di generasi baru Fedora dan RHEL, implementasi DNF juga terus berkembang melalui DNF5.

Namun untuk pengguna biasa, perintah dnf install dan dnf remove tetap menjadi bentuk yang paling mudah dipahami.

4. openSUSE menggunakan Zypper

openSUSE memiliki ekosistem package management sendiri yang berbeda dari Debian maupun Arch.

SUSE Family
└── openSUSE

Package Manager → Zypper

Package manager command line yang digunakan adalah Zypper.

Untuk meng-install package:

sudo zypper install <package>

Contohnya:

sudo zypper install git

Untuk menghapus package:

sudo zypper remove <package>

Contohnya:

sudo zypper remove git

openSUSE juga menggunakan package berbasis RPM, tetapi cara pengelolaannya berbeda dari Fedora. Zypper bekerja dengan ekosistem libzypp yang digunakan oleh openSUSE.

5. Alpine Linux menggunakan APK

Alpine Linux sedikit berbeda karena bukan bagian dari keluarga Debian, Arch, atau Red Hat. Alpine dikembangkan sebagai distro independen dengan fokus pada ukuran kecil, keamanan, dan efisiensi.

Alpine Linux

Package Manager → APK

Package manager-nya disebut APK.

Bukan APK Android ya. 😄

Dalam konteks Alpine, APK berarti Alpine Package Keeper.

Untuk meng-install package:

sudo apk add <package>

Contohnya:

sudo apk add git

Untuk menghapus package:

sudo apk del <package>

Contohnya:

sudo apk del git

Alpine sangat populer untuk container dan server karena image dasarnya relatif kecil dibanding banyak distro lain. Karena itu, APK juga sering ditemukan ketika bekerja dengan Docker.

6. Void Linux menggunakan XBPS

Void Linux juga merupakan distro independen dan memiliki sistem package management sendiri.

Void Linux

Package Manager → XBPS

XBPS adalah singkatan dari X Binary Package System.

Untuk meng-install package:

sudo xbps-install <package>

Contohnya:

sudo xbps-install git

Untuk menghapus package:

sudo xbps-remove <package>

Contohnya:

sudo xbps-remove git

Void Linux cukup menarik karena banyak komponennya dikembangkan dengan pendekatan sendiri. Selain XBPS, Void juga dikenal menggunakan runit sebagai init system secara default, bukan systemd.

Ringkasan Package Manager berdasarkan Distro Linux

Keluarga / Distro Package Manager Install Uninstall
Debian, Ubuntu, Mint, Pop!_OS, Zorin, elementary, Kali, MX Linux APT apt install apt remove
Arch, Manjaro, Garuda, EndeavourOS, BlackArch Pacman pacman -S pacman -R
Fedora, RHEL, Rocky Linux, AlmaLinux DNF dnf install dnf remove
openSUSE Zypper zypper install zypper remove
Alpine Linux APK apk add apk del
Void Linux XBPS xbps-install xbps-remove

Lalu, Bagaimana dengan Flatpak dan Snap?

Setelah melihat daftar di atas, mungkin muncul pertanyaan lain.

Kalau setiap keluarga distro punya package manager sendiri, apakah ada cara untuk mendistribusikan aplikasi Linux tanpa harus membuat package terpisah untuk Debian, Arch, Fedora, openSUSE, dan distro lainnya?

Jawabannya ada.

Linux memiliki beberapa sistem packaging lintas distro. Dua yang paling populer adalah Flatpak dan Snap.

Keduanya memiliki pendekatan yang berbeda dari package manager tradisional seperti APT atau Pacman.

APT, Pacman, DNF, Zypper, APK, dan XBPS digunakan untuk mengelola package yang menjadi bagian dari sistem operasi. Package tersebut bisa berupa aplikasi, library, command line tool, service, driver, hingga komponen sistem lainnya.

Sedangkan Flatpak dan Snap lebih fokus pada distribusi aplikasi secara lintas distro dengan dependency yang lebih terisolasi.

Flatpak

Flatpak memungkinkan sebuah aplikasi didistribusikan dalam format yang relatif konsisten ke berbagai distro Linux.

Karena itu, aplikasi Flatpak yang sama dapat digunakan pada Fedora, Ubuntu, Arch Linux, openSUSE, dan banyak distro lainnya selama Flatpak tersedia di sistem tersebut.

Untuk meng-install aplikasi Flatpak:

flatpak install <package>

Untuk menghapus aplikasi:

flatpak uninstall <package>

Salah satu repository Flatpak yang paling dikenal adalah Flathub. Banyak aplikasi desktop Linux tersedia di sana.

Contoh aplikasi yang sering tersedia melalui Flatpak antara lain browser, editor gambar, media player, aplikasi komunikasi, dan berbagai software desktop lainnya.

Snap

Snap adalah sistem packaging lintas distro yang dikembangkan oleh Canonical, perusahaan di balik Ubuntu.

Snap menggunakan service bernama snapd untuk mengelola instalasi dan pembaruan package.

Untuk meng-install package:

sudo snap install <package>

Untuk menghapus package:

sudo snap remove <package>

Snap digunakan tidak hanya untuk aplikasi desktop, tetapi juga dapat digunakan untuk software server, CLI tool, dan berbagai jenis aplikasi lainnya.

Native Package Manager vs Cross-Distro Packaging

Walaupun sering dibahas dalam konteks yang sama, APT, Pacman, DNF, Flatpak, dan Snap sebenarnya tidak sepenuhnya memiliki fungsi yang identik.

Package manager native biasanya menjadi bagian penting dari sistem operasi.

APT
Pacman
DNF
Zypper
APK
XBPS
↓
Mengelola package sistem dan aplikasi

Sementara Flatpak dan Snap lebih diarahkan pada distribusi aplikasi yang dapat berjalan di berbagai distro.

Flatpak
Snap
↓
Cross-distro application packaging

Dalam penggunaan sehari-hari, keduanya bisa digunakan secara bersamaan.

Sebagai contoh, pengguna Ubuntu bisa menggunakan APT untuk meng-install Git, compiler, driver, atau tool sistem, sementara aplikasi desktop tertentu di-install melalui Flatpak.

APT
↓
Git
Compiler
Library
Driver
System tools

Flatpak
↓
Desktop applications

Hal yang sama juga berlaku pada Arch Linux.

Pacman
↓
System packages

Flatpak
↓
Desktop applications

Jadi tidak ada aturan bahwa pengguna Linux harus memilih salah satu saja.

Kenapa Linux Memiliki Banyak Package Manager?

Pertanyaan yang cukup sering muncul adalah kenapa Linux tidak memiliki satu package manager universal sejak awal.

Hal ini terjadi karena Linux bukan satu sistem operasi tunggal yang dikembangkan oleh satu vendor.

Linux lebih tepat dipahami sebagai sebuah kernel yang digunakan oleh berbagai distribusi. Masing-masing distribusi memiliki filosofi, repository, siklus rilis, format package, dan sistem pengelolaan software sendiri.

Debian memilih ekosistem package DEB dan APT. Arch membangun Pacman. Red Hat menggunakan ekosistem RPM dan DNF. openSUSE menggunakan RPM tetapi mengelolanya melalui Zypper dan libzypp. Alpine mengembangkan APK. Void mengembangkan XBPS.

Keberagaman tersebut memang menambah sedikit kompleksitas, tetapi di sisi lain memberi kebebasan bagi setiap distro untuk menentukan cara terbaik dalam mengelola sistemnya.

Kesimpulan

Package manager Linux sebenarnya tidak terlalu sulit dipahami jika kita melihat hubungan antar distro.

Secara sederhana:

Debian Family  → APT
Arch Family    → Pacman
Red Hat Family → DNF
openSUSE       → Zypper
Alpine Linux   → APK
Void Linux     → XBPS

Di luar package manager bawaan distro, ada juga sistem packaging lintas distro:

Flatpak
Snap

Package manager bawaan distro digunakan untuk mengelola package yang terintegrasi dengan sistem, sedangkan Flatpak dan Snap mempermudah distribusi aplikasi ke berbagai distro Linux.

Jadi meskipun Linux memiliki banyak distro dan package manager, pola dasarnya sebenarnya cukup sederhana.

Beda distro, beda package manager. Tapi pada akhirnya tujuannya tetap sama: install package. 😄

0/Post a Comment/Comments

Lebih baru Lebih lama