Làm cách nào để hạ cấp các gói trên Ubuntu?


14

Update Manager giữ các gói ở phiên bản mới nhất, nhưng đôi khi một phiên bản gói mới có thể không hoạt động như mong đợi hoặc đúng cách. Làm thế nào để hạ cấp một gói đã cài đặt và khóa nó ở một phiên bản cụ thể để ngăn chặn nó được cập nhật? Làm cách nào để sử dụng GUI hoặc sử dụng Terminal ?

Câu trả lời:


17

Trong GUI - sử dụng Synaptic

Giao diện đơn giản hóa của Trung tâm phần mềm Ubuntu không cung cấp tùy chọn hạ cấp các gói. Synaptic, giao diện quản lý gói đồ họa tiên tiến hơn mà Ubuntu sử dụng để đưa vào, cung cấp tùy chọn này. Để hạ cấp gói đồ họa, trước tiên hãy cài đặt ứng dụng Synaptic :

Trung tâm phần mềm Ubuntu

Sau khi bạn thực hiện việc này, hãy mở Trình quản lý gói Synaptic từ Dash:

khớp thần kinh

Tìm kiếm gói bạn muốn cài đặt phiên bản cũ hơn trong Synaptic, chọn gói đó và sử dụng tùy chọn Gói > Phiên bản bắt buộc :

Phiên bản bắt buộc

Chọn phiên bản bạn muốn cài đặt và nhấp vào Phiên bản bắt buộc. Synaptic sẽ chỉ hiển thị cho bạn các phiên bản có sẵn trong kho của bạn:

Chọn phiên bản

Nhấp vào Áp dụng nút để áp dụng các thay đổi của bạn và cài đặt phiên bản cũ hơn của gói, giả sử mọi thứ đều hoạt động bình thường.

Ứng dụng

Sau khi bạn hạ cấp gói, chọn gói đó và sử dụng tùy chọn Gói > Khóa Phiên bản . Nếu bạn không làm điều này, Ubuntu sẽ cố gắng nâng cấp gói đã cài đặt vào lần tiếp theo bạn cập nhật các gói đã cài đặt:

Phiên bản lock

Trong Terminal - sử dụng apt-get

Bạn có thể cài đặt một phiên bản cụ thể của gói apt-gettrong Terminal . Trước tiên, hãy xác định các phiên bản có sẵn mà bạn có thể cài đặt bằng lệnh sau (sử dụng cho packagename tên của chương trình mà bạn muốn hạ cấp):

apt-cache showpkg [packagename]

Tiếp theo, chạy lệnh apt-get install và chỉ định phiên bản gói bạn muốn cài đặt (sử dụng cho phiên bản số phiên bản được xác định trước đó của chương trình mà bạn muốn hạ cấp):

sudo apt-get install [packagename]=[version]

Sau khi được cài đặt, hãy chạy lệnh sau để giữ phiên bản đã cài đặt của bạn, ngăn trình quản lý gói tự động cập nhật nó trong tương lai:

sudo echo "[packagename] hold" | sudo dpkg --set-selections

Nguồn : http://www.howtogeek.com/117929/how-to-downgrade-packages-on-ub Ubuntu /


4
Nếu bạn dựa trên câu trả lời của mình trên trang web này, howtogeek.com/117929/how-to-downgrade-packages-on-ubfox vui lòng cung cấp liên kết nguồn. Tôi không nghĩ howtogeek sẽ phiền nhưng họ chắc chắn cần liên kết nguồn thích hợp để họ có thể nhận được tín dụng.
Luis Alvarado

Khi tôi cố gắng làm điều này, tôi đã gặp phải tất cả các loại vấn đề với sự phụ thuộc không được đáp ứng. Tôi thấy tốt hơn khi sử dụng aptitude vì điều này đã giải quyết tất cả các phụ thuộc, ví dụ như sudo aptitude install smbclient = 2: 4.1.6 + dfsg-1ubfox2. Xem Askubfox.com/questions/770789/how-to-downgrade-smbclient
Lance Holland

3

Khả năng khác:

Cho phép tìm gói lưu trữ trên http://packages.ubfox.com/ :

Ví dụ: hạ cấp php5:

Tìm kiếm:

nhập mô tả hình ảnh ở đây

Tìm thấy một lần truy cập chính xác cho phép xem trang gói cho php5:

nhập mô tả hình ảnh ở đây

Chúng tôi có thể thấy các phiên bản phát hành Ubuntu khác nhau ở đây chúng tôi tin tưởng:

nhập mô tả hình ảnh ở đây

Cho phép chuyển sang phiên bản chạy php (5.3) ... 12.04 (chính xác) chẳng hạn:

nhập mô tả hình ảnh ở đây

tải tar.gz

nhập mô tả hình ảnh ở đây

Và sau đó giải nén tập tin tar và cài đặt nó:

cd /path/to/download
tar -xzvf name_of_package
cd name_of_extracted_folder
./configure
make
sudo make install

Các vấn đề có thể xảy ra khi chạy ./configure:

  • Thiếu phụ thuộc (phải cài đặt libxm2-dev): nhập mô tả hình ảnh ở đây

Các vấn đề đang chạy make:

  • lỗi trong khi biên dịch có thể bao gồm các cờ không được đặt đúng hoặc các vấn đề với chính mã.
  • Một đống rác khi biên dịch, và sau đó một số vấn đề trong mã?
  • Trong trường hợp của tôi, tôi đã phải tìm các tệp nguồn / tarball cập nhật cho php ( http://php.net/doads.php )
  • và thử lại khai thác và thực hiệ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.