Sau một do-phát hành-nâng cấp
để chuyển từ 16.04 sang 18.04, đã xảy ra sự cố và máy ở trạng thái "ở giữa", với nhiều sự cố phụ thuộc bị hỏng. Cây gói của tôi là một mớ hỗn độn, tôi tuyệt vọng ... ;-)
Tôi đã thử rất nhiều thứ (bao gồm cả dpkg --configure -a
, loại bỏ ngẫu nhiên các gói với dpkg --force phụ thuộc -P <pkg-name>
, cộng với những thứ khác), nhưng hiện tại tôi đang bị mắc kẹt.
Vì vậy, khi tôi thử:
$ sudo apt --cài đặt bị hỏng
Đọc danh sách gói... Xong
Xây dựng cây phụ thuộc
Đang đọc thông tin trạng thái... Xong
Sửa lỗi phụ thuộc... Xong
Các gói sau đã được cài đặt tự động và không còn cần thiết nữa:
(ở đây 20 dòng)
Các gói bổ sung sau sẽ được cài đặt:
... (ở đây 5 dòng)
Các gói đề xuất:
... hơn
Gói khuyến nghị:
... hơn
Các gói sau sẽ bị LOẠI BỎ:
... hơn
Các gói MỚI sau đây sẽ được cài đặt:
... nữa (10 dòng)
28 đã nâng cấp, 6 mới cài đặt, 1 cần gỡ bỏ và 327 chưa nâng cấp.
228 chưa được cài đặt hoặc gỡ bỏ hoàn toàn.
Cần lấy 0 B/13,3 MB lưu trữ.
Sau thao tác này, 2â¯771 kB dung lượng ổ đĩa bổ sung sẽ được sử dụng.
Bạn có muốn tiếp tục? [Y/n]
Đến đây, tôi không sợ bất cứ điều gì. Nhưng bây giờ, bước vào Y
:
Trích xuất các mẫu từ các gói: 100%
(Đọc cơ sở dữ liệu ... 977800 tệp và thư mục hiện được cài đặt.)
Xóa ubuntu-advantage-tools (27.0.2~18.04.1) ...
Traceback (cuộc gọi gần đây nhất cuối cùng):
Tệp "<string>", dòng 2, trong <module>
Tệp "/usr/lib/python3/dist-packages/uaclient/apt.py", dòng 9, trong <module>
từ uaclient nhập gpg
Tệp "/usr/lib/python3/dist-packages/uaclient/gpg.py", dòng 3, trong <module>
đóng cửa nhập khẩu
ModuleNotFoundError: Không có mô-đun nào có tên 'shutil'
dpkg: gói xử lý lỗi ubuntu-advantage-tools (--remove):
đã cài đặt ubuntu-advantage-tools quy trình con tập lệnh loại bỏ trước gói đã trả về trạng thái thoát lỗi 1
Đã bắt gặp các lỗi trong quá trình xử lí thông tin:
ubuntu-advantage-tools
E: Tiến trình con /usr/bin/dpkg trả về mã lỗi (1)
Vì vậy, điều này nghe giống như một lỗi Python, theo những gì tôi hiểu, nó không thể tìm thấy đóng cửa
.
Vì vậy, tôi đã tải xuống theo cách thủ công những gì tôi nghĩ là:
https://packages.ubuntu.com/bionic/python-backports-shutil-get-terminal-size
và được cài đặt thủ công với:
dpkg -i sudo dpkg -i python-backports-shutil-get-terminal-size_1.0.0-5_all.deb
Nhưng làm cài đặt apt --fix-break
một lần nữa kết thúc tại cùng một điểm.
Tôi có kiến thức hạn chế về Python, vì vậy tôi không thể chắc đây có phải là vấn đề thực sự hay không, nhưng mọi trợ giúp đều được hoan nghênh. Nếu không, bước tiếp theo có thể sẽ là cài đặt lại từ đầu, nhưng tôi thực sự muốn tránh điều đó.
Hiện tại tôi có thể cài đặt thủ công các gói (tải xuống từ https://packages.ubuntu.com/ sau đó dpkg -i
) nhưng đó là về nó, mọi thứ khác đều thất bại.
Ví dụ: nếu tôi cố gắng cài đặt libpython3.6-stdlib
:
$ sudo apt-get cài đặt libpython3.6-stdlib
Tôi có:
libpython3.6-stdlib : Phụ thuộc: libpython3.6-minimal (= 3.6.9-1~18.04ubuntu1.4) nhưng 3.6.13-1+xenial2 sẽ được cài đặt
điều đó có nghĩa là tôi vẫn có các gói từ 16.04 (Xenial).
Làm thế nào tôi có thể thủ công gỡ bỏ tất cả các gói 16.04?
Thông tin bổ sung (máy hiện chỉ khởi động với bảng điều khiển):
$ trăn --version
=> Trăn 3.6.13
$ lsb_release -a
không có sẵn
$ uname -a
cho tôi biết đó là kernel 4.15 (có vẻ phù hợp với 18.04)