Your question revolves around the syntax or format of source list file that describes other programs what, how & from where to get the sources. So, Here it goes :
used to manage the repository on Debian & Debian-based (Ubuntu) systems. It uses a file that lists the Repository Sources
from where packages should and can be obtained. Also the file lists how the packages should be obtained and from what subpackages (or suites).
The format in which entities are written tells everything to apt. However, there are two variations of the format.
One-line-style format
deb822-style format
As you can get an idea from deb822-style format
what are those words you asked in question. Let's get into more details into the format.
- It tells which source is going to be accessed.
- The first word on each line possibly
deb
or deb-src
, indicates the type of archive.
deb
indicates that archive contains binary packages (deb), the pre-compiled packages that we normally use.
deb-src
indicates source packages, which are the original program sources plus the Debian control files (.dsc)
and the diff.gz containing the changes needed for packaging the program.
- Format, syntax and names of the options vary between one-line-style and deb822-style formats as described above, but they both have the same options available.
Its simply a URL/URI to the source repository from where you want to get the packages. You can specify type for the URL/URI that can be anyone from the currently recognized URIs that are :
http | https | file | cdrom | ftp | copy | rsh,ssh
You can add more recognizable URI types, If you want.
3. Suite
A suite refers to combination of two attributes of distribution that are :
Release Code Name
An alias given to every release of OS. Every OS has got a Code Name
& you already now that How to get distribution's full code name ?
Release Class
Defines the development phase of a package that can be one or the combination of the following :
stable testing unstable
4. Components
Components tell that whether package is :
- Free (As defined in context of free software) or Non-Free,
- Independent ( as in
main
) or have dependencies somewhere else ( as in contrib
).
- whether they comply with DFSG or not.
- Also tell the Repository Sections that can be
main
or restricted
or universe
or multiverse
.
The EDIT part
in your question refers to what is called as options. And as the name says, they are optional but when used, they modify the source entry to fetch a particular kind of packages. They can define :
The Syntax (Revised) :
One-line-style format
[archive-type] [ option1=value1,option2=value2 ] URI suite [component1] [component2] [...]
deb822-style format
Types: deb deb-src
URIs: uri
Suites: suite
Components: [component1] [component2] [...]
option1: value1
option2: value2
Some Useful Links.
Example lines in sources.list file
How do I remove a malformed line in my sources.list
Feel free to add-in more details.