Need help "sudo: add-apt-repository: command not found"

20,365

Ok. Thanks to Thomas W. for comments that led me to the solution.

The cause seems to trace back to broken packages. I had previously searched how to fix broken packages, but none of the solutions fixed the whole problem. I searched instead for the Hash Sum mismatch error I was getting at the end of apt-get update, and found this solution, that solved the problem.

Answer copied here for completeness:

Remove the content of /var/lib/apt/lists directory:

sudo rm -fR /var/lib/apt/lists/*

then run:

sudo apt-get update

Apparently, and you gurus can correct or elaborate, the clean and autoclean flags for apt-get didn't completely purge the problem children from apt/lists directory.

Share:
20,365

Related videos on Youtube

Puckster
Author by

Puckster

Updated on September 18, 2022

Comments

  • Puckster
    Puckster over 1 year

    There are lots of "add-apt-repository" posts out there, but I think I have seen and tried the solutions in most of them.

    I am trying to install Java on Ubuntu Server 12.04. Some searching lead to the most common solution below:

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java7-installer
    

    However, when I run

    sudo add-apt-repository ppa:webupd8team/java
    

    I get the following error:

    sudo: add-apt-repository: command not found
    

    So, more searching and troubleshooting has led me to the following:

    sudo apt-get install software-properties-common
    

    Which gives me (now, at least - the first time, it actually installed the package):

    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    

    Other advice suggested the following might be needed:

    sudo apt-get install python-software-properties
    

    Which gives the following error:

    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:
    
    The following packages have unmet dependencies:
     python-software-properties : Depends: python-pycurl but it is not installable
    E: Unable to correct problems, you have held broken packages.
    

    So I tried:

    sudo apt-get install python-pycur
    

    and get this:

    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    
    E: Package 'python-pycurl' has no installation candidate
    

    Kind of stuck now. Any ideas where to go next?

    Per Thomas W.'s suggestion, here are the contents of /etc/apt/sources.list:

    # deb cdrom:[Ubuntu-Server 12.04.5 LTS _Precise Pangolin_ - Release i386 (20140806.1)]/ precise main restricted
    
    #deb cdrom:[Ubuntu-Server 12.04.5 LTS _Precise Pangolin_ - Release i386 (20140806.1)]/ precise main restricted
    
    # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
    # newer versions of the distribution.
    deb http://us.archive.ubuntu.com/ubuntu/ precise main restricted
    deb-src http://us.archive.ubuntu.com/ubuntu/ precise main restricted
    
    ## Major bug fix updates produced after the final release of the
    ## distribution.
    deb http://us.archive.ubuntu.com/ubuntu/ precise-updates main restricted
    deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates main restricted
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
    ## team. Also, please note that software in universe WILL NOT receive any
    ## review or updates from the Ubuntu security team.
    deb http://us.archive.ubuntu.com/ubuntu/ precise universe
    deb-src http://us.archive.ubuntu.com/ubuntu/ precise universe
    deb http://us.archive.ubuntu.com/ubuntu/ precise-updates universe
    deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates universe
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
    ## team, and may not be under a free licence. Please satisfy yourself as to 
    ## your rights to use the software. Also, please note that software in 
    ## multiverse WILL NOT receive any review or updates from the Ubuntu
    ## security team.
    deb http://us.archive.ubuntu.com/ubuntu/ precise multiverse
    deb-src http://us.archive.ubuntu.com/ubuntu/ precise multiverse
    deb http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse
    deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse
    
    ## N.B. software from this repository may not have been tested as
    ## extensively as that contained in the main release, although it includes
    ## newer versions of some applications which may provide useful features.
    ## Also, please note that software in backports WILL NOT receive any review
    ## or updates from the Ubuntu security team.
    deb http://us.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
    deb-src http://us.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
    
    deb http://security.ubuntu.com/ubuntu precise-security main restricted
    deb-src http://security.ubuntu.com/ubuntu precise-security main restricted
    

    Also, results of sudo apt-get update may be useful:

    W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise/main/source/Sources  Hash Sum mismatch
    
    W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise/restricted/source/Sources  Hash Sum mismatch
    
    W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise/universe/source/Sources  Hash Sum mismatch
    
    W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise/multiverse/source/Sources  Hash Sum mismatch
    
    W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise/main/binary-i386/Packages  Hash Sum mismatch
    
    W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise/restricted/binary-i386/Packages  Hash Sum mismatch
    
    W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise/universe/binary-i386/Packages  Hash Sum mismatch
    
    W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise/multiverse/binary-i386/Packages  Hash Sum mismatch
    
    E: Some index files failed to download. They have been ignored, or old ones used instead.
    
    • Thomas Ward
      Thomas Ward over 8 years
      Looks like you have broken packages, can you edit your question to include the contents of your /etc/apt/sources.list ?
    • Puckster
      Puckster over 8 years
      Will do. I went through broken packages issues too. Don't remember what part of my process I was in at that time - CUPS install maybe, but I followed all of the apt-get autoclean/update/upgrade, and similar, and got past the issue at the time. Maybe we'll find something new! Always fun.
    • Thomas Ward
      Thomas Ward over 8 years
      try again in an hour - hash sum mismatch sounds like the servers are in the middle of a syncing of packages and that should resolve fairly soon
    • Puckster
      Puckster over 8 years
      I've gotten similar results each time, so I don't think that's it. Nonetheless, I'll give it a shot again in an hour or so, so we can see for sure. Thanks for your help.
    • Puckster
      Puckster over 8 years
      Ok, ran apt-get update again after a little more than an hour with identical results to those posted - same hash sum mismatches.
    • Thomas Ward
      Thomas Ward over 8 years
      When you run it, do you happen to see which IP it attempts to reach to? Could you also run nslookup us.archive.ubuntu.com as well to verify which servers your system is attempting to use?
    • Puckster
      Puckster over 8 years
      I don't see any IP in the output, but here are the results of nslookup us.archive.ubuntu.com: Non-authoritative answer: Name: us.archive.ubuntu.com Address: 91.189.91.13 Name: us.archive.ubuntu.com Address: 91.189.91.24 Name: us.archive.ubuntu.com Address: 91.189.91.14 Name: us.archive.ubuntu.com Address: 91.189.91.23 Name: us.archive.ubuntu.com Address: 91.189.91.15
    • Thomas Ward
      Thomas Ward over 8 years
      are you on 32bit or 64bit? Just trying to rule out every potential cause, as I can't replicate, even with my ancient 12.04 server I've been meaning to upgrade (lol)
    • Puckster
      Puckster over 8 years
      32 bit. Takes a noob to come up with an unreplicatable problem ... ;-)
    • Puckster
      Puckster over 8 years
      FWIW, it's an 800 MHz Athlon running 12.04 Server, so your ancient server is the right tool for replication attempts.
    • Atifm
      Atifm almost 8 years
      Instead of add-apt-repository which you need python-software-properties for, try the built in apt-add-reposiroty. Works in Precise, Trusy and Xenial with no additional packages necessary.
    • Atifm
      Atifm almost 8 years
      Did you get a chance to try apt-add-repository on a fresh ubuntu precise image?
  • edwinksl
    edwinksl almost 8 years
    But it is precisely the built-in add-apt-repository that didn't work for the OP because the OP was using Ubuntu Server. See askubuntu.com/questions/38021/how-to-add-a-ppa-on-a-server.
  • edwinksl
    edwinksl almost 8 years
    But they are the same thing according to askubuntu.com/a/83490/15003.
  • Atifm
    Atifm almost 8 years
    Interesting point. However one works in the vanilla precise image, and the other doesn't. Maybe the package adds a symlink? I can post the vagrant file if you like? Starts with ubuntu/precise64 and it has apt-add-repository without adding anything. add-apt doesn't seem to work without first installing python-software-properties first.