Jak utworzyć niestandardowe repozytorium RPM w systemie Linux
- 2443
- 110
- Ignacy Modzelewski
RPM to akronim Menedżer pakietów RPM: Jest to menedżer pakietów niskiego poziomu używany we wszystkich dystrybucjach Red Hat, takich jak Fedora i Red Hat Enterprise Linux.
Pakiet RPM to pakiet zawierający oprogramowanie, które ma być zainstalowane za pomocą tego systemu zarządzania pakietami, a pakiety RPM są zwykle dystrybuowane za pośrednictwem repozytoriów oprogramowania. W tym samouczku uczymy się, jak tworzyć niestandardowe repozytorium RPM i jak skonfigurować naszą dystrybucję, aby używać go jako źródła oprogramowania.
W tym samouczku się nauczysz:
- Jak utworzyć repozytorium RPM
- Jak używać repozytorium jako źródła oprogramowania
Zastosowane wymagania i konwencje oprogramowania
Kategoria | Wymagania, konwencje lub wersja oprogramowania |
---|---|
System | Każdy rozkład rodziny Red Hat |
Oprogramowanie | DNF, Createrepo |
Inny | Przywileje administracyjne do konfiguracji repozytorium |
Konwencje | # - Wymaga, aby podane Linux -commands były wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda$-wymaga wykonania Linux-commands jako zwykłego niewidzianego użytkownika |
Instalacja oprogramowania
Ze względu na ten samouczek utworzymy nasze niestandardowe repozytorium na lokalnym komputerze z IP 192.168.0.39
który będzie użył jako serwer HTTP. Na tym komputerze pierwszą rzeczą, którą musimy zrobić, jest zainstalowanie CREATEREPO
pakiet. Dystrybucja zainstalowana na zdalnym komputerze nie musi być sama dystrybucja oparta na RPM, o ile dostępny jest wspomniany pakiet. Na przykład, na przykład system zainstalowany na serwerze jest Debian, więc aby zainstalować pakiet, musimy uruchomić następujące polecenie:
$ sudo apt-get aktualizacja && sudo apt-get instaluj createrepo
Jak powiedzieliśmy wcześniej, w naszym konkretnym przykładzie chcemy, aby oprogramowanie hostowane w naszym niestandardowym repozytorium było dostępne za pośrednictwem protokołu HTTP, dlatego musimy zainstalować serwer HTTP; W takim przypadku będziemy pracować z Apache. Instalując go w Debian, to tylko kwestia biegu:
$ sudo apt-get instaluj apache2
Po zainstalowaniu pakietów możemy kontynuować i utworzyć nasze repozytorium RPM w kilku, bardzo prostych krokach.
Tworzenie repozytorium
Domyślny VirtualHost Apache DocumentRoot
utworzone, gdy Apache jest zainstalowany w Debian Is /var/www/html
. W tym momencie możemy utworzyć wirtualHost dla naszego repozytorium lub po prostu utworzyć katalog repozytorium w ramach części
domyślny. Ze względu na prostotę, w tym samouczku zbadamy tę drugą opcję:
$ sudo mkdir/var/www/html/repo
Repo
katalog, który utworzyliśmy z powyższym poleceniem, wewnątrz domyślnego wirtualhostu DocumentRoot, będzie hostować nasze pakiety i będzie podstawą naszego repozytorium. Aby lepiej go ustrukturyzować, chcemy teraz stworzyć niektóre podkatalogowe
Nazwany po dystrybucji, jej wersji i architekturze pakietów, które chcemy udostępnić. Załóżmy, że na przykład chcemy użyć repozytorium Fedora 33 x68_64
, Powinniśmy uruchomić następujące polecenie:
$ sudo mkdir -p/var/www/html/repo/fedora/remises/33/x86_64
Następny krok polega na zaludnianiu repozytorium. Wszystko, co musimy zrobić, to umieścić pakiety, które chcemy udostępnić, w odpowiednim katalogu repozytorium. W takim przypadku, na przykład, wypełnię repozytorium opakowaniem uzyskanym przez opracowanie edytora vscode ze źródła. Pakiet jest nazywany Kod-1.56.0-1617183449.El8.x86_64.RPM
. Po skopiowaniu nasza struktura pliku powinna tak wyglądać:
Repo └wiąt Fedora └─lok.56.0-1617183449.El8.x86_64.RPM
Z wypełnionym naszym repozytorium tylko chcemy uruchomić CREATEREPO
polecenie wewnątrz katalogu zawierającego pakiety. W takim przypadku uruchomilibyśmy:
$ sudo crerererepo/var/www/html/repo/fedora/remises/33/x86_64
Polecenie utworzy metadane repozytorium w katalogu wymienionym Repodata
, Na podstawie pakietów zawartych w katalogu docelowym i należy je ponownie uruchomić za każdym razem, gdy repozytorium jest aktualizowane o nowe pakiety lub stare pakiety są usuwane. Po uruchomieniu polecenia nasza struktura katalogu będzie wyglądać jak:
Repo └wiąt Fedora └─lok.56.0-1617183449.El8.x86_64.RPM └── Repodata ├wią 22ab1d1d123bb7d7cde556bf8a8ac4daf9cdb75572f40ebdd2f399908cb7f6b9-inne.XML.GZ ├wiąt 26ED9B63868B2E0263DFA817E21921C4E7542C1BE9F6B7875381BBA6BD78D1C6-PROMARY.sqlite.BZ2 ├� 10FC300A761812761cf9A8413A619DA23CF336D49999753568CE19A97C025D44-INTER.sqlite.BZ2 ├── A523F54B5FCD0720C182969F991F51E125728A361F31237725DC9418D5E126EA-PRIMARY.XML.GZ ├wiąt AF2FA9EAFEFFCA5FFC9F3E524155DEFA8CFA5656962845A45C8B0E984F3E19-FILELIST.sqlite.BZ2 ├─anek F95849CF860F1184B97D30000EA1F9F1C35EDD6D625DCD387453187510DD4A18-FILELISTS.XML.GZ └── REPOMD.XML
Nasze repozytorium zostało pomyślnie stworzone. Teraz musimy skonfigurować naszą dystrybucję, aby używać go jako źródła oprogramowania.
Dodanie repozytorium jako źródła oprogramowania
Przejdźmy do naszej dystrybucji opartej na RPM i zobaczmy, jak ją skonfigurować, aby użyć naszego niestandardowego repozytorium jako źródła oprogramowania. Pliki konfiguracyjne repozytorium znajdują się pod /etc/mniam.repozytorium.D
katalog i musi mieć.Repo
rozszerzenie. Patrząc do katalogu, możemy zobaczyć już istniejące:
$ ls/etc/yum/repo.D Fedora-Cisco-Oopenh264.Repo Fedora-updates-Testing-Modular.Repo Fedora-Modular.Repo Fedora-updates testowanie.Repo Fedora.Repo RPMFUSION BEZPIECZEŃSTWO.Repo Fedora-updates-Modular.Repo RPMFUSION-BET-BADATES.Repo Fedora-Dates.Repo RPMFUSION-BET-BODATATS TESTING.Repo
Teraz utwórzmy naszą niestandardową konfigurację repozytorium. Wewnątrz pliku, jako minimalny zestaw informacji, powinniśmy podać:
- Identyfikator repozytorium
- Nazwa repozytorium
- Baseurl repozytorium
- Status repozytorium
- Czy sprawdzić podpis GPG pakietów, czy nie
Zapiszemy takie informacje w pliku o nazwie OwnRepo.Repo
, Oto jego treść:
[OwnRepo] Nazwa = własne repozytorium baseurl = http: // 192.168.0.39/repo/fedora/remises/$ releasever/$ basearch enabled = 1 gpgcheck = 0
Definicja zgłoszona w nawiasach ([OwnRepo]
) jest identyfikatorem repozytorium i musi być unikalny we wszystkich definicjach repozytorium. Z nazwa
KLUCZ DO MÓWICZNOŚCI DLA MOŻLIWEGO DLA REPOPOTORIA jako łańcucha. To jest opcjonalne; Jeśli nazwa nie zostanie podana, identyfikator repozytorium będzie również używany jako nazwa.
Z Baseurl
Klucz Określamy listę adresów URL dla repozytorium. URL muszą być oddzielone przestrzenią lub przecinkiem. W naszym przykładzie właśnie dostarczyliśmy pojedynczy adres URL, ale można zauważyć, że użyliśmy dwóch zmiennych:
- $ releasever
- $ basearch
Rozszerzenie pierwszego, $ releasever
, W tym przypadku spowoduje wersję systemu operacyjnego 33
, Ponieważ instalujemy nasze repozytorium w systemie Fedora 33. Druga zmienna, $ basearch
, zostanie rozszerzony w ciągu reprezentującym podstawową architekturę systemu, który w naszym przypadku jest x86_64
.
włączony
Klucz wymaga Boolean wartość, która określa, czy repozytorium należy uznać za aktywne, czy nie. Ostatnim kluczem, którego użyliśmy GPGCheck
: wymaga również wartości logicznej i służy do ustalenia, czy kontrola podpisu GPG powinna być wykonywana w pakietach zainstalowanych z repozytorium. W naszym przykładzie po prostu wyłączyliśmy czek, ponieważ repozytorium jest przeznaczone tylko do użytku osobistego.
Teraz, gdy nasze repozytorium jest skonfigurowane, możemy spróbować zainstalować kod
Pakiet z niego, po prostu uruchamiając:
$ sudo dnf instaluj kod własny repozytorium 451 kb/s | 13 kb 00:00 Zależności rozwiązane. ================================================== ================================================== ============== Pakiet Architektura Wersja Rozmiar repozytorium =============================================================================================================================== ================================================== ================================ Instalowanie: Kod x86_64 1.56.0-1617183449.EL8 OwnRepo 100 m Podsumowanie transakcji =========================================== ================================================== ==================== Zainstaluj 1 pakiet Całkowity rozmiar pobierania: 100 m Zainstalowany Rozmiar: 294 m to OK [T/N]:
Po udzieleniu afirmatywnej odpowiedzi na monit i potwierdzenie jej, pakiet zostanie zainstalowany w naszym systemie.
Wnioski
W tym artykule dowiedzieliśmy się, jak łatwo jest utworzyć niestandardowe repozytorium RPM z CREATEREPO
narzędzie i widzieliśmy, jak utworzyć plik konfiguracyjny DNF w naszej dystrybucji, aby użyć go źródłem oprogramowania. Widzieliśmy minimalny podzbiór
klucze, które można użyć w konfiguracji repozytorium; Aby uzyskać bardziej szczegółową listę, możesz zapoznać się z oficjalną dokumentacją DNF.
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
- Pobierz Linux
- Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
- Czy Linux może uzyskać wirusy? Badanie podatności Linuksa…
- Mastering Bash Script Loops
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
- Ubuntu 20.04 sztuczki i rzeczy, których możesz nie wiedzieć
- Rzeczy do zainstalowania na Ubuntu 22.04
- « Jak zmienić nazwę wielu plików na Linux
- Jak wygenerować i tworzyć kopię zapasową klawiatury GPG na Linux »