Hạ cấp một loạt các gói


11

Có thể bạn đã cài đặt các gói từ PPA hoặc nguồn bên ngoài (ví dụ: đã tải xuống một tệp .deb cho gói có sẵn thông qua các bản repos của Ubuntu.).
Sau đó, bạn quyết định bỏ các phiên bản nâng cấp này để ủng hộ các kho chính thức.
Bước đầu tiên là loại bỏ các mục của nguồn.list.

Có cách nào để hạ cấp tất cả xuống phiên bản cao nhất hiện có không? Tôi biết bạn có thể cài đặt các phiên bản cụ thể với

cài đặt apt-get [gói] = [phiên bản]
Nhưng bạn có thể hạ cấp tất cả?


Bạn có nghĩa là một lệnh để loại bỏ các ứng dụng PPA hiện tại và sau đó cài đặt các ứng dụng từ kho lưu trữ chính thức? Tôi sẽ làm một cái gì đó như sudo apt-get -y remove package1 package2 package3 && sudo apt-get install package1 package2 package3- tôi không tin có một lệnh như sudo apt-get repocleanví dụ để làm điều đó.
kingmilo

Vì vậy, tôi phải nhận được tất cả các gói tôi cài đặt từ repo? Không có nâng cấp lên phiên bản khả dụng cao nhất (đó là điều bạn có thể làm với zypper openSUSE).
Manuel

Nếu bạn xóa repo và gói có sẵn trong kho chính thức và gói đó là phiên bản cao hơn gói có sẵn trong repo bạn đã thêm thì gói đó sẽ được nâng cấp lên phiên bản có sẵn trong kho chính thức.
kingmilo

1
Có, nhưng nếu không thì sao? Việc nâng cấp không có vấn đề gì cả, nhưng việc hạ cấp.
Manuel

Câu trả lời:


16

Một chút muộn cho bữa tiệc nhưng tôi đã tìm thấy câu hỏi này khi tìm kiếm một câu trả lời và bây giờ tôi có câu trả lời của riêng tôi để chia sẻ.

Tôi tin rằng bạn có thể làm điều này thông qua thế giới bí ẩn của apt_preferences.

Hãy thử tạo một tệp có tên / tmp / a_p (hoặc bất cứ thứ gì) như vậy ...

Package: *
Pin: release a=*-backports
Pin-Priority: 100

Package: *
Pin: release n=*
Pin-Priority: 1001

Sau đó chạy:

sudo apt-get -o Dir::Etc::Preferences=/tmp/a_p dist-upgrade

Phần thứ hai của tệp về cơ bản thực hiện những gì OP yêu cầu, trong đó nó vượt qua mức độ ưu tiên của tất cả các gói trong bất kỳ kho lưu trữ trực tiếp nào để khiến chúng cài đặt ngay cả khi nó có nghĩa là hạ cấp.

Phần đầu tiên ngăn phần thứ hai kích hoạt cài đặt tất cả các backport. Bạn có thể hoặc không quan tâm hoặc muốn điều này. Tôi muốn đề nghị mày mò để xem những gì hoạt động. Bạn có thể sử dụng apt-cache -o Dir::Etc::Preferences=/tmp/a_p policy somepkgđể xem ảnh hưởng của tệp a_p đối với các gói cụ thể.

THỜI GIAN


6

Ok, cái gì được tìm thấy là tập lệnh ppa-purge

Nếu bạn đã thêm PPA và phần mềm được nâng cấp, bạn có thể xóa repo và trong bước này hạ cấp tất cả các gói đã được nâng cấp với

ppa-purge [tên repo]

Đây có phải là hữu ích cho một người khác?

Nhưng nó vẫn mở nếu bạn có thể cài đặt phiên bản cao nhất có sẵn ngay cả khi phiên bản đã cài đặt cao hơn ...

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.