Ubuntu Trusty Packages and Repositories

From

Jump to: navigation, search
Ubuntu Trusty Packages and Repositories
Full page | eBook Version

Contents

Add Extra Repositories

Software packages and programs are freely available for download at multiple online sites with standardized structures, called repositories. There are repositories officially sanctioned and monitored by the Kubuntu/Ubuntu developer community, while other repositories are independently provided, without official sanction or supervision (and should be used with caution). Additional information is available from the Ubuntu Repository Guide.

Types of Repositories

  • There are four major package repository types in Ubuntu:
  • main - Supported by Canonical. This is the major part of the distribution.
  • restricted - Software not licensed under the GPL (or similar software license), but supported by Canonical.
  • universe - Software licensed under the GPL (or similar license) and supported by users.
  • multiverse - Software not licensed under the GPL (or similar license), but supported by users.
  • There are also these additional types of repositories:
  • Trusty-updates - Updates to official packages.
  • Trusty-backports - Current version software from Terrific Tiger (Trusty+1) that have been backported to Trusty Tahr.
  • Trusty-proposed - Proposed updates & changes (bleeding edge stuff).

Third party repositories

Software developers often maintain their own repositories, from which software packages can be downloaded and installed directly to your computer (if you add the repository to your list). Many of these third party repositories and software packages have never been reviewed by the (K)Ubuntu/Debian community and can present a security risk to your computer. Trojans, backdoors, and other malicious software can be present at any unregulated repository. When using repositories not endorsed by the (K)ubuntu/Debian community, make sure you have utter confidence in that site before enabling the repository and installing a software package from it.

PPA repositories

A Personal Package Archive (PPA) is a special software repository used for experimental source packages still under development. Such software has not been approved by the Debian or Ubuntu developers (but may eventually become an accepted package). Use this software at your own risk just like any other third party repository software.

Documentation about how to install software from this type of repository can be found at the PPA Installing Software Guide.

In brief, to add a repository:

sudo add-apt-repository ppa:user/ppa-name

Note: If add-apt-repository is not available on your system, then install it with the package:

sudo apt-get install python-software-properties

Add Repositories using Synaptic Package Manager

This is the preferred method.

  • Menu -> System -> Administration -> Synaptic Package Manager -> Settings -> Repositories.
  • Here you can enable the repositories for Ubuntu Software and Third Party Software.
  • For Third Party Software select Add -> enter the repository's address. It will have a format similar to:
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted
  • Example: To add the Medibuntu repository, Add:
deb http://packages.medibuntu.org/ trusty free non-free
  • Download the repository key to a folder.
  • Example: The Medibuntu key can be downloaded from
http://packages.medibuntu.org/medibuntu-key.gpg
  • Then add the key from:
Menu -> System -> Administration -> Synaptic Manager -> Settings -> Repositories -> Authentication -> Import Key File...
  • (Alternatively, you can manually add the key from the command line Terminal. See Add Repository keys.)
  • Refresh the package list from the new repository:
Synaptic -> Reload

Manually add repositories

  • Adding a repository (such as a Launchpad ppa repository) can be accomplished from the command-line interface:
sudo apt-add-repository ppa:user/repository

where ppa:user/repository is an example of the repository you wish to add.

  • When the repository name has a format similar to the following, enclose the repository name in quotation marks:
sudo apt-add-repository "deb http://repository.example.org trusty stable"
  • To remove a repository:
sudo apt-add-repository -r ppa:user/repository
  • Refresh the packages list from the new repositories:
sudo apt-get update

Note: If add-apt-repository is not available on your system, then install it with the package:

sudo apt-get install python-software-properties

Edit the repository sources list

  • This is an optional, labor intensive method. Do this at your own risk. Modify the default Ubuntu sources.list only if you understand what you're doing. Mixing repositories can break your system. For more information see the Ubuntu Command-line Repository guide.
  • Create a backup of your current list of sources.
sudo cp -i /etc/apt/sources.list /etc/apt/sources.list_backup

Note: sudo - runs the command with root privileges. cp = copy. -i = prompt to overwrite if a file already exists.

  • Edit the list of sources:
sudo nano /etc/apt/sources.list
or using a graphical editor:
gksudo gedit /etc/apt/sources.list
  • Note: To use your local mirror you can add "xx." before archive.ubuntu.com, where xx = your country code.
Example: deb http://gb.archive.ubuntu.com/ubuntu precise main restricted universe multiverse indicates a repository for Great Britain (gb).
  • Here is a sample sources.list. At the end have been added repositories for Medibuntu and Google:
#deb cdrom:[Ubuntu 14.04 _Trusty Tahr_ - Release i386]/ Trusty main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.

deb http://gb.archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://gb.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://gb.archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty universe
deb http://gb.archive.ubuntu.com/ubuntu/ trusty-updates universe
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://gb.archive.ubuntu.com/ubuntu/ trusty multiverse
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty multiverse
deb http://gb.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-updates multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://gb.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository. This software is not part of Ubuntu, but is
## offered by Canonical and the respective vendors as a service to Ubuntu
## users.
deb http://archive.canonical.com/ubuntu trusty partner
deb-src http://archive.canonical.com/ubuntu trusty partner

deb http://security.ubuntu.com/ubuntu trusty-security main restricted
deb-src http://security.ubuntu.com/ubuntu trusty-security main restricted
deb http://security.ubuntu.com/ubuntu trusty-security universe
deb-src http://security.ubuntu.com/ubuntu trusty-security universe
deb http://security.ubuntu.com/ubuntu trusty-security multiverse
deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse

## Medibuntu - Ubuntu 14.04 "Trusty Tahr"
## Please report any bug on https://bugs.launchpad.net/medibuntu/
deb http://packages.medibuntu.org/ trusty free non-free
deb-src http://packages.medibuntu.org/ trusty free non-free

# Google software repository
deb http://dl.google.com/linux/deb/ stable non-free

  • Refresh the packages list from the new repositories:
sudo apt-get update

Add repository keys

  • Download the gpg keys for the repositories and automatically add them to your repository keyring:
  • Example: To obtain and add the Medibuntu repository key:
wget --quiet http://packages.medibuntu.org/medibuntu-key.gpg -O - | sudo apt-key add -
  • Example: To obtain and add the Google repository key:
wget --quiet http://dl.google.com/linux/linux_signing_key.pub -O - | sudo apt-key add -

Note: wget - retrieves a file from a network location. --quiet = no output. -O = Output downloaded item to terminal. The | (pipe symbol) is used to capture the output from the previous command (in our case the screen) and use it as an input for the piped command (i.e. apt-key, which adds it to the keyring).

  • Alternatively (and perhaps more easily), you can use apt-key directly:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEY
where KEY is the missing key code printed in apt-get output, e.g. EF4186FE247510BE.
Note: Key servers often use port 11371. Make sure your firewall allows port 11371 to be open.

Package Installation and Updates

Apt and Package Basics

Most new users will use the Synaptic Package Manager to install packages. These instructions are for installing packages from the command-line Terminal. Terminal can be started:

Menu -> Applications -> Accessories -> Terminal
  • Install packages:
sudo apt-get install packagename
  • Example:
sudo apt-get install mpd sbackup
  • Remove packages:
sudo apt-get remove packagename
  • To remove all dependencies:
sudo apt-get autoremove
  • Example:
sudo apt-get remove mpd sbackup
  • Search for packages:
apt-cache search <keywords>
  • Examples:
apt-cache search Music MP3
apt-cache search "Text Editor"
sudo apt-get update
  • Upgrade packages:
sudo apt-get upgrade
  • Upgrade the entire distribution (e.g. from Maverick to Natty):
sudo apt-get dist-upgrade

Installing .deb packages

Debian (.deb) packages are the packages that are used in Ubuntu. You can install any .deb package in your system. .deb files can generally be installed from your file manager (Nautilus) merely by clicking on them, since file associations with the default installer is already set in Ubuntu. These instructions are for those who wish to install packages from the command-line terminal (Terminal).

  • Install a downloaded Debian (Ubuntu) package (.deb):
sudo dpkg -i packagename.deb
  • Remove a Debian (Ubuntu) package (.deb):
sudo dpkg -r packagename
  • Reconfigure/Repair an installed Debian (Ubuntu) package (.deb):
sudo dpkg-reconfigure packagename
  • Example:
sudo dpkg-reconfigure mpd

Handling (Tar/GZip) and (Tar/Bzip2) archives

(Tar/GZip) archives end in ".tar.gz" and (Tar/Bzip2) archives end in ".tar.bz2". Bzip2 is the newer, more efficient compression method. These files can generally be automatically extracted by merely clicking on them from your file manager (Nautilus), since file associations with the appropriate archival utilities are set by default in Ubuntu. These instructions are for those who wish to use the command line Terminal.

  • To extract:
tar xvf packagename.tar.gz

Note: tar is an application which can extract files from an archive, decompressing if necessary.

-x means extract.
-v means verbose (list what it is extracting).
-f specifies the file to use.
  • Decompressing ".gz" files
gunzip file.gz
  • Decompressing ".bz2" files
bunzip2 file.bz2
Note: You can also decompress a package first by using the command gunzip (for .gz) or bunzip2 (for .bz2), leaving the .tar file. You would then use tar to extract it.
  • To create a .gz archive:
tar cvfz packagename.tar.gz folder
  • To create a .bz2 archive:
tar cvfj packagename.tar.bz2 folder

Installing a package from source

  • Make sure you have all the necessary development tools (i.e. libraries, compilers, headers):
sudo apt-get install build-essential linux-headers-$(uname -r)
Note: "uname -r" lists the current kernel you are using
  • Extract the archive that contains the source files:
tar xvf sourcefilesarchive.tar.gz
  • Build the package using the package's script (in this case the configure script), compile the package (make), and install the compiled package into your system (make install):
cd /path/to/extracted/sourcefiles
./configure
sudo make
sudo make install
Note: typing ./ before a filename in the current folder allows the Linux shell to try and execute the file as an application even if it is not in the path (the set of folders which it searches when you type a command name). If you get a "permission denied" error, the file is not marked as being executable. To fix this:
sudo chmod +x filename
Example: In the above instructions, configure is the shell script to build the package from source. To be sure the configure script is executable:
sudo chmod +x configure
Create a .deb package from source files

If your build from source is successful, you can make a Debian (Ubuntu) package (.deb) for future use:

  • Install package tools:
sudo apt-get install checkinstall
  • Rebuild package using "checkinstall":
cd /path/to/extracted/package
./configure
sudo make
sudo checkinstall
  • Keep the resulting ".deb" file for future use. It can later be installed using:
sudo dpkg -i packagename.deb

Note: These are basic instructions that may not always work. Some packages require additional dependencies and optional parameters to be specified in order to build them successfully. Also see these Ubuntu wiki instructions. More info about .deb package structure can be found here.

Aptitude

Aptitude is a terminal-based package manager that can be used instead of apt-get. Aptitude marks packages that are automatically installed and removes them when no packages depend on them. This makes it easy to remove applications completely. To use Aptitude, replace apt-get with aptitude in the command line. Example:

sudo aptitude install packagename
sudo aptitude remove packagename
sudo aptitude update
sudo aptitude upgrade

For an ncurses-based graphical user interface, type

sudo aptitude

For more information, see the aptitude documentation.

Synaptic Package Manager

While "apt-get" and "aptitude" are fast ways of installing programs/packages, you can also use the Synaptic Package Manager (Menu -> System -> Administration -> Synaptic Manager), a GUI method for installing programs/packages. Most (but not all) programs/packages available with apt-get install will also be available from the Synaptic Package Manager. This is the preferred method for most desktop users. In this guide, when you see

sudo apt-get install package

you can simply search for package in Synaptic and install it that way.

Menu -> System -> Administration -> Synaptic Package Manager
  • Search for the name of the program/package. You can also search for a word in its description.

-> Mark for Installation -> Apply

  • The selected program(s) will be automatically installed, along with its dependencies.

Ubuntu Software Center (Add/Remove Programs)

Not all packages available from apt-get, aptitude, and Synaptic Package Manager are available in the Ubuntu Software Center. However, it is the easiest interface for new users of Ubuntu and directs them to preferred packages.

Menu -> Applications -> Ubuntu Software Center
  • Search for the sort of program you want to add. Example: type MP3 to see a list of mp3 software.

-> Mark for Installation -> Apply

  • The selected program(s) will be automatically installed.

Manual Updates

  • Manually, from Terminal (command line interface):
sudo apt-get update
sudo apt-get upgrade
or
  • Use Synaptic Package Manager:
Menu -> System -> Administration -> Synaptic Package Manager -> "Reload" then "Mark all upgrades"
If there are packages available for updating, you will be prompted whether to install them.

Automated Updates

  • Use Synaptic Package Manager:
Menu -> System -> Administration -> Synaptic Manager -> Settings -> Preferences -> General -> Reloading Outdated Package Information -> Automatic

Repair broken packages

If a package installation fails (which can cause a Package Manager to freeze or become locked), or if a package has unsatisfied dependencies causing a similar condition, then run one (or both) of the following commands from the command-line terminal:

sudo apt-get install -f
sudo dpkg --configure -a
  • If a problem occurs with MergeList (appearing as a missing "Package: header" error):
E: Encountered a section with no Package: header
E: Problem with MergeList...
E: The package lists or status file could not be parsed or opened.
then repair by recreating the package lists:
sudo rm /var/lib/apt/lists/* -vf
sudo apt-get update
  • If a problem occurs with a lock on the apt cache, for example:
E: Could not get lock /var/cache/apt/archives/lock - open (11: Resource temporarily unavailable)
then run:
sudo fuser -cuk /var/lib/dpkg/lock; sudo rm -f /var/lib/dpkg/lock
sudo fuser -cuk /var/cache/apt/archives/lock; sudo rm -f /var/cache/apt/archives/lock
Personal tools
Sponsor