Pengenalan

Pengenalan

Anda sudah mengetahui mengenai bahasa pengaturcaraan C. Anda mendapat rasa dan merasa seperti anda mahu pergi lebih jauh dan menulis sendiri. Atau mungkin membantu komuniti dan pakej perisian kegemaran anda untuk pengedaran yang anda suka dan gunakan. Terlepas dari keadaan, bahagian siri pembangunan C ini akan menunjukkan kepada anda bagaimana untuk membuat pakej untuk dua pengagihan yang paling popular, Debian dan Fedora. Sekiranya anda membaca artikel kami setakat ini dan anda mempunyai pengetahuan yang kukuh mengenai baris arahan, dan anda boleh mengatakan bahawa anda tahu pilihan anda, anda sudah bersedia.

Sebelum kita pergi lebih jauh ..

Mari kita dapatkan beberapa konsep dan idea umum, jadi kami pastikan kami berada di halaman yang sama. Apa yang akan kita gariskan di sini boleh didapati tanpa mengira projek yang anda memutuskan untuk membungkus (atau menyumbang) untuk, sama ada Arch, NetBSD atau OpenSolaris. Ideanya ialah: Berhati -hati. Periksa kod, sama ada milik anda atau tidak, dan pastikan anda ingat bahawa mungkin banyak orang akan menggunakan kod anda. Anda mempunyai tanggungjawab di tangan anda, dan yang cukup besar pada masa itu. Sekiranya anda meragui ini, tempat terbalik untuk satu saat: Penyelenggara pakej tidak berhati -hati ketika memeriksa kod dan beberapa yang licik, tetapi bug kubur membuat jalannya di komputer anda. Ia licik, kerana ia hanya menampakkan diri pada perkakasan tertentu dan dalam situasi tertentu, tetapi cukup serius untuk memadam semua fail yang tinggal di dalam folder rumah anda. Anda kebetulan mempunyai kombinasi perkakasan dan keganasan yang tepat, seperti yang anda lupa menulis kepada DVD gambar -gambar itu dari percutian anda. Anda marah, reaksi pertama anda adalah untuk menunjukkan perasaan negatif terhadap sistem operasi (atau pengedaran) dan sebagainya, berikutan keputusan anda untuk mengubah pengedaran segera, yang distro kehilangan satu pengguna, semuanya kerana kekurangan perhatian dan ketelitian seseorang.

Debian

Memandangkan dokumentasi yang sangat baik Debian, kami tidak akan dapat menutup semua perkara yang perlu menjadi pemaju. Lagipun, ini bukan apa yang kita mahukan. Apa yang kami mahukan ialah menunjukkan kepada anda pada dasarnya bagaimana untuk mendapatkan dari tarball ke a .Deb. Menjadi pemaju Debian memerlukan banyak masa dan melibatkan anda membantu komuniti melalui IRC atau senarai mel, melaporkan dan membantu menetapkan pepijat, dan sebagainya, jadi itu bukan objek artikel kami. Lihatlah dokumentasi Projek ini menyediakan lebih banyak pandangan. Dasar Debian, panduan penyelenggara baru dan rujukan pemaju lebih penting untuk memulakan, mereka mestilah seperti beberapa jenis buku yang anda tidur di bawah bantal dengan.

Perhentian pertama anda sepatutnya, seperti yang digariskan di atas, dasar, di mana anda mesti mengenali diri anda dengan hierarki sistem fail, arkib, bidang dalam fail kawalan dan item khusus yang perlu diingat mengenai kategori perisian yang berbeza: binari, perpustakaan, sumber,,, permainan, dokumentasi, ... ingat bahawa a .Fail Deb tidak lebih daripada arkib, dan ia diperbuat daripada dua bahagian: bahagian kawalan, dengan fail kawalan dan skrip pemasangan/ pemasangan, dan muatan, di mana fail dipasang. Ia tidak begitu sukar seperti yang difikirkannya. Ia adalah idea yang sangat baik bahawa anda memuat turun a .fail deb, lebih baik jika ia membungkus beberapa perisian yang anda kenal, dan mula melihat ke dalam untuk melihat apa yang. [Petunjuk] - Anda boleh menggunakan fail kawalan untuk membuat anda sendiri, selagi anda berhati -hati. Sebagai contoh, mari kita ambil vim. Fail Deb tidak lain hanyalah arkib AR (1), jadi mereka hanya boleh dibongkar dengan menggunakan arahan Linux berikut:

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

Sudah tentu, V bermaksud Verbose, dan X bermaksud Ekstrak. Selepas operasi ini, kami akan melihat tiga fail: kawalan.tar.Gz, data.tar.XZ dan fail teks kecil yang dipanggil Debian-Binary, yang tidak lebih daripada fail yang memberitahu DPKG, Pengurus Pakej Debian, apa format binari digunakan. Tetapi itu tidak menarik minat pada masa ini. Tidak juga arkib data, yang terdiri daripada fail yang akan dibongkar pada sistem anda: halaman binari, manual, perpustakaan, dan sebagainya, bergantung pada perisian yang kita bicarakan. Arkib kawalan sangat penting di sini. Jika anda membongkarnya, anda akan melihat fail penting, dinamakan kawalan, MD5Sums fail yang akan dipasang, dan dua skrip, yang menjaga isu pemasangan pos, dan yang lain yang menjaga pra-penyingkiran. Oleh kerana kita mempunyai contoh perisian, mari kita ambil dan lihat bagaimana fail kawalan akan kelihatan. Terpulang kepada anda untuk membuat keputusan, pembaca yang dikasihi, jika saya memerlukan kedua -dua skrip itu dan jika ya, bagaimana mereka harus diubah. Jadi inilah fail kawalan, diambil dari vim-nox dan diubah suai untuk yest.

Pakej: Yest Sumber: Yest Versi: 2.7.0.5 Seni Bina: AMD64 Penyelenggara: Rares Aioanei Dipasang Saiz: 40355 Bergantung: Libc6 (> = 2.11) mencadangkan: Menyediakan: Bahagian Yest: Keutamaan Lain: Laman Utama Normal: SourceForge.Net/Projek/Yest Keterangan: Ini adalah Program Manipulasi Tarikh/Masa Perintah dan Program Pemformatan, sangat berguna dalam skrip. Anda boleh dengan mudah menambah atau tolak hari, jam dan/atau minit dari tarikh yang ditentukan. Menyokong semua tarikh (1) format output ditambah lagi. 

Di sana anda pergi, orang. Adakah anda fikir ada perkara lain yang anda perlukan untuk membuat pakej? Periksa sama ada semua fail anda ada, maka anda boleh menggunakan kaedah sekolah yang lebih lama, terutama kerana perisian itu kecil dan mudah dan tidak quirksome, jika kata-kata tersebut wujud.

 $ dpkg -b yestdir yest.Deb 

Sekarang, banyak orang akan memberitahu saya, dan saya tidak sabar, tentu saja, ini adalah kaedah lama untuk melakukan perkara dan sebagainya. Dan mereka betul. Saya cadangkan melihat melalui DPKG-BuildPackage halaman manual, serta Lintian untuk memeriksa kualiti anda .Deb, dan ingat untuk melakukan ini sebelum anda memulakan apa -apa, jadi anda boleh pastikan anda memasangnya:

 # apt-get pemasangan binaan autoconf automake autotools-dev dhelper devscripts devscripts fakeroot xutils lintian pbuilder 

Fedora

Pada pendapat saya, Fedora/Red Hat memudahkan orang untuk membungkus mereka berbanding Debian dan Derivatif. Yang dikatakan, lebih mudah tidak selalu bermakna lebih baik, sekurang -kurangnya di dunia IT. Anda akan dapat membuat pendapat yang berpendidikan selepas artikel ini, kami berharap.

Sekali lagi, pastikan anda mempunyai semua alat yang dipasang, yang boleh dilakukan dengan menaip ini:

 # Yum Install @Pembangunan-Tools Fedora-Packager 

Sekarang buat pengguna bernama Makerpm, Pastikan dia berada dalam kumpulan mengejek dan memberikan kata laluan:

 # USERADD -M -G Mock MakerPM && Passwd MakerPM 

Log masuk sebagai pengguna dan mengeluarkan arahan

 $ rpmdev-setuptree 

di direktori rumah. Anda akan melihat, selepas perintah keluar, struktur direktori baru bernama RPMBuild. Luangkan sedikit masa untuk menelitinya dan mengetahui tujuan setiap direktori dan fail. Sekarang, sama seperti Debian menggunakan fail kawalan, Fedora menggunakan spesifikasi. Mereka dipanggil begitu kerana mereka mempunyai .pelanjutan spec, jadi pengguna tahu ia menentukan parameter bangunan pakej: versi, nama, pengarang, penyelenggara, bergantung, dan sebagainya. Bagaimanapun, saya mendahului diri saya. Mari kita mulakan seperti yang kita lakukan sebelum ini dan memuat turun pakej sumber (sekali lagi vim, untuk konsistensi) untuk melihat di mana di mana. Untuk yang perlu memasang pakej yum-utils, yang menawarkan yumdownloader:

 $ yumdownloader-sumber vim-enhanced 

Sekarang, untuk memasang ke ~/rpmbuild, kami menaip

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

Ingat bahawa fail rpm adalah arkib, sama seperti .Fail Deb adalah. Perbezaannya ialah format: sementara Debian menggunakan AR, Fedora/RH menggunakan CPIO sebagai format pilihan. Mengetahui ini, apakah kaedah untuk digunakan untuk membongkar secara manual .rpms?

Anda mungkin perasan ada direktori bernama spesifikasi dalam ~/rpmbuild anda. cd kepadanya dan buat fail menggunakan vim atau emacs, fail bernama yest.spesifikasi. Anda akan terkejut apabila mendapati bahawa kedua -dua editor itu diubahsuai oleh fedora sedemikian .pelanjutan spec), jadi anda hanya boleh mengisi kekosongan. Sekarang, tugasan anda, berdasarkan fail kawalan di atas dan pengetahuan anda setakat ini, untuk menulis spesifikasi lengkap untuk yest dan, tentu saja, buat RPM dari itu. Wiki Fedora mempunyai penjelasan terperinci mengenai setiap bahagian spesifikasi, sila baca. Kami hanya akan membantu anda dengan bangunan sebenar dan memeriksa pakej. Pendek kata, gunakan yest.Spec sebagai hujah kepada RPMLint untuk memeriksa pematuhan fail dengan garis panduan pembungkusan Fedora dan kemudian, apabila semuanya terbukti teratur, dan selepas anda membaca manual RPMBuild, lakukan sesuatu seperti ini:

 $ rpmbuild -ba yest.spesifikasi 

Pilihan yang diberikan kepada RPMBuild berdiri untuk "membina semua", tetapi anda juga boleh membina hanya pakej sumber, menggunakan -bs. Ingatlah bahawa Mock dan Koji adalah dua alat yang sangat membantu, dan juga ingat bahawa RPMLint adalah tiket anda ke arah spesifikasi yang berkualiti.

Kesimpulan

Satu perkara yang perlu diingat ialah sama ada anda mencipta perisian yang anda bungkusan atau tidak, penyelenggaraan sangat penting, kadang -kadang lebih penting lagi sebagai tindakan penciptaan itu sendiri. Oleh itu, pastikan anda tahu tanggungjawab yang anda ambil pada diri anda: jika anda tidak bersedia untuk mendermakan masa, lebih baik anda tidak bermula sama sekali, atau pastikan anda dapat memberikan bungkusan kepada orang lain untuk mengekalkan. Kami harap anda menikmati lawatan kecil kami pembungkusan linux.

Semua artikel dalam siri ini:

  • I. C Pembangunan di Linux - Pengenalan
  • Ii. Perbandingan antara c dan bahasa pengaturcaraan lain
  • Iii. Jenis, pengendali, pembolehubah
  • Iv. Kawalan aliran
  • V. Fungsi
  • Vi. Petunjuk dan tatasusunan
  • VII. Struktur
  • Viii. Asas I/O
  • Ix. Gaya dan cadangan pengekodan
  • X. Membina program
  • Xi. Pembungkusan untuk Debian dan Fedora
  • Xii. Mendapatkan pakej di repositori debian rasmi

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Menguasai Gelung Skrip Bash
  • Ubuntu 20.04 Panduan
  • Perkara yang perlu dipasang di Ubuntu 22.04
  • Cara Dual Boot Kali Linux dan Windows 10
  • Perkara yang perlu dilakukan setelah memasang Ubuntu 22.04 Jur -ubur Jammy ..
  • Manipulasi data besar untuk keseronokan dan keuntungan bahagian 1
  • Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?