Câu trả lời:
Nếu bạn có số phiên bản hoặc bản phát hành mục tiêu, apt-get
hỗ trợ chọn phiên bản cụ thể hoặc bản phát hành mục tiêu. Thông tin chi tiết có thể được tìm thấy trên trang thủ công của apt-get . Nó cũng có thể được truy cập từ thiết bị đầu cuối bằng cách gõman apt-get
sudo apt-get install <package-name>=<package-version-number>
HOẶC LÀ
sudo apt-get -t=<target release> install <package-name>
là lệnh được chạy. Điều này có thể được sử dụng để hạ cấp một gói thành một phiên bản cụ thể.
Nó đã được chỉ ra một cách hữu ích trong các ý kiến rằng
apt-cache showpkg <package-name>
liệt kê tất cả các phiên bản có sẵn. (h / t Sparhawk )apt-mark hold <package-name>
"Giữ" gói ở phiên bản hiện tại, ngăn chặn nâng cấp tự động. (h / t Luís de Sousa )apt-mark hold <package-name>
để tránh nâng cấp tự động.
aptitude
hạ cấp các phụ thuộc tốt hơn apt-get
.
apt-cache policy <package-name>
chỉ hiển thị các phiên bản đã cài đặt và có sẵn
showpkg
không hiển thị phiên bản bạn quan tâm thì sao?
SỬ DỤNG
apt-get install «pkg»=«version»
HOẶC LÀ
sudo aptitude install «pkg»=«version»
Trong đó «pkg» là tên của gói và «phiên bản» là số phiên bản.
apt-get install pkg=version
các ưu đãi apt-get, loại bỏ gần một nửa tất cả các gói đã cài đặt, tất nhiên đó không phải là điều tôi muốn làm
aptitude
thực hiện công việc tốt hơn nhiều apt-get
. Trong trường hợp của tôi, tôi apt-get
đã thẳng thừng từ chối yêu cầu hạ cấp, trong khi aptitude
chỉ ra rằng có những pkg khác phụ thuộc vào phiên bản mới hơn (và do đó cần hạ cấp cùng một lúc).
Nếu bạn đã nâng cấp phần mềm bằng ppa, bạn có thể hạ cấp phần mềm bằng cách sử dụng ppa-purge
. Đầu tiên bạn phải cài đặt ppa-purge
bằng mã này:
sudo apt-get cài đặt ppa-purge
Sau đó, bạn có thể loại bỏ ppa bằng lệnh
sudo ppa-purge ppa: tên người dùng / ppa
việc này sẽ tự động hạ cấp phần mềm xuống phiên bản gốc được bán kèm với Ubuntu.
Để hạ cấp, bạn phải thực hiện một lệnh như
sudo apt-get install pkg_name=version
trong thiết bị đầu cuối của bạn.
Ở vị trí version
đặt phiên bản trước bạn muốn hạ cấp xuống.
Theo tôi, trước tiên bạn nên gỡ cài đặt hoặc lọc gói, như:
sudo apt-get remove <package>
hoặc là
sudo apt-get purge <package>
Sau đó, bạn có thể tải xuống phiên bản bạn muốn cài đặt và giữ nó trong một thư mục, nói abc.deb
trong Tải xuống. Mở terminal, di chuyển đến thư mục bằng cd
lệnh và cài đặt phiên bản trước bằng cách sử dụng dpkg
:
sudo dpkg -i abc.deb
Hoặc nếu không, có một tiện ích nhỏ được gọi ppa-purge
nếu bạn muốn hạ cấp các gói được cập nhật qua PPA.
Xem chủ đề này: http://www.webupd8.org/2009/12/remove-ppa-reposeocate-via-command.html
unstable
-> testing
-> stable
không hạ cấp các gói riêng lẻ.
Câu hỏi này đã cũ nhưng google đã dẫn tôi đến đây và tôi đã không tìm thấy tâm hồn đơn giản mà không yêu cầu phiên bản thủ công chuyển qua khi hạ cấp các gói xuống bản phát hành cũ hơn.
Vì vậy, có lẽ ai đó cũng cần điều đó cũng sẽ thấy giải pháp hữu ích của tôi.
Có một công cụ được gọi là apt-show-versions
hiển thị các phiên bản được cài đặt.
Bạn có thể dễ dàng hạ cấp tất cả các gói cần thiết bằng cách tinh chỉnh regex nhưng đây là:
$ sudo apt-get install $(apt-show-versions | grep -P 'newer than version in archive' | awk -F: '{print $1"/jessie"}')
Thay vì jessie
bạn có thể sử dụng buster
/ xenial
/ etc tùy theo nhu cầu của bạn.
sudo apt-get install -V $(apt-show-versions | grep -F 'newer than version in archive' | awk -F: '{print $1"/'$(lsb_release -cs)'"}')
. Tôi thích sử dụng -F
cho grep
ở đây.
sudo apt-show-versions -i
trước, nếu bộ đệm gói đã hết hạn.
apt-cache showpkg <package-name>
để liệt kê các phiên bản có sẵn.