<chapt id="ftparchives">Archiwa FTP Debiana

<sect id="dirtree">Do czego służą te wszystkie katalogi w archiwach FTP Debiana?

<p>Programy przystosowane dla Debiana dostępne są w jednym z kilku katalogów
na każdym serwerze lustrzanym Debiana.

<p>Katalog <tt>dists</tt> jest skrótem od "distributions" (z ang. dystrybucje)
i jest miejscem, gdzie umieszczane są aktualnie dostępne wydania (i zapowiedzi wydań).

<p>Katalog <tt>pool</tt> zawiera aktualne pakiety, zobacz 
<ref id="pools">.

<p>Dodatkowo udostępnione są następujące katalogi:
<taglist>
  <tag><em>/tools/</em>:
    <item>Narzędzia DOS'owe do tworzenia dyskietek startowych, dzielenia dysku 
		na partycje, kompresji i dekompresji plików oraz startowania Linuksa.
  <tag><em>/doc/</em>:
    <item>Podstawowa dokumentacja Debiana, czyli FAQ (najczęściej zadawane pytania),
		      informacje o systemie zgłaszania błędów itp.
  <tag><em>/indices/</em>:
    <item>Pliki Maintainers i override.[The Maintainers file and the override files.]
  <tag><em>/project/</em>:
    <item>głównie materiały opiekunów takie jak:
    <taglist>
      <tag><em>project/experimental/</em>:
        <item>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.
      <tag><em>project/orphaned/</em>:
        <item>Pakiety osierocone, czyli porzucone przez swoich opiekunów
				i wycofane z dystrybucji.
    </taglist>
</taglist>

<sect id="dists">Ile dystrybucji Debiana jest w katalogu <tt>dists</tt>?

<p>Zazwyczaj są tam trzy dystrybucje, "stable" (stabilna), "testing" (testowana),
"unstable" (niestablina, rozwijana). Czasami jest także dystrybucja 
"frozen" (zamrożona) (zob. <ref id="frozen">).

<sect id="codenames">A co z tymi wszystkimi nazwami jak "slink", "potato" itp.?

<!--TODO; ustalić, czy nazwy = pseudonimy-->
<!--codename == kryptonim -->

<p>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.

<!-- XXX update for new distros -->
<p>Aktualnie, <tt>stable</tt> jest dowiązaniem symbolicznym do <tt>woody</tt>
(i.e. &debian; &release;) a <tt>testing</tt> do <tt>sarge</tt>.
Oznacza to, że <tt>woody</tt> jest aktualnie dystrybucją stabilną,
a <tt>sarge</tt> jest w fazie testów.

<p><tt>unstable</tt> jest stałym dowiązaniem symbolicznym do <tt>sid</tt>, 
jako że <tt>sid</tt> jest zawsze wersją niestabilną (see <ref id="sid">).

<sect1 id="oldcodenames">Jakie inne nazwy były wcześniej?

<p>Wcześniej używano nazw:
<tt>buzz</tt> dla wydania 1.1, 
<tt>rex</tt> dla wydania 1.2, 
<tt>bo</tt> dla wydania 1.3.x,
<tt>hamm</tt> dla wydania 2.0, 
<tt>slink</tt> dla wydania 2.1 i
<tt>potato</tt> dla wydania 2.2.

<sect1 id="sourceforcodenames">W jaki sposób powstają nazwy wydań?

<p>Jak na razie były zapożyczane z filmu "Toy Story" wytwórni Pixar.
<list>
  <item><em>buzz</em> - (Buzz Lightyear) astronauta,
  <item><em>rex</em> - tyranozaur,
  <item><em>bo</em> - (Bo Peep) dziewczynka, która zaopiekowała się owieczką,
  <item><em>hamm</em> - świnka-skarbonka,
  <item><em>slink</em> - (Slinky Dog) "przegubowy" pies,
  <item><em>potato</em> - oczywiście Pan Ziemiak,
  <item><em>woody</em> - drewniany kowboj,
  <item><em>sarge</em> - sierżant w armii plastikowych żołnierzyków.
</list>
<!--
  more info in http://www.pixar.com/feature/toystory/toystory.html 
  or better yet http://us.imdb.com/M/title-exact?Toy%20Story%20(1995)
  or actually:
    http://us.imdb.com/Title?0114709 for TS1
    http://us.imdb.com/Title?0120363 for TS2
  we shouldn't put the links in, Pixar needs no additional propaganda
-->
<!--
  characters not used from Toy Story (yet):
    - Andy (the kid)
    - Etch (Etch-a-Sketch) (the blackboard)
    - Snake
    - Robot
    - Scud (Sid's dog)
    - Lenny the Binoculars
    - Three Eyed Alien
  and additional characters from Toy Story 2, also not yet used:
    - Jessie (the Yodelling Cowgirl)
    - Zurg (the Evil Emperor)
    - Wheezy (the penguin)
    - Hannah (owner of Jessie)
    - Stinky Pete the Prospector (the old fat guy)
    - Mrs. Davis (Andy's Mom)
    - Barbie (the Tour Guide, probably under (c))
    - Mrs. Potato Head
    - Heimlich the Caterpillar
-->
<!-- (jfs) Just in case somebody misses the "What do we do when we finish
with Toy Story characters" thread see:
http://lists.debian.org/debian-devel/2002/debian-devel-200207/msg01133.html
I, suggested we followed with either Monster's Inc or "A Bug's life" :)
-->

<sect id="frozen">A co z "frozen"?

<p>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.

<p>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".

<p>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.

<p>Wraz z nowym wydaniem, zdezaktualizowana poprzednia dystrybucja "stable"
przenoszona jest do archiwum. Więcej informacji znajdziesz pod adresem 
<url name="Debian - archiwum" id="http://www.debian.org/distrib/archive">.

<!--TODO-->
<sect id="sid">Dystrybucja "sid"?

<p><em>sid</em> czyli <em>unstable</em> 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 <em>testing</em>, aby mogły być poźniej wydane
w dystrybucji <em>stable</em>. <em>sid</em> zawiera pakiety zarówno dla architektur 
przeznaczonych do wydania jak i tych nie wydawanych.

<p>Nazwa "sid" także pochodzi z filmu "Toy Story":
Sid był chłopcem z sąsiedztwa, który psuł zabawki :-)

<sect1 id="sid-history">Zapiski historyczne o dystrybucji "sid"

<p>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.

<p>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.

<p>Z nadejściem katalogu ,,pool'' (zobacz <ref id="pools">)
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).

<sect id="stable">Co zawiera katalog stable?

<p><list>
  <item>stable/main/:

   Ten katalog zawiera pakiety oficjalnie uznawane za 
   najbardziej aktualne wydanie systemu &debian;.

   <p>Wszystkie z tych pakietów są zgodne z 
   <url name="Wytycznymi Debiana dotyczącymi Oprogramowania Wolnodostępnego" 
   id="http://www.debian.org/social_contract#guidelines"> i można je 
   swobodnie używać, a także rozpowszechniać. 

  <item>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.

   <p>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. 

  <item>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.

</list>

<sect id="testing">Co zawiera katalog testing?

<p>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.

<p>Więcej informacji o ogólnym stanie "testing" oraz o poszczególnych
pakietach dostępnych jest na 
<url id="http://www.debian.org/devel/testing">

<sect id="unstable">Co zawiera katalog unstable?

<p>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 ;)

<p>W 'unstable' istnieją również podkatalogi main, contrib, non-free
o takim samym przeznaczeniu jak w 'stable',

<sect id="archsections">Czym są te wszystkie katalogi wewnątrz
  <tt>dists/stable/main</tt>?

<p>W każdym z głównych drzew katalogów (<tt>dists/stable/main</tt>,
<tt>dists/stable/contrib</tt>, <tt>dists/stable/non-free</tt>, 
<tt>dists/unstable/main/</tt>, itd.), pakiety binarne przechowywane są
w podkatalogach których nazwy wskazują na jaką architekturę zostały
skompilowane:

<list>
  <item>binary-all/, dla pakietów, które są niezależne od architektury.
    Katalog zawiera na przykład skrypty Perla lub czystą dokumentację.

  <item>binary-i386/, dla pakietów uruchamianych na maszynach PC 80x86.

  <item>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.
<!-- Still true?
    There is no port of Linux to the old m68k based Macintoshes,
    because Apple did not supply the needed hardware information.
-->

  <item>binary-sparc/, dla pakietów uruchamianych na stacjach Sun SPARC.

  <item>binary-alpha/, dla pakietów uruchamianych na maszynach DEC Alpha.

  <item>binary-powerpc/, dla pakietów uruchamianych na maszynach PowerPC.

  <item>binary-arm/, dla pakietów uruchamianych na maszynach ARM.
</list>

<p>Zauważ, że aktualne pakiety binarne dla <em/woodiego/ i kolejnych wydań
nie znajdują się już w tych katalogach, ale w głównym katalogu <tt/pool/.
Pliki indeksów (Packages i Packages.gz) zostały zostawione dla zgodności.

<p>Zobacz <ref id="arches"> by dowiedzieć się więcej.

<sect id="source">Gdzie jest kod źródłowy?

<p>Udostępniony jest kod źródłowy każdego elementu systemu Debian. Co więcej, 
ustalenia licencji większości programów w systemie <em>nakazują</em> aby
kod źródłowy, albo informacja, gdzie jest udostępniony była 
rozpowszechniana razem z programami.

<p>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 <tt>pool</tt> 
(zobacz <ref id="pools">). Aby pobrać źródła bez zagłębiania się w strukturę
archiwum, spróbuj użyć polecenia <tt>apt-get source nazwapakietu</tt>.

<p>Niektóre pakiety, ze względu na ograniczenia zawarte w ich licencji,
publikowane są tylko w postaci źródeł. Przykładem takiego pakietu jest <tt>pine</tt>,
zajrzyj do <ref id="pine"> aby dowiedzieć sie więcej.

<p>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.

<sect id="pools">Co jest w katalogu <tt>pool</tt>?

<p>Dawniej pakiety były składowane w podkatalogach katalogu <tt>dists</tt>
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.

<p>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.

<p>Możesz sprawdzić gdzie jest umieszczony pakiet wydając polecenie
<tt>apt-cache showsrc nazwapakietu</tt> i odczytując linię "Directory:".
Na przykład pakiety <tt>apache</tt> są przechowywane w <tt>pool/main/a/apache/</tt>.
Ponieważ jest bardzo dużo pakietów <tt>lib*</tt>, są one traktowane w nieco 
odmienny sposób: na przykład pakiety libpaper umieszczone są w 
<tt>pool/main/libp/libpaper/</tt>.

<p>Katalogi <tt>dists</tt> są ciągle używane do przechowywania plików
z indeksami przez programy takie jak <tt>apt</tt>. Także, starsze dystrybucje
nie zostały przystosowane do używania mechanizmu "pools".

<p>Nie musisz zaprzątać sobie głowy tymi informacjami, <tt>apt</tt> i przypuszczalnie
<tt>dpkg-ftp</tt> (zobacz <ref id="howtocurrent">) zajmą się tym za ciebie.
<!-- joeyh doesn't want to maintain it so it's dead; need to integrate it
     If you want more information, see the
     <url id="http://people.debian.org/~joeyh/poolfaq"
     name="Debian Package Pools FAQ">.
-->

<sect id="incoming">Co jest w "incoming"?

<p>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.
<p>Zazwyczaj nikt nie powinien instalować pakietów z tego katalogu. Jednakże dla 
bardzo rzadkich przypadków awaryjnych jest on udostępniony pod adresem
<url id="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ć.
