Jak utworzyć serwer repozytorium Ubuntu

Jak utworzyć serwer repozytorium Ubuntu

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

Wymagania oprogramowania i konwencje linii poleceń Linux
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

  1. 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 HTTP

    Nastę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 przypadku www-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ą.

  2. 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 
  3. 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 /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.

    lustro.List Plik konfiguracyjny

    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/ 
  4. 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.
  5. 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

  1. 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ę od Deb-src i zawierający Bionic-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ć dowolne archiwum.Ubuntu.com ciąg z 10.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.

  2. 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ć