173

I have come across several installation instructions that include the command deb. But it appears that this command is not available on my installation.

Where can I get this command? Is there a work-around?

2
  • 4
    Please accept an answer to questions where you have a good answer, to show that you like an answer and it helped you the most. You can do so with the checkmark to the left.
    – nanofarad
    Dec 26, 2012 at 23:20
  • 4
    I'm embarassed that I didn't realize the instructions I was reading weren't showing me something to type at the command line, it was showing me a line to put in a file. I'm glad you asked this question! Oct 13, 2013 at 5:40

6 Answers 6

148

deb is not a command. It is used in /etc/apt/sources.list file to indicate a Debian software repository.

From Ubuntu Manpage - 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 deb type describes a typical two-level Debian archive, distribution/component. The format for a sources.list entry using the deb and deb-src types is:

deb [ options ] uri distribution [component1] [component2] [...]

The URI for the deb type must specify the base of the Debian distribution, from which APT will find the information it needs. distribution can specify an exact path, in which case the components must be omitted and distribution must end with a slash (/). This is useful for when the case only a particular sub-section of the archive denoted by the URI is of interest. If distribution does not specify an exact path, at least one component must be present.

So, if I have deb http://archive.ubuntu.com/ubuntu/ quantal main restricted in the sources.list file - it says: I have a Debian archive which is based on http://archive.ubuntu.com/ubuntu/, the distribution is quantal and the components are main and restricted.

4
  • 26
    And sources.list is in /etc/apt/ on 12.04. Dec 4, 2013 at 15:36
  • 6
    Can be useful if you say that "deb" lines are instructions added to Aptitude source lists. That would eliminate the amount of confusion this whole issue creates.
    – Gelmir
    Jan 27, 2014 at 10:08
  • I hit the same problem because of confusing guidance on the pgAdmin installation page.
    – icc97
    Mar 14, 2020 at 15:56
  • In my case a copy/paste issue converted double-quotes (") into a similar but different character which caused the command to give following error. Notice the funny quote character before deb. '“deb' is not known on line 1 in source list /etc/apt/sources.list.d/cloudfoundry-cli.list
    – user92240
    Oct 16, 2021 at 15:48
29

deb is not a unix command. If you have a line like the following (source for docker):

deb https://apt.dockerproject.org/repo ubuntu-xenial main

it is a line that must be available in your ubuntu sources.list so that apt-get can find future packages from this new source.

However, it's not a good practice to edit the /etc/apt/sources.list file directly. Instead add the deb line as an entry to a new .list file inside the /etc/apt/sources.list.d/ directory. We will create a docker.list file like this:

echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list

Once done, remember to perform a sudo apt-get update and you should now be able to find new packages from this source easily.

27

Like the answer by @Eric Carvalho deb is not command line If you have deb then url like this:

deb http://download.virtualbox.org/virtualbox/debian trusty contrib 

Edit

Like commit of @muru, you need to create new file with the extension .list into /etc/apt/source.list.d/ folder:

Example: I want to download Oracle virtualbox, create new file :

sudo gedit /etc/apt/sources.list.d/oracle-virtualbox-trusty.list 

Then copy and paste the line of deb into this file

6
  • 1
    1. It's apt, not opt (though there is an opt) and 2. Never edit /etc/apt/sources.list to add a line unless it is an Ubuntu mirror/official repository. Create a new file in /etc/apt/sources.list.d with the extension .list with that line.
    – muru
    Sep 11, 2014 at 16:02
  • 1
    @muru "Never edit /etc/apt/sources.list to add a line unless it is an Ubuntu mirror/official repository." Why? Sure, making .list files in /etc/apt/sources.list.d is what I do under these circumstances and is what I usually recommend. But I see no reason to insist manually added 3rd party software sources go in /etc/apt/sources.list.d. Some conffiles are when possible best not edited by the user (e.g., use /etc/profile.d over /etc/profile, arguably use /etc/sudoers.d over /etc/sudoers), but sources.list is often changed. (Even customized by Ubiquity to a regional mirror.) Sep 12, 2014 at 6:06
  • @EliahKagan when have you ever seen Ubiquity add a third-party repository (not mirror) to sources.list? Or for that matter, any official tool? sources.list.d is present for a reason. I will continue to insist that it be used for third-party repositories.
    – muru
    Sep 12, 2014 at 7:41
  • @muru Sorry, I wasn't clear. I mentioned Ubiquity's behavior to point out /etc/apt/sources.list isn't one of the conffiles that one can leave alone so as to facilitate smoother upgrading--as that is often (perhaps usually) the motivation behind strong suggestions to prefer making files in X.d to editing X. I am not suggesting Ubiquity enables third-party repos in any way. You haven't explained what's special about such repos, though, so as to make it actually wrong (i.e., "Never edit...") to put them in sources.list. Sep 12, 2014 at 7:49
  • @EliahKagan There's nothing "actually wrong" in doing so, if that's your problem with the statement. "Never [do X]" doesn't always mean that doing X is wrong, it can and does mean that doing X is bad practice ("Never use GOTO."). Happy, now? Repeat: I will continue to insist that sources.list.d be used for third party repositories and sources.list only for mirrors and official repos, unless you can give me a clear, sound, reason as to why it is a good idea not to do so.
    – muru
    Sep 12, 2014 at 8:05
17

On Ubuntu, you don't have to manually edit the source.list to add the repository. Instead, you can use add-apt-repository, as you would do for a PPA.

For example, to add the LLVM repository, you can call:

sudo add-apt-repository 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty main'

As you can see, we must pass the deb line as a single argument to the command.

11

Deb isn't actually a command (I thought so too, at first) -- Assuming you are trying to download/install a deb, do this (for example):

wget http://whatever.com/whatever.deb

then dpkg -i whatever.deb

then run the commands:

sudo apt-get update
1
  • 2
    100% relevant, and better than the best answer above. He's obviously trying to download/install a .deb
    – dylanh724
    Jul 17, 2016 at 17:33
4

This is not the CLI command.

This is information about some Debian package repository (used also by Ubuntu).

If you want to use this repository:

  1. Open the file /etc/apt/sources.list with administrator privileges.

  2. Add to this file a line with information about the repository starting with deb ...

  3. Save the file.

  4. Run this command:

    apt-get update

Now you will be able to use this repository.

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