Archiwa FTP Debiana

Do czego służą te wszystkie katalogi w archiwach FTP Debiana?
Programy przystosowane dla Debiana dostępne są w jednym z kilku katalogów na każdym serwerze lustrzanym Debiana.
Katalog dists jest skrótem od "distributions" (z ang. dystrybucje) i jest miejscem, gdzie umieszczane są aktualnie dostępne wydania (i zapowiedzi wydań).
Katalog pool zawiera aktualne pakiety, zobacz Co jest w katalogu pool?.
Dodatkowo udostępnione są następujące katalogi:
/tools/: 	 Narzędzia DOS'owe do tworzenia dyskietek startowych, dzielenia dysku na partycje, kompresji i dekompresji plików oraz startowania Linuksa.
/doc/: 	 Podstawowa dokumentacja Debiana, czyli FAQ (najczęściej zadawane pytania), informacje o systemie zgłaszania błędów itp.
/indices/: 	 Pliki Maintainers i override.[The Maintainers file and the override files.]
/project/: 	 głównie materiały opiekunów takie jak:
project/experimental/: 	 Ten katalog zawiera pakiety i narzędzia, nad którymi ciągle trwają prace i są aktualnie na etapie testów alfa. Użytkownicy nie powinni tych pakietów używać, ponieważ może to być niebezpieczne, nawet dla najbardziej doświadczonych.
project/orphaned/: 	 Pakiety osierocone, czyli porzucone przez swoich opiekunów i wycofane z dystrybucji.

Ile dystrybucji Debiana jest w katalogu dists?
Zazwyczaj są tam trzy dystrybucje, "stable" (stabilna), "testing" (testowana), "unstable" (niestablina, rozwijana). Czasami jest także dystrybucja "frozen" (zamrożona) (zob. A co z "frozen"?).

A co z tymi wszystkimi nazwami jak "slink", "potato" itp.?
Są to tylko swego rodzaju "kryptonimy". Kiedy dystrybucja Debiana jest w fazie przygotowywania, nie ma numeru wersji, tylko kryptonim. Zostały one nadane, żeby ułatwić pracę serwerom lustrzanym i uniknąć zbędnego kopiowania, kiedy dystrybucja np. zmienia stan z niestabilnego na stabilny.
Aktualnie, stable jest dowiązaniem symbolicznym do woody (i.e. Debian GNU/Linux 9) a testing do sarge. Oznacza to, że woody jest aktualnie dystrybucją stabilną, a sarge jest w fazie testów.
unstable jest stałym dowiązaniem symbolicznym do sid, jako że sid jest zawsze wersją niestabilną (see Dystrybucja "sid"?).

Jakie inne nazwy były wcześniej?
Wcześniej używano nazw: buzz dla wydania 1.1, rex dla wydania 1.2, bo dla wydania 1.3.x, hamm dla wydania 2.0, slink dla wydania 2.1 i potato dla wydania 2.2.

W jaki sposób powstają nazwy wydań?
Jak na razie były zapożyczane z filmu "Toy Story" wytwórni Pixar.
buzz - (Buzz Lightyear) astronauta,
rex - tyranozaur,
bo - (Bo Peep) dziewczynka, która zaopiekowała się owieczką,
hamm - świnka-skarbonka,
slink - (Slinky Dog) "przegubowy" pies,
potato - oczywiście Pan Ziemiak,
woody - drewniany kowboj,
sarge - sierżant w armii plastikowych żołnierzyków.

A co z "frozen"?
Kiedy dystrybucja "testing" jest wystarczająco dojrzała, kierownik wydania zaczyna ją "zamrażać". Zmniejszane jest tempo aktualizacji pakietów, aby ograniczyć ilość błedów, które pojawiają się w wersji niestabilnej, przenoszonych do testowej.
Po pewnym czasie, dystrybucja "testing" jest całkowicie zamrożona, co oznacza wstrzymanie aktualizacji pakietów, o ile nie zawierają krytycznych dla wydania błędów. Dystrybucja zamrożona przechodzi przez kilkumiesięczny okres próbny składający się na przemian z aktualizacji i z okresów głębokiego zamrożenia nazywanych "cyklami testowymi".
Prowadzimy listę błędów w dystrybucji "testing", które mogą spowodować wstrzymanie konkretnego pakietu, lub całego wydania. W momencie, kiedy liczba takich błędów spadnie poniżej maksymalnej akceptowalnej wartości, dystrybucja uznawana jest za stabilną i wydawana z kolejnym numerem wersji.
Wraz z nowym wydaniem, zdezaktualizowana poprzednia dystrybucja "stable" przenoszona jest do archiwum. Więcej informacji znajdziesz pod adresem Debian - archiwum.

Dystrybucja "sid"?
sid czyli unstable jest miejscem, do którego trafia większość nowych pakietów. Dystrybucja ta nigdy nie doczeka się bezpośredniego wydania, ponieważ pakiety przeznaczone do wydania muszą najpierw wejść do dystrybucji testing, aby mogły być poźniej wydane w dystrybucji stable. sid zawiera pakiety zarówno dla architektur przeznaczonych do wydania jak i tych nie wydawanych.
Nazwa "sid" także pochodzi z filmu "Toy Story": Sid był chłopcem z sąsiedztwa, który psuł zabawki :-)

Zapiski historyczne o dystrybucji "sid"
Kiedy dzisiejszy Sid jeszcze nie istniał, organizacja sieciowych archiwów Debiana miała jedną dużą wadę: kiedy dokładano nową architekturę do bieżącej dystrybucji unstable, pakiety zrobione dla niej mogły być wydane dopiero wtedy, gdy ta dystrybucja stawała się nową dystrybucją stable. Dla wielu architektur nie dochodziło do tego i trzeba było przenosić odpowiadające im katalogi, gdy dochodziło do wydania dystrybucji. Było to niepraktyczne, ponieważ przenoszenie katalogów silnie obciążało łącza.
Administratorzy archiwów sieciowych przez kilka lat obchodzili ten problem, umieszczając binaria dla architektur jeszcze nie wydanych w specjalnym katalogu o nazwie sid. Dla architektur jeszcze nie wydanych, tworzono w chwili wydania dowiązanie z aktualnego katalogu stable do sid i od tej pory tworzono je w drzewie unstable, jak zwykle. Takie rozwiązanie było trochę mylące dla użytkowników.
Z nadejściem katalogu ,,pool'' (zobacz Co jest w katalogu pool?) zaczęto zapisywać pakiety binarne w lokalizacji kanonicznej w tymże katalogu, niezależnie od dystrybucji, więc wydanie dystrybucji przestało być związane z poddawaniem serwerów lustrzanych dużym obciążeniom (natomiast mamy do czynienia z dość sporymi, rozłożonymi w czasie obciążeniami w trakcie całego procesu rozwijania dystrybucji).

Co zawiera katalog stable?
stable/main/: Ten katalog zawiera pakiety oficjalnie uznawane za najbardziej aktualne wydanie systemu Debian GNU/Linux.
Wszystkie z tych pakietów są zgodne z Wytycznymi Debiana dotyczącymi Oprogramowania Wolnodostępnego i można je swobodnie używać, a także rozpowszechniać.
stable/non-free/: Ten katalog zawiera informacje o pakietach, których rozpowszechnianie zostało ograniczone przez wymagania stawiane dystrybutorowi, które mówią o zwróceniu szczególnej uwagi, na kwestie praw autorskich danego programu.
Na przykład, licencje niektórych pakietów zabraniają komercyjnego rozpowszechniania. Inne znowu mogą być redystrybuowane, ale są typu shareware, a nie wolnym oprogramowaniem. Zanim włączy się którykolwiek z tych pakietów do jakiejś redystrybucji (np. na CD-ROMie), należy przestudiować jego licencję i prawdopodobnie przeprowadzić odpowiednie negocjacje.
stable/contrib/: Ten katalog zawiera informacje o pakietach wolnych w rozumieniu DFSG (Debian Free Software Guidelines) i podlegających swobodnemu rozpowszechnianiu, ale w jakiś sposób zależnych od pakietu, który swobodnemu rozpowszechnianiu nie podlega i z tej przyczyny jest dostępny w sekcji non-free.

Co zawiera katalog testing?
Pakiety są przenoszone do katalogu testing po tym gdy przejdą stosowny okres testowania w unstable. Muszą być zsynchronizowane ze wszystkimi architekturami na których były zbudowane i nie mogę posiadać zależności, które czyniłyby je niemożliwymi do zainstalowania. Muszą również posiadać mniej błędów krytycznych dla wydania od wersji która jest dostępna w testing. W ten sposób mamy nadzieję, że 'testing' jest zawsze bliżej by stać się kandydatem do wydania.
Więcej informacji o ogólnym stanie "testing" oraz o poszczególnych pakietach dostępnych jest na http://www.debian.org/devel/testing

Co zawiera katalog unstable?
Katalog 'unstable' to aktualny stan prac deweloperów. Zapraszamy użytkowników do używania i testowania tych pakietów, ale ostrzegamy, o ich stanie gotowości. Przewagą używania dystrybucji niestabilnej jest fakt bycia zawsze na czasie z nowinkami systemu GNU/Linux, ale jeśli coś pójdzie nie tak to nie licz na pomoc ;)
W 'unstable' istnieją również podkatalogi main, contrib, non-free o takim samym przeznaczeniu jak w 'stable',

Czym są te wszystkie katalogi wewnątrz dists/stable/main?
W każdym z głównych drzew katalogów (dists/stable/main, dists/stable/contrib, dists/stable/non-free, dists/unstable/main/, itd.), pakiety binarne przechowywane są w podkatalogach których nazwy wskazują na jaką architekturę zostały skompilowane:
binary-all/, dla pakietów, które są niezależne od architektury. Katalog zawiera na przykład skrypty Perla lub czystą dokumentację.
binary-i386/, dla pakietów uruchamianych na maszynach PC 80x86.
binary-m68k/, dla pakietów uruchamianych na maszynach opartych na procesorach Motorola 680x0. Aktualnie jest to robione głównie dla komputerów Atari i Amiga oraz dla niektórych płyt przemysłowych opartych na standardzie VME.
binary-sparc/, dla pakietów uruchamianych na stacjach Sun SPARC.
binary-alpha/, dla pakietów uruchamianych na maszynach DEC Alpha.
binary-powerpc/, dla pakietów uruchamianych na maszynach PowerPC.
binary-arm/, dla pakietów uruchamianych na maszynach ARM.
Zauważ, że aktualne pakiety binarne dla woodiego i kolejnych wydań nie znajdują się już w tych katalogach, ale w głównym katalogu pool. Pliki indeksów (Packages i Packages.gz) zostały zostawione dla zgodności.
Zobacz by dowiedzieć się więcej.

Gdzie jest kod źródłowy?
Udostępniony jest kod źródłowy każdego elementu systemu Debian. Co więcej, ustalenia licencji większości programów w systemie nakazują aby kod źródłowy, albo informacja, gdzie jest udostępniony była rozpowszechniana razem z programami.
Zazwyczaj kod źródłowy jest umieszczony w katalogach "source", które są umieszczone w tym samym miejscu, co katalogi z binariami przeznaczonymi dla konkretnych architektur. Aktualnie można go znaleźć w katalogu pool (zobacz Co jest w katalogu pool?). Aby pobrać źródła bez zagłębiania się w strukturę archiwum, spróbuj użyć polecenia apt-get source nazwapakietu.
Niektóre pakiety, ze względu na ograniczenia zawarte w ich licencji, publikowane są tylko w postaci źródeł. Przykładem takiego pakietu jest pine, zajrzyj do aby dowiedzieć sie więcej.
Kod źródłowy może, ale nie musi być dostępny dla pakietów w katalogach "contrib" i "non-free", które formalnie nie są częścią systemu Debian.

Co jest w katalogu pool?
Dawniej pakiety były składowane w podkatalogach katalogu dists odpowiadających dystrybucji, która je zawierała. Wynikały z tego różne trudności, np. serwery lustrzane musiały pobierać duże ilości danych, kiedy wprowadzano większe poprawki.
Pakiety przechowywane są w wielkim "worku" ("pool"), którego struktura oparata jest na nazwach pakietów źródłowych. Aby dało się nim łatwiej zarządzać, podzielono go na podkatalogi według sekcji ("main", "contrib", "non-free") oraz pierwszych liter nazw pakietów. W tym drzewie umieszczone są katalogi dla każdego pakietu, które zawierają binaria dla wszystkich architektur oraz źródła, z których je wygenerowano.
Możesz sprawdzić gdzie jest umieszczony pakiet wydając polecenie apt-cache showsrc nazwapakietu i odczytując linię "Directory:". Na przykład pakiety apache są przechowywane w pool/main/a/apache/. Ponieważ jest bardzo dużo pakietów lib*, są one traktowane w nieco odmienny sposób: na przykład pakiety libpaper umieszczone są w pool/main/libp/libpaper/.
Katalogi dists są ciągle używane do przechowywania plików z indeksami przez programy takie jak apt. Także, starsze dystrybucje nie zostały przystosowane do używania mechanizmu "pools".
Nie musisz zaprzątać sobie głowy tymi informacjami, apt i przypuszczalnie dpkg-ftp (zobacz ) zajmą się tym za ciebie.

Co jest w "incoming"?
Kiedy opiekun przesyła pakiet do archiwum, umieszcza się go w katalogu "incoming" do czasu potwierdzenia jego pochodzenia i sprawdzenia, czy rzeczywiście ma zostać tam umieszczony.
Zazwyczaj nikt nie powinien instalować pakietów z tego katalogu. Jednakże dla bardzo rzadkich przypadków awaryjnych jest on udostępniony pod adresem http://incoming.debian.org/. Możesz pobrać z niego pakiety samodzielnie, sprawdzić podpisy GPG i sumy kontrolne MD5 w plikach .changes i .dsc a następnie je zainstalować.