Chcę zainstalować migawkę emacs z http://emacs.orebokech.com Ale w repozytoriach Ubuntu jest już migawka emacs.
Jak mogę określić repozytorium, z którego pakiet zostanie zainstalowany?
Chcę zainstalować migawkę emacs z http://emacs.orebokech.com Ale w repozytoriach Ubuntu jest już migawka emacs.
Jak mogę określić repozytorium, z którego pakiet zostanie zainstalowany?
Odpowiedzi:
Możesz określić repozytorium z -t
opcją. Jako przykład dodałem następujące repozytorium, /etc/apt/sources.list
aby zainstalować najnowszą wersję Iceweasel:
deb http://mozilla.debian.net/ squeeze-backports iceweasel-release
Jak wiecie, iceweasel
w oficjalnym repozytorium Debiana znajduje się ten sam pakiet . Jeśli chcę zainstalować Iceweasel z tego konkretnego repozytorium, uruchamiam:
apt-get install -t squeeze-backports iceweasel
ze strony podręcznika 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.
Myślę, że to lepsze rozwiązanie,
Źródło: /ubuntu/27362/how-to-only-install-updates-from-a-specific-repository/57749#57749
Znalazłem obejście. Najpierw musiałem znaleźć repozytoria, które miały pakakage:
$ 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: ...
...
W wersjach: sekcji. Widzę wersje pochodzące z różnych repozytoriów:
Teraz mówimy po prostu apt lub aptitude, aby zainstalował tę konkretną wersję:
$ sudo aptitude install emacs-snapshot=1:20100111-1~lenny1
nazwa-pakietu = nazwa_wersji
Zwycięstwo.
Nadal nie wiem, jak korzystać z określonego repozytorium. Ale w tym przypadku wystarczyła konkretna wersja.
Istnieje plik preferencji dla apt. Myślę, że znajduje się pod / etc / apt, ale nie jestem w 100% pewien. Tam możesz ustawić priorytet dla pakietu z repozytorium na wyższy niż dla tego samego pakietu z repozytorium Ubunto. Dokładną składnię znajdziesz w man apt-get. Edytuj plik, a następnie zainstaluj jak zwykle za pomocą apt-get, pobierze go z źródła o najwyższym priorytecie. Po prostu upewnij się wcześniej, że pakiet z tego repozytorium jest skompilowany dla twojej dystrybucji (np. Plik binarny debian może szukać zależności w niewłaściwych miejscach) i dla twojej wersji jądra (zmienia się to dość często przez cały cykl życia wersji Ubuntu). W przeciwnym razie jest to kwestia przypadku, jeśli zadziała.