Bagaimana cara membuat PPA khusus saya sendiri untuk dibagikan dengan komunitas Ubuntu? Saya mencoba membuat set paket kustom saya sendiri dan saya benar-benar ingin membaginya dengan komunitas.
Menggunakan Arsip Paket Pribadi ( PPA ), Anda dapat mendistribusikan perangkat lunak dan pembaruan langsung ke pengguna Ubuntu. Buat paket sumber Anda, unggah itu dan Launchpad akan membangun binari dan kemudian menghostingnya di repositori apt Anda sendiri.
FWIW saya bisa mengaktifkan PPA saya sebelum saya menandatangani kode etik.
Sparhawk
2
Ini jawaban terbaik. Anda baru saja diberitahu cara membuat PPA. Tanggapan di bawah ini (oleh totti) bukan PPA, tetapi itu adalah repositori publik. Keduanya berbeda, meskipun (berpotensi) mencapai hal yang sama. Dia bahkan mengatakan di baris pertama jawabannya: "Pertanyaan ini memiliki jawaban yang ditulis dengan baik, diterima. Karena OP ingin cara sederhana untuk mempublikasikan paket-paketnya, saya memberikan hack mudah." Karena Anda lebih suka peretasan yang mudah tidak menjadikannya jawaban terbaik.
lbaile200
OK, tetapi tidak ada tautan dalam jawaban ini yang benar-benar menjelaskan cara melakukannya dari awal. semua tautan di sini dibuat untuk pengembang, yang sudah menjadi materi jauh lebih banyak
rubo77
1
@ rubo77 - "cara membuat" terlalu luas untuk dijawab. Itu semua tergantung apa yang Anda coba paket. Memang masing-masing langkah dalam jawaban di atas dapat masing-masing Q dengan jawaban rinci yang baik masing-masing.
fossfreedom
1
Jawaban baru Totti sudah bagus
rubo77
86
Cara membuat file deb
Ini adalah tutorial tentang cara membuat file .deb dasar dari skrip sampel yang diberikan. Dalam tutorial ini pertama-tama kita membuat contoh program di bash yang hanya menampilkan 'HELLO FROM PROGRAM'. Kemudian kami membuat file kontrol untuk program untuk membuat installer debian. Akhirnya mereka dikemas ke dalam .debfile.
Package: hellodeb
Version: 0.1
Architecture: all
Maintainer: totti
Installed-Size: 6
Depends: zenity, bash
Section: testing
Priority: optional
Homepage: http://askubuntu.com
Description: This is my first debian package.
Guided by Totti Torvalds.
In Description new line start with a space.
Anda dapat mengedit konten jika Anda mau. Baca lebih lanjut tentang format file ini di sini dan di sini .
Buat postinstskrip, yang dijalankan segera setelah instalasi paket
gedit "$HOME"/create_deb/DEBIAN/postinst
lalu tempel
#!/bin/sh
set -e
echo 'Installing program : zenity_hello.sh ......' | zenity --text-info
dan membuatnya bisa dieksekusi
chmod +x "$HOME/create_deb/DEBIAN/postinst"
Buat prermskrip, yang dijalankan sebelum penghapusan paket
#!/bin/sh
set -e
echo 'Removing program : zenity_hello.sh ......' | zenity --text-info
dan membuatnya bisa dieksekusi
chmod +x "$HOME/create_deb/DEBIAN/prerm"
Buat struktur paket dan salin program, data, dll.
Buat struktur program yang terinstal dan datanya. Dalam contoh ini kita meletakkan file di /bin.
Instal .debpaket yang baru dibuat . Anda dapat membukanya dengan software-centertetapi itu mungkin tidak memungkinkan Anda untuk menginstal. Jadi saya sarankan untuk menggunakan gdebimanajer paket.
Sekarang Anda dapat menginstalnya. Selama instalasi Anda akan melihat dialog gtk
Menginstal program: zenity_hello.sh ......
Setelah menginstal, buka terminal dan ketik zenity_hello. Jika program terinstal dengan benar dan semuanya OK, Anda akan melihat dialog gtk
NERAKA DARI PROGRAM
Menghapus paket
sudo apt-get remove zenity_hello
Publikasikan repositori Anda dalam 2 menit
Karena OP ingin cara sederhana untuk mempublikasikan paket-paketnya, saya memberikan peretasan yang mudah.
persyaratan: akun dropbox (atau layanan lain, misalnya ex github ) dengan folder publik.
Buat folder di dalam folder Public-Dropbox-Folder tempat Anda meletakkan file * .deb:
mkdir ~/Dropbox/Public/deb-packages
atau buat folder itu di tempat lain dan letakkan symlink di folder Publik Anda:
mkdir ~/deb-packages
cd ~/Dropbox/Public
ln -s ~/deb-packages/ deb-packages
Buka folder itu dan buat skrip yang, ketika dijalankan, membuat Package.gz, yang berisi semua informasi yang dibutuhkan tentang paket-deb Anda. membuat:
Salin beberapa file * .deb ke dalam Folder. Bisa jadi milik Anda sendiri atau beberapa yang tidak tersedia melalui repositori lain. Lalu masuk ke Folder dan jalankan script yang kita letakkan di sana:
cd ~/deb-packages/
./import.sh
Itu seharusnya membuat File Packages.gz , yang biasanya mencari tahu Paket mana yang berada di repositori ini.
Itu dia
Sekarang, tunggu Dropbox untuk menyinkronkan Folder dan ambil URL Publik dariPackages.gz . Seharusnya terlihat seperti ini:
http://dl.getdropbox.../Packages.gz
Singkirkan bagian akhir tautan itu, tulis beberapa kata lagi dan sekarang Anda dapat menggunakan dan mengisi baris berikut untuk sources.list:
deb http://dl.getdropbox.../deb-packages ./
Itu saja Anda punya repositori deb Anda berjalan. Selalu disinkronkan secara lokal, tetapi tersedia untuk siapa saja, kapan saja, di mana saja.
CATATAN:dpkg-scanpackages tersedia dari dpkg-dev
referensi
Jika Anda membangun file deb di langkah 7. dengan debuild -us -uc -k'your GPG key here'maka Anda dapat mengunggahnya dput ppa:<lp-username>/<ppa-name> packet-source.changeske Launchpad seperti yang dijelaskan di sini (sumber: membuat Paket deb. Dari skrip atau binari )
rubo77
@ rubo77, Terima kasih, saya menyambut Anda untuk menambahkan info ini di akhir jawaban saya.
totti
1
OK, saya baru saja melakukannya, saya juga menemukan, bahwa Anda memerlukan parameter lain untuk Launchpad untuk tidak membuat file deb sekarang (hanya -S): debuild -k'your GPG key here' -Skarena Launchpad akan membuat file deb (jika tidak ditolak) - apa akankah `-us -uc` digunakan untuk?
rubo77
2
Anda akan memerlukan akun Launchpad.net untuk membuat PPA. Cukup klik pada pengguna Anda di Launchpad (klik pada nama Anda di kiri atas) dan buat PPA. Anda mungkin harus terlebih dahulu menandatangani Kode Etik dan memiliki kunci GPG yang terdaftar di akun Anda.
Jawaban:
Menggunakan Arsip Paket Pribadi ( PPA ), Anda dapat mendistribusikan perangkat lunak dan pembaruan langsung ke pengguna Ubuntu. Buat paket sumber Anda, unggah itu dan Launchpad akan membangun binari dan kemudian menghostingnya di repositori apt Anda sendiri.
Berikut ini penjelasan terperinci .
sumber
Cara membuat file deb
Ini adalah tutorial tentang cara membuat file .deb dasar dari skrip sampel yang diberikan. Dalam tutorial ini pertama-tama kita membuat contoh program di bash yang hanya menampilkan 'HELLO FROM PROGRAM'. Kemudian kami membuat file kontrol untuk program untuk membuat installer debian. Akhirnya mereka dikemas ke dalam
.deb
file.Langkah:
buat contoh program di bash
rekatkan kode berikut ke dalamnya
Jadikan program tersebut dapat dieksekusi
Buat file kontrol untuk paket debian
Buat file dengan nama
control
di dalam folderDEBIAN
dan rekatkan detail berikut
Anda dapat mengedit konten jika Anda mau. Baca lebih lanjut tentang format file ini di sini dan di sini .
Buat
postinst
skrip, yang dijalankan segera setelah instalasi paketlalu tempel
dan membuatnya bisa dieksekusi
Buat
prerm
skrip, yang dijalankan sebelum penghapusan paketdan membuatnya bisa dieksekusi
Buat struktur paket dan salin program, data, dll.
Buat struktur program yang terinstal dan datanya. Dalam contoh ini kita meletakkan file di
/bin
.Buat file deb .
The
.
akan otomatis nama.deb
file tersebut dengan versi, lengkungan dll Atau nama kustom AndaAtau jika Anda membangun file .deb dengan
maka Anda dapat mengunggahnya ke Ubuntu Launchpad dengan
seperti dijelaskan di sini (sumber: buat Paket deb dari skrip atau binari ).
Instal
.deb
paket yang baru dibuat . Anda dapat membukanya dengansoftware-center
tetapi itu mungkin tidak memungkinkan Anda untuk menginstal. Jadi saya sarankan untuk menggunakangdebi
manajer paket.Sekarang Anda dapat menginstalnya. Selama instalasi Anda akan melihat dialog gtk
Setelah menginstal, buka terminal dan ketik
zenity_hello
. Jika program terinstal dengan benar dan semuanya OK, Anda akan melihat dialog gtkMenghapus paket
Publikasikan repositori Anda dalam 2 menit
Karena OP ingin cara sederhana untuk mempublikasikan paket-paketnya, saya memberikan peretasan yang mudah.
persyaratan: akun dropbox (atau layanan lain, misalnya ex github ) dengan folder publik.
Buat folder di dalam folder Public-Dropbox-Folder tempat Anda meletakkan file * .deb:
atau buat folder itu di tempat lain dan letakkan symlink di folder Publik Anda:
Buka folder itu dan buat skrip yang, ketika dijalankan, membuat Package.gz, yang berisi semua informasi yang dibutuhkan tentang paket-deb Anda. membuat:
letakkan ini di dalamnya:
membuatnya dapat dieksekusi:
Salin beberapa file * .deb ke dalam Folder. Bisa jadi milik Anda sendiri atau beberapa yang tidak tersedia melalui repositori lain. Lalu masuk ke Folder dan jalankan script yang kita letakkan di sana:
Itu seharusnya membuat File Packages.gz , yang biasanya mencari tahu Paket mana yang berada di repositori ini.
Itu dia
Sekarang, tunggu Dropbox untuk menyinkronkan Folder dan ambil URL Publik dari
Packages.gz
. Seharusnya terlihat seperti ini:Singkirkan bagian akhir tautan itu, tulis beberapa kata lagi dan sekarang Anda dapat menggunakan dan mengisi baris berikut untuk sources.list:
Itu saja Anda punya repositori deb Anda berjalan. Selalu disinkronkan secara lokal, tetapi tersedia untuk siapa saja, kapan saja, di mana saja.
CATATAN:
dpkg-scanpackages
tersedia daridpkg-dev
referensi
sumber
releases/
lihat github.com/rubo77/mouse-speed/blob/master/release/…debuild -us -uc -k'your GPG key here'
maka Anda dapat mengunggahnyadput ppa:<lp-username>/<ppa-name> packet-source.changes
ke Launchpad seperti yang dijelaskan di sini (sumber: membuat Paket deb. Dari skrip atau binari )debuild -k'your GPG key here' -S
karena Launchpad akan membuat file deb (jika tidak ditolak) - apa akankah `-us -uc` digunakan untuk?Anda akan memerlukan akun Launchpad.net untuk membuat PPA. Cukup klik pada pengguna Anda di Launchpad (klik pada nama Anda di kiri atas) dan buat PPA. Anda mungkin harus terlebih dahulu menandatangani Kode Etik dan memiliki kunci GPG yang terdaftar di akun Anda.
sumber