Hệ thống gói bị hỏng. Làm thế nào để khắc phục nó?


50

Tôi mới mua một arduino và yêu cầu gcc-avr / avrdude để biên dịch phần mềm. Tôi đã cài đặt avr cho một thành phần vi xử lý khác cách đây một thời gian nhưng rõ ràng là một phiên bản lỗi thời (phiên bản gcc 3.3 20030512 (phát hành trước)) vì vậy tôi đã đi trước để cập nhật những thứ này nhưng nó không hoạt động.

(Xin lưu ý rằng trước khi sử dụng, tôi cũng đã phá vỡ aptdaemon của mình thông qua việc cài đặt rượu chưa hoàn chỉnh (không thể thông qua thỏa thuận cài đặt phông chữ) nhưng tôi đã sửa nó thông qua cài đặt lại sau đó chấp nhận thỏa thuận.)

Tôi đang cố gắng cập nhật chúng bằng cách chạy tập lệnh xây dựng của bingo nhưng các phụ thuộc mà nó yêu cầu không thể được cài đặt do ... báo cáo đầu cuối

Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version.
libncurses5-dev is already the newest version.
libncurses5-dev set to manually installed.
libusb-0.1-4 is already the newest version.
libx11-dev is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
arduino-core : Depends: gcc-avr but it is not going to be installed
avr-libc : Depends: gcc-avr (>= 1:4.3.4) but it is not going to be installed
Depends: binutils-avr (>= 2.20) but it is not going to be installed
binutils-dev : Depends: binutils (= 2.21.0.20110327-2ubuntu3) but 2.21.0.20110327-2ubuntu2 is to be installed
libcwidget-dev : Depends: libcwidget3 (= 0.5.16-3ubuntu2) but it is not going to be installed
Depends: libsigc++-2.0-dev but it is not going to be installed
Depends: libncursesw5-dev but it is not going to be installed
libmpfr-dev : Depends: libgmp3-dev (>= 4.2.dfsg-1) but it is not going to be installed
python-dev : Depends: python (= 2.7.1-0ubuntu5.1) but 2.7.1-0ubuntu5 is to be installed
Depends: python2.7-dev (>= 2.7.1-1~) but it is not going to be installed
tk8.4-dev : Depends: tk8.4 (= 8.4.19-4) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Nhưng đang chạy

apt-get -f install

kết quả trong

(Reading database ... 163021 files and directories currently installed.)
Unpacking binutils-avr (from .../binutils-avr_2.20.1-1ubuntu2_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/binutils-avr_2.20.1-1ubuntu2_i386.deb (--unpack):
trying to overwrite '/usr/bin/avr-size', which is also in package avr-binutils 2.13.90.030512-2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Unpacking gcc-avr (from .../gcc-avr_1%3a4.3.5-1_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/gcc-avr_1%3a4.3.5-1_i386.deb (--unpack):
trying to overwrite '/usr/bin/avr-g++', which is also in package avr-gcc-c++ 3.2.90.20030512-2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/binutils-avr_2.20.1-1ubuntu2_i386.deb
/var/cache/apt/archives/gcc-avr_1%3a4.3.5-1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Tôi đã thử chạy trình quản lý cập nhật và cập nhật hệ thống của mình thông qua nó nhưng tất cả những gì tôi nhận được là một thông báo lỗi

The following packages have unmet dependencies:
arduino-core: Depends: gcc-avr but it is not installed
avr-libc: Depends: gcc-avr (>= 1:4.3.4) but it is not installed
Depends: binutils-avr (>= 2.20) but it is not installed

sau đó cho tôi biết hãy chạy cài đặt apt-get -f, kết quả giống như lần trước.

Vì vậy, làm thế nào tôi có thể sửa chữa hệ thống của mình, tôi thực sự cần avr mới, xin vui lòng :) BTW, hệ thống của tôi là Ubuntu 11.04


Bạn đã cài đặt synap trong hệ thống chưa?!

Vâng, tại sao? Tôi không nên có nó?
Omer

Cùng một lỗi (nhưng dựa trên libboost). Không có câu trả lời nào làm việc cho tôi.
đẳng cấu

Câu trả lời:


41

Sau khi bạn gặp lỗi đó, hãy thử sudo apt-get -f installcài đặt các tệp không được tải vì lỗi.

Sau đó thử sudo apt-get updatelại, sudo apt-get -f installqua lại cho đến khi chỉ còn lại gói có lỗi.

sudo dpkg --configure -a

và làm sạch bộ đệm

sudo apt-get clean


3
Cảm ơn câu trả lời, nhưng tôi đã tìm thấy một giải pháp giống như bạn đã đăng bài này: PI đã mở trình quản lý gói synap và lọc ra hai gói bị hỏng mà sau đó tôi đã gỡ bỏ bằng SPM, bây giờ mọi thứ đều chạy rất mượt và trơn tru. Quản lý để cài đặt các phụ thuộc và tôi hiện đang cài đặt avr bằng cách sử dụng tập lệnh của bingo! :) Vẫn chưa kết thúc nhưng nếu thất bại tôi sẽ thử câu trả lời của bạn
Vigi

thật tốt khi nghe nó cố định
Ringtail

ok, Chỉ cần xóa phân vùng 11.04 và cài đặt mới 11.10. bây giờ chạy nó cùng với windows vista. Vì vậy, bây giờ tôi đã cài đặt avr / binutils / libs mới nhất vv. Vì vậy, bây giờ tôi có thể biên dịch mọi thứ cho arduino :) yay!
Vigi

Do vấn đề này, tôi cũng không tải được trình điều khiển chuột và trình điều khiển WLAN. Điều đó có nghĩa là tôi không có kết nối internet nữa và không thể sử dụng sudo apt-get -f install.
John Slegers

21

Điều này thường xảy ra do 'Phụ thuộc chưa được đáp ứng cho các gói đã cài đặt'.

Đây là một giải pháp đơn giản nếu bạn đã cài đặt 'Synaptic':

  • Mở Synaptic.
  • Chuyển đến 'Trạng thái' (trong điều hướng bên trái).
  • Chọn 'Hỏng'.
  • Loại bỏ các gói bị hỏng.

Nếu không, nó có thể được xử lý thông qua CLI:

Mở terminal và chạy lệnh này:

sudo apt-get clean

Lệnh trên sẽ dọn sạch kho lưu trữ cục bộ của tệp gói.

sudo apt-get install -f

Sẽ sửa lỗi phụ thuộc bị hỏng, tức là -fở đây là viết tắt của dịch vụ sửa lỗi bị hỏng.

sudo dpkg --configure -a

sẽ cấu hình tất cả ( -a) các gói chưa được cấu hình. Cuối cùng, hãy chạy lệnh cập nhật sudo apt-get update.


Do vấn đề này, tôi cũng không tải được trình điều khiển chuột và trình điều khiển WLAN. Điều đó có nghĩa là tôi không có kết nối internet nữa và không thể sử dụng sudo apt-get -f install.
John Slegers

Bạn có thể sử dụng trình quản lý gói ngoại tuyến / di động, tức là Keryx hoặc Cube - giúp bạn tải xuống các gói và kho lưu trữ mới nhất (trong thư mục hoặc trực tiếp để khởi động) từ một số máy tính khác có kết nối internet (Linux hoặc Windows), sau khi hoàn tất, hãy cắm ổ đĩa vào máy tính không kết nối internet và cài đặt các gói đã tải xuống.
Nabeel Ahmed

Hướng dẫn từng bước để sử dụng Cube (bản thân tôi chưa sử dụng nó) - Community.linuxmint.com/tutorial/view/1583
Nabeel Ahmed

Một câu trả lời khác của Ubuntu với thiết lập Keryx từng bước - Askubfox.com/a/181913/58950
Nabeel Ahmed

Tôi đã có thể giải quyết chỉ bằng cách sử dụng sudo apt-get install -fsudo dpkg --configure -a.. sau khi khởi động lại, tôi đã lấy lại được mạng, âm thanh và vân vân :)
Luke

16

Mở khớp thần kinhCài đặt synap . Sau đó vào trạng thái và chọn Broken . Sau đó loại bỏ hoàn toàn các gói bị hỏng.

Điều này sẽ sửa hệ thống của bạn.

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


Tôi đang dùng Ubuntu 12.04. Ngay khi tôi mở Trung tâm phần mềm Synaptics, nó nói rằng danh mục đã bị hỏng và phải được sửa chữa, và cung cấp cho tôi một nút sửa chữa, giúp giải quyết vấn đề ngay lập tức.
Tyler Collier

3

Hãy thử: sudo apt-get update && sudo apt-get -f install
Tôi hy vọng rằng điều này sẽ giải quyết vấn đề.


2
Không giải quyết cho tôi.
Damien Roche

Do vấn đề này, tôi cũng không tải được trình điều khiển chuột và trình điều khiển WLAN. Điều đó có nghĩa là tôi không có kết nối internet nữa và không thể sử dụng sudo apt-get -f install.
John Slegers

1

Nếu bạn chưa sẵn sàng, hãy thử thay đổi tham chiếu kho lưu trữ gói của bạn thành 'Chính' hoặc Hoa Kỳ . Việc này đã khắc phục sự cố phụ thuộc Python-dev của tôi (bản cài đặt 12.04 của tôi đã sử dụng kho lưu trữ gói của Vương quốc Anh, trước đây).

  1. Trong Center Trung tâm phần mềm Ubuntu '(USC), hãy chuyển đến trình đơn / tab' Chỉnh sửa => Nguồn phần mềm '.
  2. Thay đổi giá trị thả xuống 'Tải xuống từ' thành 'Máy chủ chính' hoặc máy chủ tại Hoa Kỳ.
  3. Rời khỏi USC, 'Trình quản lý cập nhật' mở từ menu chương trình của Ubuntu và 'Kiểm tra' để cập nhật phần mềm (hoặc phát hành 'sudo apt-get update' trong cửa sổ đầu cuối).
  4. Cập nhật phần mềm của bạn như bình thường, ví dụ: thông qua 'Trình quản lý cập nhật' hoặc apt-get / aptitude trong một thiết bị đầu cuối.

Điều này đã sửa chữa kho lưu trữ của tôi và tôi tiếp tục cài đặt bất cứ thứ gì tôi cần sau đó, như bình thường.

Trước khi khắc phục sự cố của tôi bằng các hướng dẫn ở trên, các lệnh aptitude / apt-get khác nhau đã đề nghị tôi loại bỏ nhiều, nhiều gói, nhưng, như bạn có thể bảo vệ, tôi không thích mất 6 tháng + các gói bổ sung của mình, và mặc dù vậy Tôi chụp nhanh danh sách gói hàng lần (xem ý chính của tôi để biết gợi ý)! Tôi thực sự rất vui vì tôi đã tìm hiểu về các hướng dẫn tôi sẽ rời khỏi đây.

Hi vọng điêu nay co ich.


1

Có cùng một vấn đề, một

sudo apt-get clean

theo sau là một

sudo apt-get update

theo sau là một

sudo apt-get upgrade -f

Đã sửa nó. Tôi hi vọng cái này giúp được!


1
Do vấn đề này, tôi cũng không tải được trình điều khiển chuột và trình điều khiển WLAN. Điều đó có nghĩa là tôi không có kết nối internet nữa và không thể sử dụng sudo apt-get -f install.
John Slegers
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.