mirrorovani Debianu

Petr Her~man Petr.Herman na lfmotol.cuni.cz
Pátek Prosinec 6 15:47:11 CET 1996


> >>>>> "PH" == Petr Her~man <Petr.Herman na lfmotol.cuni.cz> writes:
> 
>     PH: 1) Muze nekdo napsat, kolik MB v souc. dobe zabiraji
>     PH: jednotlive "veci" (zhruba receno: direktorare) Debianu?
> 
>   $ du -sk rex/* contrib/* non-free/*
> 
>   3559    rex/Contents
>   292     rex/Contents.gz
...
>     PH: 2) Je nejaka sance mirrorovat si korektne jen nejaky vyber z
>     PH: nich?  Dejme tomu ze chci vse bez development (ktery ma neco
>     PH: pres pul giga).  Jde mi hlavne o to, aby se mi nekde v necem,
>     PH: co stahuju, nevyskytnul nejaky symlink do neceho, co
>     PH: nestahuju.
> 
> Vyse uvedene.  Vetsina lidi asi nepotrebuje stahovat `source'
> `binary-m68k', apod.

Tato dvojradkova odpoved me prilis neuspokojila.
Z vyse uvedeneho vystupu du neni prave ta struktura symlinku
v Debianovske distribuci moc zrejma. Nedelam si velke iluse
o sve inteligenci, ale trvalo mi par dni, nez jsem dospel
k jakesi predstave, jak si mirrorovat pouze cast Debianovske
distribuce (pro lokalni pouziti, pokud nemam mnoho GB nazbyt).
Napisu na co jsem prisel a prosim znalce o korekci.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Omlouvam se za pretloustly prispevek, ale snad to k necemu bude.
Pri odpovedich do skupiny prosim promazavejte nerelevantni radky!
(Nadavat mozno i soukrome.)
Pokud si myslite, ze to bude k obecnemu blahu, zkusim to potom
(po vasich pripominkach) opravit a poslat do Hubickovych skolicek.

Diky.

> Milan Zamazal

Petr Herman

----------------------------------------------------------------

Zakladni principy stavby Debianovskeho archivu na ftp
a pravidla jeho parcialniho mirrorovani (pro lokalni potrebu)

0) Myslim si, ze je dobre, aby kazde pracoviste, ktere si chce
instalovat Debiany, melo svuj lokalni mirror, ktery nemusi byt
zdaleka uplny. To umozni pohodlnou instalaci Debiana v lokalni
siti bud pres NFS anebo pres FTP bez nebezpeci, ze v dobe
instalace dojde ke zmenasm na mirroru. Vzhledem k tomu, ze
parcialni mirror Debiana neni az tak trivialni, pokousim
se zformulovat nejaka pravidla. 

1) Debianovska distribuce na ftp je zalozena na systemu dumyslne
provazanych symlinku a pokud ji nechci mirrorovat sakum prask
(asi neco mezi 1.5-2 GB? nevim), musim ten system pochopit, jinak
splacu nad vydelkem.

2) V soucasne dobe tam (krome contrib a non-free) jsou v podstate
3 verse Debiana, a to 'buzz', 'rex' a 'bo'.

3) Verse 'buzz' je stabilni a dale se nevyviji, ani nepribyvaji
dalsi updates (?). Tj. na 'buzz' ukazuje 'stable'.

4) Verse 'rex' je v soucasne dobe zmrazena, nema dosud zadne updates
a je nezavisla na 'buzz'. (Toto je zatim moje nejsilnejsi tvrzeni,
kterym si nejsem jeste tak 100% jisty, ktere bych potreboval konfirmovat,
protoze na tom zavisi ostatni veci.) Tj. na 'rex' ukazuje 'frozen'.

5) Verse 'bo' je vyvojova a je silne zavisla na 'rex' (pomoci symlinku).
Tj. na 'bo' ukazuje 'unstable' a na 'unstable' ukazuje 'development'.

Uvnitr jednotlivych distribuci plati nasledujici principy, jak
se opravuji (minor numbers). Priklad plati pro 'buzz':

6) V 'buzz' zustava ta puvodni uvolnena (nebo zmrazena?) verse,
v tomto pripade ze 17.6.96. Na 'buzz' ukazuje 'Debian.1.1'
a s timto linkem uz se zrejme nebude dal hybat.

7) V 'buzz' jsou podadresare se zdrojaky a pak s binarkami pro
ruzne platformy. V 'binary-all' je to, co z binarek je pro
vsechny platformy spolecne. Proto na odpovidajicich mistech
ve vsech binarkach jsou jen symlinky do 'binary-all'.
'binary' je prosty symlink do 'binary-i386'.
'msdos-i386' jsou jen symlinky do 'binary-i386' s tim, ze jejich
jmena jsou zkracena tak, aby se vesly do MS-DOSove konvence.

8) Kazdy z vyse uvedenych adresaru obsahuje tematicke podadresare
(tzv. sekce: 'admin', 'base', 'development' ,... atd.), ve kterych
uz jsou prislusne *.deb baliky.

9) V 'buzz' jsou rovnez 'disks-i386', coz jsou obrazy instalacnich
disktett pro platformu Intel.

11) V 'buzz-updates' jsou vsechny opravy chyb, ktere byly udelany
po zmrazeni 'buzz'. Tento direktorar je sice dal delen na subdirektorare
se zdrojaky a s binarkami pro ruzne platformy, ale ty uz dal nejsou
deleny podle sekci - vsechno je tam najednou.
V 'buzz-updates' se postupem casu nic nemeni, pouze tam pribyvaji
nove a nove opravy (v soucasne dobe uz myslim prestaly pribyvat
- nevim). 
Na 'buzz-updates' ukazuje 'Debian-1.1-updates'.

12) V 'buzz-fixed' jsou posledni verse po opravach, ale nikoliv fyzicky.
Struktura tohoto adresare je shodna s 'buzz', ale na miste skutecnych
packages jsou symlinky, a to bud do 'buzz', anebo (doslo-li k updates)
do 'buzz-updates'. Na 'buzz-fixed' ukazuje 'Debian.1.1-fixed'.

13) Adresare 'Debian.1.11', 'Debian.1.12' a 'Debian.1.13' (uz se
vetsinou nemirroruji), 'Debian.1.14' a 'Debian.1.15' jsou vsechno
symlinky na 'buzz-fixed'.

14) Predpokladam, ze vyse nastineny system (body 7 - 13) se zacne
aplikovat i u rexe a dalsich versi, az zacnou chodit updates.

Z vyse uvedenych zjisteni jsem si odvodil nasledujici zakladni poucky
pro castecne mirrorovani Debiana:

a) Chci-li mirrorovat stabilni verzi 'buzz-fixed', nestaci mirrorovat
jen tento direktorar a symlinky ve 'stable' a 'Debian.1.1-fixed',
ale je nutno mirrorovat i puvodni 'buzz' a opravy 'buzz-updates'.

b) Chci-li mirrorovat rex, staci mi (v soucasne dobe) mirrorovat
skutecne jen 'rex' a k tom prip. symlink 'frozen'. Az zacnou chodit
updates, bude zrejme nutno postupovat obdobne (tj. pokracovat s 'rex'
a k to mu pribrat 'rex-updates' a 'rex-fixed'.)

c) Chci-li mirrorovat 'bo', musim bezpodminecne mirrorovat i 'rex'.

d) Chci-li mirrorovat jen nektere binaries (kdekoliv), je nutne
k vybrane platforme mirrorovat i 'binary-all'.

e) Distribuce 'non-free' a 'contrib' si muzu mirrorovat zcela
libovolne, tech se nic z vyse uvedeneho netyka.
Zrovna tak 'project'.

f) Nesmim zapomenout na 'tools', coz jsou nastroje pro instalaci.
Mirroruji i prosty symlink 'debian' -> . (kvuliva instalaci)
Doporucenihodne je mirrorovat i 'README', 'README.mirrors',
'README.non-US' a direktorare 'info' -> 'doc', 'debian-lists',
'debian-bugs', 'indices', 'i-connect-fixes', prip. i 'WebPages'
(pokud si je nemirroruju zvlast do sveho WWW prostoru).

Zlate pravidlo 'z':

z) Pri mirrorovani si nevybiram co chci mirrorovat, ale mirroruju
vsechno a jen si vyloucim to, co zcela jiste vim, ze nebudu potrebovat.

Ilustrativni priklad: V soucasne dobe jsem si pro Debiana vyhradil
1.2GB disk a tak jsem se rozhodnul mirrorovat jednak stabilni buzz
v binarkach pro platformu PC a pak rex rovnez v binarkach pro PC
a k tomu i zdroje. 'non-free' a 'contrib' cele. Proto jsem si
do mirror-config napsal zhruba:

package=defaults
        remote_user=anonymous
        remote_password=herman na lf2.cuni.cz
        local_dir=/blabla/ftp/pub/mir
        update_log=.my-mirror

package=debian.mff
        site=sunsite.mff.cuni.cz
        local_dir+/debian
        remote_dir=/OS/Linux/Distributions/Debian
exclude_patt+|^bo/|^development/|^unstable/|^buzz/source/
|^buzz-updates/source/|/binary-alpha/|/binary-m68k/|/binary-sparc/
|/msdos-m68k/

----------------------------------------------------------------


Další informace o konferenci Linux