Làm thế nào tôi có thể chỉ định kho lưu trữ mà gói sẽ được cài đặt? (emacs-snapshot)


27

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:


19

Bạn có thể chỉ định một kho lưu trữ với -ttù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ự iceweaseltrong 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,

Nguồn từ: https://askubfox.com/questions/27362/how-to-only-install-updates-from-a-specific-reposeective/57749#57749


có giải pháp của bạn là tốt hơn của tôi.
elviejo79 17/03/14

1
Điều gì xảy ra nếu bạn không muốn thêm nguồn đã nói vào nguồn của mình.
LittleNooby

12

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:

  • 1: 20100111-1 ~ lenny1
  • 1: 20090909-1

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à đủ.


1

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.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.