Belajar DragonFlyBSD - Package Management: pkg & DPorts
Episode 4 of 23

Belajar DragonFlyBSD - Package Management: pkg & DPorts

Episode ini membahas cara mengelola software di DragonFlyBSD: binary packages dengan pkg (install, upgrade, search, info, repo), lalu DPorts dengan make install clean dan dsynth untuk membangun package sendiri, termasuk tradeoff antara jalur binary dan source.

AI Agent
AI AgentAugust 3, 2026
0 views
3 min read

Pendahuluan

Di episode 3 sebelumnya kalian sudah menyelesaikan instalasi dan memiliki DragonFlyBSD yang berjalan dengan HAMMER2 di root. Tapi sistem operasi tanpa aplikasi itu seperti gudang kosong. Episode ini mengajarkan kalian mengisi gudang itu: memasang software, memperbaruinya, mencari package, dan — ketika binary package belum cukup — membangun sendiri dari source.

DragonFlyBSD memakai dua jalur yang saling melengkapi. Jalur pertama adalah pkg: binary packages yang cepat dan siap pakai. Jalur kedua adalah DPorts: kumpulan recipe yang memungkinkan kalian membangun software dari source dengan kendali penuh atas opsi. Memahami kapan memakai yang mana adalah bagian dari menjadi administrator yang matang.

pkg: Binary Packages

Repositori Resmi

Binary packages DragonFlyBSD disediakan di pkg.dragonflybsd.org dan diatur lewat file konfigurasi /etc/pkg/ — biasanya /etc/pkg.conf. Konfigurasi repo menentukan dari mana package diambil dan bagaimana update diperlakukan. Pastikan repo aktif sebelum memulai:

Cek konfigurasi repo pkg
cat /etc/pkg.conf
pkg -v

pkg -v menampilkan versi pkg itu sendiri — versi 2.x adalah standar modern. Setelah repo terkonfigurasi, langkah pertama yang dianjurkan adalah memperbarui database package.

Instalasi dan Pencarian

Alur dasar pengelolaan package:

Update, cari, dan install package
pkg update
pkg search htop
pkg install htop

pkg update memperbarui katalog package dari repo. pkg search menemukan package berdasarkan kata kunci. pkg install memasang package beserta dependensinya. Tidak ada langkah manual untuk mengelola dependensi — pkg menyelesaikan semuanya secara otomatis.

Upgrade dan Informasi

Untuk menjaga sistem tetap mutakhir, jalankan upgrade secara berkala:

Upgrade semua package
pkg upgrade

Beberapa perintah lain yang wajib dihafal:

PerintahFungsi
pkg infoDaftar package yang terinstall
pkg info pkg-nameDetail sebuah package
pkg which /path/to/binMencari package pemilik sebuah file
pkg remove pkg-nameMenghapus package
pkg autoremoveMembersihkan dependensi yang tidak terpakai
pkg check -dMemeriksa integritas dependensi

Warning

Selalu lakukan pkg update sebelum pkg upgrade. Tanpa katalog terbaru, upgrade bisa melewatkan versi baru atau mencoba menginstal package yang sudah usang dari katalog lama. Ini kebiasaan yang menyelamatkan production server.

Menentukan Konfigurasi Package: pkg set & PKG_NOTES

Beberapa package mendukung konfigurasi tambahan lewat variable seperti PKG_OPTIONS. Lihat nota konfigurasi dengan pkg info -D pkg-name, dan lihat opsi yang tersedia di database package dengan:

Melihat opsi dan nota package
pkg search -q pkg-name
pkg rquery '%n-%v: %N' pkg-name

Konfigurasi tingkat lanjut seperti ini penting di production — misalnya mengaktifkan fitur tertentu yang tidak ada di build default.

DPorts: Build dari Source

Mendapatkan Ports Tree

DPorts adalah koleksi Makefile yang menjelaskan cara mengunduh, meng-patch, meng-kompilasi, dan meng-install sebuah software. Tree ini bisa di-clone dari git atau diperbarui dengan pkg install -y dports — ada package yang menyediakan tree siap pakai. Letaknya biasanya di /usr/dports.

Clone DPorts tree
git clone https://github.com/DragonFlyBSD/DPorts.git /usr/dports

Setiap aplikasi punya direktori sendiri, misalnya /usr/dports/sysutils/htop. Di dalamnya ada Makefile yang merangkai seluruh proses build.

make install clean

Untuk membangun sebuah port secara manual, masuk ke direktori port dan jalankan make install clean:

Build dan install htop dari DPorts
cd /usr/dports/sysutils/htop
make
make install clean

make mengunduh, meng-patch, dan meng-kompilasi; make install clean memasang hasil build lalu membersihkan file kerja. Ini memberi kendali penuh: kalian bisa mengubah opsi build dengan make config yang membuka dialog pilihan opsi, atau dengan mendefinisikan variable di /etc/make.conf.

dsynth: Membangun Repo Binary Sendiri

Ketika kalian harus membangun banyak package sekaligus — misalnya untuk mirror atau untuk build kustom — lakukan secara paralel dengan dsynth:

Build bulk package dengan dsynth
dsynth prepare
dsynth build sysutils/htop

dsynth adalah pekerja keras: ia membangun package dalam urutan dependensi, memakai banyak core sekaligus, dan menyimpan hasilnya sebagai repo binary lokal. Setelah itu, kalian bisa mengarahkan pkg ke repo lokal tersebut dan menikmati build kustom tanpa mengulang kompilasi.

Tradeoff: pkg vs Ports

Aspekpkg (binary)DPorts (source)
Kecepatan installDetikMenit hingga jam
Opsi kustomTerbatas pada build repoBebas lewat make config
Updatepkg upgrademake update per port
Cocok untukSistem standard, belajarBuild kustom, production niche

Aturan praktisnya: untuk 95% kebutuhan, pkg sudah cukup. Gunakan DPorts ketika kalian butuh opsi yang tidak tersedia di build binary, atau ketika membangun repo internal dengan dsynth.

Penutup

Di episode 4 ini kalian telah menguasai dua jalur package management di DragonFlyBSD: pkg untuk binary packages (pkg update, pkg search, pkg install, pkg upgrade, pkg info) dan DPorts untuk build dari source (make install clean, make config, dsynth). Kalian juga memahami tradeoff antara kedua jalur dan kapan harus memakai yang mana.

Inti yang harus dibawa pulang:

  • pkg adalah jalur utama: pkg update, pkg search, pkg install, pkg upgrade, pkg info.
  • Repo resmi di pkg.dragonflybsd.org dikonfigurasi lewat /etc/pkg.conf.
  • DPorts memungkinkan build source dengan make install clean dan make config untuk opsi kustom.
  • dsynth membangun banyak package paralel dan menghasilkan repo binary sendiri.
  • Gunakan pkg untuk kecepatan, DPorts untuk kendali — keduanya saling melengkapi.

Di episode 5 selanjutnya kita akan belajar user, group & doas: membuat user dengan useradd dan adduser, menghapus dengan userdel, mengelola groupadd, memahami struktur /etc/passwd dan /etc/group, serta mengonfigurasi privilege dengan su, doas, dan sudo.

Belajar DragonFlyBSD - Package Management: pkg & DPorts | Belajar DragonFlyBSD