Łatwy sposób na utworzenie pakietu Debiana i lokalnego repozytorium pakietów

Łatwy sposób na utworzenie pakietu Debiana i lokalnego repozytorium pakietów

W tym artykule opisano prosty sposób utworzenia pakietu Debiana w domu i włączenie go do lokalnego repozytorium pakietów. Chociaż moglibyśmy użyć istniejącego pakietu Debiana/Ubuntu, zaczniemy od zera, tworząc i pakując naszą trywialną aplikację. Gdy nasz pakiet będzie gotowy, dołączymy go do naszego lokalnego repozytorium pakietów. Ten artykuł ilustruje bardzo uproszczone podejście, jednak może służyć jako szablon w wielu różnych scenariuszach.

W tym samouczku nauczysz się:

  • Jak stworzyć trywialny pakiet Debiana
  • Jak utworzyć lokalne repozytorium Debiana
  • Jak dodać repozytorium do listy źródeł oprogramowania


Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Debian
Oprogramowanie Pakiet typu kompilacji
Inny Działający serwer WWW Apache i uprawnienia root
Konwencje # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Tworzenie binarnego wykonywalnego

Pierwszą rzeczą, którą musimy zrobić, jest utworzenie prostego programu C ++, skompilowanie go i przetestowanie. Jeśli chcesz napisać prosty program C, odwiedź nasz kompleksowy samouczek do programowania C. Nasz program nie zrobi nic innego, po prostu wydrukuj „Linuxconfig.org ”na ekranie. Oto kod:

#Include int main () Używając przestrzeni nazw Std; Cout << "linuxconfig.org\n"; 
Kopiuj

Zapisz powyższy kod jako Linuxconfig.CC. Aby skompilować program, potrzebujemy G++ kompilator, który jest dostarczany przez pakiet typu kompilacji. Możemy go zainstalować, działając:

$ sudo apt-get instal instaluj kompilację

Aby skompilować kod, używamy następującego polecenia Linux:

$ g ++ Linuxconfig.CC -O Linuxconfig $ ./LinuxConfig LinuxConfig.org

Wszystko wygląda dobrze. W tym momencie powinniśmy mieć wykonywalny „LinuxConfig”, który drukuje na ekranie jakiś ciąg.



Tworzenie pakietu Debiana

Teraz, gdy przygotowujemy nasz mały program w formie pliku plik wykonywalnego, możemy utworzyć pakiet Debian. Aby to zrobić DPKG-DEB narzędzie. Po pierwsze, musimy stworzyć strukturę pakietu Debiana. Jedyne pliki wymagane do zbudowania pakietu Debiana to:

  • Debian/kontrola
  • Pliki niestandardowe, które będą częścią pakietu (nie wymagane)

Najpierw utwórz katalog o nazwie Linuxconfig. Ten katalog pomieści wszystkie niezbędne pliki pakietów:

$ mkdir Linuxconfig

Następnie utwórz katalog debian i plik sterowania:

$ mkdir Linuxconfig/debian $ vi Linuxconfig/Debian/Control

Wewnątrz pliku sterowania wprowadzamy następujące informacje:

Pakiet: LinuxConfig Wersja: 1.0 Sekcja: Niestandardowy priorytet: Opcjonalna architektura: Wszystkie niezbędne: Brak zainstalowanej wielkości: 1024 Keeperer: Linuxconfig.ORG Opis: wydrukuj Linuxconfig.org na ekranie

Świetne, jedyne, czego brakuje, to nasz program Linuxconfig. W środku Linuxconfig katalog tworzymy drzewo katalogu, które reprezentuje ścieżkę, w której nasz program zostanie zainstalowany w systemie, i skopiuj
wykonywa się w nim:

$ mkdir -p Linuxconfig/usr/bin/$ cp/ścieżka/do/linuxconfig linuxconfig/usr/bin/

W tym momencie jesteśmy gotowi utworzyć pakiet:

$ DPKG-DEB-Build Linuxconfig DPKG-DEB: Pakiet budowlany „LinuxConfig” w „LinuxConfig.Deb '. $ ls Linuxconfig Linuxconfig.Deb

Możesz zmienić nazwę pakietu, aby zawierała wersję programu i architekturę pakietu. Na przykład:

$ mv Linuxconfig.Deb Linuxconfig-1.0_AMD64.Deb

Wszystkie zrobione ! Nasz pakiet jest gotowy ! (Uwaga: To tylko przykład, tworzenie oficjalnych pakietów wymaga więcej pracy).

Konfigurowanie lokalnego repozytorium pakietów

Aby utworzyć lokalne repozytorium pakietów, potrzebujemy pracy. W takim przypadku założymy użycie Apache z ustawieniami domyślnymi. Aby zainstalować Apache Webserver, wszystko, co musimy zrobić, to uruchomić:

$ sudo apt-get instaluj apache2


Po zainstalowaniu, aby sprawdzić, czy WebServer działa, możemy przejść do adresu IP urządzenia (lub do „http: // localhost”, jeśli uruchamia przeglądarkę na samym komputerze), która w naszym przypadku jest http: // 10.1.1.4. Powinniśmy zobaczyć
słynny To działa! wiadomość.

Oprogramowanie serwera WWW działa, ale nie dodano żadnej treści, ale. DocumentRoot domyślnego apache Virtualhost, Jest /var/www/html: Tutaj utworzymy nasze repozytorium.

Utwórzmy w środku katalog „Debian” /var/www/html i skopiuj LinuxConfig-1.0_AMD64.Pakiet Deb w nim:

$ sudo mkdir/var/www/html/debian $ sudo cp/ścieżka/do/linuxconfig-1.0_AMD64.Deb/var/www/html/debian/

Następny krok polega na generowaniu listy pakietów. Wprowadzamy się do Debian katalog i użyj DPKG-SCANPACKAGES użyteczność do wykonania zadania. Może być konieczne zainstalowanie DPKG-dev pakiet na wypadek DPKG-SCANPACKAGES Brakuje polecenia:

$ dpkg-scanpackages . |. gzip -c9> pakiety.GZ DPKG-SCANPACKAGES: Informacje: zapisał 1 wpisy do pliku pakietów wyjściowych.

Nasze lokalne repozytorium jest teraz gotowe.

Dodanie repozytorium do źródeł oprogramowania

W tym momencie, aby móc zainstalować nasz pakiet z lokalnego repozytorium, które stworzyliśmy, musimy edytować /etc/apt/źródła.lista plik, dodaj wpis względny do niego (zmień adres IP, aby odzwierciedlić adres komputera) i
synchronizować repozytoria:

echo "deb [trusted = tak] http: // 10.1.1.4/Debian ./"| tee -a/etc/apt/źródła.Lista> /dev /null 

Pamiętaj, aby dodać powyższe [zaufany = tak] Aby uniknąć następującego komunikatu o błędzie:

 Wydanie „nie ma pliku wersji. N: Aktualizacja z takiego repozytorium nie może być bezpiecznie wykonana, a zatem jest domyślnie wyłączona. 

Synchronizacja repozytoriów:

$ sudo apt-get aktualizacja ign: 1 http: // 10.1.1.4/Debian ./Inrelease ign: 2 http: // 10.1.1.4/Debian ./Wydanie IGN: 3 http: // 10.1.1.4/Debian ./Pakiety IGN: 3 http: // 10.1.1.4/Debian ./Pakiety IGN: 3 http: // 10.1.1.4/Debian ./Pakiety otrzymują: 3 http: // 10.1.1.4/Debian ./ Pakiety [303 b]

Aby zainstalować nasz pakiet, możemy teraz użyć narzędzia apt-get:

$ sudo apt-get Zainstaluj listy pakietów odczytu Linuxconfig… Dotarnown Building zależne od czytania drzewa zależności… wykonano następujące nowe pakiety: Linuxconfig 0 zaktualizowane, 1 nowo zainstalowany, 0 do usunięcia i 8 nie zaktualizowanych. Musisz uzyskać 3174 b archiwów. Po tej operacji zostanie użyty 1049 kb dodatkowej przestrzeni dysku. OSTRZEŻENIE: Nie można uwierzytelnić następujących pakietów! LinuxConfig Zainstaluj te pakiety bez weryfikacji [T/N]? y

Wykonać:

$ Linuxconfig LinuxConfig.org

Aby usunąć pakiet z systemu, po prostu uruchom:

$ sudo apt-get usuń listy pakietów odczytu Linuxconfig… Dotarnown Building zależność odczytania drzewa odczytu… wykonane następujące pakiety zostaną usunięte: Linuxconfig 0 zaktualizowane, 0 nowo zainstalowane, 1 do usunięcia i 3 nie zaktualizowane. Po tej operacji uwolni się 1049 kb. Czy chcesz kontynuować? [Y/n] y

Powiązane samouczki Linux:

  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Mastering Bash Script Loops
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
  • Jak pracować z WooCommerce Rest API z Pythonem
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Jak tworzyć pliki tymczasowe za pomocą MKTEMP w Linux
  • Jak odbudować pakiet za pomocą systemu kompilacji Arch Linux
  • Jak utworzyć aplikację FlatPak od zera
  • Jak pracować z grupami pakietów DNF