Perkenalan

Perkenalan

Anda sudah tahu tentang bahasa pemrograman C. Anda merasakannya dan merasa ingin melangkah lebih jauh dan menulis sendiri. Atau mungkin membantu komunitas dan mengemas perangkat lunak favorit Anda untuk distribusi yang Anda sukai dan gunakan. Terlepas dari situasinya, bagian dari seri pengembangan C ini akan menunjukkan kepada Anda cara membuat paket untuk dua distribusi paling populer, Debian dan Fedora. Jika Anda membaca artikel kami sejauh ini dan Anda memiliki pengetahuan yang kuat tentang baris perintah, dan Anda dapat mengatakan bahwa Anda tahu distro pilihan Anda, Anda siap.

Sebelum kita melangkah lebih jauh…

Mari kita dapatkan beberapa konsep dan ide -ide umum, supaya kami memastikan bahwa kami berada di halaman yang sama. Apa yang akan kami uraikan di sini tersedia terlepas dari proyek yang Anda putuskan untuk dikemas (atau berkontribusi) untuk, baik itu lengkung, netbsd atau opensolaris. Idenya adalah: hati -hati. Periksa kodenya, apakah itu milik Anda atau tidak, dan pastikan Anda ingat bahwa mungkin banyak orang akan menggunakan kode Anda. Anda memiliki tanggung jawab di tangan Anda, dan cukup besar pada saat itu. Jika Anda meragukan hal ini, membalikkan tempat untuk sesaat: Pemelihara paket tidak hati -hati saat memeriksa kode dan beberapa bug yang licik, tetapi Grave membuat jalan di terpasang di komputer Anda. Ini licik, karena hanya memanifestasikan dirinya pada perangkat keras tertentu dan dalam situasi tertentu, tetapi cukup serius untuk menghapus semua file yang tinggal di dalam folder rumah Anda. Anda kebetulan memiliki kombinasi yang tepat antara perangkat keras dan kekacauan, karena Anda lupa menulis kepada DVD foto -foto itu dari liburan Anda. Anda marah, reaksi pertama Anda adalah memanifestasikan perasaan negatif terhadap sistem operasi (atau distribusi) dan karenanya, mengikuti keputusan Anda untuk mengubah distribusi dengan segera, bahwa distro kehilangan satu pengguna, semua karena kurangnya perhatian dan ketelitian satu orang.

Debian

Mengingat dokumentasi Debian yang sangat baik, kami tidak akan dapat meliput semua hal -hal yang dibutuhkan seseorang untuk menjadi pengembang. Lagipula, ini bukan yang kami inginkan. Yang kami inginkan adalah menunjukkan kepada Anda pada dasarnya bagaimana mendapatkan dari tarball ke a .Deb. Menjadi pengembang Debian membutuhkan banyak waktu dan melibatkan Anda membantu masyarakat melalui IRC atau milis, melaporkan dan membantu memperbaiki bug, dan sebagainya, jadi itu bukan objek artikel kami. Lihat dokumentasi yang diberikan proyek untuk lebih banyak wawasan. Kebijakan Debian, Panduan Pemelihara Baru dan Referensi Pengembang lebih dari penting untuk memulai, mereka harus seperti semacam buku yang Anda tiduri di bawah bantal dengan.

Perhentian pertama Anda harus, sebagaimana diuraikan di atas, kebijakan, di mana Anda harus berkenalan dengan hierarki sistem file, arsip, bidang dalam file kontrol dan item spesifik yang harus diingat mengenai kategori perangkat lunak yang berbeda: binari, perpustakaan, sumber, sumber game, dokumentasi, ... ingat itu a .File Deb tidak lebih dari arsip, dan itu terbuat dari dua bagian: bagian kontrol, dengan file kontrol dan skrip instal/ uninstall, dan muatan, di mana file yang akan diinstal berada. Tidak sekeras yang dipikirkan orang. Itu ide yang sangat bagus bahwa Anda mengunduh a .file deb, bahkan lebih baik jika itu mengemas beberapa perangkat lunak yang Anda kenal, dan mulai melihat ke dalam untuk melihat apa. [Petunjuk] - Anda dapat menggunakan file kontrol untuk membuat sendiri, selama Anda berhati -hati. Sebagai contoh, mari kita ambil vim. File Deb tidak lain adalah arsip AR (1), sehingga mereka dapat dibongkar dengan menggunakan perintah Linux berikut:

 $ ar vx vim-nox_7.3.547-5_AMD64.Deb 

Tentu saja, V adalah singkatan dari Verbose, dan X adalah singkatan dari Extract. Setelah operasi ini, kita akan melihat tiga file: kontrol.ter.GZ, data.ter.XZ dan file teks kecil yang disebut Debian-Binary, yang tidak lebih dari file yang memberi tahu DPKG, Manajer Paket Debian, format biner apa yang digunakan. Tapi itu tidak menarik untuk saat ini. Data ARCHIVE, yang terdiri dari file -file yang tidak akan dibongkar pada sistem Anda: biner, halaman manual, perpustakaan, dan sebagainya, tergantung pada perangkat lunak yang kita bicarakan. Arsip kontrol sangat penting di sini. Jika Anda membongkarnya, Anda akan melihat file penting, Control bernama, MD5Sums dari file yang akan diinstal, dan dua skrip, satu yang menangani masalah instalasi pasca, dan yang lainnya yang menangani pra-penghilangan pra-pelepasan. Karena kami memiliki yest sebagai contoh perangkat lunak, mari kita ambil dan lihat bagaimana file kontrol akan terlihat. Terserah Anda untuk memutuskan, pembaca yang budiman, jika Anda membutuhkan kedua skrip itu dan jika demikian, bagaimana seharusnya mereka diubah. Jadi inilah file kontrol, diambil dari vim-nox dan dimodifikasi untuk Anda.

Paket: Sumber Yest: Versi Yest: 2.7.0.5 Arsitektur: AMD64 Pemelihara: Rares Aioanei Terpasang Ukuran: 40355 tergantung: libc6 (> = 2.11) Menyarankan: Menyediakan: Bagian Yest: Prioritas Lainnya: Beranda Normal: SourceForge.Net/Project/Yest Deskripsi: Ini adalah program barisan/waktu manipulasi dan program format yang sangat berguna dalam skrip, sangat berguna dalam skrip. Anda dapat dengan mudah menambah atau mengurangi hari, jam dan/atau menit dari tanggal yang ditentukan. Mendukung semua tanggal (1) format output plus lebih banyak. 

Itu dia, kawan. Apakah menurut Anda ada hal lain yang Anda butuhkan untuk membuat paket? Periksa apakah semua file Anda sudah ada, maka Anda dapat menggunakan metode yang lebih lama, terutama karena perangkat lunaknya kecil dan sederhana dan tidak beres, jika kata-kata seperti itu ada.

 $ dpkg -b yestdir yest.Deb 

Sekarang, banyak orang akan memberi tahu saya, dan saya tidak bisa menunggu, tentu saja, bahwa ini adalah metode lama untuk melakukan hal -hal dan sebagainya. Dan mereka benar. Saya sarankan melihat melalui dpkg-buildpackage Halaman manual, serta Lintian untuk memeriksa kualitas Anda .Deb, dan ingatlah untuk melakukan ini sebelum Anda memulai apa pun, sehingga Anda dapat memastikan semuanya menginstal:

 # apt-get install build-esensial autoconf autoTake autotools-dev dh-make debhelper devscripts fakeroot xutils lintian pbuilder 

Fedora

Menurut pendapat saya, Fedora/Red Hat memudahkan orang untuk mengemas mereka dibandingkan dengan Debian dan Derivatif. Yang dikatakan, lebih mudah tidak selalu berarti lebih baik, setidaknya di dunia TI. Anda akan dapat membuat pendapat yang berpendidikan setelah artikel ini, kami harap.

Sekali lagi, pastikan Anda memiliki semua alat yang diinstal, yang dapat dilakukan dengan mengetik ini:

 # yum instal @pengembangan-alat fedora-penumpuk 

Sekarang buat pengguna bernama Makerpm, Pastikan dia ada di grup tiruan dan menetapkan kata sandi:

 # useradd -m -g mock makerpm && makerpm passwd 

Masuk sebagai pengguna itu dan mengeluarkan perintah

 $ rpmdev-setuptree 

di direktori rumah. Anda akan melihat, setelah perintah keluar, struktur direktori baru bernama RPMBuild. Luangkan waktu untuk memeriksanya dan mencari tahu tujuan setiap direktori dan file. Sekarang, sama seperti Debian menggunakan file kontrol, Fedora menggunakan specfile. Mereka disebut seperti itu karena mereka memiliki .ekstensi spesifik, jadi pengguna tahu itu menentukan parameter pembangunan paket: versi, nama, penulis, pemeliharaan, tergantung, dan sebagainya. Ngomong -ngomong, aku maju dari diriku sendiri. Mari kita mulai seperti yang kita lakukan sebelumnya dan unduh paket sumber (sekali lagi vim, untuk konsistensi) untuk melihat di mana. Untuk itu seseorang perlu menginstal paket yum-utils, yang menawarkan yumdownloader:

 $ yumdownloader-sumber vim-enhanced 

Sekarang, untuk menginstal ke ~/rpmbuild, kami mengetik

 $ rpm -ivh vim -enhanced […].SRC.RPM 

Ingatlah bahwa file rpm adalah arsip, sama seperti .File Deb adalah. Perbedaannya adalah format: Sementara Debian menggunakan AR, Fedora/RH menggunakan CPIO sebagai format pilihan. Mengetahui hal ini, apa yang akan menjadi metode untuk digunakan untuk membongkar secara manual .rpms?

Anda mungkin telah memperhatikan ada direktori bernama spesifikasi di ~/rpmBuild Anda. CD untuk itu dan membuat file menggunakan vim atau emacs, file bernama yest.spec. Anda akan terkejut menemukan bahwa kedua editor itu dimodifikasi oleh Fedora sedemikian rupa sehingga mereka menawarkan Anda "kerangka" specfile (selama file yang ingin Anda buat memiliki .ekstensi spesifik), jadi Anda bisa mengisi kekosongan. Sekarang, tugas Anda adalah, berdasarkan file kontrol di atas dan pengetahuan Anda sejauh ini, untuk menulis spekfil lengkap untuk Anda dan, tentu saja, membuat rpm dari itu. The Fedora Wiki memiliki penjelasan terperinci tentang setiap bagian specfile, silakan baca. Kami hanya akan membantu Anda dengan bangunan dan pengecekan paket yang sebenarnya. Singkatnya, gunakan yest.Spesifikasi sebagai argumen untuk RPMLint untuk memeriksa kepatuhan file dengan pedoman pengemasan Fedora dan kemudian, ketika semuanya terbukti beres, dan setelah Anda membaca manual RPMBuild, lakukan sesuatu seperti ini:

 $ rpmbuild -ba yest.spec 

Opsi yang diberikan untuk RPMBuild Stand untuk "Build All", tetapi Anda juga dapat membangun hanya paket Sumber, menggunakan -B. Ingatlah bahwa tiruan dan koji adalah dua alat yang sangat membantu, dan juga ingat bahwa rpmlint adalah tiket Anda menuju specfile berkualitas.

Kesimpulan

Satu hal yang perlu diingat adalah apakah Anda membuat perangkat lunak yang Anda kemas atau tidak, pemeliharaan sangat penting, kadang -kadang bahkan lebih penting seperti tindakan penciptaan itu sendiri. Jadi pastikan Anda tahu tanggung jawab apa yang Anda ambil sendiri: Jika Anda tidak siap untuk menyumbangkan waktu, lebih baik Anda tidak memulai sama sekali, atau pastikan Anda dapat memberikan paket kepada orang lain untuk mempertahankan. Kami harap Anda menikmati tur kecil kami dengan kemasan Linux.

Semua artikel dalam seri ini:

  • SAYA. C Perkembangan di Linux - Pendahuluan
  • Ii. Perbandingan antara C dan bahasa pemrograman lainnya
  • AKU AKU AKU. Jenis, Operator, Variabel
  • Iv. Alur kontrol
  • V. Fungsi
  • Vi. Pointer dan Array
  • Vii. Struktur
  • Viii. I/O Dasar
  • Ix. Gaya pengkodean dan rekomendasi
  • X. Membangun program
  • Xi. Kemasan untuk Debian dan Fedora
  • Xii. Mendapatkan paket di repositori resmi Debian

Tutorial Linux Terkait:

  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Menguasai loop skrip bash
  • Ubuntu 20.04 Panduan
  • Hal -hal yang harus diinstal pada Ubuntu 22.04
  • Cara Dual Boot Kali Linux dan Windows 10
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…
  • Manipulasi data besar untuk kesenangan dan keuntungan bagian 1
  • Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?