Come installare alcuni pacchetti da Debian "instabile" su un computer che esegue Debian "stabile"?


14

Su un computer che esegue Debian "stabile", quando provo ad installare un pacchetto che si trova nell'elenco instabile sul sito web Debian usando il aptitude install <package>/unstablecomando, ottengo un output simile a questo:

Couldn't find any package whose name or description matched "<package>"
Couldn't find any package whose name or description matched "<package>"
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.

Cosa posso fare per poter installare pacchetti "instabili"? (Ho pensato di aggiungere il repository a sources.list, ma non voglio che tutto inizi a essere installato da "unstable").

Quindi: come posso installare pacchetti instabili (usando /stablealla fine del nome del pacchetto)?


Vedi unix.stackexchange.com/q/112157/4671 per una risposta approfondita a questa domanda.
Faheem Mitha,

1
Versione breve: No. Versione più lunga: non farlo . Usa i backport se devi, ma non mescolare stabile / instabile.
Shadur,

Credo che questo sia chiamato "FrankenDebian": "Debian Stable non dovrebbe essere combinato con altre versioni. Se stai cercando di installare un software che non è disponibile nell'attuale versione di Debian Stable, non è una buona idea aggiungere repository per altre versioni di Debian. I problemi potrebbero non verificarsi subito, ma alla prossima installazione degli aggiornamenti. " Da Non spezzare Debian .
Malan,

Risposte:


29

Devi aver unstableelencato nel tuo sources.list. Altrimenti apt semplicemente non troverà il pacchetto.

Per evitare che i unstablepacchetti vengano ritirati, hai due modi.

  • Il modo più semplice è aggiungere una Default-Releaseclausola a /etc/apt/apt.conf(o ad un file sotto /etc/apt/apt.conf.d/, ad es /etc/apt/apt.conf.d/my-default-release.).

    APT::Default-Release "stable";
    
  • Il modo più difficile è usare le preferenze APT . In /etc/apt/preferences:

    Package: *
    Pin: release o=Debian,a=unstable
    Pin-Priority: 10
    

Nota che per la maggior parte della vita di una versione di Debian, non è pratico installare la maggior parte dei pacchetti da unstable su un sistema stabile, perché trarranno molte librerie da unstable e finirai con un sistema instabile. Se vuoi eseguire unstable, ti farà risparmiare problemi solo per target unstable (o testing). È meglio attenersi a una singola versione o testare con l'instabile occasionale se ti senti audace. E ovviamente, su un sistema di produzione, attenersi alla stabilità.

Se stai eseguendo stabile ma hai bisogno di una versione più recente di un'applicazione, per prima cosa controlla se esiste un backport per loro. Altrimenti, se si desidera installare un pacchetto da unstable ma non è necessario estrarre le sue dipendenze, provare a ottenere l'origine da unstable e ricompilare.

apt-get source foo=1.42
apt-get build-dep foo  # pulls the dependencies of foo in stable but that's often good enough
dpkg-source -x foo_1.42.dsc
cd foo-1.4210126#10126
dpkg-buildpackage -rfakeroot -us -uc -b -nc
dpkg -i ../foo_1.42_$(arch).deb

2
+1 per menzionare i backport, ma dovresti davvero sottolineare con più enfasi che mescolare stabile / instabile è davvero dannatamente pericoloso e se non sai cosa stai facendo non dovresti farlo su un sistema di produzione .
Shadur
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.