Tutorial Ubuntu 26.04 / Mengelola repositori dan cakupan kunci penandatanganan

Pengelolaan repositori Ubuntu 26.04 dimulai dengan memeriksa file .sources yang benar-benar digunakan dan cakupan kunci penandatanganannya. Sebelum menambahkan repositori pihak ketiga, pastikan penyedianya mendukung 26.04, cocokkan sidik jari lengkap kunci, lalu batasi penggunaan kunci pada repositori yang dituju.

Periksa sumber paket dan versi kandidat

Jalankan pemeriksaan berikut di terminal Ubuntu. Perintah ini membaca identitas rilis, daftar file sumber, konfigurasi bawaan yang umum digunakan, serta kebijakan sumber paket pada cache APT (Advanced Package Tool).

cat /etc/os-release
find /etc/apt/sources.list.d -maxdepth 1 -type f -print
cat /etc/apt/sources.list.d/ubuntu.sources
apt-cache policy

Sumber bawaan Ubuntu umumnya berada di /etc/apt/sources.list.d/ubuntu.sources, tetapi lokasinya dapat berbeda menurut citra instalasi, penyedia cloud, atau riwayat peningkatan rilis. Jika file tersebut tidak ada, periksa daftar file yang ditemukan, bukan langsung membuat salinan konfigurasi dari mesin lain. Format satu baris lama dalam file .list dapat berdampingan dengan format deb822 dalam file .sources; periksa apakah sumber yang sama didefinisikan lebih dari sekali. Konfigurasi lama juga dapat berada di /etc/apt/sources.list.

apt-cache policy tanpa nama paket memperlihatkan sumber dan prioritas yang diketahui cache. Untuk memeriksa versi terpasang serta kandidat sebuah paket tertentu, tambahkan nama paket yang sedang ditinjau. Hasil cache bukan bukti bahwa pengambilan indeks terbaru sudah berhasil.

Pahami bidang deb822 dan komponen

Bidang Hal yang ditentukan
URIs Penyedia dan lokasi repositori.
Suites Rilis dan kantong pembaruan, misalnya resolute, resolute-updates, serta resolute-security.
Components Kelompok paket seperti main, restricted, universe, dan multiverse.
Architectures Arsitektur prosesor yang akan diambil indeks paketnya.
Signed-By Kunci yang diizinkan memverifikasi sumber ini, misalnya melalui file keyring yang dirujuk.
Enabled Nilai no menonaktifkan entri atau stanza tersebut.

Format deb822 memisahkan entri dengan baris kosong. Untuk nama bidang dan aturan sintaksnya, lihat manual sources.list untuk Ubuntu 26.04.

Mengaktifkan suatu komponen tidak membuat seluruh paket memperoleh cakupan keamanan yang sama. Periksa juga Ubuntu Pro dan kondisi dukungan tiap paket. Mengganti nama suite milik rilis lain menjadi resolute tidak membuat paketnya kompatibel dengan 26.04.

Penjelasan Ubuntu tentang repositori pihak ketiga membahas batas kepercayaan dan dampaknya pada peningkatan rilis. Pembatasan kunci tidak membuat kode paket terisolasi: paket dari penyedia lain tetap dapat memengaruhi sistem dan berkonflik dengan paket resmi.

Periksa file kunci dan bukti kepercayaannya

gpg --show-keys --with-fingerprint /usr/share/keyrings/ubuntu-archive-keyring.gpg

Contoh tersebut memakai GNU Privacy Guard (GnuPG) untuk menampilkan informasi dan sidik jari kunci pada keyring arsip Ubuntu yang sudah ada. Perintah itu tidak menambahkan kunci baru. Arti opsi pemeriksaan tersedia dalam manual GnuPG 2.4. Untuk kunci pihak ketiga, bandingkan sidik jari lengkap dengan sumber yang diperiksa secara terpisah, seperti dokumentasi HTTPS resmi penyedia. Nama file atau ID kunci pendek yang sama tidak cukup untuk menetapkan kepercayaan.

Simpan kunci yang dikelola administrator pada lokasi yang sesuai dengan panduan penyedia, biasanya /etc/apt/keyrings, lalu rujuk dengan Signed-By. Keyring yang dikelola paket biasanya berada di /usr/share/keyrings. Pengguna sistem _apt harus dapat mengakses dan membaca file tersebut; jangan melonggarkan izin seluruh direktori sistem untuk memperbaiki satu file.

File kunci ASCII-armored memakai ekstensi .asc, sedangkan kunci biner yang sesuai memakai .gpg. Format deb822 juga mendukung kunci publik yang ditanam langsung pada bidang Signed-By; ikuti format resminya. Jangan mengatasi kegagalan tanda tangan dengan trusted=yes, opsi pengabaian autentikasi, atau penambahan kepercayaan global yang tidak diperlukan. Manual apt-secure menjelaskan pengelolaan kunci dan batas autentikasi arsip: tanda tangan yang valid tidak menjamin paket bebas dari kode berbahaya.

Cadangkan lalu ubah satu sumber saja

backup=$(sudo mktemp -d /root/apt-sources.XXXXXX) &&
sudo cp -a /etc/apt/sources.list.d "$backup/" &&
printf 'Backup: %s\n' "$backup"

Rangkaian && menghentikan langkah berikutnya jika pembuatan direktori atau penyalinan gagal. Lanjutkan penyuntingan hanya setelah pesan Backup: muncul, tidak ada kesalahan, dan file yang diperlukan dapat dibaca dalam cadangan. Simpan jalur yang dicetak pada catatan kerja terlindungi. Salinan sources.list.d berada di bawah direktori cadangan tersebut; contoh ini tidak mencadangkan /etc/apt/sources.list, file keyring, atau preferensi APT yang terletak di tempat lain. Cadangkan juga file lain sebelum mengubahnya.

Identifikasi file pihak ketiga yang tepat dan buka melalui sudoedit. Untuk menonaktifkan entri deb822, tambahkan Enabled: no pada stanza yang dituju, lalu simpan. Untuk mengaktifkannya kembali, pulihkan nilai sebelumnya; bila sebelumnya tidak ada bidang itu, hapus bidang yang baru ditambahkan. Jika memilih mengganti ekstensi file agar tidak lagi dibaca APT, ubah hanya file yang dimaksud dan catat nama aslinya. Jangan mengganti ekstensi seluruh direktori.

Menonaktifkan repositori tidak menghapus program yang sudah dipasang atau datanya. Penghapusan atau penurunan versi memerlukan pemeriksaan dependensi tersendiri. Jangan menghapus file kunci sebelum memastikan tidak ada sumber lain yang merujuknya.

Verifikasi hasil dan pulihkan perubahan bila perlu

sudo apt update
apt-cache policy

Baca seluruh pesan pengambilan indeks dari apt update, termasuk peringatan dan penggunaan indeks lama. Periksa asal paket serta prioritas dengan apt-cache policy, kemudian tinjau versi kandidat paket yang terdampak. Perintah kedua membaca cache untuk pemeriksaan; keberhasilannya tidak menghapus kegagalan perintah pertama.

Jika penyegaran gagal atau asal paket tidak sesuai, bandingkan file yang diedit dengan salinannya di bawah jalur cadangan yang dicatat. Pulihkan hanya file atau stanza yang diubah, pertahankan perubahan lain yang masih diperlukan, lalu jalankan penyegaran dan pemeriksaan lagi. Jangan menimpa beberapa sumber sekaligus atau mengganti kode rilis untuk menghindari penyebab masalah.