99

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?

  • 3
    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. – hexafraction Dec 26 '12 at 23:20
  • 2
    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! – Tyler Collier Oct 13 '13 at 5:40
94

'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 sources.list 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".

  • 22
    And sources.list is in /etc/apt/ on 12.04. – Ahmed Fasih Dec 4 '13 at 15:36
  • 3
    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. – Shahriyar Imanov Jan 27 '14 at 10:08
23

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

  • 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 '14 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.) – Eliah Kagan Sep 12 '14 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 '14 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. – Eliah Kagan Sep 12 '14 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 '14 at 8:05
9

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.

8

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
  • 2
    100% relevant, and better than the best answer above. He's obviously trying to download/install a .deb – dylanh724 Jul 17 '16 at 17:33
2

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.

1

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.

protected by Community Sep 25 '18 at 9:38

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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