What are Repositories?
There are thousands of programs available to install on Ubuntu. These programs are stored in software archives (repositories) and are available for installation over the Internet. This makes it very easy to install new programs. It is also very secure, because each program you install is thoroughly tested and built specifically for Ubuntu.
The Ubuntu software repository is organised into four "components", on the basis of the level of support Ubuntu can offer them, and whether or not they comply with Ubuntu's [http://www.ubuntu.com/ubuntu/philosophy Free Software Philosophy]. The components are called Main (officially supported software), Restricted (supported software that is not available under a completely free license), Universe (community-maintained, i.e. not officially supported software) and Multiverse (software that is "not free"). You can find more information about the Ubuntu Repositories [http://www.ubuntu.com/ubuntu/components here].
The Ubuntu Install CDs contain software from the Main and Restricted components. Once your system is made aware of the Internet-based locations for these repositories, many more software programs are made available for installation. Using the software package management tools already installed on your system, you can search for, install and update any piece of software directly over the Internet, without the need for the CD.
Adding Repositories in Ubuntu
attachment:IconsPage/eyes.png This page describes how to manage software repositories in Ubuntu 6.06 (Dapper Drake). For Kubuntu 6.06 please see [:KubuntuAddingRepositoriesHowto: Kubuntu repository management]. For earlier versions of Ubuntu please see [:/Breezy: this wiki page].
attachment:IconsPage/terminal.png The operations described on this page modify the software repositories configuration file located at
Software sources can also be managed by making direct modifications to this file using the command line. If you prefer to use the command line instead of a graphical user interface, see [:../CommandLine: Managing Repositories from the Command Line] instead.
Adding the Universe and Multiverse Repositories
Navigate to "System" > "Administration" > "Software Properties".
A list of repositories or "Channels" will be shown. Scroll down to the three entries that share the Community maintained (Universe) and Non-free (Multiverse) attributes: attachment:activate-repos.png
- Activate all three entries by clicking on the checkboxes next to them.
Click Close to save your changes. A dialog box should appear, asking whether you'd like to update the list of repositories. Click Reload to apply your changes.
BR attachment:IconsPage/info.png Integration with Synaptic Package Manager
The next time you use the Synaptic package manager, click on the Reload button to make it aware of the new software repositories. attachment:reload.png
You can also manage software repositories from within Synaptic by selecting "Settings" > "Repositories". attachment:synaptic-repos.png
Adding Canonical Commercial Repositories
To launch the Synaptic Package Manager hit System -> Administration -> Synaptic Package Manager .
Next you will be prompted for your password to be able to launch Synaptic as super user.
Once that's all done you should now have the Synaptic package manager on your screen. On the menu of this screen you will want to click on Settings -> Repositories
This is were you will be able to add the Canonical commercial repositories. on the left of the screen click on the button Add.
The Add Channel screen will come up. On this screen select the Custom option.
On this screen type the following line and then click on Add Channel.
deb http://archive.canonical.com/ubuntu dapper-commercial main
Now hit Close. From the main Synaptic window, hit Reload. Once this finishes, you will now be able to get packages from the Canonical commercial repositories using the Synaptic Package Manager.
Adding Other Repositories
BR attachment:IconsPage/warning.png Note: There are some (but not many) good reasons for which you might want to add non-Ubuntu repositories to your list of software sources. For example, some software cannot be distributed by Ubuntu due to patent and licensing restrictions in some countries (see the RestrictedFormats page for examples). You might want to add repositories that offer such software. Make sure that all repositories you add in this way have been tested and are known to work on Ubuntu systems. Repositories that are not designed to work with your version of Ubuntu can introduce inconsistencies in your system and might force you to re-install.
BR Anchor(add) You can add custom software repositories by adding the apt repository line of your software source to the list of repositories. To do so, click on the Add button next to the Channel list in the Software Preferences panel, then select Custom.
- Enter the apt line into the dialog box. It should look something like this:
deb http://mirror3.ubuntulinux.nl/ dapper-seveas freenx
attachment:IconsPage/info.png For an explanation of the different parts of the apt line, see the [#edit Editing Repositories] section below.
Managing Local Repositories
Disable the CD-ROM Repository
If you have installed Ubuntu from one of Ubuntu's CD-ROMs, the CD will be included in the list of repositories used by the package managment tools. When you install a new package, Synaptic will check whether the package is available locally (i.e. on the CD-ROM). Synaptic may then ask for the CD-ROM. This can help reduce the size of downloads and speed up the installation process. If you would like Synaptic to rely solely on the internet repositories for package management, you can disable the CD-ROM entry with a few steps:
Launch Synaptic and navigate to "Settings" > "Repositories". BR A list of software repositories or "Channels" will be shown.
Locate the entry for the CD-ROM (it may say something like CD disk with Ubuntu 6.06 LTS). Click on the checkbox next to it to disable the CD-ROM as a software source.
Click the Close button to save the changes you have made.
- You can re-enable the CD-ROM at any time using the checkbox next to its entry.
To remove software sources ("Channels") from the list, select the source and click on the Remove button. (If you only want to disable the repository temporarily, uncheck the checkbox next to the source instead.)
attachment:IconsPage/eyes.png Use with caution: At present, you will not be asked to confirm the remove action. This is not a problem with the Ubuntu repositories as you can simply [#add add them again], but you may have to look up a custom repository line if you mistakenly delete it. (It is always a good idea to back up your sources.list)
To make changes to a software source, select it in the list and click the Edit button. A dialog box displays the apt line, broken up into its components.
Type Software sources may contain software in binary or source code format. Select the option that corresponds to the repository.
attachment:IconsPage/eyes.png The corresponding apt line has deb for binary repositories and deb-src for source code repositories.
URI Enter a valid Uniform Resource Indicator or URI for the software repository. Here's a list of examples:
smb (works only when the computer is connected to a Samba share) BR
nfs (works only if the computer is connected to a NFS share) BR
Comment BRAdd a comment to describe the repository for easier reference.
BR attachment:IconsPage/info.png Repositories defined using the Software Preferences panel are available to Update-Manager and will be periodically checked for updates.
Managing Authentication Keys
Authentication keys are usually obtained from the maintainer of the software repository. The maintainer will often place a copy of the authentication key on a public key server such as www.keyserver.net. The key can then be retrieved using the command
gpg --keyserver [name of keyserver] --recv-keys [keyhash]
- In our example above, you would import the maintainer's authentication key as follows:
gpg --keyserver subkeys.pgp.net --recv-keys 1135D466
- Then, add the key to Ubuntu's apt trusted keys database with the following command
gpg --export --armor 1135D466 | sudo apt-key add -
- Note there's a dash at the end of the line
[:../CommandLine: Managing Software Repositories from the Command Line]
- [:../Kubuntu: Managing Software Repositories in Kubuntu]
Chapter 2 of the Ubuntu Desktop Guide, [http://help.ubuntu.com/ubuntu/desktopguide/C/add-applications.html Adding, Removing and Updating Applications]
An [http://www.ubuntulinux.nl/source-o-matic automatic sources.list generator]
The [http://www.debian.org/doc/user-manuals#apt-howto Debian Apt User Manual]