---
title: "Cara Mengelola Paket dengan apt di Ubuntu dan Debian"
description: "Panduan apt untuk admin server: update, upgrade, install, remove dan purge, mengunci versi paket, membersihkan cache, dan mengatasi error lock."
url: "https://nivelva.com/insight/cara-mengelola-paket-apt-ubuntu-debian"
category: "Server \u0026 Infrastruktur"
tags: ["apt","ubuntu","debian","linux","manajemen paket"]
author: "Theresia Candiawan"
published: "2026-11-07T05:48:00+07:00"
updated: "2026-11-07T05:48:00+07:00"
language: "id"
publisher: "Nivelva (https://nivelva.com)"
---

# Cara Mengelola Paket dengan apt di Ubuntu dan Debian

> **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.

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](https://nivelva.com/insight/cara-mengaktifkan-update-keamanan-otomatis-ubuntu).

### 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](https://nivelva.com/insight/ubuntu-vs-debian-server).

## 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

| Kebutuhan | Perintah |
|:--|:--|
| Segarkan daftar paket | `sudo apt update` |
| Lihat yang bisa diperbarui | `apt list --upgradable` |
| Perbarui paket | `sudo apt upgrade` atau `sudo apt full-upgrade` |
| Cari dan lihat info paket | `apt search nama`, `apt show nama`, `apt policy nama` |
| Pasang paket | `sudo apt install nama` |
| Hapus paket (config tetap) | `sudo apt remove nama` |
| Hapus paket dan config | `sudo apt purge nama` |
| Buang dependensi tak terpakai | `sudo apt autoremove` |
| Kunci dan buka versi | `sudo apt-mark hold nama`, `sudo apt-mark unhold nama` |
| Lihat file milik paket | `dpkg -L nama` |
| Bersihkan cache | `sudo apt clean` |

Di AlmaLinux dan keluarga Red Hat, padanannya adalah dnf. Daftar perintahnya ada di [perintah dnf di AlmaLinux 9](https://nivelva.com/insight/perintah-dnf-almalinux-9-sering-dipakai-admin).

## 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

- <https://manpages.debian.org/trixie/apt/apt.8.en.html>
- <https://manpages.debian.org/trixie/apt/apt-mark.8.en.html>

---

Diterbitkan oleh Nivelva Insight (https://nivelva.com/insight/). Artikel ini: https://nivelva.com/insight/cara-mengelola-paket-apt-ubuntu-debian
Kontak Nivelva: WhatsApp https://wa.me/6285111245007, email hello@nivelva.com
