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. Non-Official Resources: mentors.debian.net
6.1.5. Caching Proxy untuk Paket Debian
6.2. aptitude, apt-get, and apt Commands
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.3. Perintah apt-cache
6.4. Frontends: aptitude, synaptic
6.4.1. aptitude
6.4.2. synaptic
6.5. Pemeriksaan Otentikasi Paket
6.6. Upgrade dari Satu Distribusi Stable ke Berikutnya
6.6.1. Prosedur Direkomendasikan
6.6.2. Menangani Masalah setelah Pembaharuan
6.7. Menjaga agar Sistem Up to Date
6.8. Pembaharuan Otomatis
6.8.1. Mengonfigurasi dpkg
6.8.2. Mengonfigurasi APT
6.8.3. Mengonfigurasi debconf
6.8.4. Menangani Interaksi Baris Perintah
6.8.5. Kombinasi Ajaib
6.9. Mencari Paket
Apa yang membuat Debian populer dengan administrator ialah bagaimana perangkat lunak dengan mudah dapat diinstall dan bagai mana seluruh sistem dapat diperbaharui dengan mudah. Manfaat unik ini umumnya dikarenakan program APT, yang dipelajari oleh administrator Falcot dengan antusiasnya.
APT merupakan singkatan dari Advanced Pakage 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 kecocokan (berdasarkan ketergantungan).
APT needs to be given a “list of package sources”: the file /etc/apt/sources.list will list the different repositories (or “sources”) that publish Debian packages. APT will then import the list of packages published by each of these sources. This operation is achieved by downloading Packages.xz or a variant using a different compression method (such as Packages.gz or .bz2) files (in case of a source of binary packages) and Sources.xz or a variant (in case of a source of source packages) and by analyzing their contents. When an old copy of these files is already present, APT can update it by only downloading the differences (see sidebar TIP Peningkatan pembaharuan).

6.1. Mengisi Berkas sources.list

6.1.1. Sintaks

Setiap baris aktif di berkas /etc/apt/sources.list berisi penjelasan sebuah sumber, dibuat 3 bagian dipisahkan dengan spasi.
Field pertama menunjukkan tipe sumber:
  • deb” untuk paket biner,
  • deb-src” untuk paket sumber
The second field gives the base URL of the source (combined with the filenames present in the Packages.gz files, it must give a full and valid URL): this can consist in a Debian mirror or in any other package archive set up by a third party. The URL can start with file:// to indicate a local source installed in the system's file hierarchy, with http:// to indicate a source accessible from a web server, or with ftp:// for a source available on an FTP server. The URL can also start with cdrom: for CD-ROM/DVD-ROM/Blu-ray disc based installations, although this is less frequent, since network-based installation methods are more and more common.
Sintaks field yang terakhir tergantung dari struktur repositori. Dalam kasus yang paling sederhana, Anda dapat menunjukkan sebuah subdirektori (dengan sebuah trailing slash) dari sumber yang diinginkan (seringkali sesederhana “./” yang mengacu pada subdirektori yang ada - paket kemudian secara langsung pada URL yang ditentukan). Namun kasus yang paling umum, repositori akan terstruktur seperti sebuah mirror Debian, dengan banyak distribusi masing-masing memiliki banyak komponen. Dalam kasus ini, nama distribusi yang terpilih (dengan “namakode”-nya — lihat daftar di bilah tepi KOMUNITAS Bruce Perens, seorang pemimpin kontroversial — atau dengan “suites” yang sesuai — stable, testing, unstable), kemudian komponen (atau bagian) untuk diaktifkan (pilih antara main, contrib, dan non-free
The cdrom entries describe the CD/DVD-ROMs you have. Contrary to other entries, a CD-ROM is not always available since it has to be inserted into the drive and since only one disc can be read at a time. For those reasons, these sources are managed in a slightly different way, and need to be added with the apt-cdrom program, usually executed with the add parameter. The latter will then request the disc to be inserted in the drive and will browse its contents looking for Packages files. It will use these files to update its database of available packages (this operation is usually done by the apt update command). From then on, APT can require the disc to be inserted if it needs one of its packages.

6.1.2. Repositori untuk Pengguna Stable

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

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

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

## Debian mirror

# Base repository
deb http://ftp.debian.org/debian jessie main contrib non-free
deb-src http://ftp.debian.org/debian jessie main contrib non-free

# Stable updates
deb http://ftp.debian.org/debian jessie-updates main contrib non-free
deb-src http://ftp.debian.org/debian jessie-updates main contrib non-free

# Stable backports
deb http://ftp.debian.org/debian jessie-backports main contrib non-free
deb-src http://ftp.debian.org/debian jessie-backports main contrib non-free
This file lists all sources of packages associated with the Jessie version of Debian (the current Stable as of this writing). We opted to name “jessie” explicitly instead of using the corresponding “stable“ alias (stable, stable-updates, stable-backports) because we don't want to have the underlying distribution changed outside of our control when the next stable release comes out.
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 menghost pembaharuan (paket dengan versi terbaru) yang mungkin diinstall APT. Bagian berikut akan menjelaskan tujuan dan peraturan 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

Pembaharuan keamanan biasanya tidak dihost pada jaringan mirror Debian biasa tetapi pada security.debian.org (pada seperangkat mesin kecil yang dikelola oleh Administrator Sistem Debian). Arsip ini berisi pembaharuan keamanan (dipersiapkan oleh Tim Keamanan Debian dan/atau oleh maintainer paket) untuk distribusi Stable.
Server dapat pula menghost pembaharuan keamanan untuk Testing namun hal ini jarang terjadi karena pembaharuan tersebut dimaksudkan untuk menjangkau Testing melalui alur pembaharuan umum dari Unstable.

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.
This repository will typically contain fixes for critical bugs which could not be fixed before release or which have been introduced by subsequent updates. Depending on the urgency, it can also contain updates for packages that have to evolve over time… like spamassassin's spam detection rules, clamav's virus database, or the daylight-saving time rules of all timezones (tzdata).
Prakteknya, repositori ini merupakan bagian dari repositori proposed-updates, dipilih oleh Manajer Rilis Stable dengan hati-hati.

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.
Anyone can use this repository to test those updates before their official publication. The extract below uses the jessie-proposed-updates alias which is both more explicit and more consistent since wheezy-proposed-updates also exists (for the Oldstable updates):
deb http://ftp.debian.org/debian jessie-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 Stable terakhir (yang hanya dimodifikasi untuk menunjukkan masalah kritis, seperti masalah keamanan). Karena distribusi Testing dan Unstable dapat lebih beresiko, maintainer paket terkadang menawarkan kompilasi ulang untuk aplikasi perangkat lunak untuk Stable, yang bermanfaat untuk membatasi potensi ketidakstabilan pada sekelumit paket terpilih.
Repositori stable-backports sekarang tersedia pada mirror Debian biasanya. Namun backport untuk Squeeze masih dihost pada dedicated server (backports.debian.org), dan memerlukan entri berikut pada sources.list:
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
Backport dari stable-backports selalu dibuat dari paket yang tersedia di Testing. Ini untuk memastikan bahwa seluruh backport terinstall akan dapat dimutakhirkan berdasarkan versi stabil sekali 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/jessie-backports
$ sudo apt-get install -t jessie-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.2. Berkas /etc/apt/sources.list untuk pengguna Debian Testing/Unstable

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

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

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

# Security updates
deb http://security.debian.org/ stable/updates main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ testing/updates 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 distribusi lain (kemungkinan besar dalam kasus ini Testing).
Ada alasan bagus untuk menyertakan seluruh repositori tersebut, meskipun satu saja sudah cukup. Pengguna Testing akan mengapresiasi kemungkinan untuk cherry-pick paket tertentu dari Unstable ketika versi di Testing terkena efek kutu yang mengganggu. Sebaliknya, pengguna Unstable terkena kemunduran yang tidak diharapkan memiliki kemungkinan untuk mendowngrade paket ke versi (seharusnya bekerja) Testing mereka.
Penyantuman Stable dapat lebih diperdebatkan tetapi sering memberikan akses ke beberapa paket yang telah dihapus dari versi pengembabgan. Hal juga memastikan bahwa Anda mendapatkan pembaharuan terkini dari paket yang tidak lagi dimodifikasi sejak rilis stabil terakhir.

6.1.3.1. Repositori Experimental

The archive of Experimental packages is present on all Debian mirrors, and contains packages which are not in the Unstable version yet because of their substandard quality — they are often software development versions or pre-versions (alpha, beta, release candidate…). A package can also be sent there after undergoing subsequent changes which can generate problems. The maintainer then tries to uncover them with help from advanced users who can handle important issues. After this first stage, the package is moved into Unstable, where it reaches a much larger audience and where it will be tested in much more detail.
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 http://ftp.debian.org/debian experimental main contrib non-free

6.1.4. Non-Official Resources: mentors.debian.net

There are numerous non-official sources of Debian packages set up by advanced users who have recompiled some software (Ubuntu made this popular with their Personal Package Archive service), by programmers who make their creation available to all, and even by Debian developers who offer pre-versions of their package online.
The mentors.debian.net site is interesting (although it only provides source packages), since it gathers packages created by candidates to the status of official Debian developer or by volunteers who wish to create Debian packages without going through that process of integration. These packages are made available without any guarantee regarding their quality; make sure that you check their origin and integrity and then test them before you consider using them in production.
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 keasliannya tidak Anda ketahui yang tidak dihost di peladen resmi Debian: evaluasi derajatnya di mana Anda dapat memercayai pembuatnya, dan periksa integritas paket.

6.1.5. 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, “HTTP/FTP Proxy” 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   http://ftp.debian.org/debian
security http://security.debian.org
approx bawaannya dijalankan pada port 9999 melalui inetd (lihat Bagian 9.6, “The inetd Super-Server”) dan pengguna perlu mengatur berkas sources.list mengarah ke server approx:
# Sample sources.list pointing to a local approx server
deb http://apt.falcot.com:9999/security jessie/updates main contrib non-free
deb http://apt.falcot.com:9999/debian jessie main contrib non-free