Wstęp

Wstęp

Jesteś już w języku programowania C. Masz smak i czułeś się, jakbyś chciał iść dalej i napisać własne. A może pomóc społeczności i zapakować to twoje ulubione oprogramowanie dla dystrybucji, którą lubisz i używasz. Niezależnie od sytuacji, ta część serii C Development pokaże, jak tworzyć pakiety dla dwóch najpopularniejszych dystrybucji, Debian i Fedora. Jeśli do tej pory przeczytasz nasze artykuły i masz solidną wiedzę na temat wiersza poleceń i możesz powiedzieć, że znasz swoje dystrybucję, jesteś gotowy.

Zanim przejdziemy dalej…

Wykorzystajmy kilka koncepcji i ogólnych pomysłów, po prostu upewniamy się, że jesteśmy na tej samej stronie. To, co zamierzamy tutaj zarysować, jest dostępne, niezależnie od projektu, który zdecydujesz się pakować (lub wnieść), czy to arch, netbsd czy openSolaris. Chodzi o to: bądź ostrożny. Sprawdź kod, czy to twój, czy nie, i upewnij się, że pamiętasz, że być może wiele osób użyje twojego kodu. Masz odpowiedzialność na rękach i dość duży. Jeśli wątpisz w to, odwróć miejsca na sekundę: opiekun pakietu nie jest ostrożny podczas sprawdzania kodu, a jakiś podstępny, ale poważny błąd zbliża się do instalowanego na komputerze. Jest podstępny, ponieważ objawia się tylko na pewnym sprzęcie i w pewnych sytuacjach, ale jest wystarczająco poważny, aby usunąć wszystkie pliki mieszkające w folderze domowym. Zdarza się, że pojawia się dokładna kombinacja sprzętu i chaosu, ponieważ zapomniałeś napisać na DVD tych zdjęć z wakacji. Gniewasz, twoją pierwszą reakcją jest manifestowanie negatywnego poczucia systemu operacyjnego (lub dystrybucji), a zatem, zgodnie z decyzją o natychmiastowej zmianie dystrybucji, ta dystrybucja traci jednego użytkownika, wszystko dlatego, że brak uwagi i dokładności jednej osoby.

Debian

Biorąc pod uwagę doskonałą dokumentację Debiana, nie będziemy mogli omówić Wszystko rzeczy, które trzeba zostać programistą. W końcu nie tego chcieliśmy. Chcieliśmy, aby pokazać ci w zasadzie, jak dostać się z Tarball do .Deb. Zostanie debiernikiem Debian zajmuje dużo czasu i obejmuje pomaganie społeczności za pośrednictwem IRC lub listy mailingowe, zgłaszanie i pomaganie w naprawie błędów i tak dalej, więc nie jest to przedmiot naszego artykułu. Spójrz na dokumentację, którą projekt zapewnia więcej wglądu. Polityka debiana, przewodnik nowego opiekuna i odniesienie dewelopera są bardziej niż ważne dla rozpoczęcia, muszą być jak jakaś książka, z którą śpisz pod poduszką.

Twój pierwszy przystanek powinien, jak opisano powyżej, zasady, w której musisz zapoznać się z hierarchią systemu plików, archiwami, pola w pliku kontrolnym i określone elementy, które należy zapamiętać w odniesieniu do różnych kategorii oprogramowania: binarne, biblioteki, źródło, gry, dokumentacja… pamiętaj, że a .Plik Deb jest niczym więcej niż archiwum i jest wykonany z dwóch części: części sterującej z plik sterującym i skryptami instalacji/ odinstalowania oraz ładownością, w których przebywa pliki do zainstalowania. To nie jest tak trudne, jak można by się spodziewać. To bardzo dobry pomysł, że pobierasz .Plik deb, jeszcze lepiej, jeśli pakuje oprogramowanie, które znasz, i zacznij patrzeć do środka, aby zobaczyć, co jest. [Wskazówka] - Możesz użyć pliku sterowania, aby stworzyć własny, o ile będziesz ostrożny. Jako przykład, weźmy vim. Pliki Deb to tylko archiwa AR (1), więc można je po prostu rozpakować za pomocą następującego polecenia Linux:

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

Oczywiście V oznacza Ventbose, a X oznacza ekstrakt. Po tej operacji zobaczymy trzy pliki: Control.smoła.GZ, dane.smoła.XZ i mały plik tekstowy o nazwie Debian-Binary, który jest niczym innym jak plikiem informującym DPKG, menedżera pakietu Debian, jaki jest używany format binarny. Ale na razie nie jest to interesujące. Archiwum danych, które składa się z plików, które mają być rozpakowane w twoim systemie: binarne, ręczne strony, biblioteki i tak dalej, w zależności od oprogramowania, o którym mówimy. Archiwum kontrolne ma tutaj ogromne znaczenie. Jeśli go rozpakujesz, zobaczysz niezbędny plik o nazwie Control, MD5Sums plików do zainstalowania, oraz dwa skrypty, jeden, który zajmuje się problemami z instalacją, a drugi, który zajmuje. Ponieważ mieliśmy do tej pory przykład oprogramowania, weźmy go i zobaczmy, jak wyglądałby plik sterujący. Od ciebie zależy, drogi czytelniku, jeśli wczoraj potrzebuje tych dwóch skryptów, a jeśli tak, to jak należy je zmienić. Oto plik sterujący, pobrany z VIM-NOX i zmodyfikowany na przeszłość.

Pakiet: Wczoraj źródło: Wczoraj Wersja: 2.7.0.5 Architektura: AMD64 Keeperer: Rares Aioanei Zainstalowany rozmiar: 40355 zależy: Libc6 (> = 2.11) Sugeruje: Zapewnia: Wczorajsza sekcja: Inne priorytet: normalna strona główna: źródło.Net/Projects/Minist. Możesz łatwo dodawać lub odjąć dni, godziny i/lub minuty od określonej daty. Obsługuje wszystkie daty (1) Formaty wyjściowe plus więcej. 

Proszę bardzo, ludzie. Czy uważasz, że jest coś, czego potrzebujesz, aby utworzyć pakiet? Sprawdź, czy wszystkie pliki są na miejscu, możesz użyć bardziej oldschoolowej metody, zwłaszcza, że ​​oprogramowanie jest małe, proste i niewole, jeśli takie słowa istnieją.

 $ dpkg -b wcześniej.Deb 

Teraz wielu ludzi mi powie i nie mogę oczywiście się doczekać, że jest to stara metoda robienia rzeczy i tak dalej. I mają rację. Proponuję przeglądać przez DPKG-BUILDPACKAGE Strona ręczna, a także Lintian w celu sprawdzenia jakości twojego .Deb i pamiętaj, aby to zrobić, zanim cokolwiek zaczniesz, abyś mógł upewnić się, że wszystko zainstalowano:

 # apt-get instaluj kompilację Autoconf Automake Autotools-dev dh-make devhelper devscripts fakeroot xutils lintian pBuilder 

Fedora

Moim zdaniem Fedora/Red Hat ułatwia ludziom pakowanie dla nich w porównaniu z debianem i instrumentami pochodnymi. Biorąc to pod uwagę, łatwiejsze nie zawsze znaczy lepiej, przynajmniej w świecie IT. Mamy nadzieję, że po tym artykule będziesz w stanie wydać wykształconą opinię.

Ponownie upewnij się, że masz zainstalowane wszystkie narzędzia, które można zrobić, wpisując to:

 # Yum Instal @program Development-tools Fedora-Packager 

Teraz utwórz użytkownika o nazwie Makerpm, Upewnij się, że jest w pozdrawikowej grupie i przypisz hasło:

 # useradd -m -g Mock MakerPM && Passwd Makerpm 

Zaloguj się jako użytkownik i wydaj polecenie

 $ rpmdev-setuptree 

W katalogu domowym. Po wyjściu z polecenia zobaczysz nową strukturę katalogu o nazwie rpmbuild. Poświęć trochę czasu, aby go zbadać i ustalić cele każdego katalogu i pliku. Teraz, podobnie jak Debian korzysta z plików kontrolnych, Fedora używa specyfiles. Są nazywane tak, ponieważ mają .rozszerzenie specyfikacji, więc użytkownik wie, że określa parametry budowania pakietów: wersja, nazwa, autor, opiekun, zależy i tak dalej. W każdym razie wyprzedzam siebie. Zacznijmy tak, jak robiliśmy to wcześniej i pobierz pakiet źródłowy (ponownie vim, dla spójności), aby zobaczyć, gdzie jest gdzie jest. W tym celu należy zainstalować pakiet Yum-Utils, który oferuje YumDownloader:

 $ yumdownloader--source vim-hipanced 

Teraz, aby zainstalować w ~/rpmBuild, wpisujemy

 $ rpm -ivh vim -enhipanced […].src.RPM 

Pamiętaj, że plik RPM jest archiwum, tak jak .Pliki Deb są. Różnica polega na formacie: podczas gdy Debian używa AR, Fedora/Rh używa CPIO jako formatu wyboru. Wiedząc o tym, jaka byłaby metoda użycia do ręcznego rozpakowywania .RPM?

Być może zauważyłeś, że w Twoim ~/rpmbuild znajduje się katalog o nazwie. CD do niego i utwórz plik za pomocą VIM lub EMACS, pliku o nazwie.Spec. Będziesz mile zaskoczony, gdy dowiesz się, że ci dwaj redaktorzy są modyfikowani przez Fedorę w taki sposób, aby oferowali „szkielet” specyfilu (o ile chcesz utworzyć plik, który chcesz utworzyć .rozszerzenie specyfikacji), abyś mógł po prostu wypełnić puste miejsca. Teraz twoje zadanie jest oparte na powyższym pliku kontrolnym i dotychczasowej wiedzy, aby napisać kompletny plik na wcześniejszy. Wiki Fedora ma szczegółowe wyjaśnienie każdej sekcji specyfilu, przeczytaj to. Pomożemy Ci tylko w faktycznym budowaniu i sprawdzeniu pakietu. Krótko mówiąc, używaj w przeszłości.Spec jako argument RPMlint, aby sprawdzić zgodność pliku z wytycznymi opakowaniami Fedora, a następnie, gdy wszystko okaże się w porządku, a po przeczytaniu instrukcji RPMBuild zrób coś takiego:

 $ rpmbuild -ba w przeszłości.Spec 

Opcje podane dla RPMBuild oznaczają „Zbuduj wszystko”, ale możesz także zbudować tylko pakiet źródłowy, używając -bs. Pamiętaj, że próbne i Koji to dwa bardzo pomocne narzędzia, a także pamiętaj, że rpmlint jest twoim biletem na wysokiej jakości specyles.

Wniosek

Jedną rzeczą do zapamiętania jest to, że niezależnie od tego, czy stworzyłeś oprogramowanie, które pakujesz, czy nie, utrzymanie jest bardzo ważne, czasem jeszcze ważniejsze jako sam akt stworzenia. Upewnij się więc, że wiesz, jaką odpowiedzialność bierzesz na siebie: jeśli nie jesteś przygotowany do przekazania czasu, lepiej, aby w ogóle nie zacząć lub upewnić się, że możesz przekazać pakiet komuś innemu, aby utrzymać. Mamy nadzieję, że podobała Ci się nasza małe wycieczka po opakowaniu Linux.

Wszystkie artykuły z tej serii:

  • I. C Opracowanie w Linux - Wprowadzenie
  • Ii. Porównanie C i innych języków programowania
  • Iii. Typy, operatorzy, zmienne
  • Iv. Kontrola przepływu
  • V. Funkcje
  • Vi. Wskaźniki i tablice
  • VII. Struktury
  • VIII. Podstawowe I/O
  • IX. Styl kodowania i zalecenia
  • X. Budowanie programu
  • Xi. Opakowanie dla Debiana i Fedory
  • XII. Uzyskanie pakietu w oficjalnych repozytoriach Debiana

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Mastering Bash Script Loops
  • Ubuntu 20.04 Przewodnik
  • Rzeczy do zainstalowania na Ubuntu 22.04
  • Jak podwójnie rozruch Kali Linux i Windows 10
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
  • Big Data Manipulacja dla zabawy i zysku Część 1
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?