próbuje nadpisać '/ usr / bin / opencv_haartraining', który jest również w pakiecie libopencv2.3-bin 2.3.1 + svn6514 + branch23-12 ~ oneiric

14

Po zainstalowaniu niektórych pakietów i bibliotek mam błąd w Menedżerze pakietów, nie mogę uruchomić żadnej aktualizacji, ponieważ mówi:

System pakietów jest zepsuty Jeśli korzystasz z repozytoriów stron trzecich, wyłącz je, ponieważ są one częstym źródłem problemów. Teraz uruchom następującą komendę w terminalu: apt-get install -f

Próbowałem zrobić to, co mówi i zwraca mi:

jara@jara-Aspire-5738:~$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
libcaca-dev libopencv2.3-bin nite-dev python-bluez ps-engine libslang2-dev
python-sphinx ros-electric-geometry-tutorials
ros-electric-geometry-visualization python-matplotlib libzzip-dev
ros-electric-orocos-kinematics-dynamics ros-electric-physics-ode
libbluetooth-dev libaudiofile-dev libassimp2 libnetpbm10-dev
ros-electric-laser-pipeline python-epydoc ros-electric-geometry-experimental
libasound2-dev evtest python-matplotlib-data libyaml-dev ros-electric-bullet
ros-electric-executive-smach ros-electric-documentation libgl2ps0
libncurses5-dev ros-electric-robot-model texlive-fonts-recommended
python-lxml libwxgtk2.8-dev daemontools libxxf86vm-dev libqhull-dev
libavahi-client-dev ros-electric-geometry libgl2ps-dev libcurl4-openssl-dev
assimp-dev libusb-1.0-0-dev libopencv2.3 ros-electric-diagnostics-monitors
libsdl1.2-dev libjs-underscore libsdl-image1.2 tipa libusb-dev libtinfo-dev
python-tz python-sip libfltk1.1 libesd0 libfreeimage-dev
ros-electric-visualization x11proto-xf86vidmode-dev python-docutils
libvtk5.6 ros-electric-assimp x11proto-scrnsaver-dev libnetcdf-dev
libidn11-dev libeigen3-dev joystick libhdf5-serial-1.8.4
ros-electric-joystick-drivers texlive-fonts-recommended-doc esound-common
libesd0-dev tcl8.5-dev ros-electric-multimaster-experimental ros-electric-rx
libaudio-dev ros-electric-ros-tutorials libwxbase2.8-dev
ros-electric-visualization-common python-sip-dev
ros-electric-visualization-tutorials libfltk1.1-dev libpulse-dev libnetpbm10
python-markupsafe openni-dev tk8.5-dev wx2.8-headers freeglut3-dev
libavahi-common-dev python-roman python-jinja2
ros-electric-robot-model-visualization libxss-dev libqhull5 libaa1-dev
ros-electric-eigen freeglut3 ros-electric-executive-smach-visualization
ros-electric-common-tutorials ros-electric-robot-model-tutorials libnetcdf6
libjs-sphinxdoc python-pyparsing libaudiofile0
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
libcv-dev
The following NEW packages will be installed
libcv-dev
0 upgraded, 1 newly installed, 0 to remove and 4 not upgraded.
2 not fully installed or removed.
Need to get 0 B/3,114 kB of archives.
After this operation, 11.1 MB of additional disk space will be used.
Do you want to continue [Y/n]? y
(Reading database ... 261801 files and directories currently installed.)
Unpacking libcv-dev (from .../libcv-dev_2.1.0-7build1_amd64.deb) ...
dpkg: error processing /var/cache/apt/archives/libcv-dev_2.1.0-7build1_amd64.deb 
(--           unpack):
trying to overwrite '/usr/bin/opencv_haartraining', which is also in package
libopencv2.3-bin 2.3.1+svn6514+branch23-12~oneiric
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/libcv-dev_2.1.0-7build1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Próbowałem wszystkiego, co ludzie polecają w Internecie, takich jak:

sudo apt-get clean
sudo apt-get autoremove
sudo apt-get update
sudo apt-get upgrade
sudo apt-get -f install

Próbowałem również zainstalować menedżera synaptic, ale nie pozwala mi to niczego instalować.

Jak widać nic nie działa, więc jestem zdesperowany!

Używam Ubuntu 11.10, 64 bity

Dzięki!!

delha
źródło
Odpowiedź IMHO Avinash Raj jest najbezpieczniejszą i najlepiej wyjaśnioną odpowiedzią na ten problem. Najpierw polecam wypróbowanie tego.
Zanna

Odpowiedzi:

15

http://www.iasptk.com/ubuntu-fix-broken-package-best-solution

Po spróbowaniu

sudo dpkg --configure -a

i

sudo apt-get install -f

problem zepsutym pakietem nadal istnieje, rozwiązaniem jest ręczna edycja pliku statusu dpkg.

sudo nano /var/lib/dpkg/status  

(możesz użyć vima zamiast nano)

Znajdź uszkodzony pakiet, usuń cały blok informacji o nim i zapisz plik.

ptheo
źródło
Rozwiązaniem było edytowanie pliku statusu! Dziękuję bardzo! : D
delha
To samo tutaj, naprawione przez edycję pliku statusu. +1
ppp
głosowanie w górę, ponieważ dziękuję za rozwiązanie problemu !! ALE gedit? vim, proszę
Thomas-Peter
1
Przepraszam, to jest niewłaściwe. Downvoting.
Faheem Mitha
3
Robienie tego na ślepo z pewnością spowoduje problemy. Tak, może naprawić niektóre bardzo konkretne przypadki, ale istnieją lepsze alternatywy, takie jak ta inna odpowiedź.
Braiam
13

Komenda OP próbowała:

sudo apt-get install -f

Raport błędów dla powyższego polecenia:

dpkg: error processing /var/cache/apt/archives/libcv-dev_2.1.0-7build1_amd64.deb (--unpack):
trying to overwrite '/usr/bin/opencv_haartraining', which is also in package
libopencv2.3-bin 2.3.1+svn6514+branch23-12~oneiric
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/libcv-dev_2.1.0-7build1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Z powyższego raportu o błędach jasno wynika, że ​​podczas działania sudo apt-get install -fpolecenia dpkgpróbuje wyodrębnić i zainstalować /var/cache/apt/archives/libcv-dev_2.1.0-7build1_amd64.debplik. Instalacja wymaga umieszczenia opencv_haartrainingpliku w /usr/binkatalogu.

Ale był zszokowany widokiem tego samego /usr/bin/opencv_haartrainingpliku w /usr/binkatalogu i spowodował błąd, ponieważ plik ten został już umieszczony podczas libopencv2.3-bininstalacji pakietu.

Rozwiązaniem powyższego błędu jest usunięcie już zainstalowanego libopencv2.3-binpakietu przez uruchomienie,

sudo dpkg -P libopencv2.3-bin

A potem zrób

sudo apt-get install -f

Teraz powyższe polecenie automatycznie próbuje zainstalować /var/cache/apt/archives/libcv-dev_2.1.0-7build1_amd64.debpakiet i może zainstalować pakiet z powodzeniem, ponieważ teraz nie było bloku.

Avinash Raj
źródło
3

najpierw usuń libcv-devpaczkę

sudo dpkg -r libcv-dev

następnie

sudo apt-get install -f

sudo apt-get update

źródło
1
ciągle wyświetlał błąd, ale wypróbowałem drugą odpowiedź i zadziałało. W każdym razie bardzo dziękuję !!
delha
-3

Zastąp /var/lib/dpkg/statuspliki tym samym plikiem z innego działającego systemu z tą samą wersją systemu operacyjnego. To zadziałało dla mnie.

Anku Sharma
źródło
1
Czy możesz wyjaśnić, co masz na myśli?
Mark Paskal