217

There are now errors when updating and I cannot install most software due to a corrupted

/etc/apt/sources.list

file. Is there a copy I can download to replace it?

The file would be for Ubuntu 12.04 (Final Beta) in the United States.

Anwar
  • 76,649
  • Have you tried the "Software Sources" GUI app? I'm not running 12.04, but in the past, this is where you could choose the repository location, and edit which ones to use from that location. – Marty Fried Apr 21 '12 at 18:14
  • I did, and none of the errors listed were in that. I just want to find a copy of the sources.list file as it was when I had freshly installed Ubuntu. – Andy Castille Apr 21 '12 at 18:15
  • You should be able to go to the "Other Software" tab, and delete the duplicate entries. Or, if you're not sure, you can uncheck a few and see if that fixes the problem. Also, did you run "sudo apt-get update" like it suggested? – Marty Fried Apr 21 '12 at 18:34
  • Yes, I did. It gives me `W: Failed to fetch http://ppa.launchpad.net/pmcenery/ppa/ubuntu/dists/precise/main/source/Sources 404 Not Found

    W: Failed to fetch http://ppa.launchpad.net/pmcenery/ppa/ubuntu/dists/precise/main/binary-amd64/Packages 404 Not Found

    W: Failed to fetch http://ppa.launchpad.net/pmcenery/ppa/ubuntu/dists/precise/main/binary-i386/Packages 404 Not Found

    E: Some index files failed to download. They have been ignored, or old ones used instead. `

    – Andy Castille Apr 21 '12 at 19:09
  • All of the ones with ppa.launchpad.net should be listed in the "Other Software" tab, and can be disabled or deleted. In fact, I believe all of the ones with http:// URLs could be disabled, and would be lost if you replace the file with the default. If you go to "http://ppa.launchpad.net, you will see a big list, which includes things like "pmcenery"; I followed it to ppa/ubuntu/dists and saw that the last version was natty, so there is no oneiric or precise to be had. That is why you are getting the 404 (not found) error. – Marty Fried Apr 21 '12 at 20:22
  • 1
    http://repogen.simplylinux.ch/ isdown right now ... any other ideas? Need the default repos for 13.10 – xxdesmus Apr 18 '14 at 17:58
  • 1

4 Answers4

181

You can use this trick. Open a terminal ( Pressing Ctrl+Alt+T ) and do these

  • Move the corrupted one to the safe place

    sudo mv /etc/apt/sources.list ~/
    

    and recreate it

    sudo touch /etc/apt/sources.list
    
  • Open Software & Updates

    software-properties-gtk
    

    This will open software-properties-gtk with no repository selected.

Then, change the server to Main server or to any other server of your choice. You must enable some repositories from the new window in order to create a new sources.list file in /etc/apt/.

ubuntu-software tab of software-properties-gtk

  • After enabling some sources from Ubuntu software tab, you can enable updates. To do so, switch to Updates tab and select one or more updates channel. I recommend selecting the security and updates channels at least. (This image is later added from Ubuntu xenial, so there can be some differences)

    updates tab of software-properties-gtk


Updated with inline content

This is the sources.list file for 12.04 Precise Pangolin.

###### Ubuntu Main Repos
deb http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse 
deb-src http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse 

###### Ubuntu Update Repos
deb http://archive.ubuntu.com/ubuntu/ precise-security main restricted universe multiverse 
deb http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse 
deb http://archive.ubuntu.com/ubuntu/ precise-proposed main restricted universe multiverse 
deb http://archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse 
deb-src http://archive.ubuntu.com/ubuntu/ precise-security main restricted universe multiverse 
deb-src http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse 
deb-src http://archive.ubuntu.com/ubuntu/ precise-proposed main restricted universe multiverse 
deb-src http://archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse 

###### Ubuntu Partner Repo
deb http://archive.canonical.com/ubuntu precise partner
deb-src http://archive.canonical.com/ubuntu precise partner

###### Ubuntu Extras Repo
deb http://extras.ubuntu.com/ubuntu precise main
deb-src http://extras.ubuntu.com/ubuntu precise main

If you're using another release, you need to replace the precise word with your Ubuntu release name. You can see which name you should use with this command:

lsb_release -c -s

To replace the word, you can use this sed command (assuming you copied the sources content in /etc/apt/sources.list):

sudo sed -i "s/precise/$(lsb_release -c -s)/" /etc/apt/sources.list

Note 1: the word deb and deb-src refers to the repository format. deb is for binary packages and deb-src is for source packages.

Note 2: Using # at the start of the line makes that line a comment. apt will ignore it, so any repositories mentioned on that line will be disabled.

Note 3: There are repository lines which includes all four components: main, universe, restricted, multiverse. You can disable one or more of them by removing the word.

Note 4: You can find some explanation of the repositories in this my other answer

Kulfy
  • 17,696
Anwar
  • 76,649
  • 24
    And if i was in Ubuntu server?! – Dr.jacky Jul 06 '15 at 09:58
  • 2
    This did not work for me -new sources.list was not generated. – hydroxide Aug 10 '15 at 20:26
  • 1
    I have tested this again now, it generates a new one. You have to enable some repository, like main, universe etc – Anwar Aug 11 '15 at 02:37
  • Thanks, the other places I looked didn't mention the update section. It was required for me to get things installed with apt – Darrel Holt Jan 14 '18 at 22:36
  • Thnaks, you save my operation system, rs – Diogo Henrique Fragoso de Oliv Apr 13 '18 at 02:17
  • The first solution dow not work with Ubuntu 18.04. The software-properties-gtk throws the error: "WARNING:root:could not open file '/etc/apt/sources.list'". I tried to provide an empty sources.list with sudo touch /etc/apt/sources.list. This results now in the error "aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Ubuntu/bionic" – eDeviser Dec 19 '18 at 07:08
  • For those using KDE, software-properties-kde is available and served the same purpose for me – mhernandez Oct 03 '19 at 07:22
112

For releases prior to and including 18.04, you can use https://repogen.simplylinux.ch (currently, 20.04 and later are not supported by this tool).

Select your Country and Ubuntu Release.

For the default set of repositories, you need to enable these repositories.

  • All of the Ubuntu Branches repositories.
  • Security - Important Security Updates.
  • Security Sources Repository
  • Updates - Recommended Updates
  • Updates Sources Repository

If you want to install software from Canonical Partner Repositories (closed source software), enable the Ubuntu Partner Repositories (both of them).

Enable any 3rd party repository you wish to enable.

Now, click the Generate List button at the bottom of that page and you'll see your generated sources.list.

Replace the old sources.list with the new one

Run the following commands in a Terminal.

sudo mv /etc/apt/sources.list /etc/apt/sources.list.old
gksudo gedit /etc/apt/sources.list

Copy/paste all the text from the newly generated sources.list to this file. Save it and close Gedit.

Now, update apt.

sudo apt-get update

This will update your repository index with the current sources.list and then you can install any software using Software Center, Synaptic or apt-get.

NotTheDr01ds
  • 17,888
SirCharlo
  • 39,486
  • Somewhere in the past, you added http://ppa.launchpad.net/pmcenery/ppa/ubuntu/dists/precise/main/source/Sources to your list. Did you last have the natty version before the beta? I suspect the upgrader changed natty to precise, but there is no precise version available for this package. I would delete it from "Other Software". The error isn't hurting anything, by the way. – Marty Fried Apr 21 '12 at 20:27
  • 8
    only up to 18.04 sadly – http8086 Jun 16 '20 at 11:26
  • @http8086 Thanks - I submitted an edit to the answer with that info. I was about to recommend this answer to someone else, but then I noticed your comment. – NotTheDr01ds Oct 12 '21 at 22:45
40

By default there will be a backup for your sources.list file on the same directory itself.

sudo cp /etc/apt/sources.list.save /etc/apt/sources.list

Answer from similar question here: What is the correct output of cat /etc/apt/sources.list?

karel
  • 114,770
Big McLargeHuge
  • 809
  • 1
  • 9
  • 15
  • 10
    cp: cannot stat `/etc/apt/sources.list.save': No such file or directory – Dr.jacky Jul 06 '15 at 09:58
  • I'm on 18.04.1. I didn't have /etc/apt/sources.list.save but I did have /etc/apt/sources.list.curtin.old. Is that the equivalent? – jbobbins Oct 30 '18 at 16:48
  • worth to note if you just upgraded the distro and kept having errors with apt-get install, then instead of sources.list.save do copy sources.list.distUpgrade – MaKiPL Apr 05 '19 at 10:49
16

Here is a better way to get all the default repositories back.

  1. Create a directory where we can run our commands:

    sudo mkdir ~/answer
    
  2. Download the sources.list for Ubuntu 20.04 focal.

    cd ~/answer/
    sudo wget https://gist.githubusercontent.com/ishad0w/788555191c7037e249a439542c53e170/raw/3822ba49241e6fd851ca1c1cbcc4d7e87382f484/sources.list
    
  3. Change the sources.list to match your version:

    sudo sed -i "s/focal/$(lsb_release -c -s)/" ~/answer/sources.list
    
  4. Backup your current sources.list:

    sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
    
  5. Replace the sources.list:

    sudo mv ~/answer/sources.list /etc/apt/
    
  6. Run apt update:

    sudo apt update
    

By default, the directory which contains all the PPA files is empty. If after restoring the repositories, you're still facing errors then you need to remove all the PPA files too.

  1. Move the directory containing the PPA files to the ~/answer directory:

    sudo mv /etc/apt/sources.list.d/ ~/answer 
    
  2. Recreate the directory:

    sudo mkdir /etc/apt/sources.list.d
    
  3. Run apt update:

    sudo apt update 
    
  4. Remove the ~/answer directory:

    sudo rm -r ~/answer
    

If the gist file used in the wget command above gets removed in the future, then you can copy the contents from here:

deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse

deb http://archive.canonical.com/ubuntu focal partner deb-src http://archive.canonical.com/ubuntu focal partner

Error404
  • 7,440