Old:APT uso avanzato: mixare releases diverse: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
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 contrib
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 contrib
deb http://ftp.it.debian.org/debian/ unstable main contrib non-free


###  Debian Ufficiale -- Experimental
###  Debian Ufficiale -- Experimental
deb http://ftp.debian.org/debian/ ../project/experimental main
deb http://ftp.it.debian.org/debian/ experimental main contrib non-free


### Multimedia -- Audio -- Rarewares
### Multimedia -- Marillat
deb http://www.rarewares.org/debian/packages/unstable ./
deb http://www.deb-multimedia.org testing main non-free
 
deb http://www.deb-multimedia.org sid main non-free
### Multimedia -- Video -- Marillat
deb ftp://ftp.nerim.net/debian-marillat/ etch main
deb ftp://ftp.nerim.net/debian-marillat/ sid main
</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 separati che terminano con .list. Il
       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

Debian-swirl.png 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

Repository & pinning




Guida scritta da: Keltik Swirl-auth40.png Debianized 40%
Estesa da:
Nest
Verificata da:
~ The Noise

Verificare ed estendere la guida | Cos'è una guida Debianized