89

I can not remove broken package. Use the following command: sudo apt-get -f install but I get the following response:

Preparing to unpack .../nodejs_0.10.28-1chl1~trusty1_amd64.deb ...
Unpacking nodejs (0.10.28-1chl1~trusty1) over (0.10.25~dfsg2-2ubuntu1) ...
dpkg: error processing archive /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb (--unpack):
 trying to overwrite '/usr/share/man/man1/node.1.gz', which is also in package nodejs-legacy 0.10.25~dfsg2-2ubuntu1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Processing triggers for man-db (2.6.7.1-1) ...
Errors were encountered while processing:
 /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

I tried various commands like

 2015  sudo apt-get clean
 2020  sudo dpkg --configure -a
 2023  sudo apt-get autoremove
 2034  sudo apt-get upgrade && sudo apt-get -f install

But I did not get any result. I can not install synaptic. Any ideas how can I remove the broken package ?

Krasimir
  • 1,233

13 Answers13

114

run this command to remove broken packages in ubuntu.

sudo dpkg --remove --force-remove-reinstreq package_name 

after removing package update your system with command

sudo apt-get update

restart system after successfully updation.

premal
  • 1,853
22

This fixed my problem:

sudo dpkg -i --force-overwrite /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb
Eliah Kagan
  • 119,640
Krasimir
  • 1,233
21

Open your terminal and use following command

sudo dpkg --purge nodejs-legacy
sudo apt-get install -f

It should solve your problem.

g_p
  • 19,034
  • 6
  • 59
  • 69
20

I've found that:

sudo dpkg --remove --force-remove-reinstreq <packagename>

Works best. If it gives you an error that it won't remove a package because it is depended on by another package, remove that other package as well. You'll have to repeat this step several times and then reinstall your deleted packages.

The force-remove-reinstreq is THE "nuclear option" of deleting a package. It only fails if there is another package depending on the one you're about to delete -- Again, in that case, deleted the depending package too.

muru
  • 207,228
13

If you have a broken dependency (which I have encountered with openjdk), you will want to purge the package and force it to skip over dependency problems:

sudo dpkg -P --force-depends package_name

I found the answer on another forum

11

NOTE: The following command will remove the installation and removal scripts including the list files. It won't remove the package, nor it will fix anything, it will just make dpkg forget about the error message.

rm /var/lib/dpkg/info/<package_name>.*

example:

rm /var/lib/dpkg/info/elasticsearch.*

Error404
  • 8,278
  • 3
  • 35
  • 60
9

None of the above worked for me. Eventually I edited /var/lib/dpkg/status and removed the packages from there.

However, I would not advise this. It's just an option if all else fails.

NotTheDr01ds
  • 22,082
5

Here's one:

update your package list like this

 sudo apt-get update

then cleanup any partial packages

 sudo apt-get autoclean

Now clean the apt cache

 sudo apt-get clean

Now remove any unnecessary dependancies

 sudo apt-get autoremove

from the command above, you can identify any broken packages and forcefully remove it like this

 sudo dpkg --remove --force-remove-reinstreq package_name

Finally mopup any other packages with dependacies

 sudo apt-get -f install 

Tell me how it goes.

Zuko
  • 1,277
3

Open your terminal , and paste these line after line

sudo rm -rf  /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb
sudo apt-get autoclean
sudo apt-get update
sudo apt-get upgrade

then try again

Raja G
  • 105,327
  • 107
  • 262
  • 331
3

The same error repeats If we do apt-get clean and apt-get -f install unless we remove the junk data from /var/lib/dpkg/status file in Ubuntu.

Suppose we need to remove apache broken package. Initially we have to open the status file and search for the package apache. Remove the entire package description and save the status file. Then try using apt-get -f install and apt-get clean.

d a i s y
  • 5,551
2

None of the above worked for me

I used sudo aptitude.

It found the error immediately and offered options. You select and it fixes it.

1

I had a problem with broken kodi package. I opened synaptic package manager and used the "broken" filter to locate the package and marked it for complete removal. It worked like a champ.

Joe
  • 11
0
  1. query all the packages that are installed today or yesterday awk -v foo=$(date '+%Y-%m-%d') -v bar=$(date -d "yesterday" '+%Y-%m-%d') '($1==foo || $1==bar) && $3~/^install$/ { print $4 }' /var/log/dpkg.log
  2. wine-qqintl:i386 caused the problem, so I remove the package sudo dpkg -r wine-qqintl:i386

  3. done.