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
    

    Thank you so much! You just made my day. This helped me where 'sudo apt --fix-broken install' failed.

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

    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