Je veux installer emacs-snapshot depuis http://emacs.orebokech.com Mais il y a déjà un emacs-snapshot dans les référentiels d'Ubuntu.
Comment puis-je spécifier le référentiel à partir duquel un package sera installé?
Je veux installer emacs-snapshot depuis http://emacs.orebokech.com Mais il y a déjà un emacs-snapshot dans les référentiels d'Ubuntu.
Comment puis-je spécifier le référentiel à partir duquel un package sera installé?
Réponses:
Vous pouvez spécifier un référentiel avec -t
option. À titre d'exemple, j'ai ajouté le référentiel suivant /etc/apt/sources.list
pour installer la dernière version d'Iceweasel:
deb http://mozilla.debian.net/ squeeze-backports iceweasel-release
Comme vous le savez, il y a le même paquet iceweasel
dans le dépôt Debian officiel. Si je veux installer Iceweasel à partir de ce dépôt spécifique, je lance:
apt-get install -t squeeze-backports iceweasel
à partir de la page de manuel 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.
Je pense que c'est une meilleure solution,
Source: /ubuntu/27362/how-to-only-install-updates-from-a-specific-repository/57749#57749
J'ai trouvé une solution de contournement. J'ai d'abord eu besoin de trouver les dépôts qui avaient le 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: ...
...
Dans la section Versions:. Je vois les versions qui proviennent de différents référentiels:
Alors maintenant, nous disons simplement à apt ou aptitude d'installer cette version spécifique:
$ sudo aptitude install emacs-snapshot=1:20100111-1~lenny1
nom-package = nom_version
La victoire.
Je ne sais toujours pas comment utiliser un référentiel spécifique. Mais dans ce cas, une version spécifique était suffisante.
Il existe un fichier de préférences pour apt. Je pense qu'il est situé sous / etc / apt, mais pas sûr à 100%. Là, vous pouvez définir une priorité plus élevée pour un package d'un référentiel que pour le même package du référentiel Ubunto. Pour la syntaxe exacte, recherchez dans man apt-get. Modifiez le fichier, puis installez comme d'habitude avec apt-get, il récupérera l'origine la plus prioritaire. Assurez-vous au préalable que le paquet de ce dépôt est compilé pour votre distribution (par exemple, un binaire Debian peut rechercher des dépendances aux mauvais endroits) et pour votre version du noyau (cela change assez souvent tout au long du cycle de vie d'une version d'Ubuntu). Sinon, c'est une question de hasard si cela fonctionne.