Cara mudah untuk membuat paket Debian dan repositori paket lokal
- 5030
- 645
- Ian Parker
Artikel ini menjelaskan cara sederhana untuk membuat paket Debian buatan rumah dan memasukkannya ke dalam repositori paket lokal. Meskipun kami dapat menggunakan paket Debian/Ubuntu yang ada, kami akan mulai dari awal dengan membuat dan mengemas aplikasi sepele kami sendiri. Setelah paket kami siap, kami akan memasukkannya ke dalam repositori paket lokal kami. Artikel ini menggambarkan pendekatan yang sangat sederhana, namun dapat berfungsi sebagai templat dalam banyak skenario yang berbeda.
Dalam tutorial ini Anda akan belajar:
- Cara membuat paket Debian yang sepele
- Cara membuat repositori debian lokal
- Cara menambahkan repositori ke daftar sumber perangkat lunak
Persyaratan dan konvensi perangkat lunak yang digunakan
Kategori | Persyaratan, konvensi atau versi perangkat lunak yang digunakan |
---|---|
Sistem | Debian |
Perangkat lunak | Paket build-esensial |
Lainnya | Server web Apache yang berfungsi dan izin root |
Konvensi | # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah$ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa |
Membuat biner yang dapat dieksekusi
Hal pertama yang perlu kita lakukan, adalah membuat program C ++ sederhana, mengkompilasi dan mengujinya. Jika Anda ingin menulis program C sederhana sebagai gantinya kunjungi tutorial komprehensif kami untuk pemrograman C. Program kami tidak akan melakukan apa pun hanya mencetak “linuxconfig.org ”di layar. Ini kodenya:
#include int main () menggunakan namespace std; cout << "linuxconfig.org\n";
Menyalin Simpan kode di atas sebagai LinuxConfig.CC
. Untuk mengkompilasi program, kita membutuhkan G++
kompiler, yang disediakan oleh paket build-esensial. Kami dapat menginstalnya dengan menjalankan:
$ sudo apt-get install build-esential
Untuk mengkompilasi kode, kami menggunakan perintah Linux berikut:
$ G ++ linuxconfig.CC -O LinuxConfig $ ./LinuxConfig LinuxConfig.org
Semuanya terlihat bagus. Pada titik ini kita harus memiliki yang dapat dieksekusi yang disebut "LinuxConfig" yang mencetak beberapa string di layar.
Membuat Paket Debian
Sekarang kami memiliki program kecil kami yang siap dalam bentuk biner yang dapat dieksekusi, kami dapat membuat paket Debian. Untuk melakukan itu, kami menggunakan dpkg-deb
alat. Pertama -tama, kita perlu membuat struktur paket Debian. Satu -satunya file yang diperlukan untuk membangun paket Debian adalah:
- Debian/Kontrol
- file khusus menjadi bagian dari paket (tidak diperlukan)
Pertama buat direktori yang dipanggil LinuxConfig
. Direktori ini akan menyimpan semua file paket yang diperlukan:
$ mkdir linuxconfig
Selanjutnya, buat direktori Debian dan file kontrol:
$ mkdir linuxconfig/debian $ vi linuxconfig/debian/control
Di dalam file kontrol, kami memasukkan informasi berikut:
Paket: LinuxConfig Versi: 1.0 Bagian: Prioritas Kustom: Arsitektur Opsional: Semua Esensi: Tidak Ada Ukuran Terpasang: 1024 Pemeliharaan: LinuxConfig.Deskripsi org: cetak linuxconfig.org di layar
Hebat, satu -satunya hal yang hilang adalah program linuxconfig kami. Di dalam LinuxConfig
Direktori Kami membuat pohon direktori yang mewakili jalur di mana program kami akan diinstal dalam sistem, dan menyalin
Dieksekusi ke dalamnya:
$ mkdir -p linuxconfig/usr/bin/$ cp/path/to/linuxconfig linuxconfig/usr/bin/
Pada titik ini kami siap membuat paket:
$ dpkg-deb-Build linuxconfig dpkg-deb: Paket bangunan 'linuxconfig' di 'linuxconfig.Deb '. $ ls linuxconfig linuxconfig.Deb
Anda mungkin ingin mengubah nama paket sehingga termasuk versi program dan arsitektur paket. Misalnya:
$ MV LinuxConfig.Deb LinuxConfig-1.0_amd64.Deb
Semua selesai ! Paket kami sudah siap ! (Catatan: Ini hanya sebuah contoh, pembuatan paket resmi membutuhkan lebih banyak pekerjaan).
Menyiapkan repositori paket lokal
Untuk membuat repositori paket lokal, kami membutuhkan yang berfungsi. Dalam hal ini kita akan menganggap penggunaannya Apache
dengan pengaturan default. Untuk menginstal Webserver Apache, yang perlu kita lakukan adalah menjalankan:
$ sudo apt-get install apache2
Setelah diinstal, untuk memverifikasi bahwa server web berfungsi, kami dapat menavigasi ke alamat IP mesin (atau ke 'http: // localhost', jika menjalankan browser pada mesin itu sendiri) yang, dalam kasus kami http: // 10.1.1.4. Kita harus melihat
terkenal Berhasil! pesan.
Perangkat lunak server web sedang berjalan tetapi belum ada konten yang ditambahkan. Itu Root document
dari apache default VirtualHost
, adalah /var/www/html
: Di sinilah kita akan membuat repositori kita.
Mari kita buat direktori "debian" di dalam /var/www/html
dan salin linuxconfig-1.0_amd64.Paket Deb di dalamnya:
$ sudo mkdir/var/www/html/debian $ sudo cp/path/to/linuxconfig-1.0_amd64.Deb/var/www/html/debian/
Langkah selanjutnya terdiri dari generasi daftar paket. Kami pindah ke Debian
direktori, dan gunakan DPKG-scanpackages
utilitas untuk menyelesaikan tugas. Anda mungkin perlu menginstal dpkg-dev
paket jika DPKG-scanpackages
Perintah hilang:
$ dpkg-scanpackages . | gzip -c9> paket.GZ DPKG-SCANPackages: Info: Menulis 1 entri ke file paket output.
Repositori lokal kami sekarang siap.
Menambahkan repositori ke sumber perangkat lunak
Pada titik ini untuk dapat menginstal paket kami dari repositori lokal yang kami buat, kami perlu mengedit /etc/apt/sumber.daftar
file, tambahkan entri relatif ke sana (ubah alamat IP untuk mencerminkan mesin Anda), dan
Sinkronisasi repositori:
echo "deb [tepercaya = ya] http: // 10.1.1.4/Debian ./"| tee -a/etc/apt/sumber.Daftar> /dev /null
Pastikan untuk menambahkan hal di atas [tepercaya = ya]
Untuk menghindari pesan kesalahan berikut:
Rilis 'tidak memiliki file rilis. N: Memperbarui dari repositori seperti itu tidak dapat dilakukan dengan aman, dan karenanya dinonaktifkan secara default.
Sinkronisasi repositori:
$ sudo apt-get update IGN: 1 http: // 10.1.1.4/Debian ./Inrelease ign: 2 http: // 10.1.1.4/Debian ./Rilis IGN: 3 http: // 10.1.1.4/Debian ./Paket IGN: 3 http: // 10.1.1.4/Debian ./Paket IGN: 3 http: // 10.1.1.4/Debian ./Paket dapatkan: 3 http: // 10.1.1.4/Debian ./ Paket [303 b]
Untuk menginstal paket kami, kami sekarang dapat menggunakan alat apt-get:
$ sudo apt-get install linuxconfig Paket bacaan Daftar… Selesai Membangun Ketergantungan Pohon Pembacaan Informasi Keadaan… Selesai Paket baru berikut akan diinstal: LinuxConfig 0 ditingkatkan, 1 yang baru diinstal, 0 untuk menghapus dan 8 tidak ditingkatkan. Perlu mendapatkan 3174 B arsip. Setelah operasi ini, 1.049 kb ruang disk tambahan akan digunakan. PERINGATAN: Paket -paket berikut tidak dapat diautentikasi! LinuxConfig Instal Paket -paket ini tanpa verifikasi [Y/N]? y
Menjalankan:
$ linuxconfig linuxconfig.org
Untuk menghapus paket dari sistem, cukup jalankan:
$ sudo apt-get hapus daftar paket bacaan linuxconfig… selesai Membangun Informasi Pembacaan Pohon Ketergantungan… Selesai Paket-paket berikut akan dihapus: LinuxConfig 0 ditingkatkan, 0 yang baru diinstal, 1 untuk menghapus dan 3 tidak ditingkatkan. Setelah operasi ini, ruang disk 1049 kb akan dibebaskan. Apakah Anda ingin melanjutkan? [Y/n] y
Tutorial Linux Terkait:
- Pengantar Otomatisasi Linux, Alat dan Teknik
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Menguasai loop skrip bash
- Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
- Bagaimana bekerja dengan WooCommerce Rest API dengan Python
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
- Cara membuat file sementara menggunakan mktemp di linux
- Cara membangun kembali paket menggunakan sistem build arch linux
- Cara membuat aplikasi flatpak dari awal
- Cara bekerja dengan grup paket DNF
- « Cara mengatur server LEMP di debian 10 buster
- Cara menginstal NextCloud di Debian 10 Buster Linux »