Do files at /etc/apt/sources.list.d need to have an extension '.list'?

In /etc/apt/sources.list.d I have several files for custom repositories. All the names of those files end with .list.

Is it obligatory that files in that folder should end with that extension? If yes, where is that information written?


Solution 1:

Yes, names of files in /etc/sources.list.d must end in .list for lines in the files to be taken as specifying software sources that ought to be used. Otherwise, the files may be taken to have a different meaning.

sources.list

From man sources.list (1):

NAME sources.list - Package resource list for APT

DESCRIPTION

The package resource list is used to locate archives of the package distribution system in use on the system. At this time, this manual page documents only the packaging system used by the Debian GNU/Linux system. This control file is /etc/apt/sources.list.

The source list is designed to support any number of active sources and a variety of source media. The file lists one source per line, with the most preferred source listed first. The format of each line is: type uri args The first item, type determines the format for args. uri is a Universal Resource Identifier (URI), which is a superset of the more specific and well-known Universal Resource Locator, or URL. The rest of the line can be marked as a comment by using a #.

SOURCES.LIST.D

The /etc/apt/sources.list.d directory provides a way to add sources.list entries in separate files. The format is the same as for the regular sources.list file. File names need to end with .list and may only contain letters (a-z and A-Z), digits (0-9), underscore (_), hyphen (-) and period (.) characters. Otherwise APT will print a notice that it has ignored a file if the file doesn't match a pattern in the Dir::Ignore-Files-Silently configuration list - in this case it will be silently ignored...

sources.list.save

The .list.save files are some kind of work/backup files:

  • http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=614398
  • https://bugs.launchpad.net/ubuntu/+source/apt/+bug/611925

Links:

  1. http://manpages.ubuntu.com/

Solution 2:

As a complement to user26687's answer:

Yes, any file inside /etc/apt/sources.list.d must have a .list extension otherwise apt will print a warning message and ignore the file, except if file matches a pattern in apt's Dir::Ignore-Files-Silently option.

The Software Sources GUI creates a .list.save for each .list file it manages, as a kind of "backup" file. The LP bug 611925 mentioned is from 2010, when apt did not silently ignore .save files yet, and as such generated a lot of warnings.

This behavior was fixed in apt version 0.8.3ubuntu1 in 2010 for LP bug 631770:

apt (0.8.3ubuntu1) maverick; urgency=low

  * merged fixes from debian-sid
  * debian/rules:
    - put ubuntu-archive.gpg back into the package (LP: #620576)
  * apt-pkg/init.cc:
    - ignore ".distUpgrade" and ".save" files in sources.list.d
      (LP: #631770)

Since then such files are silently ignored by apt by default. You can see all such patterns with:

apt-config dump | grep Dir::Ignore-Files-Silently::

So files like .save, .bak, .orig, among others, are also accepted (and ignored) in /etc/apt/sources.list.d