Debian squeeze con pacchetti da sid how to

Vorrei un sistema con la stabilità di squeeze e i programmi aggiornati di sid… come fare? Ecco la soluzione rapida e indolore.

Come da titolo oggi il caro Black_Codec ha rilasciato un commento davvero interessante su disquss e ne ho voluto fare un articolo perché dopo aver provato quanto detto devo ammettere che funziona e alla grande e per tutti gli amanti dell’idea di Solus Os devo dire che la semplicità con cui è fatta questa guida renderà veramente semplice l’idea di farsi una propria distribuzione basata su debian squeeze e non aspettare che altri lo faccian per loro.

Allora diamo per scontato che si lavora su un’installazione di debian squeeze aggiornata. A questo punto andiamo ad editare il file sources.list ed aggiungiamo la riga relativa a sid nel mio caso utilizzando i repository hostati su garr ho:

deb http://mi.mirror.garr.it/mirrors/debian sid main contrib non-free

A questo punto andiamo a creare un file con un editor di testo dentro /etc/apt/ e lo chiamiamo preferences, nel file dobbiamo scrivere esattamente quanto segue:

Package: *

Pin: release a=stable

Pin-Priority: 200
Package: *

Pin: release a=unstable

Pin-Priority: -10

E salviamo, a questo punto diamo un bel sudo apt-get update && sudo apt-get upgrade per esser sicuri che tutto sia funzionante non dovreste ricevere aggiornamenti.

A questo punto se tutto è andato per il verso giusto possiamo installare qualsiasi pacchetto da unstable semplicemente digitando:

sudo apt-get -t unstable install

Apt cercherà di risolvere le dipendenze e le comunicherà.

Mediante il file preferences quando diremo ad apt di eseguire un aggiornamento non considererà i pacchetti presenti in unstable e non installati, cioè se su unstable verrà rilasciata la versione nuova di less e noi non abbiamo installato quella di sid ma bensì quella di squeeze questa non verrà aggiornata (a meno che l’aggiornamento non sia sulla versione di squeeze)…

Per semplificarci la vita possiamo tranquillamente scriptarci l’ultima parte creando ad esempio un file in /usr/bin/ chiamato installa a questo punto dentro ci scriviamo:

#! /bin/bash

repo=unstable

sudo apt-get -t $repo install $@

Salviamo e diamo da root il comando

chmod +x /usr/bin/installa

A questo punto se vogliamo installare software da sid/unstable basterà digitare da terminale: installa ad esempio:

installa less

oppure

installa less iceweasel mysql-server

Giocando con il file preferences è inoltre possibile specificare per ogni pacchetto la fonte da cui andarlo a pescare potremmo ad esempio voler che less venga sempre preso da unstable in questo caso dovremo aggiungere al file preferences semplicemente:

Package: less

Pin: release a=unstable

Pin-Priority: 300

E il gioco è fatto.

Ringrazio ancora una volta Black_Codec per il consiglio… e vi saluto.


StocaTheNoob