Jumat, 12 Juni 2020

Membuat Repositori Paket untuk APT

Membuat Repositori Paket untuk APT

apt-get Or APT Package Manager With Some Basic Commands ...

Falcor Corp perlahan mulai mengelola sejumlah paket Debian baik dimodifikasi lokal dari paket yang sudah ada atau membuat dari awal untuk mendistribusikan data internal dan program.
Agar penggelaran lebih mudah, mereka ingin mengintegrasikan paket-paket ini ke dalam sebuah arsip paket yang dapat digunakan secara langsung oleh APT. Untuk alasan-alasan pengelolaan yang gamblang, mereka ingin memisahkan paket internal dari paket yang dibangun-ulang-lokal. Tujuannya adalah agar entri yang cocok dalam berkas /etc/apt/sources.list.d/falcot.list menjadi sebagai berikut:
deb http://packages.falcot.com/ updates/
 deb http://packages.falcot.com/ internal/

Maka administrator mengonfigurasi suatu host virtual pada server HTTP internal mereka, dengan /srv/vhosts/packages/ sebagai root dari ruang web terkait. Manajemen arsip itu sendiri didelegasikan ke perintal mini-dinstall (dalam paket yang bernama mirip). Alat ini mengawasi suatu direktori incoming/ (dalam kasus kita, /srv/vhost/packages/mini-dinstall/incoming/) dan menunggu paket-paket baru di sana; ketika suatu paket diunggah, itu dipasang ke dalam sebuah arsip Debian pada /srv/vhosts/packages/. Perintah mini-dinstall membaca berkas *.changes yang dibuat saat paket Debian dijangkitkan. Berkas-berkas ini memuat suatu daftar dari semua berkas lain yang terkait dengan versi paket (*.deb, *.dsc, *.diff.gz/*.debian.tar.gz, *.orig.tar.gz, atau ekuivalennya dengan alat kompresi lain), dan ini mengizinkan mini-dinstall untuk tahu berkas mana yang akan dipasang. Berkas *.changes juga memuat nama distribusi target (seringkali unstable) yang disinggung dalam entri debian/changelog terakhir, dan mini-dinstall memakai informasi ini untuk menentukan di mana paket mesti dipasang. Inilah kenapa administrator mesti selalu mengubah ruas ini sebelum membangun suatu paket, dan menatanya ke internal atau updates, bergantung pada lokasi target. mini-dinstall kemudian menjangkitkan berkas-berkas yang diperlukan oleh APT, seperti misalnya Packages.gz.
ALTERNATIF  apt-ftparchive

 Jika mini-dinstall tampaknya terlalu rumit untuk kebutuhan arsip Debian, Anda juga dapat menggunakan perintah apt-ftparchive. Alat ini memindai isi direktori dan menampilkan (pada keluaran standar) berkas Package yang cocok. Dalam kasus Falcot Corp, administrator dapat mengunggah paket langsung ke /srv/vhosts/packages/updates/ atau /srv/vhosts/packages/internal/, kemudian menjalankan perintah berikut untuk membuat berkas Packages.gz:

$ cd /srv/vhosts/packages
$ apt-ftparchive packages updates >updates/Packages
$ gzip updates/Packages
$ apt-ftparchive packages internal >internal/Packages
$ gzip internal/Packages

Perintah apt-ftparchive sources mengizinkan membuat berkas Sources.gz dengan cara yang mirip.

Mengkonfigurasi mini-dinstall membutuhkan menyiapkan sebuah berkas ~/.mini-dinstall.conf; dalam kasus Falcot Corp, isinya adalah sebagai berikut:

[DEFAULT]
archive_style = flat
archivedir = /srv/vhosts/packages

verify_sigs = 0
mail_to = admin@falcot.com

generate_release = 1
release_origin = Falcot Corp
release_codename = stable

[updates]
release_label = Recompiled Debian Packages

[internal]
release_label = Internal Packages

Satu keputusan yang perlu diperhatikan adalah membuat berkas Release untuk setiap arsip. Hal ini bisa membantu mengelola prioritas instalasi paket menggunakan berkas konfigurasi /etc/apt/preferences .

SECURITY mini-dinstall dan permission 
Karena mini-dinstall telah dirancang untuk dijalankan sebagai pengguna biasa, tidak perlu dijalankan sebagai root. Cara termudah adalah untuk mengkonfigurasi semuanya dalam akun pengguna milik administrator yang bertanggung jawab menciptakan paket-paket Debian. Karena hanya administrator ini yang memiliki izin yang diperlukan untuk menempatkan berkas-berkas dalam direktori incoming/, kita dapat simpulkan bahwa administrator mengotentikasi asal dari masing-masing paket sebelum penggelaran dan mini-dinstall tidak perlu untuk melakukannya lagi. Ini menjelaskan parameter verify_sigs = 0 (yang berarti bahwa tanda tangan tidak perlu diverifikasi). Namun, jika isi paket sensitif, kami dapat membalik pengaturan dan memilih untuk melakukan otentikasi dengan keyring berisi kunci publik dari orang-orang yang diperbolehkan untuk membuat paket (dikonfigurasi dengan parameter extra_keyrings); mini-dinstall kemudian akan memeriksa asal masing-masing paket masuk dengan menganalisis tanda tangan yang terintegrasi ke berkas *.changes.

Menjalankan mini-dinstall sebenarnya memulai daemon di latar belakang. Selama daemon ini berjalan, itu akan memeriksa paket baru di direktori incoming/ setiap setengah jam; ketika suatu paket baru telah tiba, itu akan dipindahkan ke arsip dan berkas-berkas Packages.gz dan Sources.gz yang sesuai akan diregenerasi. Jika menjalankan daemon adalah masalah, mini-dinstall dapat juga secara manual dipanggil dalam mode batch (dengan opsi -b) setiap kali sebuah paket diunggah ke dalam direktori incoming/. Kemungkinan lain yang disediakan oleh mini-dinstall didokumentasikan di halaman manual mini-dinstall(1).

EKSTRA Membuat sebuah signed archive 
Keluarga APT memeriksa rantai tanda tangan kriptografik dari paket yang ditanganinya sebelum memasang mereka, untuk memastikan keaslian mereka (lihat Bagian 6.5, “Pemeriksaan Otentikasi Paket”). Arsip APT privat dapat menjadi masalah, karena mesin yang menggunakan mereka akan terus menampilkan peringatan tentang paket tanpa-tanda-tangan. Maka administrator yang rajin akan mengintegrasikan arsip pribadi dengan mekanisme APT aman. Untuk membantu dengan proses ini, mini-dinstall memuat release_signscript opsi konfigurasi yang memungkinkan menspesifikasikan sebuah script untuk digunakan untuk menghasilkan signature. Titik mulai yang bagus adalah script sign-release.sh yang disediakan oleh mini-dinstall paket /usr/share/doc/mini-dinstall/examples/; perubahan lokal bisa jadi relevan

Previous Post
Next Post

0 komentar:

Berikan Tanggapan Positif Dan Membangun