Jak stworzyć lokalne mirror repozytoriów APT lub pacman – działanie offline, testy, oszczędność transferu
🌐 Jak stworzyć lokalne mirror repozytoriów APT lub pacman – działanie offline, testy, oszczędność transferu
Tworzenie lokalnego repozytorium pakietów ma ogromne znaczenie w wielu scenariuszach:
✅ aktualizacje w środowiskach odizolowanych od internetu,
✅ testowanie poprawek przed wdrożeniem,
✅ przyspieszenie instalacji na wielu maszynach (np. klonowanie serwerów),
✅ zmniejszenie zużycia łącza w firmie lub laboratorium.
W tym poradniku pokażę, jak:
- stworzyć lokalne repozytorium APT dla Debian/Ubuntu,
- stworzyć lokalne repozytorium pacman dla Arch/Manjaro.
🧱 CZĘŚĆ 1: Lokalne repozytorium APT (Debian, Ubuntu)
📦 Krok 1: Zainstaluj wymagane narzędzia
sudo apt update
sudo apt install apt-mirror apache2
apt-mirror pobierze paczki, a apache2 posłuży do ich udostępnienia przez HTTP.

📁 Krok 2: Konfiguracja apt-mirror
Edytuj plik:
sudo nano /etc/apt/mirror.list
Przykład konfiguracji dla Ubuntu 22.04:
set base_path /var/spool/apt-mirror
set mirror_path $base_path/mirror
set skel_path $base_path/skel
set var_path $base_path/var
set cleanscript $var_path/clean.sh
set defaultarch amd64
set nthreads 20
set _tilde 0
deb http://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu jammy-security main restricted universe multiverse
💡 Możesz usunąć niepotrzebne sekcje (np. multiverse), jeśli chcesz ograniczyć rozmiar.
📥 Krok 3: Pobierz repozytorium
sudo apt-mirror
📌 To może potrwać kilka godzin i zająć kilkadziesiąt GB!
🌍 Krok 4: Udostępnij mirror przez Apache
Utwórz link symboliczny:
sudo ln -s /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu /var/www/html/ubuntu
Sprawdź w przeglądarce lub przez curl, np.:
http://your-server-ip/ubuntu/dists/jammy/
⚙️ Krok 5: Dodaj lokalne repo do klientów
Na komputerach klienckich (w sieci LAN):
Edytuj /etc/apt/sources.list:
deb [trusted=yes] http://192.168.1.10/ubuntu jammy main restricted universe multiverse
🧱 CZĘŚĆ 2: Lokalne repozytorium pacman (Arch/Manjaro)
📦 Krok 1: Zainstaluj rsync, nginx (lub Apache)
sudo pacman -S rsync nginx
🔄 Krok 2: Zsynchronizuj mirror z oficjalnym serwerem
rsync -av --delete rsync://mirror.rackspace.com/archlinux/ /srv/archrepo/
🌍 Lista mirrorów: https://archlinux.org/mirrors/
📁 Krok 3: Udostępnij lokalnie przez HTTP
W nginx:
server {
listen 80;
server_name archrepo.local;
location / {
root /srv/archrepo;
autoindex on;
}
}
Restart nginx:
sudo systemctl restart nginx
💻 Krok 4: Dodaj lokalny mirror do pacmana
Edytuj /etc/pacman.d/mirrorlist i dodaj na początku:
Server = http://192.168.1.10/$repo/os/$arch
✅ Zalety lokalnego mirroru
| Zastosowanie | Korzyści |
|---|---|
| Środowiska offline | pełna kontrola nad pakietami |
| Wiele komputerów | oszczędność transferu |
| Testy i stabilność | unikasz aktualizacji z zewnętrznych źródeł |
| Przyspieszenie wdrożeń | szybsze instalacje i aktualizacje |
📦 Alternatywa: własne repozytorium z własnymi pakietami
Możesz także stworzyć repozytorium tylko z własnymi paczkami .deb lub .pkg.tar.zst – idealne do dystrybucji własnego oprogramowania. Potrzebujesz osobnego wpisu? Napiszę krok po kroku!
🏁 Podsumowanie
Tworzenie lokalnego repozytorium APT lub pacman to:
✅ przyspieszenie pracy,
✅ kontrola nad aktualizacjami,
✅ możliwość pracy w środowiskach bez internetu,
✅ oszczędność łącza.
Idealne dla firm, laboratoriów, klastrów i systemów przemysłowych.






