Cara Mudah untuk Membuat Pakej Debian dan Repositori Pakej Tempatan

- 3265
- 431
- Clay Weber
Artikel ini menerangkan cara mudah untuk membuat pakej Debian yang dibuat di rumah dan memasukkannya ke dalam repositori pakej tempatan. Walaupun kita boleh menggunakan pakej Debian/Ubuntu yang ada, kita akan bermula dari awal dengan membuat dan membungkus aplikasi remeh kita sendiri. Setelah pakej kami siap, kami akan memasukkannya ke repositori pakej tempatan kami. Artikel ini menggambarkan pendekatan yang sangat sederhana, namun ia mungkin berfungsi sebagai templat dalam banyak senario.
Dalam tutorial ini anda akan belajar:
- Cara membuat pakej debian remeh
- Cara Membuat Repositori Debian Tempatan
- Cara Menambah Repositori ke Senarai Sumber Perisian

Keperluan perisian dan konvensyen yang digunakan
Kategori | Keperluan, konvensyen atau versi perisian yang digunakan |
---|---|
Sistem | Debian |
Perisian | Pakej Build-Essential |
Yang lain | Pelayan web Apache yang berfungsi dan kebenaran root |
Konvensyen | # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah$ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak |
Membuat Executable Perduaan
Perkara pertama yang perlu kita lakukan, adalah untuk membuat program C ++ yang mudah, menyusunnya dan mengujinya. Sekiranya anda ingin menulis program C yang mudah sebaliknya lawati tutorial komprehensif kami ke pengaturcaraan c. Program kami tidak akan melakukan apa -apa lagi hanya mencetak "linuxconfig.org ”di skrin. Inilah kodnya:
#include int main () menggunakan ruang nama std; cout << "linuxconfig.org\n";
Salinan Simpan kod di atas sebagai Linuxconfig.cc
. Untuk menyusun program yang kita perlukan g++
pengkompil, yang disediakan oleh pakej yang penting. Kita boleh memasangnya dengan menjalankan:
$ sudo apt-get memasang binaan-penting
Untuk menyusun kod, kami menggunakan arahan Linux berikut:
$ g ++ linuxconfig.cc -o linuxconfig $ ./linuxconfig linuxconfig.org
Semua kelihatan baik. Pada ketika ini, kita harus mempunyai executable yang dipanggil "Linuxconfig" yang mencetak beberapa rentetan pada skrin.
Membuat Pakej Debian
Sekarang kita mempunyai program kecil kita siap dalam bentuk binari yang boleh dilaksanakan, kita boleh membuat pakej debian. Untuk melakukan itu kita menggunakan dpkg-deb
alat. Pertama sekali, kita perlu membuat struktur pakej Debian. Satu -satunya fail yang diperlukan untuk membina pakej Debian ialah:
- Debian/Kawalan
- fail tersuai menjadi sebahagian daripada pakej (tidak diperlukan)
Pertama buat direktori yang dipanggil Linuxconfig
. Direktori ini akan memegang semua fail pakej yang diperlukan:
$ mkdir linuxconfig
Seterusnya, buat direktori Debian dan fail kawalan:
$ mkdir linuxconfig/debian $ vi linuxconfig/debian/control
Di dalam fail kawalan, kami memasukkan maklumat berikut:
Pakej: Linuxconfig Versi: 1.0 Seksyen: Keutamaan Custom: Senibina Pilihan: Semua Penting: Tiada Saiz Dipasang: 1024 Penyelenggara: Linuxconfig.Penerangan Org: Cetak Linuxconfig.org di skrin
Hebat, satu -satunya perkara yang hilang ialah program Linuxconfig kami. Di dalam Linuxconfig
direktori kami membuat pokok direktori yang mewakili laluan di mana program kami akan dipasang dalam sistem, dan menyalin
boleh dilaksanakan ke dalamnya:
$ mkdir -p linuxconfig/usr/bin/$ cp/path/to/linuxconfig linuxconfig/usr/bin/
Pada ketika ini kami sudah bersedia untuk membuat pakej:
$ dpkg-deb-Membina linuxconfig dpkg-deb: pakej bangunan 'linuxconfig' dalam 'linuxconfig.Deb '. $ ls linuxconfig linuxconfig.Deb
Anda mungkin mahu menukar nama pakej supaya ia termasuk versi program dan seni bina pakej. Sebagai contoh:
$ mv linuxconfig.Deb Linuxconfig-1.0_AMD64.Deb
Semua selesai ! Pakej kami sudah siap ! (Nota: Ini hanya satu contoh, penciptaan pakej rasmi memerlukan lebih banyak kerja).
Menyediakan repositori pakej tempatan
Untuk membuat repositori pakej tempatan, kami memerlukan kerja. Dalam kes ini kita akan menganggap penggunaan Apache
dengan tetapan lalai. Untuk memasang Webserver Apache, yang perlu kita lakukan ialah menjalankan:
$ sudo apt-get memasang apache2
Sebaik sahaja dipasang, untuk mengesahkan bahawa webserver berfungsi, kami boleh menavigasi ke alamat IP mesin (atau ke 'http: // localhost', jika menjalankan penyemak imbas pada mesin itu sendiri) yang, dalam kes kami adalah http: // 10.1.1.4. Kita mesti melihat
terkenal Ianya berfungsi! mesej.
Perisian pelayan web sedang berjalan tetapi belum ada kandungan yang ditambah. The Documentroot
Apache lalai Virtualhost
, adalah /var/www/html
: di sinilah kita akan membuat repositori kita.
Mari buat direktori "Debian" di dalam /var/www/html
dan salin linuxconfig-1.0_AMD64.Pakej Deb di dalamnya:
$ sudo mkdir/var/www/html/debian $ sudo cp/path/to/linuxconfig-1.0_AMD64.Deb/var/www/html/debian/
Langkah seterusnya terdiri daripada generasi senarai pakej. Kami bergerak ke Debian
direktori, dan gunakan DPKG-scanpackages
utiliti untuk melaksanakan tugas. Anda mungkin perlu memasang DPKG-DEV
pakej sekiranya berlaku DPKG-scanpackages
Perintah hilang:
$ dpkg-scanpackages . | gzip -c9> pakej.gz dpkg-scanpackages: Info: Menulis 1 entri ke fail pakej output.
Repositori tempatan kami kini sudah siap.
Menambah repositori ke sumber perisian
Pada ketika ini dapat memasang pakej kami dari repositori tempatan yang kami buat, kami perlu mengeditnya /etc/apt/sumber.senarai
fail, tambahkan entri relatif kepadanya (tukar alamat IP untuk mencerminkan mesin anda), dan
Menyegerakkan repositori:
echo "deb [dipercayai = ya] http: // 10.1.1.4/Debian ./"| tee -a/etc/apt/sumber.Senarai> /dev /null
Pastikan anda menambah perkara di atas [dipercayai = ya]
Untuk mengelakkan mesej ralat berikut:
Pelepasan 'tidak mempunyai fail pelepasan. N: mengemas kini dari repositori sedemikian tidak dapat dilakukan dengan selamat, dan oleh itu dilumpuhkan secara lalai.
Menyegerakkan repositori:
$ sudo apt-get update ign: 1 http: // 10.1.1.4/Debian ./InRelease IGN: 2 http: // 10.1.1.4/Debian ./Release IGN: 3 http: // 10.1.1.4/Debian ./Pakej IGN: 3 http: // 10.1.1.4/Debian ./Pakej IGN: 3 http: // 10.1.1.4/Debian ./Pakej Dapatkan: 3 http: // 10.1.1.4/Debian ./ Pakej [303 B]
Untuk memasang pakej kami, kami kini boleh menggunakan alat apt-get:
$ sudo apt-get Install Linuxconfig bacaan Pakej Pakej… Dilakukan Bangunan Kebergantungan Pokok Membaca Maklumat Negeri ... Selesai pakej baru berikut akan dipasang: Linuxconfig 0 ditingkatkan, 1 yang baru dipasang, 0 untuk dikeluarkan dan 8 tidak dinaik taraf. Perlu mendapatkan 3174 b arkib. Selepas operasi ini, 1,049 kb ruang cakera tambahan akan digunakan. Amaran: Pakej berikut tidak dapat disahkan! Linuxconfig memasang pakej ini tanpa pengesahan [Y/N]? y
Jalankan:
$ linuxconfig linuxconfig.org
Untuk mengeluarkan pakej dari sistem, hanya jalankan:
$ sudo apt-get mengalih keluar senarai pakej bacaan linuxconfig… Dilakukan bangunan ketergantungan pokok membaca maklumat negeri ... dilakukan pakej berikut akan dikeluarkan: linuxconfig 0 dinaik taraf, 0 baru dipasang, 1 untuk dikeluarkan dan 3 tidak dinaik taraf. Selepas operasi ini, ruang cakera 1049 kb akan dibebaskan. Adakah anda mahu meneruskan? [Y/n] y
Tutorial Linux Berkaitan:
- Pengenalan kepada Automasi, Alat dan Teknik Linux
- Perkara yang hendak dipasang di Ubuntu 20.04
- Menguasai Gelung Skrip Bash
- Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?
- Cara Bekerja Dengan API Rest WooCommerce dengan Python
- Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
- Cara membuat fail sementara menggunakan mktemp pada linux
- Cara Membangun semula Pakej Menggunakan Sistem Membina Linux Arch
- Cara membuat aplikasi flatpak dari awal
- Cara Bekerja dengan Kumpulan Pakej DNF
- « Cara Menyiapkan Pelayan Lemp di Debian 10 Buster
- Cara Memasang NextCloud di Debian 10 Buster Linux »