Lewati ke isi

Server & Infrastruktur

Cara Mengelola Paket dengan apt di Ubuntu dan Debian

Panduan apt untuk admin server: update, upgrade, install, remove dan purge, mengunci versi paket, membersihkan cache, dan mengatasi error lock.

Terbit 6 menit baca

Jawaban singkat

Di Ubuntu dan Debian, apt update menyegarkan daftar paket, apt upgrade memasang pembaruan, apt install dan apt remove atau purge memasang dan membuang aplikasi. apt-mark hold mengunci versi, apt autoremove membersihkan sisa dependensi.

Daftar isi
  1. Langkah mengelola paket dengan apt
  2. Langkah 1: Segarkan daftar paket
  3. Langkah 2: Pasang pembaruan
  4. Langkah 3: Cari dan periksa paket sebelum memasang
  5. Langkah 4: Pasang paket
  6. Langkah 5: Hapus paket dengan benar
  7. Langkah 6: Kunci versi paket yang tidak boleh berubah
  8. Langkah 7: Bersihkan cache unduhan
  9. Di mana daftar repositori disimpan?
  10. Bagaimana mengatasi error yang sering muncul?
  11. Ringkasan perintah apt
  12. Pertanyaan yang sering diajukan
  13. Checklist singkat

Sering ragu bedanya apt update dan apt upgrade, atau kenapa aplikasi yang sudah dihapus masih meninggalkan file config? Wajar, karena apt punya banyak perintah yang namanya mirip.

Singkatnya, apt adalah manajer paket di Ubuntu dan Debian. Ia mengunduh software dari repositori resmi, memasang dependensinya, dan mencatat setiap file yang dipasang supaya bisa diperbarui atau dihapus dengan rapi. Panduan di bawah mengikuti urutan kerja admin sehari-hari, dari menyegarkan daftar paket sampai membersihkan sisa instalasi. Semua perintah yang mengubah sistem butuh sudo.

Langkah mengelola paket dengan apt

Langkah 1: Segarkan daftar paket

sudo apt update

Perintah ini tidak memasang apa pun. apt hanya mengunduh daftar paket terbaru dari repositori, lalu memberi tahu berapa paket yang bisa diperbarui. Jalankan selalu sebelum memasang atau memperbarui, supaya apt tidak mencari versi lama yang sudah hilang dari server repositori.

Untuk melihat paket apa saja yang menunggu pembaruan:

apt list --upgradable

Langkah 2: Pasang pembaruan

sudo apt upgrade

apt upgrade memperbarui paket yang sudah terpasang. Ia boleh memasang paket baru bila dibutuhkan sebagai dependensi, tetapi tidak akan menghapus paket yang sudah ada. Bila suatu pembaruan menuntut penghapusan paket lain, pembaruan itu ditahan.

sudo apt full-upgrade

full-upgrade lebih berani: ia boleh menghapus paket bila perlu untuk menyelesaikan pembaruan. Biasanya dipakai saat ada pergantian versi kernel atau perubahan dependensi besar. Baca daftar yang akan dihapus sebelum menekan Y.

Setelah pembaruan kernel atau library penting, Ubuntu membuat file /var/run/reboot-required. Cek dengan ls /var/run/reboot-required dan jadwalkan reboot bila file itu ada. Kalau ingin pembaruan keamanan berjalan sendiri, lihat cara mengaktifkan update keamanan otomatis.

Langkah 3: Cari dan periksa paket sebelum memasang

apt search redis
apt show redis-server
apt policy nginx

apt search mencari berdasarkan nama dan deskripsi. apt show menampilkan versi, ukuran, dan dependensi. apt policy menunjukkan versi yang terpasang, versi yang tersedia, dan dari repositori mana asalnya. Perintah terakhir ini sangat berguna saat kamu menambah repositori pihak ketiga dan ingin tahu versi mana yang akan dipakai.

Langkah 4: Pasang paket

sudo apt install nginx
sudo apt install nginx php-fpm php-mysql
sudo apt install --no-install-recommends imagemagick

Kamu bisa memasang beberapa paket sekaligus. Opsi --no-install-recommends hanya memasang dependensi wajib, tanpa paket yang sifatnya "disarankan". Berguna di VPS kecil supaya disk tidak terisi paket yang tidak terpakai. Untuk memasang file .deb yang sudah diunduh, gunakan sudo apt install ./nama-file.deb (perhatikan ./ di depannya) agar dependensinya ikut diurus.

Langkah 5: Hapus paket dengan benar

sudo apt remove nginx      # hapus program, config tetap ada
sudo apt purge nginx       # hapus program beserta config sistemnya
sudo apt autoremove        # hapus dependensi yang tidak lagi dipakai

Ini sumber kebingungan yang paling umum. remove sengaja menyisakan file config di /etc, supaya pengaturanmu kembali bila paket dipasang lagi. purge menghapus config tersebut juga. Data di luar paket, misalnya isi database di /var/lib/mysql atau file website di /var/www, umumnya tidak ikut terhapus, jadi cek dan backup dulu sebelum membersihkannya manual.

Langkah 6: Kunci versi paket yang tidak boleh berubah

Kadang satu paket harus tetap di versi tertentu, misalnya karena aplikasi belum cocok dengan versi baru. Gunakan apt-mark:

sudo apt-mark hold mariadb-server
apt-mark showhold
sudo apt-mark unhold mariadb-server

Paket yang di-hold dilewati saat apt upgrade. Jangan lupa mencatat alasannya dan membukanya kembali, karena paket yang terkunci terlalu lama juga tidak mendapat perbaikan keamanan.

Langkah 7: Bersihkan cache unduhan

apt menyimpan file .deb yang pernah diunduh di /var/cache/apt/archives/. Lama-lama bisa menumpuk:

sudo apt autoclean    # hapus paket lama yang sudah tidak bisa diunduh lagi
sudo apt clean        # kosongkan seluruh cache unduhan

Kedua perintah ini aman, karena paket yang sudah terpasang tidak terpengaruh.

Di mana daftar repositori disimpan?

Repositori yang dipakai apt tercatat di /etc/apt/sources.list dan folder /etc/apt/sources.list.d/. Ubuntu 24.04 ke atas memakai format baru (deb822) dengan file seperti /etc/apt/sources.list.d/ubuntu.sources, sedangkan sistem lama memakai satu baris per repositori di sources.list. Saat menambah repositori pihak ketiga, ikuti petunjuk resmi vendornya, termasuk cara memasang kunci GPG, dan tambahkan hanya dari sumber yang kamu percaya. Bila masih menimbang distro, perbandingannya ada di Ubuntu Server atau Debian.

Bagaimana mengatasi error yang sering muncul?

"Could not get lock /var/lib/dpkg/lock-frontend". Ada proses apt lain yang berjalan, sering kali pembaruan otomatis yang sedang bekerja di belakang. Tunggu beberapa menit dan cek dengan ps aux | grep -E 'apt|dpkg'. Jangan menghapus file lock secara manual selama proses itu masih hidup, karena bisa merusak database paket.

"dpkg was interrupted". Instalasi sebelumnya terputus, misalnya karena koneksi SSH putus. Jalankan sudo dpkg --configure -a, lalu sudo apt install -f untuk melengkapi dependensi yang patah. Untuk pembaruan panjang, jalankan di dalam tmux atau screen supaya tidak terputus.

Peringatan "apt does not have a stable CLI interface". Muncul bila keluaran apt dipakai di skrip. Untuk skrip dan cron, gunakan apt-get yang keluarannya stabil.

Ringkasan perintah apt

KebutuhanPerintah
Segarkan daftar paketsudo apt update
Lihat yang bisa diperbaruiapt list --upgradable
Perbarui paketsudo apt upgrade atau sudo apt full-upgrade
Cari dan lihat info paketapt search nama, apt show nama, apt policy nama
Pasang paketsudo apt install nama
Hapus paket (config tetap)sudo apt remove nama
Hapus paket dan configsudo apt purge nama
Buang dependensi tak terpakaisudo apt autoremove
Kunci dan buka versisudo apt-mark hold nama, sudo apt-mark unhold nama
Lihat file milik paketdpkg -L nama
Bersihkan cachesudo apt clean

Di AlmaLinux dan keluarga Red Hat, padanannya adalah dnf. Daftar perintahnya ada di perintah dnf di AlmaLinux 9.

Pertanyaan yang sering diajukan

Apa bedanya apt dan apt-get?

apt adalah antarmuka yang lebih ramah untuk dipakai langsung di terminal, dengan progress bar dan keluaran ringkas. apt-get lebih tua dan keluarannya stabil, sehingga lebih cocok untuk skrip dan otomasi.

Apakah apt upgrade aman dijalankan di server produksi?

Umumnya aman untuk rilis stabil, tetapi tetap ada risiko layanan perlu restart. Lakukan di jam sepi, baca daftar paket yang akan diperbarui, dan pastikan ada backup atau snapshot.

Bagaimana tahu paket mana yang memakan disk paling besar?

Jalankan dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n | tail -20 untuk melihat 20 paket terbesar dalam satuan KB.

Apakah apt autoremove bisa menghapus paket penting?

autoremove hanya menghapus paket yang dulu dipasang otomatis sebagai dependensi dan kini tidak dibutuhkan. Tetap baca daftarnya sebelum menyetujui, terutama bila ada paket kernel atau paket yang kamu pakai langsung.

Checklist singkat

  • Selalu apt update sebelum memasang atau memperbarui.
  • Baca daftar perubahan sebelum menekan Y, terutama pada full-upgrade dan autoremove.
  • Pakai purge bila ingin config ikut hilang, dan backup data aplikasi lebih dulu.
  • Catat setiap paket yang di-hold beserta alasannya.
  • Cek /var/run/reboot-required setelah pembaruan kernel.
  • Gunakan apt-get di skrip dan cron.

Sumber & referensi

Baca juga