GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso eseguire Debian stable ma installare alcuni pacchetti da testing?

Soluzione 1:

Molte persone sembrano aver paura di mischiare stable con testing, ma francamente testing è abbastanza stabile di per sé, e con le preferenze adeguate e il controllo della soluzione, puoi evitare la "deriva di stabilità" che mette i tuoi pacchetti core sul percorso instabile.

"Il test è abbastanza stabile??" , tu chiedi. Sì. Affinché un pacchetto possa migrare da unstable a testing, deve avere zero bug aperti per 10 giorni consecutivi. È probabile che, specialmente per i pacchetti più popolari, qualcuno invierà una segnalazione di bug per una versione instabile se qualcosa non va.

Anche se non vuoi mescolare gli ambienti, è comunque bello avere l'opzione lì nel caso in cui ti imbatti in qualcosa che richiede una versione più recente di quella che è stabile.

Ecco cosa ti consiglio per configurarlo:

Innanzitutto, crea i seguenti file in /etc/apt/preferences.d :

stable.pref :

# 500 <= P < 990: causes a version to be installed unless there is a
# version available belonging to the target release or the installed
# version is more recent

Package: *
Pin: release a=stable
Pin-Priority: 900

testing.pref :

# 100 <= P < 500: causes a version to be installed unless there is a
# version available belonging to some other distribution or the installed
# version is more recent

Package: *
Pin: release a=testing
Pin-Priority: 400

unstable.pref :

# 0 < P < 100: causes a version to be installed only if there is no
# installed version of the package

Package: *
Pin: release a=unstable
Pin-Priority: 50

experimental.pref :

# 0 < P < 100: causes a version to be installed only if there is no
# installed version of the package

Package: *
Pin: release a=experimental
Pin-Priority: 1

(Non aver paura delle cose unstable/experimental qui. Le priorità sono abbastanza basse da non installare mai automaticamente nessuna di quelle cose. Anche il ramo testing si comporterà, poiché installerà solo i pacchetti che vuoi essere in fase di test.)

Ora creiamo un set corrispondente per /etc/apt/sources.list.d :

stable.list :Copia dal tuo /etc/apt/sources.list originale . Rinomina il vecchio file in qualcosa come sources.list.orig .

testing.list :Uguale a stable.list , tranne con testing .

unstable.list :Uguale a stable.list , tranne con unstable e rimuovere gli elenchi di sicurezza.

experimental.list :Uguale a unstable.list , tranne con experimental .

Puoi anche aggiungere un oldstable in sources.lists.d e preferences.d (usa una priorità di 1), anche se questo moniker tenderà a scadere e scomparire prima del prossimo ciclo stabile. In casi del genere, puoi usare http://archive.debian.org/debian/ e "hardcode" la versione Debian (etch, lenny, ecc.).

Per installare la versione di prova di un pacchetto, usa semplicemente aptitude install lib-foobar-package/testing , o semplicemente entra nella GUI di aptitude e seleziona la versione all'interno dei dettagli del pacchetto (premi invio sul pacchetto che stai guardando).

Se ricevi lamentele per conflitti tra pacchetti, guarda prima le soluzioni. Nella maggior parte dei casi, il primo sarà "non installare questa versione". Impara a utilizzare le opzioni di risoluzione accetta/rifiuta per pacchetto. Ad esempio, se stai installando foobar-package/testing e la prima soluzione è "non installare foobar-package/testing", contrassegna quella scelta come rifiutata e le altre soluzioni non torneranno mai più su quel percorso. In casi come questi, probabilmente dovrai installare alcuni altri pacchetti di test.

Se sta diventando troppo peloso (come se stesse cercando di aggiornare libc o il kernel o qualche altro enorme sistema centrale), allora puoi rifiutare quei percorsi di aggiornamento o semplicemente uscire dall'aggiornamento iniziale del tutto. Ricorda che aggiornerà le cose a testing/unstable solo se lo permetti.

EDIT:corretti alcuni pin prioritari e aggiornato l'elenco.

Soluzione 2:

In /etc/apt/apt.conf.d aggiungi il seguente file

99defaultrelease :

APT::Default-Release "stable";

in /etc/apt/sources.list.d - aggiungi URL per fonti test/instabili

stable.list :

deb     http://ftp.de.debian.org/debian/    stable main contrib non-free
deb-src http://ftp.de.debian.org/debian/    stable main contrib non-free

deb     http://security.debian.org/         stable/updates  main contrib non-free

testing.list :

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

deb     http://security.debian.org/         testing/updates  main contrib non-free

corri

apt-get update

e quindi installa ciò di cui hai bisogno con

apt-get -t testing install something

Fai molta molta attenzione se installi cose che hanno molte dipendenze. Preferibilmente non farlo in produzione.

Puoi anche tentare la fortuna con backport o repository simili.

Soluzione 3:

apt_preferences

Definire il livello predefinito a cui il sistema deve eseguire l'"aggiornamento sicuro" nel file /etc/apt/preferences:
man apt_preferences

C'è molto che puoi fare con apt_preferences ma per semplicità...

Avevo bisogno di installare un singolo pacchetto (autoMysqlBackup) disponibile solo in Testing. La soluzione era aggiungere quanto segue a /etc/apt/preferences:

Explanation: Uninstall or do not install any Debian-originated
Explanation: package versions other than those in the stable distro
Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release o=Debian
Pin-Priority: -10

Con più repository aggiunti a /etc/apt/sources.list, ora aptitude eseguirà l'upgrade solo alla versione specificata anche se sono elencati i repository della versione successiva (in questo caso 'stable').

deb http://mirror.aarnet.edu.au/debian/ lenny main
deb-src http://mirror.aarnet.edu.au/debian/ lenny main
deb http://mirror.aarnet.edu.au/debian/ squeeze main
deb-src http://mirror.aarnet.edu.au/debian/ squeeze main

Quindi per installare quel pacchetto, tutto ciò che devi fare è:

$ aptitude install -t testing packageName 

Soluzione 4:

Per quello che vale, il consiglio generale che ho sempre visto è "Non mescolare stabile con niente". La maggior parte dei tutorial sui sistemi misti serve per mescolare testing e unstable.

Il ragionamento sembra essere che se mescoli stable con testing, pacchetti molto basilari (come libc6) richiederanno aggiornamenti (per installare il software da testing), e una volta che questi pacchetti di base passano a testing, l'intero sistema può spostarsi in quel modo.

Ecco due alternative:

  1. Utilizza backport.
  2. Installa una riga di codice sorgente da testing e prova a creare la versione successiva che desideri da sorgente.

Soluzione 5:

La documentazione di Debian è ampia sull'argomento e consiglio vivamente di scavare perché svelerà davvero la bellezza del sistema Debian.

Dai un'occhiata a Come mantenere un sistema misto, ti spiegherà tutto quello che devi sapere.


Linux
  1. Come installare Java su Debian 9

  2. Come installare pacchetti da un repository specifico in Linux

  3. Debian:come installare un singolo pacchetto da Debian Testing o Unstable su Stable?

  4. Debian:come installare alcuni pacchetti da Debian "unstable" su un computer che esegue Debian "stable"?

  5. Come installare l'editor nano dal codice sorgente

Come installare l'ultima versione di LibreOffice su Debian 10

Come installare la versione principale di Nginx su Debian 9

Come installare Git su Debian 10?

Se posso, come installare Ubuntu da Ubuntu?

Come installare l'agente Zabbix versione 3.0 su Debian 9 (strech)?

Come installare l'agente Zabbix versione 4.0 su Debian 9 (strech)?