Come posso specificare il repository da cui verrà installato un pacchetto? (Emacs-snapshot)


Risposte:


19

È possibile specificare un repository con -topzione. Ad esempio, ho aggiunto il seguente repository /etc/apt/sources.listper installare l'ultima versione di Iceweasel:

deb http://mozilla.debian.net/ squeeze-backports iceweasel-release

Come sapete, esiste un pacchetto identico iceweaselnel repository Debian ufficiale. Se voglio installare Iceweasel da questo specifico repository, corro:

apt-get install -t squeeze-backports iceweasel

dalla pagina di manuale di apt-get:

-t, --target-release, --default-release
           This option controls the default input to the policy engine, it creates a default pin at priority 990 using the specified
           release string. This overrides the general settings in /etc/apt/preferences. Specifically pinned packages are not affected by
           the value of this option. In short, this option lets you have simple control over which distribution packages will be retrieved
           from. Some common examples might be -t '2.1*', -t unstable or -t sid. Configuration Item: APT::Default-Release; see also the
           apt_preferences(5) manual page.

Penso che questa sia una soluzione migliore,

Fonte da: /ubuntu/27362/how-to-only-install-updates-from-a-specific-repository/57749#57749


sì, la tua soluzione è migliore della mia.
elviejo79,

1
Cosa succede se non si desidera aggiungere la suddetta fonte nel proprio sources.list?
LittleNooby,

12

Ho trovato una soluzione alternativa. Per prima cosa dovevo trovare i repository che avevano il pacakage:

$ apt-cache showpkg emacs-snapshot
Package: emacs-snapshot
Versions: 
1:20100111-1~lenny1 (/var/lib/apt/lists/emacs.orebokech.com_dists_lenny_main_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/emacs.orebokech.com_dists_lenny_main_binary-amd64_Packages
                  MD5: 906df684c212eabe267e6b5c2e8c2032

1:20090909-1 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_karmic_universe_binary-amd64_Packages)
 Description Language: 
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_karmic_universe_binary-amd64_Packages
                  MD5: 906df684c212eabe267e6b5c2e8c2032


Reverse Depends: ...
...

Nelle versioni: sezione. Vedo le versioni che provengono da diversi repository:

  • 1: 20.100.111-1 ~ lenny1
  • 1: 20.090.909-1

Quindi ora diciamo a apt o aptitude di installare quella versione specifica:

$ sudo aptitude install emacs-snapshot=1:20100111-1~lenny1

nome-pacchetto = nome_ versione

Vittoria.

Non so ancora come usare un repository specifico. Ma in questo caso era sufficiente una versione specifica.


1

Esiste un file delle preferenze per apt. Penso che si trovi in ​​/ etc / apt, ma non è sicuro al 100%. Lì puoi impostare la priorità per un pacchetto da un repository su un valore superiore rispetto allo stesso pacchetto dal repository Ubunto. Per la sintassi esatta, cerca in man apt-get. Modifica il file, quindi installalo come di consueto con apt-get, recupererà dall'origine con la massima priorità. Assicurati solo in anticipo che il pacchetto da quel repository sia compilato per la tua distribuzione (ad es. Un binario debian può cercare dipendenze nei posti sbagliati) e per la tua versione del kernel (questo cambia abbastanza spesso durante il ciclo di vita di una versione di Ubuntu). Altrimenti è un caso se funzionerà.

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.