Product SiteDocumentation Site

Bab 6. Pemeliharaan dan Pembaharuan: Peralatan APT

6.1. Mengisi Berkas sources.list
6.1.1. Sintaks
6.1.2. Repositori untuk Pengguna Stable
6.1.3. Repositori untuk pengguna Testing/Unstable
6.1.4. Menggunakan Cermin Alternatif
6.1.5. Sumber Daya Tidak-Resmi: mentors.debian.net
6.1.6. Caching Proxy untuk Paket Debian
6.2. Perintah aptitude, apt-get, dan apt
6.2.1. Inisialisasi
6.2.2. Instalasi dan Penghapusan
6.2.3. Pembaharuan Sistem
6.2.4. Pilihan Konfigurasi
6.2.5. Mengelola Prioritas Paket
6.2.6. Bekerja dengan Beberapa Distribusi
6.2.7. Pelacakan Otomatis Paket Terinstall
6.2.8. Pola APT
6.3. Perintah apt-cache
6.3.1. Perintah apt-cache policy
6.4. The apt-file Command
6.5. Frontends: aptitude, synaptic
6.5.1. aptitude
6.5.2. synaptic
6.6. Pemeriksaan Otentikasi Paket
6.7. Upgrade dari Satu Distribusi Stable ke Berikutnya
6.7.1. Prosedur yang Direkomendasikan
6.7.2. Menangani Masalah setelah Pembaharuan
6.7.3. Membersihkan setelah Peningkatan
6.8. Menjaga agar Sistem Up to Date
6.9. Pembaharuan Otomatis
6.9.1. Mengonfigurasi dpkg
6.9.2. Mengonfigurasi APT
6.9.3. Mengonfigurasi debconf
6.9.4. Menangani Interaksi Baris Perintah
6.9.5. Kombinasi Ajaib
6.10. Mencari Paket
Apa yang membuat Debian populer dengan administrator ialah bagaimana perangkat lunak dengan mudah dapat diinstall dan bagaimana seluruh sistem dapat diperbaharui dengan mudah. Keunggulan unik ini umumnya dikarenakan program APT, yang dipelajari oleh administrator Falcot dengan antusias.
APT merupakan singkatan dari Advanced Packaging Tool. Apa yang membuat program ini "canggih" adalah pendekatannya ke paket. Tidak mengevaluasinya satu per satu, namun menganggap sebagai seluruhnya dan menghasilkan kombinasi terbaik dari paket tergantung dari apa yang tersedia dan kompatibel berdasarkan ketergantungan.
APT perlu diberi sebuah "daftar sumber paket (repositori)": berkas /etc/apt/sources.list akan mendaftar repositori yang berbeda yang menerbitkan paket Debian. APT akan mengimpor daftar paket yang diterbitkan oleh setiap sumber. Operasi ini dicapai dengan mengunduh berkas Packages.xz atau suatu varian seperti Packages.gz atau .bz2 (memakai metoda kompresi yang berbeda) dalam hal sumber paket biner dan dengan menganalisa isinya. Dalam kasus sumber dari paket sumber, APT mengunduh berkas Sources.xz atau suatu varian yang memakai metode kompresi yang berbeda. Ketika salinan lama berkas ini masih tersedia, APT dapat memerbaruinya dengan hanya mengunduh perbedaannya (lihat bilah tepi TIP Pembaruan inkremental).

6.1. Mengisi Berkas sources.list

6.1.1. Sintaks

Setiap baris aktif dalam berkas /etc/apt/sources.list mewakili suatu sumber paket (repositori) dan disusun dari setidaknya tiga bagian yang dipisahkan oleh spasi. Untuk penjelasan lengkap tentang format berkas dan komposisi entri yang diterima, lihat sources.list(5).

Contoh 6.1. Contoh format entri dalam /etc/apt/sources.list

deb url distribusi komponen1 komponen2 komponen3 [..] komponenX
deb-src url distribusi komponen1 komponen2 komponen3 [..] komponenX
Field pertama menunjukkan tipe sumber:
deb
sumber paket (repositori) dari paket biner
deb-src
sumber paket (repositori) dari paket sumber
Ruas kedua memberikan URL dasar sumber. Dikombinasikan dengan nama berkas yang tercantum dalam berkas Packages.xz, itu harus memberikan URL lengkap dan valid. Ini dapat terdiri dari cermin Debian atau di arsip paket lain yang disiapkan oleh pihak ketiga. URL dapat dimulai dengan file:// untuk menunjukkan sumber lokal yang dipasang dalam hierarki sistem berkas, dengan http:// atau https:// untuk menunjukkan sumber yang dapat diakses dari server web, atau dengan ftp:// atau ftps:// untuk sumber yang tersedia di server FTP. URL juga dapat dimulai dengan cdrom: untuk instalasi berbasis cakram CD-ROM/DVD/Blu-ray, meskipun ini lebih jarang, karena metode instalasi berbasis jaringan pada akhirnya lebih umum. Lebih banyak metode seperti ssh:// atau tor+http(s):// didukung dan dijelaskan dalam sources.list(5) atau dokumentasi paket apt-transport-metode masing-masing.
Sintaks ruas terakhir tergantung pada struktur repositori. Dalam kasus yang paling sederhana, Anda dapat dengan mudah menunjukkan sub direktori (dengan garis miring di belakang yang diperlukan) dari sumber yang diinginkan. Ini sering sekadar "./" yang mengacu pada tidak adanya sub direktori. Paket kemudian langsung di URL yang ditentukan. Tetapi dalam kasus yang paling umum, repositori akan terstruktur seperti cermin Debian, dengan beberapa distribusi, masing-masing memiliki beberapa komponen. Dalam kasus tersebut, beri nama distribusi yang dipilih dengan "nama kode" — lihat daftar di bilah sisi KOMUNITAS Bruce Perens, seorang pemimpin kontroversial — atau dengan "suite" yang sesuai (oldoldstable, oldstable, stable, testing, unstable) dan kemudian komponen yang diaktifkan. Cermin Debian biasanya menyediakan komponen main, contrib, dan non-free.
Entri cdrom menjelaskan CD/DVD-ROM yang Anda miliki. Berlawanan dengan entri lainnya, CD-ROM tidak selalu tersedia karena harus dimasukkan ke drive dan hanya satu cakram yang dapat dibaca pada satu waktu. Untuk alasan tersebut, sumber ini diatur dalam cara yang sangat berbeda, dan perlu ditambahkan dengan program apt-cdrom, biasanya dieksekusi dengan parameter add. Kemudian akan meminta agar cakram dimasukkan ke dalam drive dan akan menjelajah isinya mencari berkas Packates. Menggunakan berkas tersebut untuk memerbarui basisdatanya dari paket yang tersedia (operasi ini biasanya dilakukan dengan perintah apt update). Dari itu, APT dapat meminta cakram untuk dimasukkan jika memerlukan salah satu paketnya.

6.1.2. Repositori untuk Pengguna Stable

Berikut ini standar sources.list untuk sistem menjalankan versi Debian Stable:

Contoh 6.2. Berkas /etc/apt/sources.list untuk pengguna Debian Stable

# Security updates
deb http://security.debian.org/ bullseye-security main contrib non-free
deb-src http://security.debian.org/ bullseye-security main contrib non-free

## Debian mirror

# Base repository
deb https://deb.debian.org/debian bullseye main contrib non-free
deb-src https://deb.debian.org/debian bullseye main contrib non-free

# Stable updates
deb https://deb.debian.org/debian bullseye-updates main contrib non-free
deb-src https://deb.debian.org/debian bullseye-updates main contrib non-free

# Stable backports
deb https://deb.debian.org/debian bullseye-backports main contrib non-free
deb-src https://deb.debian.org/debian bullseye-backports main contrib non-free
Berkas ini mencantumkan semua sumber paket yang terkait dengan Debian versi Bullseye (keluarga Stable pada saat ini ditulis). Dalam contoh di atas, kami memilih untuk memberi nama "bullseye" secara eksplisit daripada menggunakan alias "stable" yang sesuai (stable, stable-updates, stable-backports) karena kami tidak ingin distribusi yang mendasarinya berubah di luar kendali kami ketika rilis stabil berikutnya keluar.
Kebanyakan paket akan datang dari "base repository" yang berisi seluruh paket namun jarang diperbaharui (sekitar 2 bulan sekali untuk sebuah "point release"). Repositori lain adalah sebagian (mereka tidak berisi seluruh paket) dan dapat mewadahi pembaruan (paket dengan versi lebih baru) yang mungkin dipasang APT. Bagian berikut akan menjelaskan tujuan dan aturan yang mengatur setiap repositori tersebut.
Catat bahwa ketika versi paket yang diinginkan tersedia pada beberapa repositori, yang pertama didaftarkan di sources.list akan digunakan. Untuk alasan ini, sumber tak-resmi biasanya ditambahkan di akhir berkas.
Sebagai catatan lain, kebanyakan apa yang dikatakan bagian ini tentang Stable berlaku juga ke Oldstable karena yang terakhir hanya merupakan yang lama Stable yang dikelola secara paralel.

6.1.2.1. Pembaharuan Keamanan

Debian menangani keamanan secara serius. Kerentanan perangkat lunak yang diketahui dalam Debian dilacak dalam Pelacak Bug Keamanan dan biasanya diperbaiki dalam rentang waktu yang masuk akal. Pembaharuan keamanan biasanya tidak dihost pada jaringan mirror Debian biasa tetapi pada security.debian.org, seperangkat kecil mesin yang dikelola oleh Administrator Sistem Debian). Arsip ini berisi pembaharuan keamanan, yang dipersiapkan oleh Tim Keamanan Debian dan/atau oleh maintainer untuk distribusi Stable dan Oldstable.
Server juga dapat mewadahi pembaruan keamanan untuk Testing tetapi ini tidak sering terjadi karena pembaruan tersebut cenderung mencapai keluarga itu melalui aliran pembaruan reguler yang berasal dari Unstable.
Untuk masalah serius, tim keamanan mengeluarkan Debian Security Advisory (DSA) dan mengumumkannya bersama dengan pembaruan keamanan pada milis (arsip).

6.1.2.2. Pembaharuan Stabil

Pembaharuan Stable bukan keamanan yang sensitif tapi dianggap cukup penting untuk dikirim ke pengguna sebelum titik rilis stable selnjutnya.
Repositori ini akan berisi perbaikan khusus untuk bug kritis dan serius yang tidak dapat diperbaiki sebelum rilis atau yang telah diperkenalkan oleh pembaharuan berikutnya. Tergantung pada urgensinya, dapat pula berisi pembaharuan untuk paket yang berkembang dengan berjalannya waktu, seperti aturan deteksi spam spamassassin, basis data virus clamav, aturan "daylight-saving time" untuk seluruh zona waktu (tzdata), Firefox versi ESR (firefox-esr), atau kunci ring kriptografis seperti debian-archive-keyring.
Dalam praktiknya, repositori ini adalah subset dari repositori proposed-updates, yang dipilih dengan hati-hati oleh Stable Release Managers. Semua pembaruan diumumkan pada milis (arsip) dan akan disertakan dalam rilis poin Stable berikutnya.

6.1.2.3. Pengajuan Pembaharuan

Sekali diterbitkan, distribusi Stable hanya diperbaharui dua kali dalam sebulan. Repositori proposed-updates merupakan di mana pembaharuan yang diharapkan dipersiapkan (di bawah supervisi Manajer Rilis Stable).
Keamanan dan pembaharuan stable yang didokumentasikan di bagian sebelumnya selalu disertakan dalam repositori ini, tetapi ada lagi juga, karena maintainer paket juga memiliki kesempatan untuk memerbaiki kutu penting yang tidak perlu terburu-buru dirilis.
Siapa pun dapat menggunakan repositori ini untuk menguji pembaruan tersebut sebelum publikasi resmi mereka. Ekstrak di bawah ini menggunakan alias bullseye-proposed-updates yang lebih eksplisit dan lebih konsisten karena buster-proposed-updates juga ada (untuk pembaruan Oldstable):
deb https://deb.debian.org/debian bullseye-proposed-updates main contrib non-free

6.1.2.4. Backport Stable

Repositori stable-backports menghost "backport paket". Istilah tersebut mengacu pada paket beberapa perangkat lunak terkini yang telah dokompilasi untuk distribusi lama, umumnya untuk Stable.
Ketika distribusi menjadi sedikit tua, banyak sekali proyek perangkat lunak yang telah merilis versi baru yang tidak terintegrasi ke keluarga Stable terakhir, yang hanya dimodifikasi untuk menunjukkan masalah kritis, seperti masalah keamanan. Karena keluarga Testing dan Unstable dapat lebih beresiko, maintainer paket terkadang secara suka rela menawarkan kompilasi ulang untuk aplikasi perangkat lunak untuk Stable, yang bermanfaat bagi para pengguna dan administrator sistem untuk membatasi potensi ketidakstabilan pada sekelumit paket terpilih. Halaman https://backports.debian.org menyediakan lebih banyak informasi.
Backport dari stable-backports hanya dibuat dari paket yang tersedia di Testing. Ini untuk memastikan bahwa seluruh backport terinstall akan dapat dimutakhirkan berdasarkan versi stabil pada saat rilis stabil Debian berikutnya tersedia.
Meskipun repositori ini menyediakan versi terbaru paket, APT tidak akan menginstallnya kecuali Anda memberikan instruksi secara eksplisit (atau Anda telah melakukannya dengan versi sebelumnya backport yang diberikan):
$ sudo apt-get install package/bullseye-backports
$ sudo apt-get install -t bullseye-backports package

6.1.3. Repositori untuk pengguna Testing/Unstable

Berikut ini sebuah standar sources.list untuk sistem yang menjalankan versi Debian Testing atau Unstable:

Contoh 6.3. Berkas /etc/apt/sources.list untuk pengguna Debian Testing/Unstable

# Unstable
deb https://deb.debian.org/debian unstable main contrib non-free
deb-src https://deb.debian.org/debian unstable main contrib non-free

# Testing
deb https://deb.debian.org/debian testing main contrib non-free
deb-src https://deb.debian.org/debian testing main contrib non-free

# Testing security updates
deb http://security.debian.org/ testing-security main contrib non-free
deb-src http://security.debian.org/ testing-security main contrib non-free

# Stable
deb https://deb.debian.org/debian stable main contrib non-free
deb-src https://deb.debian.org/debian stable main contrib non-free

# Stable security updates
deb http://security.debian.org/ stable-security main contrib non-free
deb-src http://security.debian.org/ stable-security main contrib non-free
Dengan berkas sources.list ini APT akan menginstall paket dari Unstable. Jika bukan itu yang diinginkan, gunakan pengaturan APT::Default-Release (see Bagian 6.2.3, “Pembaharuan Sistem”) untuk menunjuk APT untuk mengambil paket dari kelompok lain (kemungkinan besar dalam kasus ini Testing).
Ada alasan bagus untuk memasukkan semua repositori itu, meskipun satu saja mestinya cukup. Pengguna Testing akan menghargai kemungkinan untuk memilih paket yang diperbaiki dari Unstable ketika versi dalam Testing dipengaruhi oleh bug yang mengganggu. Di sisi lain, pengguna Unstable yang terkena regresi tak terduga memiliki kemungkinan untuk menurunkan paket ke versi Testing (yang seharusnya berfungsi).
Penyantuman Stable dapat lebih diperdebatkan tetapi sering memberikan akses ke beberapa paket yang telah dihapus dari versi pengembangan. Ini juga memastikan bahwa Anda mendapatkan pembaruan terkini dari paket yang tidak lagi dimodifikasi sejak rilis stabil terakhir.

6.1.3.1. Repositori Experimental

Arsip paket Experimental ada di seluruh mirror Debian, dan berisi paket yang belum ada di versi Unstable karena kualitas substandar mereka - mereka sering berupa perangkat lunak versi pengembangan atau pre-versi (alpha, beta, rilis kandidat…). Sebuah paket dapat juga dikirim ke sana setelah mengalami perubahan berikutnya yang dapat menghasilkan masalah. Kemudian maintainer mencoba untuk menemukan mereka dengan bantuan dari para pengguna mahir yang dapat menangani isu=isu penting. Setelah langkah pertama ini, paket dipindah ke Unstable, di mana akan menjangkau audiens yang lebih banyak dan akan dites lebih mendetail.
Experimental umumnya digunakan oleh pengguna yang tidak peduli menghancurkan sistemnya dan kemudian memerbaikinya. Distribusi ini memberikan kemungkinan untuk mengimpor paket yang diinginkan pengguna untuk dicoba atau gunakan sebagaimana mereka perlukan. Inilah tentunya bagaimana pendekatan oleh Debian, karena mengambahkannya ke berkas sources.list APT tidak membawa ke penggunaan sistematis paketnya. Baris yang ditambahkan ialah:
deb https://deb.debian.org/debian experimental main contrib non-free

6.1.4. Menggunakan Cermin Alternatif

Contoh sources.list dalam bab ini mengacu pada repositori paket yang dihosting di deb.debian.org. URL tersebut akan mengarahkan Anda ke server yang dekat dengan Anda dan yang dikelola oleh Content Delivery Networks (CDN) yang peran utamanya adalah menyimpan beberapa salinan berkas di seluruh dunia, dan mengirimkannya secepat mungkin kepada pengguna. Perusahaan CDN yang bekerja sama dengan Debian adalah mitra Debian yang menawarkan layanan mereka secara gratis ke Debian. Meskipun tidak satu pun dari server tersebut berada di bawah kendali langsung Debian, fakta bahwa seluruh arsip disegel oleh tanda tangan GPG membuatnya menjadi tidak masalah.
Pengguna pemilih yang tidak puas dengan kinerja deb.debian.org dapat mencoba menemukan cermin yang lebih baik dalam daftar cermin resmi:
Tetapi ketika Anda tidak tahu cermin mana yang terbaik untuk Anda, daftar ini tidak banyak berguna. Untungnya bagi Anda, Debian memelihara entri-entri DNS dalam bentuk ftp. kode negara.debian.org (misalnya ftp.us.debian.org untuk Amerika Serikat, ftp.fr.debian.org untuk Prancis, dll.) yang mencakup banyak negara dan yang menunjuk ke satu (atau lebih) cermin terbaik yang tersedia di negara itu.
Sebagai alternatif untuk deb.debian.org, dulu ada httpredir.debian.org. Layanan ini akan mengidentifikasi cermin yang dekat dengan Anda (di antara daftar cermin resmi, terutama menggunakan GeoIP) dan akan mengarahkan permintaan APT ke cermin itu. Layanan ini telah usang karena masalah keandalan dan sekarang httpredir.debian.org menyediakan layanan berbasis CDN yang sama dengan deb.debian.org.

6.1.5. Sumber Daya Tidak-Resmi: mentors.debian.net

Ada banyak sumber tidak resmi paket-paket Debian yang disiapkan oleh para pengguna tingkat lanjut yang telah mengkompail ulang beberapa perangkat lunak — Ubuntu membuat ini populer dengan layanan Arsip Paket Pribadi (Personal Package Archive/PPA) mereka — oleh programmer yang membuat ciptaan mereka tersedia bagi semua, dan bahkan oleh para pengembang Debian yang menawarkan pra-versi paket mereka secara daring.
Situs mentors.debian.net menarik (walaupun itu hanya menyediakan paket-paket sumber), karena dia mengumpulkan sumber paket yang dibuat oleh kandidat status pengembang resmi Debian atau oleh relawan yang ingin membuat paket Debian tanpa melalui proses integrasi. Paket-paket ini disediakan tanpa jaminan terkait kualitasnya; pastikan Anda memeriksa sumber dan integritas mereka dan kemudian mencoba sebelum menggunakannya untuk produksi.
Menginstall sebuah paket berarti memberikan hak root kepada pembuatnya, karena mereka menentukan pada isi skrip inisialisasi yang dijalankan dengan identitas tersebut. Paket resmi Debian dibuat oleh relawan yang telah dipilih dan ditinjau dan yang dapat menyegel paket mereka agar keaslian dan integritasnya dapat diperiksa.
Umumnya, waspadalah terhadap paket yang sumbernya tidak Anda ketahui yang tidak diwadahi di peladen resmi Debian: evaluasi derajatnya di mana Anda dapat memercayai pembuatnya, dan periksa integritas paket.

6.1.6. Caching Proxy untuk Paket Debian

Ketika seluruh jaringan mesin dikonfigurasi untuk menggunakan remote server untuk mengunduh pembaharuan paket yang sama, beberapa administrator mengetahui bahwa mungkin lebih bermanfaat jika proxy menengah berlaku sebagai cache jaringan-lokal (lihat bilah tepi KOSAKATA Cache).
Anda dapat mengonfigurasi APT untuk menggunakan proxy "standard" (lihat Bagian 6.2.4, “Pilihan Konfigurasi” untuk sisi APT, dan Bagian 11.6, “Proksi HTTP/FTP” untuk sisi proxy), namun ekosistem Debian menawarkan pilihan yang lebih baik untuk mengatasi masalah ini. Perangkat lunak terdedikasi disajikan pada bagian ini lebih pintar dari cache proxy murni karena mereka dapat mengandalkan struktur khusus dari repositori APT (misalnya mereka mengetahui ketika suatu berkas usang atau tidak, dan menentukan waktu selama yang mereka simpan).
apt-cacher dan apt-cacher-ng bekerja seperti server proxy cache biasanya. Berkas sources.list milik APT tidak diubah, namun APT dikonfigurasi untuk menggunakannya sebagai proxy permintaan keluar.
approx, di lain pihak, berlaku seperti server HTTP yang "me-mirror" beberapa repositori remote pada level tertinggi URL. Pemetaan antara level-tertinggi direktori tersebut dan URL remote repositori di simpan di /etc/approx/approx.conf:
# <name>   <repository-base-url>
debian     https://deb.debian.org/debian
security   http://security.debian.org/debian-security
approx bawaannya dijalankan pada port 9999 melalui sebuah soket systemd dan pengguna perlu mengatur berkas sources.list mengarah ke server approx:
# Sample sources.list pointing to a local approx server
deb http://localhost:9999/security bullseye-security main contrib non-free
deb http://localhost:9999/debian   bullseye main contrib non-free