Sorgenti di test/instabili
I repository testing e unstable di Debian forniscono una versione superiore delle applicazioni software rispetto a quella presente nel repository stabile. Si noti che questi nomi sono in realtà alias tali che il repository stabile punta all'attuale versione stabile di Debian e il repository Testing è ciò che farà parte del prossimo rilascio stabile di Debian. Quindi, al momento di questo post, Wheezy 7.x è la versione stabile e Jessie è la sorgente di test che sarà la prossima versione stabile.
A volte, quando è necessario ottenere una versione più recente di una particolare applicazione, il repository testing/unstable è una buona opzione. Ho avuto il compito di installare Apache 2.4.x su un sistema Debian wheezy. Ma il repository aveva solo 2.2.x e il repository di test aveva la versione 2.4.x richiesta. Quindi la soluzione è prenderlo dal repository di test.
La maggior parte delle volte, quando cerchiamo versioni più recenti di applicazioni software, giocheremo solo con il repository "Testing".
Questo post ti mostrerà come configurare i sorgenti Testing e Unstable su un sistema Debian e come installare il software da essi, senza rompere il tuo sistema esistente.
Stable ... Testing ... Unstable Wheezy ... Jessie ... Sid
1. Imposta le fonti apt per test/repo instabili
Il primo passo è aggiungere le sorgenti testing/unstable al tuo file sources.list. Il file /etc/apt/sources.list su un sistema Debian wheezy è simile a questo per impostazione predefinita.
$ cat /etc/apt/sources.list
... deb http://security.debian.org/ wheezy/updates main deb http://http.us.debian.org/debian/ wheezy main deb-src http://security.debian.org/ wheezy/updates main ...
Annota l'URL del server del repository:http://http.us.debian.org/debian/
Questo server del repository è un mirror che si trova più vicino a te. Deve essere diverso nel tuo file sources.list. Lo stesso sarà utilizzato nei passaggi successivi
Per aggiungere i sorgenti di test e instabili devi aggiungere qualcosa di simile al tuo file sources.list
# Testing repository - main, contrib and non-free branches deb http://http.us.debian.org/debian testing main non-free contrib deb-src http://http.us.debian.org/debian testing main non-free contrib # Testing security updates repository deb http://security.debian.org/ testing/updates main contrib non-free deb-src http://security.debian.org/ testing/updates main contrib non-free # Unstable repo main, contrib and non-free branches, no security updates here deb http://http.us.debian.org/debian unstable main non-free contrib deb-src http://http.us.debian.org/debian unstable main non-free contrib
Il formato è
deb <respository server/mirror> <repository name> <sub branches of the repo>
Invece di testing/unstable si possono usare anche i nomi in codice corrispondenti jessie e sid
deb http://http.us.debian.org/debian jessie main non-free contrib deb http://security.debian.org/ jessie/updates main contrib non-free deb http://http.us.debian.org/debian sid main non-free contrib
2. Esegui un blocco appropriato - Importante!
After adding the testing and unstable repos, if you update the system then all available updates for all installed applications would be installed right away, leading the system to an unpredictable state.
Pertanto, è necessario impostare alcune regole per limitare la selezione dei pacchetti durante i normali aggiornamenti/aggiornamenti.
Questo viene fatto tramite "apt pinning" in cui diciamo al sistema apt di utilizzare solo il sistema stabile come sempre, ma possiamo scegliere di installare un pacchetto particolare dal repository testing o unstable se lo desideriamo.
Le preferenze di blocco apt possono essere configurate in uno dei seguenti 2 file.
/etc/apt/preferences OR /etc/apt/preferences.d/my_preferences
Apri una delle 2 posizioni (creane una se non esiste) e inserisci quanto segue nel file
Package: * Pin: release a=stable Pin-Priority: 700 Package: * Pin: release a=testing Pin-Priority: 650 Package: * Pin: release a=unstable Pin-Priority: 600
Menzionato in precedenza, stable punterà alla tua versione attuale di Debian, testare alla successiva e unstable sarebbe più lontano in futuro. La cosa principale da notare è la priorità. Alla versione stabile/corrente è stata assegnata la priorità più alta, il che significa che per le attività regolari apt-get installerà i pacchetti solo dal repository stabile corrente (in questo caso sibilante).
Aggiorna la cache del pacchetto
Dopo aver aggiunto il nuovo repository e specificato le regole di blocco, aggiorna la cache del pacchetto.
$ sudo apt-get update
Conferma la norma apt
Dobbiamo assicurarci che la configurazione di blocco sia corretta e che le priorità siano soddisfatte correttamente. Controlla la politica apt efficace con il comando apt-cache
$ apt-cache policy apache2 apache2: Installed: (none) Candidate: 2.2.22-13 Version table: 2.4.7-1 0 600 http://http.us.debian.org/debian/ unstable/main amd64 Packages 2.4.6-3 0 650 http://http.us.debian.org/debian/ testing/main amd64 Packages 2.2.22-13 0 700 http://http.us.debian.org/debian/ wheezy/main amd64 Packages
L'output di cui sopra conferma che la versione 2.2.22 ( the wheezy main/stable ) è selezionata, la sua priorità più alta.
3. Installa app da sorgenti di test/instabili
Ora è il momento di scegliere un pacchetto particolare dal repository di test o instabile e installarlo. Quindi diciamo che vogliamo installare apache2 dal sorgente di test.
Ci sono 2 modi per farlo e ognuno ha un effetto diverso.
Metodo 1
# apt-get install apache2/testing
Il comando precedente installerà il pacchetto apache2 dall'origine di test e installerà le dipendenze da un'origine stabile (o qualunque cosa contenga la politica apt). Questo comando ha esito negativo in situazioni in cui le dipendenze sono obsolete rispetto a ciò di cui ha bisogno il pacchetto di installazione (apache2).
Metodo 2
# apt-get -t testing install apache2
Il comando precedente installerà apache2 dall'origine di test e installerà anche tutte le dipendenze dall'origine di test. Questo dovrebbe funzionare meglio del comando precedente.
Quindi, per installare la versione più recente di qualsiasi pacchetto, vai semplicemente verso le sorgenti testing/unstable e divertiti. Nota che i numeri di priorità non sono solo numeri semplici, ma hanno significati speciali. Controlla la pagina man sulle preferenze apt per saperne di più su di esse
$ man 5 apt_preferences
Riepilogo
L'uso del repository testing/unstable con il pinning è un modo semplice per ottenere versioni più recenti dei pacchetti, ma non è consigliato. Se fatto male, può rovinare il sistema estraendo pacchetti da diversi rami che potrebbero non essere compatibili.
Un metodo più consigliato per installare i pacchetti aggiornati consiste nell'usare il repository backports. Fornisce versioni più recenti di pacchetti selezionati da testing/unstable repository, ma compilate per l'attuale versione stabile. Quindi su debian wheezy puoi usare il repository wheezy-backports. Controlla http://backports.debian.org/ per maggiori informazioni.
Risorse
https://wiki.debian.org/AptPreferences
https://wiki.debian.org/DebianTesting
https://www.debian.org/security/