Łatwy sposób na utworzenie pakietu Debiana i lokalnego repozytorium pakietów
- 1469
- 157
- Igor Madej
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
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
- « Jak skonfigurować serwer LEMP na Debian 10 Buster
- Jak zainstalować NextCloud na Debian 10 Buster Linux »