Opsætning af et Debian-arkivspejl

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:

Hvad man spejler

Den primære side om filspejling oplyser de arkiver, som kan spejles.

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:

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.