Tutorial sederhana untuk membuat dan menginstal paket deb Anda sendiri.
Hanya Debian, Ubuntu, atau OS berbasis Debian apa pun
Aplikasi Mypackage akan membuka situs resmi Ubuntu saat dijalankan.
Tata nama folder mypackage_1.0_all
kami : package-name_version_architecture
.
Nama paket: mypackage
Versi: 1.0
Arsitektur : dapat berupa all
atau sebagian arsitektur yang didukung
Arsitektur paket mentah:
. └── mypackage_1.0_all #Paket folder utama ├── DEBIAN │ ├── kontrol # File dengan info utama paket │ ├── postinst # Script dijalankan setelah instalasi │ └── preinst # Script dijalankan sebelum instalasi ├── memilih │ └── mypackage # Folder termasuk software kami │ └── open_link.sh # Script pembuka browser ke ubuntu.com └── usr └── berbagi ├── aplikasi │ └── mypackage.desktop # File dengan info aplikasi di peluncur └── ikon └── mypackage.xpm # Ikon aplikasi peluncur
Lebih lanjut tentang DEBIAN/control
:
Package: mypackage
Version: 1.0 # package version
Architecture: all # our package sums up to a bash script and this is POSIX
Essential: no # essential to the system ?
Priority: optional # install order in package management system
Depends: curl,zenity # comma-separated dependency packages (,)
Maintainer: flavienbwk
Description: A sample package...
Meskipun ada cara untuk menginstal arsip deb tanpa sudo, sebagian besar paket deb dirancang untuk diinstal di seluruh sistem. Ini berarti bahwa skrip preinst dan postinst atau biner lainnya yang disertakan dalam arsip dapat berjalan tanpa batasan apa pun pada sistem seseorang (lihat paket Snap untuk alternatifnya). Periksa kembali skrip Anda dan berhati-hatilah saat membagikannya agar Anda tidak merusak komputer seseorang.
Membangun
dpkg-deb --build ./mypackage_1.0_all
Memasang
sudo gdebi -n ./mypackage_1.0_all.deb # test (memerlukan gdebi-core)sudo dpkg -i ./mypackage_1.0_all.deb # install
Catatan Copot pemasangan dengan
sudo apt autoremove mypackage
Anda akan melihat Paket Saya di peluncur Anda:
Opsi pertama adalah yang termudah : kita dapat menginstal paket secara lokal.
Buat folder tempat repositori kita akan ditempatkan dan pindahkan paket .deb
kita ke dalamnya
mkdir -p ./mirror/pool cp ./mypackage_1.0_all.deb ./mirror/pool/
Buat file indeks Packages
cd ./mirror dpkg-scanpackages -m ./pool > Paket
Tambahkan direktori ke sumber sistem Anda
echo "file deb [tepercaya=ya]:/path/ke/repositori/mirror /" | sudo tee /etc/apt/sources.list.d/mypackage.list
Perbarui definisi paket Anda dan instal
sudo pembaruan yang tepat sudo apt install paket saya
Repositori yang diinstal secara lokal kemudian dapat disajikan dari server Apache sederhana di mesin Anda sendiri.
Anda dapat memilih untuk membuat Arsip Paket Pribadi (PPA), yang dihosting di , lalu dapat diakses oleh semua orang dengan perintah add-apt-repository ppa:<repository_name>
yang sederhana.
Jika Anda ingin paket Anda dipublikasikan ke repositori semesta/multiverse Ubuntu, ini mungkin rumit karena Anda harus mendapatkan persetujuan dari MOTU. Ingin mempublikasikannya ke main ? Banyak persyaratan yang harus dipenuhi termasuk kriteria keamanan dan komitmen terhadap pemeliharaan.
Paket META adalah paket yang hanya menginstal daftar dependensi.
Begitulah cara Anda menginstal seluruh desktop melalui satu paket.
APT adalah sistem manajemen paket tradisional yang digunakan oleh Debian dan turunannya (termasuk Ubuntu). Ini memulai debutnya pada tahun 1998 dan menggunakan paket .deb
.
Snap, diperkenalkan oleh Canonical pada tahun 2014, adalah manajer paket baru yang dirancang untuk menyediakan distribusi paket yang lebih mudah di berbagai distribusi Linux. Ini menggabungkan dependensi dalam setiap paket .snap
, sehingga menghasilkan ukuran paket yang lebih besar tetapi mengurangi "neraka ketergantungan". Ini berguna terutama dalam sistem offline.
Perbedaan utamanya adalah paket snap fokus pada kompatibilitas lintas distribusi dan self-containment, potensi keamanan yang lebih baik melalui sandboxing paket, dan pembaruan otomatis. APT, di sisi lain, bergantung pada perpustakaan seluruh sistem, yang membuat paket menjadi lebih kecil namun dapat menyebabkan masalah ketergantungan.