Opsætning af et Debian-arkivspejl
- Hvorvidt man skal spejle
- Hvad man spejler
- Hvor der kan filspejles fra
- Hvordan man spejler
- Delvis filspejling
- Hvornår man skal filspejle
- Yderligere anbefalet opsætning
- Hvordan et spejl føjes til spejllisten
Hvorvidt man skal spejle
Mens vi er glade for alle nye filspejle, bør alle der overvejer at vedligeholde et filspejl sikre sig, at de kan besvare disse spørgsmål, før der et eget filspejl forsøges oprettet:
- Er et filspejl nødvendigt i mit område? Måske er der allerede filspejle i nærheden.
- Har jeg ressourcerne til at være vært for et filspejl? Spejle kræver en betragtelig mængde diskplads og båndbredde, man skal kunne betale omkostningerne.
- Er et filspejl det rette valg? Nogle tager fejl og starter et filspejl,
når det i virkeligheden er en
caching proxy
, de har brug for, så som apt-cacher-ng.
Hvad man spejler
Den primære side om filspejling oplyser de arkiver, som kan spejles.
- Brugere kigger efter arkivet debian/ for at installere Debian over netværket, til at opbygge cd'er fra (med jigdo) og til at opgradere allerede installerede systemer.
- Arkivet debian-cd/ er ikke identisk på tværs af alle de forskellige
spejlingservere. Nogle steder indeholder det jigdo-skabeloner til
opbygning af cd-aftryk (anvendes sammen med filer fra debian/), nogle
indeholder færdige cd-aftryk, mens nogle steder har begge dele.
Se siden om spejling af cd-aftrykkene for flere oplysninger om dette. - debian-archive/ indeholder det egentlige arkiv, dvs. gamle og udgåede versioner af Debian. Generelt er det kun interessant for et fåtal af brugerne.
Se siden om størrelser på filspejle for mere præcise oplysninger om størrelser på filspejle.
Arkivet debian-security/ indeholder sikkerhedsopdateringer udsendt af Debians sikkerhedsteam. Der lyder interessant for alle, men da sikkerhedsopdateringer er sporadiske, er man nødt til at spejle det meget ofte, for at være ajour (eller bruge push-spejling), hvorfor vi ikke anbefaler det. Debian gør i stedet meget ud af, at sørge for en højtilgængelighed af security.debian.org.
Bemærk: Arkivet debian-non-US/ har ikke været anvendt siden udgivelsen af version 3.1 (sarge) i juni 2005.
Hvor der kan filspejles fra
Mange lader til at tro, at ftp.debian.org er det kanoniske sted
for Debian-pakker og at det vil være bedst for dem at filspejle det ftp-sted.
Det er ikke rigtigt.
ftp.debian.org er blot en af flere servere som opdateres fra en
intern Debian-server. Adressen befinder sig pt. på en enkelt server, og er
primært bevaret af hensyn til bagudkompatibilitet.
Hensigten med de officielle filspejle er at de skal
være gode steder at spejle fra. En hvilken som helst server på den
fuldstændige liste over filspejle, som har flagene
Type: Push-Primary
eller Type: Push-Secondary
skulle være god at basere sit filspejl på. Anvend venligst et filspejl, der både
netværksgeografisk og fysisk er tæt på dig.
Der er i praksis ikke nogen forskel på de forskellige Push-Primary-filspejle, hvad angår spejlingen. På den anden siden, hvis mange bruger ftp.debian.org (og det gør de desværre) sker der et unødvendigt spild af den donerede båndbredde.
Filspejlsadministratorer i USA bør spejle fra ftp.us.debian.org (den
officielle filspejlsadresse i USA, som er et Push-Primary-filspejl). Men da
denne adresse også er et round-robin
-alias for flere maskiner, giver
det normalt mening at beslutte sig for, hvilken af dem det vil være bedst at
spejle fra.
Fordelen derved, er at man undgår risiko for fejl ved udførelse af en
to-trins rsync (forskellige trin kan blive udført mod forskellige maskiner,
der på det givne tidspunkt kan have forskellige data, medførende en såkaldt
race condition
). Ulempen er at man anvender ét bestemt sted, hvis
tilgængelighed kan skifte, men det gælder pt. generelt hele vores netværk af
filspejle.
Hvordan man spejler
Den anbefalede filspejlingsmetode er med det såkaldte skript anonftpsync.
Den kraftigt anbefalede filspejlingsprotokol er rsync.
Vær venlig ikke at anvende wget og andre ftp-værktøjer. De ser ud til at fungere, men vil have mange problemer (de kan ikke identificere hard links, det er mere besværligt at lave delvise filspejle, osv.).
Rsync-opsætning
Vi anbefaler at bruge ftpsync-skriptene til at lave et filspejl af arkivet. Følg den medfølgende README-fil for at sætte filspejlingen op.
Hvis du alligevel anvender dine egne skripter, er den minimale funktionalitet, som de skal indeholde, følgende:
SKAL udføre en to-trins-sync
Arkivspejlingen skal gøres i to trin. Den første rsync-kørsel skal ignorere index-filerne. De rette fravalgsindstillinger for den første rsync-kørsel er:
--exclude Packages* --exclude Sources* --exclude Release* --exclude InRelease --exclude i18n/* --exclude ls-lR*Det førstetrin må ikke slette nogen filer.
Det andet trin skal dernæst overføre de ovenfor fravalgte filer og slette filer, der ikke længerer hører til i filspejlet.
Rationale: hvis arkivspejlingen udføres i et trin, vil der være tidspunkter hvor index-filerne refererer til filer, som endnu ikke er spejlet.
Må IKKE ignorere push'er mens det kører (ved push-spejl).
Hvis et push modtages under kørslen spejlingssynkroniseringen, Må det IKKE ignoreres. Hele synkroniseringsprocessen skal genstartes.
Rationale: de fleste implementeringer af Debians filspejlingskripter vil efterlade filspejlet i en inkonsistent tilstand, i tilfælde af at et nyt push modtages mens den første synkronisering stadig kører. Det er muligt, at hyppigheden af push'er vil stige inden for den nærmeste fremtid.
- Kør rsync med i hvert fald disse parametre: --recursive --times --links --hard-links --delete.
- Hvis du har ekstra diskplads, så brug også parametret --delete-after for at undgå nogle af de midlertidige opdateringsproblemer.
- Når rsync er færdig med at spejle, tilføjes et tidsstemplingsfil til
undermappen
project/trace/på Debian-spejlet, opkaldt efter din server. Dette betyder at date -u > .../debian/project/trace/din.server skal køres efter din daglige rsync er afsluttet. - Vi fraråder kraftigt at fravælge project/, doc/ og andre undermapper. Normalt er disse mindre i størrelse og alligevel nyttige for brugerne. Særligt project/trace er meget nyttig hvis der er problemer med et filspejl.
Delvis filspejling
Det allerede store Debian-arkiv taget i betragtning, foretrækker nogle kun at spejle de dele som de har brug for. Hvis du ønsker at fravælge noget, bør du fravælge arkitekturer.
Med den anbefalede ftpsync kan dette gøres ved at ændre ARCH EXCLUDE-variablen.
Vi advarer kraftigt imod at fravælge mapperne project/, doc/ og andre undermapper. Normalt er de ikke særligt store og alligevel nyttige for brugerne. Særligt project/trace kan være meget nyttigt hvis der er problemer med et filspejl.
Det er muligt at anvende andre særligt fremstillede skripter, men de er normalt ikke nødvendige, og anbefales ikke til officielle filspejle.
Hvornår man skal filspejle
Hovedarkivet opdateres fire gange dagligt. Filspejlene begynder normalt opdateringen omkring klokken 3.00, 9.00, 15.00 og 21.00 (alle UTC), men disse er ikke uforanderlige, og du skal ikke indstille din daglige spejling efter disse tider.
Dit spejl bør opdateres nogle få timer efter et af hovedfilspejlene er blevet opdateret. Du bør undersøge om det sted du spejler fra efterlader en tidsstemplingsfil i sin undermappe project/trace/. Tidsstemplingsfilen har samme navn som netstedet, og indeholder tidspunktet for den seneste opdatering af filspejlet. Læg et par timer til den tid (for at være på den sikre side) og start din filspejl på det tidspunkt.
Den nemmeste måde, automatisk at få filspejlet opdateret hver dag er at anvende cron. Se man crontab for flere oplysninger.
Bemærk, at den nemmeste måde at få spejlingen til at køre automatisk hver dag, er at bruge cron. Se man crontab for flere oplysninger.
Push-udløst filspejling
Push
-filspejling er en form for spejling ved hjælp af rsync vi har
udviklet for at minimere den tid det tager ændringer i arkivet at nå ud til
filspejlene. Server-filspejlet anvender en ssh-udløser til at fortælle
nedenstrøms-filspejlet at det sker opdatere sig selv. Push
'et er normalt
begrænset til en sikker udløser, der ikke medtager variable data, så resten af
filspejlingsprocessen simpelthen er et pull
som med et cron-job.
Push-filspejling er nødvendig hvis mange servere skal være synkrone (så som
servere i DNS der på skrift svarer på et alias som ftp.us.debian.org),
og vi bruger det i forbindelse med vores primære og sekundære filspejle. Men da
metoden kræver lidt mere opsætningsarbejde, gøres det normalt ikke ved
private
filspejle.
For en mere detaljeret beskrivelse af hvordan dette fungerer, hvorfor det er
sikkert, og hvordan man opsætter et push
-filspejl, se
den komplette beskrivelse.
Yderligere anbefalet opsætning
Hvis du ønsker at gøre et Debian-filspejl tilgængeligt via HTTP, tilføj da
følgende indstillinger til din opsætning af Apache (naturligvis forudsat at du
bruger Apache) i blokken <Directory
/sti/til/dit/debian/spejl>, hvor
/sti/til/dit/debian/spejl ændres til navnet på den mappe, hvor
dit filspejl ligger:
Options +Indexes +SymlinksIfOwnerMatch IndexOptions NameWidth=* +SuppressDescription
Det slår mappeindeksering til og sikrer at man kan følge symbolske links. Filnavnene i mappererne bliver ikke forkortet, og beskrivelserne (overvejende ikke-eksisterende) vises ikke.
I Apache 1.3.x kan følgende også tilføjes:
DirectoryIndex .
Brug ikke denne indstilling i Apache 2.x.
Hvordan et spejl føjes til spejllisten
Når et filspejl er blevet sat up, bør det registereres hos Debian for at blive optaget på listen over filspejle. Det gøres ved at benytte vores simple webformular.
Problemer eller forespørgsler stilles til mirrors@debian.org.
