Repository e Pinning
22 febbraio 2011 Lascia un commento
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: 900Package: *
Pin: release a=testing
Pin-Priority: 850Package: *
Pin: release a=unstable
Pin-Priority: 800Package: *
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
