Old:APT uso avanzato: mixare releases diverse: differenze tra le versioni
m (→Impostare i repository: aggiornati repo) |
|||
Riga 17: | Riga 17: | ||
<pre> | <pre> | ||
### Debian Ufficiale -- Testing | ### Debian Ufficiale -- Testing | ||
deb http://ftp.it.debian.org/debian/ testing main non-free | deb http://ftp.it.debian.org/debian/ testing main contrib non-free | ||
### Debian Ufficiale -- Testing Sicurezza | ### Debian Ufficiale -- Testing Sicurezza | ||
Riga 23: | Riga 23: | ||
### Debian Ufficiale -- Sid | ### Debian Ufficiale -- Sid | ||
deb http://ftp.it.debian.org/debian/ unstable main non-free | deb http://ftp.it.debian.org/debian/ unstable main contrib non-free | ||
### Debian Ufficiale -- Experimental | ### Debian Ufficiale -- Experimental | ||
deb http://ftp.debian.org/debian | deb http://ftp.it.debian.org/debian/ experimental main contrib non-free | ||
### Multimedia -- | ### Multimedia -- Marillat | ||
deb http://www. | deb http://www.deb-multimedia.org testing main non-free | ||
deb http://www.deb-multimedia.org sid main non-free | |||
deb | |||
</pre> | </pre> | ||
In alternativa, invece di editare il file <code>/etc/apt/sources.list</code>, è possibile aggiungere nuovi files nella directory <code>/etc/apt/sources.list.d/</code>: dal manuale <code>man sources.list</code> | In alternativa, invece di editare il file <code>/etc/apt/sources.list</code>, è possibile aggiungere nuovi files nella directory <code>/etc/apt/sources.list.d/</code>: dal manuale <code>man sources.list</code> | ||
<pre> La directory /etc/apt/sources.list.d fornisce un metodo per aggiungere | <pre> La directory /etc/apt/sources.list.d fornisce un metodo per aggiungere | ||
voci di sources.list in file | voci di sources.list in file separati che terminano con .list. Il | ||
formato è il medesimo del file sources.list regolare. | formato è il medesimo del file sources.list regolare. | ||
</pre> | </pre> | ||
Fare attenzione al nome dei file: deve terminare con '''.list''' . | Fare attenzione al nome dei file: deve terminare con '''.list'''. | ||
== Configurare apt == | == Configurare apt == |
Versione delle 23:28, 17 mag 2013
Versioni Compatibili Tutte le versioni supportate di Debian |
Introduzione
Spesso abbiamo la necessità di installare la nuova versione di un pacchetto di cui proprio non possiamo fare a meno, che però non è disponibile per il rilascio di Debian che abbiamo installato.
Il caso più frequente è probabilmente quello di un'installazione di Testing con la necessità di installare anche pacchetti presenti solo in Unstable o in Experimental, oppure di voler usare un repository con pacchetti particolari, ma compilati per una release di Debian diversa dalla nostra.
APT è nostro fido alleato anche in questi frangenti, permettendoci di utilizzare fonti per pacchetti di release diverse (e soddisfarne le dipendenze) senza costringerci ad un upgrade dell'intera distribuzione e senza dover impazzire per risolvere conflitti e inconsistenze. Questa caratteristica è definita anche apt-pinning, dal pin che si imposta nel file /etc/apt/preferences
.
In questo how-to mostrerò come utilizzare pacchetti Debian provenienti da Testing, Unstable, Experimental, Marillat (multimedia/video) e Rarewares.org (multimedia/audio), ma le istruzioni sono facilmente riportabili anche ad altre situazioni (unstable + experimental, stable + testing, stable + unstable, stable + testing + unstable, ecc...).
Impostare i repository
Assicuriamoci di essere l'utente root e procediamo.
Per prima cosa editiamo il file /etc/apt/sources.list
ed inseriamo gli archivi dei pacchetti Debian che utilizzeremo:
### Debian Ufficiale -- Testing deb http://ftp.it.debian.org/debian/ testing main contrib non-free ### Debian Ufficiale -- Testing Sicurezza deb http://security.debian.org/ testing/updates main contrib non-free ### Debian Ufficiale -- Sid deb http://ftp.it.debian.org/debian/ unstable main contrib non-free ### Debian Ufficiale -- Experimental deb http://ftp.it.debian.org/debian/ experimental main contrib non-free ### Multimedia -- Marillat deb http://www.deb-multimedia.org testing main non-free deb http://www.deb-multimedia.org sid main non-free
In alternativa, invece di editare il file /etc/apt/sources.list
, è possibile aggiungere nuovi files nella directory /etc/apt/sources.list.d/
: dal manuale man sources.list
La directory /etc/apt/sources.list.d fornisce un metodo per aggiungere voci di sources.list in file separati che terminano con .list. Il formato è il medesimo del file sources.list regolare.
Fare attenzione al nome dei file: deve terminare con .list.
Configurare apt
A questo punto dobbiamo preparare due file normalmente non presenti sulla nostra debianbox: si tratta dei file /etc/apt/preferences
e /etc/apt/apt.conf
.
Questi due file istruiranno APT su come gestire le dipendenze dei pacchetti, informandolo su come comportarsi in caso di conflitti e altri problemi.
Anche in questo caso, come per /etc/apt/sources.list
, è possibile creare dei files nelle directory /etc/apt/preferences.d/
e /etc/apt/apt.conf.d/
, anzichè editare /etc/apt/preferences
e /etc/apt/apt.conf
.
Vedere il manuale di apt_preferences
e apt.conf
per approfondimenti.
Il file preferences
Creiamo il file /etc/apt/preferences
:
# touch /etc/apt/preferences
editiamolo col nostro editor di fiducia e inseriamo queste direttive:
Package: * Pin: release o=Unofficial Multimedia Packages Pin-Priority: 950 Package: * Pin: release o=xmixahlx Pin-Priority: 900 Package: * Pin: release a=testing Pin-Priority: 850 Package: * Pin: release a=unstable Pin-Priority: 800 Package: * Pin: release a=experimental Pin-Priority: 750
Il pinning può essere orientato ad un archivio, un'origine, la versione di un pacchetto, un componente, ecc...
Con "o=" si specifica l' origine (la distribuzione) del pacchetto, con "a=" l'archivio (sarge, sid, stable, ecc...).
Questo dato è reperibile in modo inequivocabile attraverso APT, andando a sbirciare all'interno del file "Release" che è contenuto in tutti i repository ufficiali. Per archivi personali e/o non ufficiali, invece, non è sempre e necessariamente presente (purtroppo).
Vediamo alcuni esempi:
# cd /var/lib/apt/lists # cat www.rarewares.org_debian_packages_unstable_._Release Archive: unstable Origin: xmixahlx Label: xmixahlx_rarewares-unstable Architecture: i386 # cat ftp.nerim.net_debian-marillat_dists_testing_main_binary-i386_Release Archive: testing Component: main Origin: Unofficial Multimedia Packages Label: Unofficial Multimedia Packages Architecture: i386
Dove:
- Archive = è l'archivio Debian a cui i pacchetti appartengono (ad es.: stable, testing. ecc...);
- Component = indica il tipo di componente (ad es.: main, contrib, non-free);
- Origin = specifica il proprietario del repository;
- Label = identifica il repository: potete inserire descrizioni, ecc...;
- Architecture = l'architettura dei pacchetti contenuti nel repository (ad es.: i386, sparc, source, ecc...).
Possiamo vedere che nel file Release è contenuto proprio il dato che stavamo cercando: Origin.
Il file apt.conf
Ora creiamo il file /etc/apt/apt-conf
# touch /etc/apt/apt.conf
editiamolo inserendo quanto segue:
APT::Default-Release "testing"; APT::Cache-Limit 15000000; Apt::Get::Purge; APT::Clean-Installed; APT::Get::Fix-Broken; APT::Get::Fix-Missing; APT::Get::Show-Upgraded "true";
Facciamo l'update del database dei pacchetti:
# apt-get update
D'ora in avanti avremo due possibilità per installare un nuovo pacchetto: il metodo che usiamo di solito e cioè:
# apt-get install nome_pacchetto
che utilizzerà pacchetti proveniente dalla versione impostata come Default-Release in apt.conf, oppure il comando
# apt-get install -t versione_di_debian nome_pacchetto
che provvederà a installare il pacchetto da noi richiesto per la versione specificata (versione_debian), risolvendo automaticamente le dipendenze.
Happy debian!
Pagine correlate
Guida scritta da: Keltik | Debianized 40% |
Estesa da: | |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |