Utworzenie serwera lustrzanego dla obrazów płyt Debiana
Uwaga! To tłumaczenie jest przestarzałe, prosimy przejść do oryginału.
Aby utworzyć serwer lustrzany dla obrazów płyt Debiana potrzebny jest Linuks lub inna unikso-podobna maszyna ze stałym, solidnym łączem do internetu. Serwery lustrzane Debiana przechowują różnych rozmiarów obrazy .iso płyt CD i DVD, pliki dla programu jigdo (.jigdo oraz .template), pliki dla programu BitTorrent (.torrent) oraz sumy MD5 obrazów (MD5SUMS*).
- Serwer główny
- Pobieranie przy użyciu HTTP/FTP jest odradzane
- Pobieranie przy pomocy rsync jest dopuszczalne
- Pobieranie przy pomocy jigdo-lite jest odradzane
- Pobieranie przy użyciu jigdo-mirror jest zalecane
- Jak uruchomić serwer lustrzany typu push
- Wyłączanie plików z kopii lustrzanej
- Reguły dotyczące nazewnictwa oraz wymagania dotyczące rozmiarów dla obrazów .iso
- Rejestrowanie kopii lustrzanej
Serwer główny
Poniżej są podane URLe serwerów głównych - prosimy jednak o rozważenie możliwości pobierania plików z innego, pobliskiego serwera lustrzanego (ich lista: HTTP/FTP, rsync) jeśli to tylko jest możliwe. Dostęp do serwera głównego może być ograniczony w trakcie wydawania kolejnej wersji dystrybucji.
Należy być świadomym tego, że w podanych katalogach znajduje się bardzo dużo danych - sekcja poniżej zawiera informacje jak ograniczyć ich rozmiar poprzez wyłączenie pobierania niektórych plików.
- Obrazy edycji stabilnej (aktualizowane wraz z każdym wydaniem):
https://cdimage.debian.org/debian-cd/
ftp://cdimage.debian.org/debian-cd/
rsync://cdimage.debian.org/debian-cd/ - Obrazy tygodniowe:
https://cdimage.debian.org/cdimage/weekly-builds/
ftp://cdimage.debian.org/cdimage/weekly-builds/
rsync://cdimage.debian.org/cdimage/weekly-builds/ - Obrazy codzienne:
https://cdimage.debian.org/cdimage/daily-builds/
ftp://cdimage.debian.org/cdimage/daily-builds/
rsync://cdimage.debian.org/cdimage/daily-builds/
Pobieranie przy użyciu HTTP/FTP jest odradzane
Nie powinno się używać FTP i HTTP do aktualizacji serwera lustrzanego. Te metody przesyłania obarczone są wysokim ryzykiem niepowodzenia z uwagi na ogromny rozmiar plików.
Ponadto, HTTP oraz FTP nie obsługują sprawdzania integralności pobranych danych, przez co prawdopodobieństwo niezauważenia przerwania pobierania lub uszkodzenia pliku jest znacznie większe.
Pobieranie przy pomocy rsync jest dopuszczalne
Program rsync jest dobrym rozwiązaniem problemu aktualizacji serwerów lustrzanych. Metoda ta jest mniej wydajna niż inna, specyficzna dla Debiana opisana poniżej, ale może być łatwiejsza do konfiguracji. Ponadto daje ona pewność, że wszystkie pliki zostały przesłane poprawnie oraz że metadane (np. czas utworzenia) są synchronizowane tak jak pliki z danymi.
Sekcja Wyłączenie plików z pobierania zawiera przykłady przełączników --include oraz --exclude. Lista serwerów rsync jest dostępna na oddzielnej stronie.
Powinno używać się przynajmniej następujących opcji: --times --links --hard-links --partial --block-size=8192. Dzięki nim będzie zachowany czas modyfikacji, dowiązania symboliczne i trwałe oraz będzie użyty blok o rozmiarze 8192 bajtów, (najbardziej efektywny dla obrazów płyt). Kiedy czas modyfikacji i rozmiar są identyczne, rsync pominie taki plik, dlatego --times jest naprawdę konieczny.
Pobieranie przy pomocy jigdo-lite jest odradzane
Ostatnie wersje programu jigdo-lite obsługują wsadowe pobieranie wielu obrazów. Nie zalecamy jednak używania tego programu do obsługi serwera lustrzanego Debiana - zamiast tego należy użyć jigdo-mirror.
Pobieranie przy użyciu jigdo-mirror jest zalecane
Tak naprawdę oznacza to: udostępnianie plików .iso przy użyciu jigdo-mirror, następnie (jeśli chcemy udostępniać także inne typy plików, np. .jigdo i .template) uruchomienie rsync w danym katalogu aby pobrać resztę plików. Skrypty z tej strony mogą okazać się pomocne w tych działaniach.
Wielu ludzi zarządza "zwykłymi" serwerami lustrzanymi Debiana (debian/) lub ma tego typu serwery w pobliżu. Oznacza to, że mają już pliki .deb, które wchodzą w skład obrazów płyt. Oczywistym pytaniem jest więc: dlaczego by nie użyć tych plików do tworzenia obrazów płyt?
jigdo-mirror to program, który umożiwia tworzenie obrazów płyt Debiana z użyciem plików z "normalnej" kopii lustrzanej oraz kilku dodatkowych plików szablonów jigdo.
Po pierwsze, potrzebne są pliki szablonów jigdo. Strona z informacjami o jigdo zawiera odpowiednie linki. Należy pobrać pliki dla każdej architektury, dla której chcemy zbudować obrazy.
Należy utworzyć plik ~/.jigdo-mirror aby skonfigurować program. Oto przykład:
jigdoDir="/where/you/keep/mirrors/debian-cd/current/jigdo" imageDir="/where/you/keep/mirrors/debian-cd/current/images" tmpDir="/where/you/keep/mirrors/debian-cd/current/images" debianMirror="file:/where/you/keep/mirrors/debian" include='i386/|sparc/|powerpc/|source/'; exclude='-1\.'
Zmienne include oraz exclude zawierają listę (a raczej wyrażenia regularne ją opisujące) architektur dla których mają powstać obrazy. Więcej informacji na ten temat można znaleźć na stronach podręcznika jigdo-mirror oraz w jego źródłach (to skrypt powłoki systemowej z dużą ilością komentarzy).
Po konfiguracji wystarczy po prostu uruchomić jigdo-mirror a wszystko zostanie wykonane automatycznie. Proces ten zajmie trochę czasu oraz wyświetli wiele komunikatów, dlatego sugerujemy wykonanie pewnych kroków do sprawnego przeprowadzenia tego procesu (uruchomienie w nowej sesji ekranu, przekierowanie wyjścia do pliku itp).
Jak uruchomić serwer lustrzany typu push
Gdy tylko nowe obrazy staną się dostępne, serwer główny może wysłać wiadomość do swoich serwerów lustrzanych i zmusić je do natychmiastowego rozpoczęcia aktualizacji. W ten sposób nowe dane są "wypychane" (ang. push) a nie "pobierane" (ang. pulled) przez serwery lustrzane podczas swoich codziennych aktualizacji, co pozwala na szybszą propagację obrazów nowych wydań.
Więcej informacji o tym, jak dodać serwer lustrzany do tego systemu aktualizacji, znajduje się na tej stronie.
Wyłączanie plików z kopii lustrzanej
Aby zmniejszyć wymaganą przez serwer lustrzany Debiana przestrzeń dyskową, można wykluczyć pewne pliki z kopii lustrzanej. Poniższe instrukcje zawierają opcje programu rsync, ale mogą się też przydać w przypadku korzystania z innego narzędzia. W programie rsync opcje --include i --exclude są przetwarzane w kolejności występowania, czyli pierwsza opcja, której wzorzec pasuje do pliku określa, czy dany plik zostanie wyłączony czy też dołączony.
- Wykluczenie kodu źródłowego:
--exclude=source/
Opcja zapobiega pobraniu obrazów zawierających kody źródłowe. Należy zauważyć, że niektóre osoby uważają za niewłaściwe udostępnianie na serwerze tylko plików binarnych programów na licencji GPL bez udostępnienia na tym samym serwerze także kodów źródłowych tych programów. - Wykluczenie pełnych obrazów:
--include='*businesscard*.iso' --include='*netinst*.iso'
--exclude='*.iso'
Opcja wyklucza wszystkie pełne zestawy obrazów CD/DVD dla wszystkich architektur, ale dołączy obrazy .iso business-card i net-install. Zalecamy pobieranie tych obrazów w każdym przypadku: z uwagi na niewielki rozmiar, są one wysoce przydatne! - Wykluczenie pełnych obrazów dla architektur innych niż i386:
--include='*businesscard*.iso' --include='*netinst*.iso'
--include='i386/**.iso' --exclude='*.iso'
Jak wyżej, ale dołącza wszystkie obrazy CD/DVD dla architektury i386. - Wykluczenie pełnych obrazów, poza płytami od 1 do 3 dla
architektury i386:
--include='*netinst*.iso' --include='i386/**-[1-3].iso'
--exclude='*.iso'
Pełny zestaw obrazów na architekturę i386 nadal może zajmować za dużo miejsca, jeśli znajdują się w nim obrazy DVD i obrazy dwuwarstwowych płyt DVD. Powyższa opcja wyłączy wszystkie obrazy .iso poza obrazem net-install i trzema pierwszymi płytami CD na architekturę i386. - Wykluczenie wszystkich architektur poza i386:
--exclude=alpha/ --exclude=arm/ --exclude=hppa/ --exclude=hurd/
--exclude=ia64/ --exclude=m68k/ --exclude=mips/ --exclude=mipsel/
--exclude=powerpc/ --exclude=s390/ --exclude=sh/
--exclude=sparc/
Powyższe opcje dołączą pełny zestaw plików tylko na architekturę i386, bez plików .jigdo, .iso itp. innych na inne architektury.
Reguły dotyczące nazewnictwa oraz wymagania dotyczące rozmiarów dla obrazów .iso
Różne odmiany obrazów .iso są rozróżnialne dzięki ich nazwom, dzięki czemu można dokładnie określić typy obrazów, które będą pobierane:
- *-netinst.iso: jeden obraz dla każdej architektury, rozmiar do 280 MB
- *-dvd.iso (jednowarstwowa płyta DVD): Wiele obrazów tylko na architekturę i386, każdy z nich o rozmiarze do 4482 MB. Dla edycji sarge - zsumowany rozmiar obrazów i386 wynosi około 9000 MB.
- *-dldvd.iso (dwuwarstwowa płyta DVD): Jak wyżej, tylko poszczególne obrazy zajmują do 8106 MB. Dla edycji sarge nie są dostępne obrazy .iso - jedynie pliki jigdo.
- *.iso: Wszystkie pozostałe pliki .iso, które nie mieszczą się w powyższych kategoriach, są obrazami CD. Istnieje wiele obrazów na każdą architekturę, każdy z nich zajmuje do 650 MB. Całkowity rozmiar wszystkich obrazów dla wszystkich architektur jest równy rozmiarowi całego serwera lustrzanego Debiana (w trakcie pisania było to 100 GB).
Rejestrowanie kopii lustrzanej
Aby uczynić kopię dostępną dla szerszej publiczności, można zarejestrować ją na naszej liście serwerów lustrzanych, np. tutaj albo tutaj. Należy jednak pamiętać, że pełne obrazy są dużymi plikami, co może spowodować ruch sieciowy sięgający wielu gigabajtów dziennie.
Serwer lustrzany można zarejestrować także poprzez wypełnienie formularza o zgłoszeniu serwera lustrzanego (należy pamiętać, że pola CDImage-* są bardzo ważne), lub poprzez wysłanie wiadomości na adres debian-cd@lists.debian.org.
Doceniamy wszystkie nowe kopie lustrzane obrazów płyt Debiana. Z góry dziękujemy!