How to fix a broken package, when "apt-get install -f" does not work?
I tried to install Scala with the typesafe stack and got into trouble. Now I cannot do much with apt (except update), the broken package seems to be impossible to remove/clean:
Here's the result of
apt-get -f install
:$ sudo apt-get -f install 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: gstreamer0.10-fluendo-mp3:i386 scala-library liboil0.3:i386 Use 'apt-get autoremove' to remove them. The following extra packages will be installed: scala The following NEW packages will be installed: scala 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 4 not fully installed or removed. Need to get 21.5 MB of archives. After this operation, 0 B of additional disk space will be used. Do you want to continue [Y/n]? Y Get:1 http://apt.typesafe.com/ unicorn/main scala all 2.9.2-400 [21.5 MB] Fetched 21.5 MB in 13s (1,567 kB/s) (Reading database ... 329381 files and directories currently installed.) Unpacking scala (from .../scala_2.9.2-400_all.deb) ... dpkg: error processing /var/cache/apt/archives/scala_2.9.2-400_all.deb (--unpack): trying to overwrite '/usr/share/java/scala-partest.jar', which is also in package scala-library 2.9.1.dfsg-3 dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) Errors were encountered while processing: /var/cache/apt/archives/scala_2.9.2-400_all.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
Here's my attempt to
autoremove
:$ apt-get autoremove E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied) E: Unable to lock the administration directory (/var/lib/dpkg/), are you root? [email protected]:~/work/manuscripts/ideas/ibm_food_webs$ sudo apt-get autoremove Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt-get -f install' to correct these. The following packages have unmet dependencies: typesafe-stack : Depends: scala but it is not installed E: Unmet dependencies. Try using -f.
I fixed my issue using this command:
sudo dpkg -i --force-overwrite path-to-the-deb-file
If
--force-overwrite
doesn't work, try:sudo dpkg -i --force-overwrite-all path-to-the-deb-file
In your case:
sudo dpkg -i --force-overwrite /var/cache/apt/archives/scala_2.9.2-400_all.deb
It seems like removing the
scala-library
package and then reconfiguring might work. So you're on the right track. The correct commands are, in this order:sudo apt-get autoremove sudo apt-get install -f
Your
autoremove
command did not succeed because you did not run it asroot
(usingsudo
).Actually, he reran the autoremove after it told him he was not root. Look at the third line.
doesn't work...
I found this set of commands useful as it identified the culprit who caused the bad dependency, allowing me to remove it normally. Otherwise it was a mystery who was causing the issue.
the following command worked.
sudo rm -rf /var/lib/dpkg/updates/* sudo rm -rf /var/lib/apt/lists/* sudo rm /var/cache/apt/*.bin sudo apt-get clean sudo apt-get autoremove sudo apt-get update sudo dpkg --configure -a sudo apt-get install -f
if still getting same error then try
sudo dpkg --remove --force-remove-reinstreq package_name
after removing package update your system and restart once.
Remarkable how anyone could ever have come up with that exact sequence of commands.
In my case this worked:
sudo dpkg -P package_name
(not deb name)
dpkg: dependency problems prevent removal of collada-dom-dev: ros-indigo-collada-parser depends on collada-dom-dev. ros-indigo-collada-urdf depends on collada-dom-dev. dpkg: error processing package collada-dom-dev (--purge): dependency problems - not removing Errors were encountered while processing: collada-dom-dev
thx, saved my day
The easy way to open synaptic. It will states you that a broken packages are found so you have to locate the broken packages and just remove then you can do whatever you like.
The following worked for me (although I'm on x86):
$ sudo vim /var/lib/apt/lists/apt.typesafe.com_dists_unicorn_main_binary-i386_Packages
Change the line reading
Filename: pool/main/s/scala/scala_ 2.9.2-400_all.deb
to:
Filename: pool/main/s/scala/scala_%20%20%20%20%202.9.2-400_all.deb
Followed by:
sudo apt-get remove scala-library sudo apt-get remove scala sudo apt-get install scala
Nano is easier for some users. Perhaps you can document that one can also use `sudo nano` or `gksudo gedit`?
In my case I couldn't update the system because of the following error when trying
sudo apt-get install -f
:update-alternatives: error: /var/lib/dpkg/alternatives/package_name broken: invalid status
A remedy was to remove the file from
/var/lib/dpkg/alternatives
and repeat the above command. I ran it a few times until all the invalid packages were fixed.In my case it prevented me from configuring Java properly.
i had this problem once, for some reaspon i think it was a skype package
actually i recall i had it twice, once when the skype package only was broken in this case if its only a few 1.open software updater, and wait for it to load 2. click settings 3. click other software tab These are all your packages, look at your console output, use the last few lines to locate which package it is and remove it, or do it one by one until you no longer get the error
If it was like i had once, all packages were unable to be reieved correctly same as above, but click the Ubuntu Software tab
check only the first and third box Select main server from the dropdown, click close sudo apt-get update
License under CC-BY-SA with attribution
Content dated before 6/26/2020 9:53 AM
Ohumeronen 2 years ago
Thank you so much! You just made my day. This helped me where 'sudo apt --fix-broken install' failed.