Quản lý kho không chính thức trên hệ thống Debian


7

Vài năm trước tôi đã thêm kho lưu trữ này vào nguồn của mình.

http://www.deb-multidia.org/

bởi vì nó chứa các gói như acroread hoặc flash player, bị thiếu hoặc hết hạn trong các repos chính thức.

Tuy nhiên, bây giờ tôi mới nhận ra rằng một số gói từ kho lưu trữ đó đã bị hỏng, ví dụ như mencoder. Do đó một vài câu hỏi:

  1. Làm thế nào tôi có thể tìm ra gói nào được cài đặt từ kho lưu trữ cụ thể này?
  2. Làm cách nào tôi có thể làm cho kho lưu trữ này có mức độ ưu tiên thấp hơn, để chỉ các gói tôi muốn được tự động cài đặt / nâng cấp từ đó?

EDIT: Tôi đã chỉnh sửa tệp `/ etc / apt / Preferences 'như ai đó đã đề xuất:

grzes:/home/ga# cat /etc/apt/preferences
Package: *
Pin: release a=testing
Pin-Priority: 700

Package: *
Pin: release a=stable
Pin-Priority: 600

Package: *
Pin: release a=unstable
Pin-Priority: 50

Package: *
Pin: origin deb-multimedia.org/
Pin-Priority: 50

nhưng nó dường như không hoạt động (lưu ý rằng tôi đã hạ cấp gói này theo cách thủ công):

grzes:/home/ga# apt-cache policy mencoder
mencoder:
  Installed: 2:1.0~rc4.dfsg1+svn34540-1+b2
  Candidate: 3:1.1-dmo5
  Version table:
     3:1.1-dmo5 0
         50 http://www.deb-multimedia.org/ unstable/main i386 Packages
        700 http://www.deb-multimedia.org/ testing/main i386 Packages
 *** 2:1.0~rc4.dfsg1+svn34540-1+b2 0
         50 http://ftp.uk.debian.org/debian/ unstable/main i386 Packages
        700 http://ftp.uk.debian.org/debian/ testing/main i386 Packages
        100 /var/lib/dpkg/status
     2:1.0~rc3++final.dfsg1-1 0
        600 http://ftp.uk.debian.org/debian/ stable/main i386 Packages

Bạn có nhiều cấu hình phù hợp ( phát hành a = testsorigin deb-multidia.org/ ). Tôi đoán cấu hình ghim đầu tiên là ghi đè lên cái sau. Ngoài ra, tôi không biết nguồn gốc có hoạt động với '/' ở cuối không, sử dụng chuỗi chính xác như được báo cáo bởi apt-cache policy.
SCAI

Ở đây, deb-multidia.org có nguồn gốc www.deb-multidia.org (lưu ý www ở đầu). Sau khi đặt nó ở đầu tập tin, nó hoạt động.
scai

@scai - Tôi xác nhận rằng bạn đúng, chúc mừng!
Grzenio

Hãy xem câu trả lời này trên superuser cách tìm kiếm tất cả các gói đã cài đặt từ deb-multidia.org
Ulrich Dangel

Câu trả lời:


5

Tôi không biết làm thế nào để liệt kê tất cả các gói và kho lưu trữ của chúng, nhưng đối với một gói duy nhất bạn có thể thực hiện apt-cache policy <package>. Dòng có *** là phiên bản hiện được cài đặt với các kho tương ứng.

Đặt mức độ ưu tiên của một nguồn cụ thể được gọi là ghim apt và có thể được thực hiện thông qua / etc / apt / Preferences (các phiên bản Ubuntu mới hơn yêu cầu cấu hình phải ở /etc/apt/preferences.d/ thay vào đó!):

Bạn có thể ghim mỗi lần phát hành , nguồn gốc hoặc phiên bản . Trong trường hợp của bạn, bạn muốn ghim một trong hai nguồn gốc:

Package: *
Pin: origin www.deb-multimedia.org
Pin-Priority: 300

hoặc mỗi bản phát hành và tùy chọn o = :

Package: *
Pin: release o=Unofficial Multimedia Packages
Pin-Priority: 300

Lưu ý: Có vẻ như cấu hình pin khớp đầu tiên được sử dụng và các cấu hình khớp bổ sung bị bỏ qua.

Để xem tất cả các nguồn gói hiện được biết, mức độ ưu tiên, nguồn gốc và các thuộc tính khác của chúng, chỉ cần gọi apt-cache policymà không có bất kỳ tùy chọn nào.


Chào, cảm ơn cho câu trả lời của bạn. Tôi đã thử ghim, nhưng nó dường như không hoạt động - xem phần chỉnh sửa cho câu hỏi.
Grzenio

Xin lỗi vì đã không chấp nhận câu trả lời của bạn, tôi đã tìm ra cách tốt hơn để làm điều đó từ những người duy trì apt ...
Grzenio

0

Bạn có thể sử dụng tập lệnh apt-show-versions.

apt-show-versions -b | grep deb-multimedia

sẽ cung cấp cho bạn một danh sách các gói từ deb-multimedia.org.


1
Điều này dường như không hoạt động. apt-show-versionschỉ hiển thị nếu gói đến từ thử nghiệm / không ổn định, v.v., và không phải từ kho lưu trữ nào.
Grzenio

0

Hóa ra bạn không thể có cả mệnh đề originreleasemệnh đề cùng một lúc. Mỗi kho lưu trữ cung cấp một nhãn mặc dù, có thể được sử dụng để lọc. Trong trường hợp của tôi, /apt/cache/preferencestập tin chính xác trông như thế này:

Package: acroread acroread-data acroread-debian-files acroread-dictionary acroread-dictionary-en acroread-escript acroread-fonts-jpn acroread-l10n acroread-l10n-en acroread-plugin-speech acroread-plugins cinelerra flashplayer-mozilla mozilla-acroread w32codecs
Pin: release a=testing,l=Unofficial Multimedia Packages
Pin-Priority: 550

Package: acroread cinelerra flashplayer-mozilla mozilla-acroread w32codecs
Pin: release a=stable,l=Unofficial Multimedia Packages
Pin-Priority: 500

Package: *
Pin: origin "www.deb-multimedia.org"
Pin-Priority: 50

Package: *
Pin: release a=testing
Pin-Priority: 700

Package: *
Pin: release a=stable
Pin-Priority: 600

Package: *
Pin: release a=unstable
Pin-Priority: 50

Để có được danh sách tất cả các nhãn có sẵn, bạn cần chạy:

apt-cache policy

mà không chỉ định tên gói.


0

2) Bạn có thể tìm ra gói nào được cài đặt từ kho lưu trữ cụ thể này với aptitude( nguồn ).

aptitude search '~S ~i (!~Atesting ~Aunstable ~O"Unofficial Multimedia")'
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.