Tôi muốn cài đặt emacs-snapshot từ http://emacs.orebokech.com Nhưng đã có một emacs-snapshot trong kho của Ubuntu.
Làm thế nào tôi có thể chỉ định kho lưu trữ mà gói sẽ được cài đặt?
Tôi muốn cài đặt emacs-snapshot từ http://emacs.orebokech.com Nhưng đã có một emacs-snapshot trong kho của Ubuntu.
Làm thế nào tôi có thể chỉ định kho lưu trữ mà gói sẽ được cài đặt?
Câu trả lời:
Bạn có thể chỉ định một kho lưu trữ với -t
tùy chọn. Ví dụ, tôi đã thêm kho lưu trữ sau /etc/apt/sources.list
để cài đặt bản phát hành mới nhất của Iceweasel:
deb http://mozilla.debian.net/ squeeze-backports iceweasel-release
Như bạn biết có một gói tương tự iceweasel
trong kho lưu trữ Debian chính thức. Nếu tôi muốn cài đặt Iceweasel từ repo cụ thể này, tôi chạy:
apt-get install -t squeeze-backports iceweasel
từ trang hướng dẫn 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.
Tôi nghĩ rằng đây là một giải pháp tốt hơn,
Tôi tìm thấy một cách giải quyết. Đầu tiên tôi cần tìm các kho lưu trữ có nhịp:
$ 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: ...
...
Trong phần Phiên bản : . Tôi thấy các phiên bản đến từ các kho khác nhau:
Vì vậy, bây giờ chúng tôi chỉ nói với apt hoặc apt để cài đặt phiên bản cụ thể đó:
$ sudo aptitude install emacs-snapshot=1:20100111-1~lenny1
tên gói = version_name
Chiến thắng.
Tôi vẫn không biết cách sử dụng một kho lưu trữ cụ thể. Nhưng trong trường hợp này một phiên bản cụ thể là đủ.
Có một tệp ưu tiên cho apt. Tôi nghĩ rằng nó nằm dưới / etc / apt, nhưng không chắc chắn 100%. Ở đó bạn có thể đặt mức độ ưu tiên cho một gói từ kho lưu trữ cao hơn so với gói tương tự từ kho lưu trữ Ubunto. Để biết cú pháp chính xác, hãy tìm trong man apt-get. Chỉnh sửa tệp, sau đó cài đặt như bình thường với apt-get, nó sẽ tìm nạp từ nguồn gốc ưu tiên cao nhất. Chỉ cần đảm bảo trước rằng gói từ kho lưu trữ đó được biên dịch cho bản phân phối của bạn (ví dụ: tệp nhị phân debian có thể tìm phụ thuộc ở vị trí sai) và cho phiên bản kernel của bạn (điều này thay đổi khá thường xuyên trong suốt vòng đời của phiên bản Ubuntu). Khác, đó là một vấn đề cơ hội nếu nó sẽ làm việc.