Sätta upp en spegel av Debianarkivet

Om du ska spegla

Även om vi är glada för alla speglar, bör alla som vill sätta upp en spegel försäkra sig om att de kan svara på dessa frågor innan de försöker starta sin egen spegel:

Vad som bör speglas

Ingångssidan för speglar innehåller en förteckning över vilka arkiv som är tillgängliga för spegling.

Se vår sida om storlek på spegeln för mer detaljerad information om spegelstorlekar.

Arkiven i debian-security/ innehåller säkerhetsuppdateringar som släppts av Debians säkerhetsgrupp. Det låter intressant för alla, men eftersom säkerhetsuppdateringarna är sporadiska måste man spegla den väldigt ofta för att hålla sig à jour (eller använda push-spegling), så vi rekommenderar det inte. Debian gör allt som står i vår makt för att istället vidmakthålla tillgängligheten hos security.debian.org.

Obs! Arkivet debian-non-US/ används inte längre i och med utgivningen av Debian 3.1 (Sarge) i juni 2005.

Platser att spegla

Många tror att ftp.debian.org är rätt plats för Debianpaket och att det är bäst att spegla därifrån. Detta är inte korrekt.

ftp.debian.org är bara en av många servrar som uppdateras från en intern Debianserver. Adressen pekar för närvarande mot en enda adress och är mest där för bakåtkompatibilitet.

Officiella speglar är tänkta att vara bra platser att spegla från. Alla servrar i den kompletta spegellistan som är märkta Type: Push-Primary eller Type: Push-Secondary bör vara lämpade att spegla från. Välj en som är nära dig både nätverksmässigt och geografiskt.

Det är i praktiken ingen skillnad mellan olika Push-Primary-speglar vad gäller själva speglingen. Å andra sidan, om många använder ftp.debian.org (vilket tyvärr sker) slösar detta i onödan med donerad bandbredd.

Spegeladministratörer i Förenta Staterna bör spegla från ftp.us.debian.org (den officiella spegeladressen i USA, vilken är en Push-Primary-spegel). Men eftersom den adressen även är ett cirkulerande alias för flera maskiner är det oftast en bra idé att bestämma vilken av komponenterna som är bäst och därefter spegla från just den.
Fördelen med detta är att man undviker risken för misslyckanden när man kör en tvåstegs-rsync (olika steg kan hamna hos olika maskiner under det tidsfönster då de har olika data, vilket ger en kapplöpningseffekt). Nackdelen är att den koncentrerar sig på en enda plats, vilket gör att prestanda kan variera, men det är något som finns där i hela vårt spegelnätverk för närvarande.

Hur man speglar

Den rekommenderade metoden för att spegla är med den skriptsamling som kallas ftpsync och finns tillgänglig på två sätt:

Vi rekommenderar starkt speglingsprotokollet anonym rsync.

Vi ber dig att inte använda wget eller andra ftp-baserade verktyg. De verkar fungera bra, men har vissa problem (de kan inte detektera hårda länkar, gör det svårare att ha en delvis spegling, osv).

Ställa in rsync

Vi rekommenderar att du använder skriptsamlingen ftpsync för att spegla arkivet. Följ den medföljande README-filen för att sätta upp spegeln.

Om du använder dina egna skript, gäller att den minsta funktionaliteten som måste stödjas är som följer:

Spegla delmängder

Med tanke på hur stort Debianarkivet redan är föredrar vissa att bara spegla de delar de behöver. Om du vill undvara något bör du undvara arkitekturer.

Med det rekommenderade ftpsync kan detta göras genom att redigera ARCH_EXCLUDE-variabeln. Det finns även andra specialskrivna skript, de är dock inte lämpliga för officiella speglar.

Vi rekommenderar å det bestämdaste mot att exkludera project/, doc/ och andra underkataloger. Vanligtvis är dessa inte speciellt stora men ändå användbara för användare. Speciellt project/trace är väldigt bra att ha om det är några problem med speglingsprocessen.

Du kan välja att använda andra specialskrivna skript, men det är oftast inte nödvändigt, och rekommenderas inte för officiella speglar.

När du bör spegla

Huvudarkivet uppdateras fyra gånger om dagen. Speglarna börjar normalt uppdatera runt klockan 3:00, 9:00, 15:00 och 21:00 (alla tiderna UTC), men dessa är inga fastslagna tider och du bör inte fixera dina speglar runt dem.

Din spegel bör uppdatera ett par timmar efter en av huvudarkivets spegelpulser. Du bör se om platsen du speglar från skapar en tidsstämpelfil i sin project/trace/-katalog. Tidsstämpelfilen kommer ha samma namn som den platsen, och ange den tidpunkt när senaste speglingskörningen slutfördes. Lägg till ett par timmar på det (för att vara på den säkra sidan) och spegla då.

Det enklaste sättet att automatiskt köra spegeln varje dag är att använda cron. Se man crontab för detaljer.

Om din plats blir push-speglad behöver du inte bry dig om något av detta.

Push-styrd spegling

Push-spegling är en form av spegling med rsync vi har utvecklat som minimerar tiden det tar för ändringar i huvudarkivet att nå speglarna. En uppströmsspegel använder en SSH-utlösare som informerar nedströmsspegeln om att den måste uppdateras. Pushningen begränsas oftast till en säker utlösare som inte tar någon variabel indata, så att resten av spegelfunktionen är en vanlig pull, på samma sätt som för ett cron-jobb.

Push-spegling är nödvändig för att hålla flera servrar synkroniserade (som servrarna för cirkulerande DNS-alias, till exempel ftp.us.debian.org), och vi använder det vanligtvis för våra första- och andranivåspeglar. För vanliga speglar kräver detta en hel del arbete att ställa in vilket egentligen inte är värt besväret jämfört med ett finjusterat cron-jobb.

För en mer utförlig beskrivning av hur det fungerar, varför det är säkert, och hur man sätter upp en push-spegel, se den kompletta förklaringen.

Rekommenderade ytterligare inställningar

Om du planerar att göra Debianspegeln tillgänglig över HTTP ber vi dig lägga till följande inställningar till Apaches konfiguration (förutsatt, naturligtvis, att du använder Apache), innanför blocket <Directory /sökväg/till/din/debianspegel>, där /sökväg/till/din/debianspegel är namnet på den katalog du har spegeln i:

   Options +Indexes +SymlinksIfOwnerMatch
   IndexOptions NameWidth=* +SuppressDescription

Detta aktiverar katalogindex och försäkrar att symboliska länkar fungerar. Filnamnen i katalogindexen kommer inte trunkeras och (de huvudsakligen icke-existerande) beskrivningarna kommer inte att visas.

I Apache 1.3.x kan även följande alternativ läggas till:

   DirectoryIndex .

Lägg inte till detta alternativ för Apache 2.x.

Lägga till en spegel i spegellistan

När en spegel satts upp bör den registreras hos Debian så att den kan läggas in i spegellistan. Registrering kan göras via vårt enkla webbformulär.

Problem eller frågor kan ställas till mirrors@debian.org.