M HYPE SPLASH
// updates

How to fix a broken package, when "apt-get install -f" does not work? [duplicate]

By Emma Valentine

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 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.
0

7 Answers

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
3

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.

2

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).

3

In my case this worked:

sudo dpkg -P package_name 

(not deb name)

2

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
1

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.