146
sudo apt-get update
E: The method driver /usr/lib/apt/methods/https could not be found.
michael@Ubuntu:~$ sudo apt-get clean
michael@Ubuntu:~$ cd /var/lib/apt
michael@Ubuntu:/var/lib/apt$ sudo mv lists lists.old
michael@Ubuntu:/var/lib/apt$ sudo mkdir -p lists/partial
michael@Ubuntu:/var/lib/apt$ sudo apt-get clean
michael@Ubuntu:/var/lib/apt$ sudo apt-get update
E: The method driver /usr/lib/apt/methods/https could not be found.
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
michael@Ubuntu:/var/lib/apt$ sudo apt-get update
E: The method driver /usr/lib/apt/methods/https could not be found.

Why am I getting these errors when doing an apt-get update?

  • 1
    Please edit your question and the add the content of /etc/apt/sources.list file – jokerdino Feb 15 '12 at 13:49
234

Try:

sudo apt-get install apt-transport-https
  • 4
    If you are unable to find this package in the repository: "Package 'apt-transport-https' has no installation candidate'" then see the answer below from @NateC-K – Todd Smith Mar 12 '17 at 15:34
  • 5
    This worked for me. We need dependency managers for our dependency managers. Paging @xzibit – Ezekiel Victor Apr 10 '17 at 21:54
64

I encountered this problem as well. I was unable to fix it by installing apt-transport-https, because it had been quite a while since I'd done any package updates on the machine in question, and the version of that package that I needed was no longer available in the package repository. (To get an available version, I first had to be able to apt-get update successfully.) Thus, I was forced to track down the reason why apt-get was suddenly trying to use HTTPS, and stop it from doing that.

In my case, it turns out that one of the third-party apt sources that was listed in a config file in my /etc/apt/sources.list.d directory had switched to using HTTPS for all downloads, and they had begun redirecting the http:// URL to an https:// URL. This was making apt attempt to use HTTPS even though none of my source configurations requested it. (I discovered this by opening the source repository URL in my web browser, and noticing that the URL in the address bar changed to https:// when the page loaded.)

Since this was a third-party repository and thus non-essential, I simply disabled that source temporarily, then reran apt-get update and it worked with no problem. After apt-get update, apt-get upgrade and apt-get install apt-transport-https, I was able to re-enable that third-party apt source, and from there on everything worked.

  • 2
    Thank you for specifying sources.list.d/. It's been a while since I've worked with Ubuntu's various apt-related files, and that's what I needed to fix this issue. – Lyle Brown Jul 13 '15 at 6:33
  • 3
    I'm glad this helped someone! I spent a long time tracking this problem down, so I was eager to share my findings. – Nate C-K Jul 20 '15 at 22:55
  • Thanks! I'm going to say that installing the Crystal lang did this exact thing, just incase someone googles it. – Sam Eaton Dec 28 '16 at 1:36
6

Check the files in this directory: /etc/apt/sources.list.d

One of the files addressed a repository starting with HTTPS. Comment that line by adding # in the beginning and try: apt-get update

  • @Zanna: OP receives an error message "The method driver /usr/lib/apt/methods/https could not be found." mnorouzi's suggestion would help with that even though it may be better to install the HTTPS handler. – David Foerster Mar 8 '17 at 9:06

Not the answer you're looking for? Browse other questions tagged or ask your own question.