Repository e Pinning

Una delle cose più importanti riguardo Debian è l’utilizzo di diversi repository del software. L’argomento è piuttosto complicato e tuttora non sono sicuro al 100% di tutti gli aspetti, ma da quanto ho capito esistono varie release dei repository, a seconda che desideriamo una distribuzione che sia:

  • Stable
  • Testing
  • Unstable
  • Experimental

Nell’ordine il software sarà appunto stabile, con pochissimi rilasci di nuove versione per avere appunto una distribuzione stabile, oppure per eccesso una distribuzione sperimentale, in cui i vari pacchetti sono appena rilasciati (ovviamente questa è solo un ipotesi, è caldamente sconsigliato usare la experimental come base, perchè il sistema potrebbe essere compromesso irrimediabilmente).
Una volta scelta la release da utilizzare bisogna andare a modificare come utente root il file:

gedit /etc/apt/sources.list

inserendo i repository di base per la sicurezza:

# — Sicurezza –
deb http://security.debian.org/ squeeze/updates main contrib non-free

e per la release personalmente ho messo:

deb http://ftp.it.debian.org/debian/ testing main contrib non-free

dove al posto di testing potete mettere appunto stable oppure unstable o (sconsigliatissimo) experimental.
Questo andrebbe a risolvere il tutto. Esiste però un altra opzione, utilizzare una via di mezzo tra le diverse release. Per esempio si potrebbe voler utilizzare i pacchetti di base come stable o al massimo testing, mentre per avere software recente la unstable. Per fare questo esiste un metodo per apt-get che si chiama Pinning.
Il pinning permette di assegnare un punteggio ad ogni pacchetto, a seconda della release dalla quale viene preso. Nel caso di conflitti dovuti alla versione viene preso quello con valore più alto.
Per inserire il pinning bisogna editare il file:

gedit /etc/apt/preferences

creandolo inserendo:

Package: *
Pin: release a=stable
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

Nell’esempio classico andremo ad avere così una distribuzione più stabile. Modificando i numeri potremo cambiare la situazione a nostro piacimento.
Occorre modificare anche un altro file, creandolo:

gedit /etc/apt/apt.conf

inserendo:

APT::Default-Release “testing”;
APT::Cache-Limit 24000000;
Apt::Get::Purge;
APT::Clean-Installed;
APT::Get::Fix-Broken;
APT::Get::Fix-Missing;
APT::Get::Show-Upgraded “true”;
APT::Force-LoopBreak=true;
APT::Get::AllowUnauthenticated 1;

I vari parametri indicano che utilizzeremo principalmente la versione testing, indichiamo quanto ampia può essere la cache ed il comportamento dell’applicazione nei vari casi.
Fatto questo possiamo lanciare il comando:

apt-get update

e verificarne i risultati.

Fonti:
MirkoPagliai
Debianizzati
Debianizzati Apt
Debian Wiki

man apt-get
NAME
apt-get - APT package handling utility -- command-line interface

Lascia un Commento

Fill in your details below or click an icon to log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Log Out / Modifica )

Foto Twitter

You are commenting using your Twitter account. Log Out / Modifica )

Foto di Facebook

You are commenting using your Facebook account. Log Out / Modifica )

Connecting to %s

Iscriviti

Get every new post delivered to your Inbox.