Kompletny przewodnik: Aktualizacje offline dla Ubuntu, Debiana i CentOS RHEL
Table of Contents
Najlepsze sposoby radzenia sobie z instalacją aktualizacji Linuksa offline dla Ubuntu/Debian i CentOS/RHEL
Aktualizacje systemu Linux są niezbędne do utrzymania bezpieczeństwa i stabilności systemu. Jednak w niektórych scenariuszach możesz mieć do czynienia ze środowiskami offline, w których łączność z Internetem jest ograniczona lub nie istnieje. W takich przypadkach kluczowe staje się posiadanie odpowiedniej strategii instalowania aktualizacji w trybie offline. Ten artykuł poprowadzi Cię przez najlepsze sposoby radzenia sobie z instalacją aktualizacji Linuksa dla Ubuntu/Debian i CentOS/RHEL w środowiskach offline, koncentrując się w szczególności na korzystaniu z lokalnego repozytorium lub pamięci podręcznej.
Konfiguracja lokalnego repozytorium
Jednym z najskuteczniejszych sposobów obsługi aktualizacji offline jest skonfigurowanie lokalnego repozytorium. Lokalne repozytorium zawiera wszystkie niezbędne pakiety oprogramowania i aktualizacje, umożliwiając aktualizację systemu bez połączenia z Internetem. Oto jak skonfigurować lokalne repozytorium dla dystrybucji opartych na Debianie i Red Hat:
Dla Debiana/Ubuntu
- Zacznij od skonfigurowania kopii lustrzanej repozytorium Debiana na serwerze z dostępem do Internetu. Możesz użyć narzędzi takich jak
apt-mirror
ordebmirror
aby utworzyć lokalną kopię lustrzaną oficjalnych repozytoriów Debiana lub Ubuntu.
Tworzenie kopii lustrzanej repozytorium Debiana za pomocą apt-mirror:
# Install apt-mirror
sudo apt-get install apt-mirror
# Edit the apt-mirror configuration file
sudo nano /etc/apt/mirror.list
# Uncomment the deb line for the desired repository
# For example, uncomment the line for Ubuntu 20.04:
# deb http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
# Specify the mirror location
# Modify the base_path to your desired location
set base_path /path/to/mirror
# Save and close the file
# Run apt-mirror to start the mirroring process
sudo apt-mirror
# Wait for the mirroring process to complete
Konfigurowanie kopii lustrzanej repozytorium Debiana za pomocą debmirror:
# Install debmirror
sudo apt-get install debmirror
# Create a directory to store the mirror
sudo mkdir /path/to/mirror
# Run debmirror to start the mirroring process
# Replace <RELEASE> with the Debian or Ubuntu release and <MIRROR_URL> with the official repository URL
# For example, to mirror Ubuntu 20.04:
sudo debmirror --arch=amd64 --verbose --method=http --dist=<RELEASE> --root=<MIRROR_URL> /path/to/mirror
# Wait for the mirroring process to complete
Instrukcje klienta Debiana
- Skonfiguruj lokalne repozytorium, edytując **
/etc/apt/sources.list
w systemie offline. Zastąp domyślne adresy URL repozytoriów lokalnymi adresami URL repozytoriów. Na przykład, jeśli lokalne repozytorium jest hostowane pod adresemhttp://local-repo/ubuntu
aktualizacjasources.list
plik odpowiednio.
Przykład /etc/apt/sources.list
pliki:
deb http://local-repo/ubuntu focal main restricted universe multiverse
- Po zaktualizowaniu konfiguracji można uruchomić **
apt update
w systemie offline, aby pobrać listy pakietów z lokalnego repozytorium.
sudo apt update
- Na koniec można użyć **
apt upgrade
aby zainstalować dostępne aktualizacje z lokalnego repozytorium.
sudo apt upgrade
Dla CentOS/RHEL
-
Aby skonfigurować lokalne repozytorium dla CentOS/RHEL, należy użyć opcji
createrepo
tool. Narzędzie to tworzy niezbędne metadane dla lokalnego repozytorium. -
Utwórz katalog do przechowywania plików repozytorium na serwerze z dostępem do Internetu. Na przykład, można utworzyć katalog o nazwie **
local-repo
-
Skopiuj wszystkie odpowiednie pliki pakietów RPM i aktualizacje do **
local-repo
katalog.
Konfigurowanie lokalnego repozytorium za pomocą createrepo:
# Install the createrepo tool
sudo yum install createrepo
# Create a directory to store the repository files
sudo mkdir /path/to/local-repo
# Move or copy the RPM package files and updates to the local-repo directory
# Run the createrepo command to generate the necessary repository metadata
sudo createrepo /path/to/local-repo
# Update the repository metadata whenever new packages are added or removed
sudo createrepo --update /path/to/local-repo
-
Po wygenerowaniu metadanych repozytorium można przenieść całe repozytorium.
local-repo
do systemu offline za pomocą napędu USB lub w inny sposób. -
W systemie offline utwórz nowy katalog
.repo
w pliku/etc/yum.repos.d/
directory. Podaj niezbędne szczegóły konfiguracji, takie jakbaseurl
wskazując na lokalny katalog repozytorium.
Na przykład, utwórz plik o nazwie local.repo
w /etc/yum.repos.d/
i dodać następującą zawartość:
sudo nano /etc/yum.repos.d/local.repo
[local]
name=Local Repository
baseurl=file:///path/to/local-repo
enabled=1
gpgcheck=0
-
Zapisz plik i zamknij edytor.
-
Po skonfigurowaniu repozytorium można użyć polecenia yum update, aby zainstalować aktualizacje z lokalnego repozytorium.
sudo yum update
To polecenie zaktualizuje pakiety w systemie przy użyciu pakietów z lokalnego repozytorium.
Pamiętaj, aby zaktualizować lokalne repozytorium, uruchamiając polecenie createrepo
za każdym razem, gdy nowe pakiety są dodawane lub usuwane z repozytorium.
Należy pamiętać, że trzeba będzie zastąpić /path/to/local-repo
z rzeczywistą ścieżką do katalogu, w którym przechowywane są pliki repozytorium.
Konfigurowanie lokalnej pamięci podręcznej
Innym podejściem do obsługi aktualizacji offline jest skonfigurowanie lokalnej pamięci podręcznej. Lokalna pamięć podręczna przechowuje pobrane pakiety i aktualizacje, umożliwiając ich dystrybucję w wielu systemach bez konieczności indywidualnego pobierania. Taką pamięć podręczną należy skonfigurować w systemie online, a następnie przenieść katalog do systemu, który jest offline, aby umożliwić innym systemom dostęp do pakietów. Oto jak skonfigurować lokalną pamięć podręczną dla dystrybucji opartych na Debianie i Red Hat:
Dla Debiana/Ubuntu
-
Zainstaluj i skonfiguruj
apt-cacher-ng
buforujący serwer proxy dla pakietów Debiana/Ubuntu. Można go zainstalować, uruchamiając polecenie **sudo apt-get install apt-cacher-ng
-
Po zainstalowaniu edytuj **
/etc/apt-cacher-ng/acng.conf
aby skonfigurować zachowanie buforowania. Upewnij się, że **PassThroughPattern
zawiera niezbędne adresy URL repozytoriów.
sudo nano /etc/apt-cacher-ng/acng.conf
Usuń komentarz lub dodaj niezbędne adresy URL repozytoriów do parametru PassThroughPattern. Na przykład, aby uwzględnić repozytoria Ubuntu, należy dodać lub odkomentować następujący wiersz:
PassThroughPattern: (security|archive).ubuntu.com/ubuntu
Zapisz plik i zamknij edytor.
- Uruchom aplikację
apt-cacher-ng
przy użyciu polecenia **sudo systemctl start apt-cacher-ng
sudo systemctl start apt-cacher-ng
- W systemach offline skonfiguruj **
/etc/apt/apt.conf.d/02proxy
aby wskazać lokalną pamięć podręczną. Użyj następującej linii: **Acquire::http::Proxy "http://<cache-server-ip>:3142";
sudo nano /etc/apt/apt.conf.d/02proxy
Dodaj następujący wiersz do pliku, zastępując adresem IP serwera pamięci podręcznej:
Acquire::http::Proxy "http://<cache-server-ip>:3142";
Zapisz plik i zamknij edytor
- Teraz, po uruchomieniu **
apt update
i **apt upgrade
na systemach offline, będą one pobierać pakiety z lokalnej pamięci podręcznej.
sudo apt update
sudo apt upgrade
Polecenia te będą pobierać i instalować aktualizacje z lokalnej pamięci podręcznej, zmniejszając potrzebę dostępu do Internetu w systemach offline.
Należy pamiętać, że konieczne będzie zastąpienie **<cache-server-ip>
z rzeczywistym adresem IP komputera, na którym zainstalowany jest apt-cacher-ng.
Dla CentOS/RHEL
-
Dla CentOS/RHEL, można użyć
yum-cron
aby skonfigurować lokalną pamięć podręczną. Zainstaluj go, uruchamiając polecenie **sudo yum install yum-cron
-
Edytuj **
/etc/yum/yum-cron.conf
i skonfigurować **download_only
parametr do **yes
Zapewnia to, że pakiety są tylko pobierane, a nie instalowane automatycznie.
sudo nano /etc/yum/yum-cron.conf
- Uruchomić
yum-cron
przy użyciu polecenia **sudo systemctl start yum-cron
sudo systemctl start yum-cron
- W systemach offline utwórz lokalny katalog do przechowywania pobranych pakietów, na przykład **
/var/cache/yum
sudo mkdir /var/cache/yum
- Skopiuj pobrane pakiety z systemu online do lokalnego katalogu pamięci podręcznej.
sudo cp -R /var/cache/yum /path/to/local/cache
Wymiana /path/to/local/cache
ze ścieżką do lokalnego katalogu pamięci podręcznej w systemie offline.
- W systemach offline utwórz nowy **
.repo
w pliku **/etc/yum.repos.d/
wskazując na lokalny katalog pamięci podręcznej.
sudo nano /etc/yum.repos.d/local.repo
Dodaj następującą zawartość do pliku, zastępując <local-cache-path>
ze ścieżką do lokalnego katalogu pamięci podręcznej:
[local]
name=Local Cache
baseurl=file:///path/to/local/cache
enabled=1
gpgcheck=0
Zapisz plik i zamknij edytor.
- Na koniec możesz użyć **
yum update
w systemach offline, aby zainstalować aktualizacje z lokalnej pamięci podręcznej.
sudo yum update
To polecenie zaktualizuje pakiety w systemach offline przy użyciu pakietów z lokalnej pamięci podręcznej.
Należy pamiętać, że trzeba będzie zastąpić **<local-cache-path>
z rzeczywistą ścieżką do lokalnego katalogu pamięci podręcznej w systemie offline.
Wnioski
Obsługa aktualizacji systemu Linux w środowiskach offline może stanowić wyzwanie, ale przy odpowiednim podejściu można zapewnić, że systemy pozostaną aktualne i bezpieczne. W tym artykule omówiliśmy najlepsze sposoby radzenia sobie z instalowaniem aktualizacji offline dla Ubuntu/Debian i CentOS/RHEL. Przeanalizowaliśmy konfigurację lokalnego repozytorium i lokalnej pamięci podręcznej, dostarczając instrukcje krok po kroku zarówno dla dystrybucji opartych na Debianie, jak i Red Hat.
Postępując zgodnie z tymi metodami, można zachować bezpieczeństwo i stabilność systemów Linux, nawet w środowiskach offline. Pamiętaj, aby okresowo aktualizować lokalne repozytorium lub pamięć podręczną, aby zawierały najnowsze aktualizacje.
Referencje
- apt-mirror Documentation
- debmirror Documentation
- createrepo Documentation
- apt-cacher-ng Documentation
- yum-cron Documentation