How to fix a broken package, when "apt-get install -f" does not work? [duplicate]
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?
phdp@desktop:~/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 as root
(using sudo
).
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.
In my case this worked:
sudo dpkg -P package_name
(not deb name)
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.