Jak utworzyć serwer repozytorium Ubuntu
- 3408
- 1011
- Natan Cholewa
Ten przewodnik pokaże, jak skonfigurować lokalny serwer repozytorium na podstawie Ubuntu Bionic, ale można go dostosować do poprzedniej wersji Ubuntu lub nawet do dowolnej dystrybucji, używając umiejętności jako głównego systemu zarządzania pakietami, takimi jak Debian lub Mint. Zazwyczaj możesz skonfigurować lokalne repozytorium, aby zapisać przepustowość internetową.
W tym samouczku nauczysz się:
- Jak zainstalować wymagane oprogramowanie na serwerze
- Jak wybrać, które repozytoria do odzwierciedlenia na serwerze
- Jak lustrzać wybór repozytoriów lokalnie na serwerze
- Jak skonfigurować klienta Linux do korzystania z lokalnego serwera repozytorium
Jak wspomniano powyżej, nie rozważamy lustra publicznego lub kraju dla tego samouczka, ale jeśli chcesz go wdrożyć, rozważ to:
- Twoja przepustowość sieci staje się bardzo ważna
- Musisz zarejestrować repozytorium na listę luster Ubuntu
- Musisz zsynchronizować lustro co najmniej cztery razy dziennie
- Ponieważ musisz odzwierciedlać wszystkie poprzednie wersje, możesz potrzebować 2 TB lub więcej miejsca na dysku
Aktualizacja listy pakietów z lokalnych repozytorium.
Zastosowane wymagania i konwencje oprogramowania
Kategoria | Wymagania, konwencje lub wersja oprogramowania |
---|---|
System | Ubuntu 18.04.2 (Bionic Beaver) LTS |
Oprogramowanie | Apache Http 2.x, apt-mirror |
Inny | Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo polecenie, minimum 200 GB miejsca na dysku dla repozytorium |
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 |
Jak utworzyć serwer repozytorium Ubuntu krok po kroku
- Instalowanie wymaganego oprogramowania na serwerze.
Jako pierwszy krok musimy zainstalować serwer Apache HTTP, który znajduje się pod nazwanym pakietem
Apache2
, z poleceniem:$ sudo apt Zainstaluj apache2
Instalowanie Apache HTTPNastępnie upewnij się, że usługa działa w uruchomieniu:
$ sudo systemctl włącz apache2
Jeśli wszystko jest w porządku, przejdziemy do domyślnego katalogu DocumentRoot (czyli/var/www/html).
Tam możemy następnie utworzyć podwodny/var/www/html/ubuntu
i przypisz go do odpowiedniego właściciela, w tym przypadkuwww-data
(Użytkownik, pod którym działa Apache HTTP).$ sudo mkdir -p/var/www/html/ubuntu $ sudo chown www-data: www-data/var/www/html/ubuntu
Zdecydowanie zaleca się, aby DocumentRoot lub przynajmniej podfolder Ubuntu był na systemie plików należącym do woluminu logicznego; W ten sposób możemy go powiększyć online, bez przestojów.
W momencie moich testów 171.5 GIB to bezwzględna minimalna potrzebna przestrzeń, jeśli odzwierciedla również pakiety SRC; Aby zaplanować przyszłość, zaleca się, aby mieć co najmniej 300 gib przestrzeni dyskowej.Jest to głównie oszacowanie przy wyborze jednej wersji Ubuntu; Jeśli jest to potrzebne do odzwierciedlenia pakietów dla różnych wersji, wymagania przestrzeni znacznie wzrosną.
- Głównym narzędziem, które pozwala nam utworzyć lokalne repozytorium
APT-MIRROR
, Aby go zainstalować Wykonaj:$ sudo apt instal apt-mirror
W przypadku znalezienia pakietu upewnij się, że najpierw odśwież listę pakietów:
Aktualizacja $ sudo apt
- Wybieranie repozytoriów do lustra na serwerze.
Po zainstalowaniu Apt-Mirror możemy wykonać kopię kopii zapasowej jego pliku konfiguracyjnego
/etc/apt/luster.lista
, Następnie upewnij się, że linia zawierająca opcjęUstaw base_path
wskazuje na prawidłową ścieżkę dla naszego repozytorium (domyślnie IS/var/Spool/Apt-Mirror).$ sudo cp/etc/apt/luster.Lista/etc/apt/luster.lista.org
Więc możesz teraz użyć swojego ulubionego edytora (na przykład vi lub nano), aby zmienić opcję base_path w lustrze.List Plik do
lustro.List Plik konfiguracyjny/var/www/html/ubuntu
; Musisz także określić, że odzwierciedlasz dystrybucję bioniczną (zmień odpowiednio, jeśli masz inną wersję Ubuntu), zawsze w lustrze.Plik konfiguracyjny listy.Jeśli nie masz dużo miejsca na dysku, możesz nie odzwierciedlać pakietów SRC; Więc skomentujesz względne linie:
lustro.List Plik konfiguracyjny
Następnie skopiujesz ważny skrypt do
/var/www/html/ubuntu/var/
$ sudo mkdir -p/var/www/html/ubuntu/var $ sudo cp/var/buol/apt -mirror/var/postMirror.sh/var/www/html/ubuntu/var/
- Odzwierciedlając wybrane repozytoria lokalnie na serwerze.
Teraz nadszedł czas, aby stworzyć lokalne lustro, pamiętaj, że początkowe lustro (z
archiwum.Ubuntu.com
Tylko w tym samouczku) może zająć dużo czasu i spowolnić połączenie, więc sugeruję, abyś rozpoczął tę pracę w nocy.
Aby rozpocząć odzwierciedlenie pakietów zdalnych Repos na serwerze lokalnym, po prostu wykonaj polecenie:$ sudo apt-mirror
Jeśli potrzebujesz, możesz przerwać ten proces (za pomocą klasycznej kombinacji CTRL+C) i ponownie go uruchomić; Wznowie się z miejsca, w którym zostało.
W końcu dojdziemy do punktu, w którym czysty.SH i PostMirror.Skrypty SH są wykonywane, jest to znak, że proces lustrzania został zakończony.
Koniec procesu lustrzanego. - Konfigurowanie automatycznego procesu synchronizacji za pomocą Cron Scheduler.
Po zakończeniu pierwszego synchronizacji musimy utworzyć zadanie CRON, aby upewnić się, że mamy automatyczne lokalne repozytorium; Na przykład chcemy, aby to zadanie działało każdej nocy o 2:00 i dlatego:
$ sudo crontab -e
Następnie edytujemy crontab, aby dodać następujący wiersz:
00 02 * * */usr/bin/apt-mirror
Oraz zapisz i wyjdź (za pomocą vi, nano lub dowolnego edytora).
Konfigurowanie klienta Linux do korzystania z lokalnego serwera repozytorium
- Konfigurowanie lokalnej listy repozytorium.
W każdym kliencie, który będzie korzystał z naszego lokalnego repozytorium, musimy edytować plik konfiguracyjny
/etc/apt/źródła.lista
Określenie naszego lokalnego repozytorium i wyłączanie każdego zdalnego.W naszym przypadku pobrano następujące repozytoria:
Lokalne repozytoria serwera
NOTATKA
Zaleca się komentowanie dowolnej linii w
/etc/apt/źródła.lista
Plik odnoszący się do repozytoriów, które nie są odzwierciedlone na naszym serwerze, na przykład, w tym przypadku, dowolnej linii, która zaczyna się odDeb-src
i zawierającyBionic-Backports
zostały skomentowane.Jeśli tego nie zrobisz, możesz uzyskać błąd
Plik wydania nie został znaleziony
Podczas uruchamiania aktualizacji polecenia Apt na kliencie.Przede wszystkim wymieniamy dowolne archiwum struny.Ubuntu.com z naszym lokalnym lustrem IP, w tym przypadku 10.0.0.42. Oczywiście Twój lokalny adres IP może być inny.
$ sudo sed -i.Bak0 "S/Archive \.Ubuntu \.com/10 \.0 \.0 \.\ 42/g "/etc/apt/źródła.lista
To polecenie utworzy plik kopii zapasowej
/etc/apt/źródła.lista.Bak0
i wymienić dowolnearchiwum.Ubuntu.com
ciąg z10.0.0.42
.Kolejna regulacja jest ponownie uruchomiona w ten sposób:
$ sudo sed -i.bak1 "s/ubuntu/ubuntu \/luster \/archive \.Ubuntu \.com \/ubuntu/g "\/etc/apt/źródła.lista
Jest to konieczne, ponieważ Apt-Mirror dołącza ścieżkę
Lustro/archiwum.Ubuntu.com/ubuntu
na naszą ścieżkę podstawową. Tutaj zostanie utworzony dodatkowy plik kopii zapasowej/etc/apt/źródła.lista.Bak1.
Do celów tego samouczka odzwierciedlamy tylko pakiety lub repozytoria z archiwum.Ubuntu.com; Oczywiście możesz dodać inne nieoficjalne repozytoria w lustrze.Wypisz plik na serwerze, ale potem musisz ponownie uruchomić APT-MIRROR i edytować na dowolnym kliencie.Odpowiednio na liście plik.
- Zaktualizuj indeks lokalnego repozytorium.
Teraz musisz upewnić się, że port 80 nie jest zablokowany przez zaporę klienta, a następnie możesz uruchomić:Aktualizacja $ sudo apt
I jesteś gotowy.
Aktualizacja listy pakietów z lokalnych repozytorium.
Wniosek
Konfigurowanie lokalnego repozytorium w Ubuntu nie jest trudne, jak może się wydawać i może przydać się, pod warunkiem, że masz odpowiedniej sieci lokalnej i zasobów dysku.
Powiązane samouczki Linux:
- Lustra Ubuntu
- Rzeczy do zainstalowania na Ubuntu 20.04
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
- Jak wyszukać dodatkowe narzędzia hakerskie na Kali
- Ubuntu 20.04 Przewodnik
- Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
- Rzeczy do zainstalowania na Ubuntu 22.04
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
- Ubuntu 22.04 Przewodnik
- Ubuntu 20.04 sztuczki i rzeczy, których możesz nie wiedzieć