Inhoudsopgave
dists/stable/main
?pool
?Er bestaan drie hoofd-distributies: de stabiele distributie "stable", de test-distributie "testing" en de onstabiele distributie "unstable". Soms wordt de distributie "testing" 'bevroren' (zie Paragraaf 6.5.1, “Hoe zit het met "testing"? Hoe wordt het 'bevroren'?”). Daarnaast zijn er ook de oude stabiele distributie "oldstable" en de experimentele distributie "experimental".
"Experimental" wordt gebruikt voor pakketten die nog in ontwikkeling zijn en die een hoog risico in zich dragen om uw systeem onbruikbaar te maken. De distributie wordt gebruikt door ontwikkelaars die de allernieuwste software willen bestuderen en testen. Gebruikers moeten er geen pakketten van gebruiken, omdat ze zelfs voor de meest ervaren mensen gevaarlijk en schadelijk kunnen zijn.
Zie Hoofdstuk 3, Een Debian-distributie kiezen voor hulp bij het kiezen van een Debian-distributie.
Het zijn gewoon "codenamen". Wanneer een distributie van Debian zich in de
ontwikkelingsfase bevindt, heeft ze geen versienummer, maar een
codenaam. Het doel van die codenamen is het vergemakkelijken van het
onderhoud van een spiegelserver voor de distributies van Debian (indien een
echte map zoals unstable
plots de naam
stable
zou krijgen zou dit het nodeloos opnieuw
downloaden van een heleboel zaken tot gevolg hebben).
Momenteel is stable
een symbolische koppeling met
bookworm
(d.w.z. Debian GNU/Linux 12) en
testing
een symbolische koppeling met
trixie
. Dit betekent dat
bookworm
de huidige stabiele distributie is en
trixie
de huidige test-distributie.
unstable
is een permanente symbolische koppeling met
sid
, vermist sid
steeds de onstabiele
distributie blijft (zie Paragraaf 6.3, “Hoe zit het met "sid"?”).
Aside bookworm
and
trixie
, other codenames that have been already
used are: buzz
for release 1.1, rex
for release 1.2, bo
for releases 1.3.x,
hamm
for release 2.0, slink
for
release 2.1, potato
for release 2.2,
woody
for release 3.0, sarge
for
release 3.1, etch
for release 4.0,
lenny
for release 5.0, squeeze
for
release 6.0, wheezy
for release 7,
jessie
for release 8, stretch
for
release 9, buster
for release 10,
bullseye
for release 11, bookworm
for
release 12.
Tot nu toe zijn het figuurtjes geweest uit de "Toy Story"-filmen van Pixar.
buzz (Debian 1.1) was de ruimtevaarder Buzz Lightyear,
rex (Debian 1.2) was de tyrannosaurus,
bo (Debian 1.3) was Bo Peep, het meisje dat voor het schaap zorgde,
hamm (Debian 2.0) was het spaarvarken,
slink (Debian 2.1) was Slinky Dog, de speelgoedhond,
potato (Debian 2.2) was natuurlijk Mr. Potato,
woody (Debian 3.0) was de cowboy,
sarge (Debian 3.1) was de sergeant van de Groene Plastic Soldaatjes,
etch (Debian 4.0) was het speelgoedtekenbord (Etch-a-Sketch),
lenny (Debian 5.0) was de speelgoedverrekijker,
squeeze (Debian 6) was de naam van de aliens met de drie ogen,
wheezy (Debian 7) was de rubberen speelgoedpinguïn met een rood vlinderdasje,
jessie (Debian 8) was de jodelende cowgirl,
stretch (Debian 9) was de rubberen speelgoedoctopus met zuignappen op zijn acht lange armen.
buster (Debian 10) was de lievelingshond van Andy.
bullseye (Debian 11) was het houten speelgoedpaard van Woody.
bookworm (Debian 12) was een groene speelgoedworm met een ingebouwde zaklamp die van boeken lezen houdt.
trixie (Debian 13) was een blauwe plastic triceratops.
sid was het boosaardige buurjongetje van naast de deur die al het speelgoed vernielt.
De keuze om namen uit Toy Story te gebruiken werd gemaakt door Bruce Perens die toen de Projectleider van Debian was en die ook bij Pixar werkte, het bedrijf dat de films produceerde.
sid of unstable is de plaats waar de meeste pakketten initieel geüpload worden. Deze distributie zal nooit rechtstreeks uitgebracht worden, aangezien pakketten die uitgebracht zullen worden eerst opgenomen moeten worden in testing om dan later in stable uitgebracht te worden. sid bevat pakketten voor zowel uitgebrachte als niet-uitgebrachte architecturen.
Ook de naam "sid" is afkomstig uit de tekenfilm "Toy Story": Sid is de buurjongen die speelgoed vernielt :-)
stable/main/: deze map bevat de pakketten die formeel de meest recente release van het Debian GNU/Linux-systeem vormen.
Al deze pakketten beantwoorden aan de Debian Free Software Guidelines en kunnen alle vrij gebruikt en verspreid worden.
stable/non-free/: deze map bevat pakketten waarvan de distributie aan restricties onderhevig is, zodat distributeurs de vermelde copyright-vereisten zorgvuldig in acht moeten nemen.
Bijvoorbeeld hebben sommige pakketten een licentie die commerciële distributie verbiedt. Andere mogen verspreid worden, maar zijn in feite shareware en geen vrije software. De licentie van elk van deze pakketten moet bestudeerd worden en eventueel heronderhandeld alvorens deze pakketten opgenomen worden op een distributiemedium (bijvoorbeeld een CD).
stable/contrib/: deze map bevat pakketten die zelf vrij zijn volgens de DFSG en vrij verspreid mogen worden, maar die op een of andere manier een pakket vereisen dat niet vrij verspreid mag worden en dus enkel in de sectie non-free te vinden is.
Pakketten worden in de map 'testing' geïnstalleerd nadat ze in zekere mate getest werden in unstable.
Op alle architecturen waarop ze gebouwd werden, moeten ze onderling synchroon zijn en ze mogen geen vereisten hebben die tot gevolg hebben dat ze niet geïnstalleerd kunnen worden. Ze moeten ook minder bugs hebben die in functie van de release cruciaal zijn, dan de versie die momenteel in 'unstable' zit. We hopen dat op die manier 'testing' steeds dicht de toestand van release-kandidaat benadert.
Meer informatie over de status van "testing" in het algemeen en over de individuele pakketten is te vinden op https://www.debian.org/devel/testing.
Als de "testing"-distributie voldoende matuur is, begint de releasemanager het te 'bevriezen'. De normale doorschuifvertraging wordt verhoogd om te verzekeren dat zo weinig mogelijk nieuwe bugs vanuit "unstable" in "testing" binnenkomen.
Na een tijd wordt de "testing"-distributie echt 'bevroren'. Dit betekent dat alle nieuwe pakketten die naar "testing" zouden moeten doorschuiven, tegengehouden worden, tenzij zij reparaties bevatten van bugs die cruciaal zijn voor de release. De "testing"-distributie kan ook in een dergelijke diepe bevriezing blijven tijdens de zogenaamde 'test-cycli' wanneer de release ophanden is.
Wanneer een testing"-release 'bevroren' wordt, heeft ook "unstable" ten dele de neiging te bevriezen. Dit is omdat ontwikkelaars weigerachtig staan tegen het uploaden van radicaal nieuwe software in unstable, voor het geval de bevroren software in testing kleine updates nodig mocht hebben voor het repareren van voor de release cruciale bugs die verhinderen dat testing "stable" kan worden.
We houden een register bij van bugs in de "testing"-distributie die de release van een pakket kunnen tegenhouden en van bugs de de hele release kunnen tegenhouden. Raadpleeg voor meer informatie de release-informatie over de huidige testing-release.
Eens het aantal bugs lager ligt dan het maximaal aanvaardbare, wordt de bevroren "testing"-distributie stabiel verklaard en uitgegeven met een versienummer.
Het belangrijkste aantal bugs is dat van deze welke "cruciaal zijn voor de release" (de zogenaamde release critical bugs). Dit aantal kan gevolgd worden op de Statuspagina over release-critical bugs. Een algemeen erkende releasedoelstelling is NoRCBugs - geen release critical bugs, wat betekent dat de release geen bugs zou mogen bevatten die een graad van ernstigheid hebben van cruciaal, zorgwekkend of ernstig. De volledige lijst van zaken die als cruciaal beschouwd worden, is te vinden in het beleidsdocument inzake RC.
Bij elke nieuwe release wordt de vorige "stable" release als verouderd bestempeld en verhuist deze naar het archief. Raadpleeg voor bijkomende informatie Het Debian-archief.
De map 'unstable' bevat een momentopname van het huidige systeem in ontwikkeling. Gebruikers worden uitgenodigd om deze pakketten te gebruiken en uit te testen, maar worden gewaarschuwd wat hun staat van onafheid betreft. Het voordeel van het gebruik van de onstabiele distributie is dat u altijd up-to-date bent wat de meest recente software voor GNU/Linux betreft, maar als er iets fout gaat, dan zit u met de brokken :-)
Ook in 'unstable' bestaan de onderliggende mappen main, contrib en non-free, waarvoor dezelfde criteria gehanteerd worden als in 'stable'.
De software die voor Debian GNU/Linux verpakt werd, is te vinden op elke Debian-spiegelserver in een van de verschillende mappenbomen.
De map dists
is een afkorting van "distributies" en het
is de geëigende manier om toegang te krijgen tot de huidige beschikbare
releases (en pre-releases) van Debian.
De map pool
bevat de eigenlijke pakketten. Zie Paragraaf 6.10, “Wat is de map pool
?”.
Er zijn ook nog de volgende bijkomende mappen:
DOS-hulprogramma's voor het aanmaken van opstartdisks, voor schijfindeling, voor het comprimeren/decomprimeren van bestanden en om Linux op te starten.
De basale documentatie van Debian, zoals deze FAQ, de instructies voor het brugrapporteringssysteem, enz.
verschillende indexbestanden van de site (het bestand Maintainers en de override-bestanden).
voor het merendeel materiaal dat enkel voor ontwikkelaars bestemd is en enkele varia-bestanden.
Binnen elk van de hoofdmappenstructuren[3] zijn er drie reeksen onderliggende mappen met indexbestanden.
Er is een groep van onderliggende mappen
binary-
die indexbestanden
bevatten over binaire pakketten voor elke beschikbare
computerarchitectuur. Bijvoorbeeldiets
binary-i386
voor
pakketten die werken op PC's van het type Intel x86 of
binary-sparc
voor pakketten die werken op Sun
SPARCStations.
De volledige lijst van beschikbare architecturen voor elke release is te vinden op de webpagina van de release. Zie voor de huidige release Paragraaf 4.1, “Op welke hardwarearchitecturen/systemen kan Debian GNU/Linux werken?”.
De indexbestanden in binary-* heten Packages(.gz, .bz2) en ze bevatten een
samenvatting van elk binair pakket dat tot die distributie behoort. De echte
binaire pakketten bevinden zich in de basismap
pool
.
Voorts is er nog een onderliggende map source/ die indexbestanden bevat voor de bronpakketten die in de distributie zitten. Het indexbestand heet Sources(.gz, .bz2).
Tenslotte is er nog een groep onderliggende mappen die bedoeld zijn voor de
indexbestanden van het installatiesysteem. Zij zitten in
debian-installer/binary-
.
architectuur
Van alles wat in het Debian-systeem aanwezig is, wordt de broncode opgenomen. Daarenboven vereisen de licentiebepalingen van de meeste programma's in het systeem dat de broncode samen met het programma meegeleverd wordt of dat bij het programma een aanbod voor het bezorgen van de broncode gevoegd wordt.
De broncode wordt verdeeld in de map pool
(zie Paragraaf 6.10, “Wat is de map pool
?”) samen met al de mappen met architectuur-specifieke
binaire pakketten. Om de broncode op te halen zonder dat u vertrouwd moet
zijn met de structuur van het archief, kunt u een commando zoals
apt-get source pakketnaam
gebruiken.
Wegens restricties in hun licentiebepalingen kan het zijn dat de broncode
van pakketten die zich in de gebieden "contrib" en "non-free" bevinden en
niet formeel deel uitmaken van het Debian-systeem, al dan niet beschikbaar
is. In sommige gevallen mogen enkel zogenaamde "binary blobs" zonder
broncode verdeeld worden (zie bijvoorbeeld
firmware-misc-nonfree
). In andere gevallen verbiedt de
licentie het verdelen van vooraf gebouwde binaire bestanden, maar laat toe
dat pakketten met broncode verdeeld worden die gebruikers lokaal kunnen
compileren (zie broadcom-sta-dkms
).
Pakketten worden in een grote 'pool' bijgehouden die gestructureerd is op basis van de naam van het bronpakket. Om dit beheersbaar te maken wordt de pool onderverdeeld volgens sectie ('main', 'contrib' en 'non-free') en volgens de eerste letter van de naam van het bronpakket. Deze mappen bevatten verschillende bestanden: de binaire pakketten voor elk van de architecturen en de bronpakketten waaruit de binaire pakketten gegenereerd werden.
U kunt de plaats van elk pakket te weten komen door een commando te
gebruiken zoals apt-cache showsrc pakketnaam
en dan te
kijken naar de regel 'Directory:'. De apache
-pakketten
liggen opgeslagen in pool/main/a/apache/
.
Daarbij komt nog dat lib*
-pakketten op eeen bijzondere
manier behandeld worden, omdat ze zo talrijk zijn. De libpaper-pakketten
worden bijvoorbeeld opgeslagen in
pool/main/libp/libpaper/
.
Nadat een ontwikkelaar een pakket geüpload heeft, blijft het voor een korte periode zitten in de map "incoming" waar nagegaan wordt of het authentiek is, voordat het toegelaten wordt in het archief.
Normaal zou niemand zaken uit die map moeten installeren. Voor die enkele zeldzame gevallen van hoogdringendheid evenwel, staat de map van binnenkomende pakketten (incoming) ter beschikking op https://incoming.debian.org/. U kunt handmatig pakketten ophalen, de GPG-ondertekening en de MD5sums controleren in de bestanden .changes en .dsc en ze dan installeren.
Old releases are removed from the main archive and mirrors, which only keep the content of the releases up to "oldstable" (the stable release before the current one). If you are interested in obtaining older versions of packages, go to https://snapshot.debian.org/.
The snapshot archive is a wayback machine that allows access to old packages based on dates and version numbers. It consists of all past and current packages the Debian archive provides. It provides a valuable valuable resource for tracking down when regressions were introduced, or for providing a specific environment that a particular application may require to run. The snapshot archive is accessible like any normal apt repository, allowing it to be easily used by all.
Indien u zelf een aantal Debian-pakketten gebouwd heeft die u wenst te installeren met behulp van de standaardgereedschappen voor pakketbeheer van Debian, dan kunt u uw eigen pakketarchief dat met apt gebruikt kan worden, opzetten. Dit is ook handig als u uw Debian-pakketten wenst te delen terwijl ze niet door het Debian-project verdeeld worden. Instructie over hoe u dit moet doen worden gegeven op de Debian Wiki.
[2] Toen het huidige sid nog niet bestond, vertoonde de organisatie van de FTP-site een belangrijke onvolkomenheid: er was de aanname dat wanneer een architectuur gecreëerd werd in het huidige unstable, die ook uitgebracht zou worden wanneer die distributie het nieuwe stable werd. Voor veel architecturen is dat niet het geval, met als gevolg dat deze mappen verplaatst moesten worden op het moment van de release. Dit was onpraktisch omdat het verplaatsen veel bandbreedte gebruikte.
De beheerders van het archief omzeilden gedurende vele jaren dit probleem door de binaire pakketten voor niet-uitgebrachte architecturen in een speciale map te plaatsen met de naam "sid". Voor deze nog niet uitgebrachte architecturen werd er de eerste maal dat zij uitgebracht werden, een link gemaakt van het huidige stable naar sid en vanaf dan werden ze, zoals normaal, aangemaakt binnen de boomstructuur van unstable. Voor gebruikers was deze indeling wat verwarrend.
Met de komst van pakket-pools (zie Paragraaf 6.10, “Wat is de map pool
?”) begon men
binaire pakketten te plaatsen op een geëigende locatie binnen de pool,
ongeacht de distributie. Daardoor brengt het uitbrengen van een distributie
geen groot bandbreedtegebruik meer met zich mee voor de spiegelservers (er
is echter tijdens het ontwikkelingsproces veel geleidelijk
bandbreedtegebruik).
[3]
dists/stable/main
,
dists/stable/contrib
,
dists/stable/non-free
en
dists/unstable/main/
, enz.
[4] Vroeger werden pakketten bewaard in een onderliggende map van
dists
die overeenkwam met de distributie waarin ze thuis
hoorden. Het bleek dat dit tot verschillende problemen leidde, zoals een
groot gebruik van bandbreedte door spiegelservers wanneer er belangrijke
wijzigingen aangebracht werden. Dit werd opgelost door het introduceren van
de pakketpool.
De dists
-mappen worden nog steeds gebruikt voor de
indexbestanden die door programma's zoals apt
gebruikt
worden.