http://emacs.orebokech.comからemacs-snapshotをインストールしたいのですが 、Ubuntuのリポジトリにはすでにemacs-snapshotがあります。
パッケージのインストール元のリポジトリを指定するにはどうすればよいですか?
http://emacs.orebokech.comからemacs-snapshotをインストールしたいのですが 、Ubuntuのリポジトリにはすでにemacs-snapshotがあります。
パッケージのインストール元のリポジトリを指定するにはどうすればよいですか?
回答:
-t
オプションでリポジトリを指定できます。例として、/etc/apt/sources.list
Iceweaselの最新リリースをインストールするために、次のリポジトリを追加しました。
deb http://mozilla.debian.net/ squeeze-backports iceweasel-release
ご存知のようiceweasel
に、公式のDebianリポジトリにも同じパッケージがあります。この特定のレポからIceweaselをインストールしたい場合は、次を実行します。
apt-get install -t squeeze-backports iceweasel
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.
これはより良い解決策だと思いますが、
ソース:https : //askubuntu.com/questions/27362/how-to-only-install-updates-from-a-specific-repository/57749#57749
回避策を見つけました。最初に、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: ...
...
[ バージョン:]セクション。異なるリポジトリからのバージョンが表示されます:
そのため、aptまたはaptitudeに特定のバージョンをインストールするように指示します。
$ sudo aptitude install emacs-snapshot=1:20100111-1~lenny1
パッケージ名 = バージョン名
勝利。
特定のリポジトリの使用方法はまだわかりません。しかし、この場合、特定のバージョンで十分でした。
aptの設定ファイルがあります。/ etc / aptの下にあると思いますが、100%確実ではありません。そこで、リポジトリからのパッケージの優先度を、Ubuntoリポジトリからの同じパッケージよりも高く設定できます。正確な構文については、man apt-getを参照してください。ファイルを編集してから、通常どおりapt-getでインストールすると、最も優先度の高いオリジンからフェッチされます。そのリポジトリからのパッケージがあなたのディストリビューション(例えば、debianバイナリが間違った場所で依存関係を探すかもしれない)とあなたのカーネルバージョン(これはUbuntuバージョンのライフサイクルを通して頻繁に変わる)のためにコンパイルされることを事前に確認してください。それ以外の場合、それが機能するかどうかは偶然の問題です。