Câu hỏi Hạ cấp libxml2 vào ngày 12.04


Đối với một số lý do, trên một trong các máy chủ mà chúng tôi có trong mạng của chúng tôi đang chạy Ubuntu Server 12.04, phiên bản libxml2 là 2.8.0 (đây là phiên bản từ Ubuntu 12.10).
Điều này tạo ra một số vấn đề, đặc biệt là kể từ khi tôi cần phải cài đặt libxml2-dev và tôi nhận được một số phụ thuộc chưa được đáp ứng. Tôi nhận được lỗi sau đây:

libxml2-dev : Depends: libxml2 (= 2.7.8.dfsg-5.1ubuntu4.9) but 2.8.0+dfsg1-5ubuntu2.2 is to be installed

Tôi không biết tại sao phiên bản mới hơn của libxml2 có mặt trên hệ thống, nhưng có cách nào để sử dụng phiên bản libxml2-dev mới (không có trong sources.list mặc định) hay không an toàn hạ cấp libxml2 xuống phiên bản chính xác cho 12.04?


2
2017-07-24 09:15


gốc




Các câu trả lời:


thử:

apt search libxml2

lệnh này hiển thị tìm kiếm từ bất kỳ bằng chứng nào: kho và gói đã cài đặt.

vì vậy nếu bạn sẽ thấy ví dụ cho đáng tin cậy:

libxml2/trusty-updates,trusty-security,now 2.9.1+dfsg1-3ubuntu4.3 amd64
[installed]
  GNOME XML library

libxml2-dbg/trusty-updates,trusty-security 2.9.1+dfsg1-3ubuntu4.3 amd64
  Debugging symbols for the GNOME XML library

libxml2-dev/trusty-updates,trusty-security,now 2.9.1+dfsg1-3ubuntu4.3 amd64
  [installed,automatic]
  Development files for the GNOME XML library

vì vậy, rõ ràng, nếu bạn thấy đầu ra này, bạn có rất nhiều cơ hội để cài đặt phiên bản.

Tuy nhiên nếu bạn cần gói đúng theo phiên bản, hãy thử chỉ ra phiên bản như sau:

sudo apt-get install libxml2=2.9.1+dfsg1-3ubuntu4.3
sudo apt-get install libxml2-dbg=2.9.1+dfsg1-3ubuntu4.3
sudo apt-get install libxml2-dev=2.9.1+dfsg1-3ubuntu4.3

HOẶC bằng cách chỉ ra kho lưu trữ đích:

sudo apt-get install libxml2/precise libxml2-dbg/precise libxml2-dev/precise 

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 "libxml2 hold" | sudo dpkg –set-selections

Với --no-remove Tùy chọn apt-get sẽ thoát khỏi quá trình cài đặt bất cứ lúc nào mà không có bất kỳ lời nhắc nào nếu có bất kỳ gói nào bị xóa:

sudo apt-get install --no-remove libxml2=2.7.8.dfsg-5.1ubuntu4.9

Goody khác: --no-install-recommends yêu cầu apt-get không xem xét các gói được đề xuất như là một phụ thuộc để cài đặt.

Đọc apt-get man tê trang chính xác

Hy vọng nó giúp bạn.


2
2017-07-24 09:56



Cảm ơn những ý tưởng. Tôi đã thử làm một apt-get install libxml2=2.7.8.dfsg-5.1ubuntu4.9 và có vẻ như nó hoạt động nhưng nó yêu cầu xóa 76 gói trong quá trình ... - Mircea M
Sử dụng: apt-get install --no-remove libxml2=2.7.8.dfsg-5.1ubuntu4.9 Với --no-remove Tùy chọn apt-get sẽ thoát khỏi quá trình cài đặt bất kỳ lúc nào mà không có bất kỳ lời nhắc nào nếu có bất kỳ gói nào bị xóa. Ngoài ra tùy chọn khác sẽ hữu ích cho bạn: --no-install-recommends yêu cầu apt-get không xem xét các gói được đề xuất như là một phụ thuộc để cài đặt. ĐỂ LÀM: cập nhật câu trả lời. - swift
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 “package hold” | sudo dpkg –set-selections - swift
Cảm ơn rất nhiều vì sự giúp đỡ. Tôi đã thử những gì bạn đề nghị và tôi nhận được điều này: 0 upgraded, 0 newly installed, 1 downgraded, 76 to remove and 12 not upgraded. E: Packages need to be removed but remove is disabled. - Mircea M