Traduzioni: English - Français - Italiano - Русский - Svenska
Un repository Debian è un insieme di pacchetti Debian sorgente o binari organizzati in uno speciale albero di directory, insieme a vari file aggiuntivi di infrastruttura: somme di controllo, indici, firme, traduzioni delle descrizioni, ... I computer client possono connettersi al repository per scaricare e installare i pacchetti usando uno strumento di gestione dei pacchetti basato su Apt.
Contents
Anatomia di un repository
La descrizione che segue è per lo più per coloro che navigano un repository usando un browser web standard e si chiedono cosa ci sia e dove sia, e come il tutto funzioni nel suo complesso. Una descrizione più precisa e tecnica è contenuta in Format.
Un repository Debian contiene diversi rilasci. I rilasci di Debian prendono il nome da personaggi dei film della serie "Toy Story" (wheezy, jessie, stretch, ...). I nomi in codice hanno alias, le cosiddette suites (stable, oldstable, testing, unstable). Un rilascio è diviso in varie componenti. In debian queste si chiamano main, contrib e non-free e il nome indica i termini delle licenze del software che contengono. Un rilascio ha anche pacchetti per varie architetture (amd64, i386, mips, powerpc, s390x, ...), oltre e pacchetti sorgente ed indipendenti dall'architettura.
La directory radice di un repository contiene una directory dists che a sua volta contiene una directory per ciascun rilascio e suite, con le seconde che solitamente sono collegamenti simbolici ai primi, ma un browser non mostra la differenza. Ogni sottodirectory di rilascio contiene un file Release firmato crittograficamente e una directory per ciascuna componente. All'interno di queste ci sono directory per le diverse architetture, chiamate binary-<arch> e sources. In queste poi vi sono file Packages che sono file di testo che contengono i metadati dei pacchetti. In tutto questo, dove sono allora i veri pacchetti?
I pacchetti veri e propri sono in pool nella directory radice del repository. Dentro a pool ci sono, ancora una volta, directory per tutte le componenti e in queste directory con nomi del tipo 0, ..., 9, a, b, ... z, liba, ... , libz. In esse poi ci sono directory che prendono il nome dal pacchetto software che contengono e queste, finalmente, contengono i pacchetti effettivi, cioè i file .deb. Il nome non è necessariamente il nome del pacchetto stesso; il pacchetto bsdutils, ad esempio, è contenuto nella directory pool/main/u/util-linux, è il nome del sorgente da cui viene generato il pacchetto. Un unico pacchetto sorgente a monte, può generare svariati pacchetti binari, e tutti questi sono contenuti nella stessa sottodirectory all'interno di pool. Le directory aggiuntive con nome di una sola lettera sono solamente un trucco per evitare di avere troppe voci in un'unica directory, il che è una cosa con cui molti sistemi tradizionalmente hanno problemi di prestazioni.
Nelle directory terminali sotto pool ci sono generalmente più versioni di un pacchetto e le informazioni riguardante a quali rilasci appartenga una versione sono contenute solamente negli indici. In questo modo la stessa versione di un pacchetto può appartenere a più rilasci ma occupa spazio solo una volta e senza dover ricorrere a collegamenti simbolici o fisici, perciò creare mirror è piùttosto semplice e funziona anche con sistemi che non hanno tali concetti.
Mirror
Il repository ufficiale dei pacchetti Debian ha mirror in tutto il mondo.
Il sito Debian contiene una lista ufficiale di mirror Debian
Esiste anche una lista di repository non ufficiali che contiene vario software aggiuntivo
Esiste un Team che si occupa dei mirror.
Elenchi dei pacchetti
Per navigare l'elenco dei pacchetti Debian raggruppati per categoria, si possono guardare stable, testing, unstable e varie altri elenchi o cercare nella homepage dei pacchetti
Lavorare con i repository
Lavorare con un repository può voler dire due cose diverse: 1. Si può usare un repository con la famiglia di programmi apt (apt, apt-get, apt-cache, aptitude), per sfogliare o installare i pacchetti. 1. Si può configurare da sé un repository e aggiungervi e rimuovervi pacchetti.
Usare un repository
Usare un repository è piuttosto semplice: per il repository Debian ufficiale aprire /etc/apt/sources.list, inserire la riga
deb http://ftp.debian.org/debian stable main contrib non-free
poi eseguire
apt update
(Naturalmente come utente root o usando sudo). Si può anche prendere in considerazione l'utilizzo di URL come:
http://ftp.<CC>.debian.org/debian per usare una posizione più vicina nella rete.
http://deb.debian.org/debian per far sì che un CDN scelga il mirror più vicino alla propria posizione (ulteriori informazioni qui)
Per i repository Debian ufficiali è sufficiente questa semplice procedure. La pagina su [it/SourcesList|SourcesList] contiene ulteriori informazioni sulle voci per sources.list. Per altri repository di terze parti, è consigliabile seguire questa eccellente guida per ridurre il rischio di esporre il proprio sistema ad un repository mantenuto senza le dovute accortezze.
Impostare e mantenere un repository
Ci sono vari motivi per creare un repository da sé. Si possono avere alcuni pacchetti con modifiche locali che si possono voler rendere disponibili con apt, si può voler eseguire un mirror locale con i pacchetti che sono usati da diverse macchine per risparmiare banda o si possono creare pacchetti propri e si può volere testarli prima di pubblicarli.
Un elenco esaustivo di strumenti per impostare un repository
Confronto tra le funzionalità di vari software che gestiscono repository (incompleto)
Guida su come impostare un repository con reprepro
Come creare un pacchetto e un repository con mini-dinstall