Làm cách nào để cài đặt một số gói từ Debian Debian không ổn định trên máy tính chạy Debian Debian ổn định?


14

Trên máy tính chạy Debian "ổn định", khi cố gắng cài đặt gói nằm trong danh sách không ổn định trên trang web Debian bằng aptitude install <package>/unstablelệnh, tôi nhận được kết quả tương tự như sau:

Couldn't find any package whose name or description matched "<package>"
Couldn't find any package whose name or description matched "<package>"
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.

Tôi có thể làm gì để có thể cài đặt các gói "không ổn định"? (Tôi đã nghĩ đến việc thêm kho lưu trữ vào sources.list, nhưng tôi không muốn mọi thứ bắt đầu được cài đặt từ "không ổn định").

Vậy: làm thế nào tôi có thể cài đặt các gói không ổn định (với việc sử dụng /stableở cuối tên gói)?


Xem unix.stackexchange.com/q/112157/4671 để biết câu trả lời sâu sắc cho câu hỏi này.
Faheem Mitha

1
Phiên bản ngắn: Đừng. Phiên bản dài hơn: không làm điều này . Sử dụng backport nếu bạn phải, nhưng không trộn ổn định / không ổn định.
Shadur

Tôi tin rằng đây được gọi là "FrankenDebian": "Không nên kết hợp Debian Stable với các bản phát hành khác. Nếu bạn đang cố gắng cài đặt phần mềm không có trong bản phát hành Debian Stable hiện tại, không nên thêm kho lưu trữ cho các bản phát hành Debian khác. Các sự cố có thể không xảy ra ngay lập tức, nhưng lần sau bạn cài đặt bản cập nhật. " Từ Đừng phá vỡ Debian .
malan

Câu trả lời:


29

Bạn cần phải có unstabletrong danh sách của bạn sources.list. Nếu không thì apt sẽ không tìm thấy gói.

Để tránh unstablecác gói được kéo vào, bạn có hai cách.

  • Cách dễ dàng là thêm một Default-Releasemệnh đề vào /etc/apt/apt.conf(hoặc vào một tệp bên dưới /etc/apt/apt.conf.d/, ví dụ /etc/apt/apt.conf.d/my-default-release).

    APT::Default-Release "stable";
    
  • Cách khó là sử dụng tùy chọn APT . Trong /etc/apt/preferences:

    Package: *
    Pin: release o=Debian,a=unstable
    Pin-Priority: 10
    

Lưu ý rằng trong phần lớn thời gian phát hành Debian, việc cài đặt hầu hết các gói không ổn định trên một hệ thống ổn định là không thực tế, bởi vì chúng sẽ kéo theo rất nhiều thư viện từ không ổn định và bạn sẽ kết thúc với một hệ thống không ổn định. Nếu bạn muốn chạy không ổn định, nó sẽ giúp bạn tránh được rắc rối khi chỉ nhắm mục tiêu không ổn định (hoặc thử nghiệm). Tốt nhất là bạn nên giữ một bản phát hành duy nhất hoặc thử nghiệm với sự không ổn định thường xuyên nếu bạn cảm thấy táo bạo. Và tất nhiên, trên một hệ thống sản xuất, gắn bó ổn định.

Nếu bạn đang chạy ổn định nhưng bạn cần một phiên bản mới hơn của một ứng dụng, trước tiên hãy xem liệu có một cổng sau cho chúng không. Mặt khác, nếu bạn muốn cài đặt một gói từ không ổn định nhưng không phải kéo theo các phụ thuộc của nó, hãy thử lấy nguồn từ không ổn định và biên dịch lại.

apt-get source foo=1.42
apt-get build-dep foo  # pulls the dependencies of foo in stable but that's often good enough
dpkg-source -x foo_1.42.dsc
cd foo-1.4210126#10126
dpkg-buildpackage -rfakeroot -us -uc -b -nc
dpkg -i ../foo_1.42_$(arch).deb

2
+1 để đề cập đến backport, nhưng bạn thực sự nên chỉ ra rõ ràng hơn rằng trộn ổn định / không ổn định thực sự nguy hiểm đẫm máu và nếu bạn không biết bạn đang làm gì thì không nên làm điều này trên hệ thống sản xuất .
Shadur
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.