[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ next ]
There are some front-end programs for the APT system that make it significantly easier to get listings of packages that are available for installation or are already installed, as well as to find out what section a package is in, what its priority is, what its description is, etc.
But... our goal here is to learn how to use pure APT. So how can you find out the name of a package that you want to install?
That's what this chapter intends to answer. Let's check out our options.
For example, suppose that you want to reminisce about the good old days of the Atari 2600. You want to use APT to install an Atari emulator, and then download some games. You can do:
$ aptitude search atari p atari-fdisk-cross - Partition editor for Atari (running on no p atari800 - Atari emulator for X/curses/SDL p console-keymaps-atari - Keymaps for Atari keyboards.
We find several packages related to what we're looking for, together with brief descriptions. The p letter at the begining of the line is similar to the notation used inside the curses UI aptitude uses. It means, thus, that the package is not installed. Important to notice that aptitude only searches package names by default. You can use all the search options provided by aptitude, which you can discover by reading the aptitude's User Manual. To search the descriptions, for example, you could use:
$ aptitude search ~datari p aranym - Atari Running on Any Machine p atari-fdisk-cross - Partition editor for Atari (running on no p atari800 - Atari emulator for X/curses/SDL p circuslinux - The clowns are trying to pop balloons to p circuslinux-data - Data files for circuslinux p console-keymaps-atari - Keymaps for Atari keyboards. [...] p stella - Atari 2600 Emulator for SDL & X windows [...]
Now, that returned many more packages, as we can see. Now that we found a list of possible solutions to our problem, let's go deeper into them:
$ aptitude show stella Package: atari-fdisk-cross Version: 0.7.1-5 Priority: extra Section: otherosfs Maintainer: Roman Hodek <roman@hodek.net$gt; Uncompressed Size: 106k Description: Partition editor for Atari (running on non-Atari) Atari-fdisk allows you to create and edit the partition table of a disk partitioned in Atari format. It supports both the AHDI 5.0 and ICD variations of the Atari format. It is an interactive tool with a menu similar to PC fdisk, and also supports most options of PC fdisk.
In this output you have many details about the package that you want (or don't
want) to install, together with the full description of the package. You can
also use the apt-cache
program to get informations like those. If
you choose this tool, it will be able to show multiple versions of a package
that are available, for example:
$ apt-cache show muine Package: muine Version: 0.5.0-1 Priority: optional Section: gnome Maintainer: Link Dupont <link@subpop.net> Depends: gstreamer-gconf (>= 0.6.4), libatk1.0-0 (>= 1.4.1), libbonobo2-0 (>= 2.4.3), libc6 (>= 2.3.2.ds1-4), libflac4, libgconf2-4 (>= 2.4.0.1), libgdbm3, libglib2.0-0 (>= 2.2.3), libgnomevfs2-0 (>= 2.4.1), libgnomevfs2-common (>= 2.4.1), libgstreamer0.6-0 (>= 0.6.1-2), libgtk2.0-0 (>= 2.2.1), libid3tag0 (>= 0.15.0b), libogg0 (>= 1.1.0), liborbit2 (>= 1:2.8.0), libpango1.0-0 (>= 1.2.1), libvorbis0a (>= 1.0.1), libvorbisfile3 (>= 1.0.1), libxml2 (>= 2.6.7), zlib1g (>= 1:1.2.1), gconf2 (>= 2.4.0), mono-jit (>= 0.30) | cli-virtual-machine, gtk-sharp (>= 0.17), gconf-sharp (>= 0.17), gnome-sharp (>= 0.17) Architecture: i386 Filename: ./pool/main/m/muine/muine_0.5.0-1_i386.deb Size: 164314 Installed-Size: 692 MD5sum: 9885f13e5ef4f76b3bf6fe7bb3ea8634 Description: Simple music player Muine is an innovative music player. It has a simple interface designed to allow the user to easily construct playlists from albums and/or single songs. Its goal is to be simply a music player, not to become a robust music management application. Package: muine Priority: optional Section: gnome Installed-Size: 492 Maintainer: Link Dupont <link@subpop.net> Architecture: i386 Version: 0.4.0-8 Depends: gstreamer-gconf (>= 0.6.4), libatk1.0-0 (>= 1.4.1), libbonobo2-0 (>= 2.4.3), libc6 (>= 2.3.2.ds1-4), libflac4, libgconf2-4 (>= 2.4.0.1), libgdbm3, libglib2.0-0 (>= 2.2.3), libgnomevfs2-0 (>= 2.4.1), libgnomevfs2-common (>= 2.4.1), libgstreamer0.6-0 (>= 0.6.1-2), libgtk2.0-0 (>= 2.2.1), libid3tag0 (>= 0.15.0b), libogg0 (>= 1.1.0), liborbit2 (>= 1:2.8.0), libpango1.0-0 (>= 1.2.1), libvorbis0a (>= 1.0.1), libvorbisfile3 (>= 1.0.1), libxml2 (>= 2.6.6), zlib1g (>= 1:1.2.1), gconf2 (>= 2.4.0), mono-jit (>= 0.30) | cli-virtual-machine, gtk-sharp (>= 0.16), gconf-sharp (>= 0.16), gnome-sharp (>= 0.16) Filename: pool/main/m/muine/muine_0.4.0-8_i386.deb Size: 139864 MD5sum: e746709ad6a6fcc1e9c46b46b3d6e5b2 Description: Simple music player Muine is an innovative music player. It has a simple interface designed to allow the user to easily construct playlists from albums and/or single songs. Its goal is to be simply a music player, not to become a robust music management application.
For more general information about a package, you can use:
# apt-cache showpkg penguin-command Package: penguin-command Versions: 1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_binary-i386_Packages)(/var/lib/dpkg/status) Reverse Depends: Dependencies: 1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 (null)) libsdl-mixer1.1 (2 1.1.0) libsdl1.1 (0 (null)) zlib1g (2 1:1.1.3) Provides: 1.4.5-1 - Reverse Provides:
And to just find out what packages it depends on:
# apt-cache depends penguin-command penguin-command Depends: libc6 Depends: libpng2 Depends: libsdl-mixer1.1 Depends: libsdl1.1 Depends: zlib1g
In summary, we have a range of weapons we can use to find out the name of a package we want.
One of the ways to locate the name of a package is to know the name of an important file found within the package. For example, to find the package that provides a particular ".h" file you need for compilation you can run:
$ dpkg -S stdio.h libc6-dev: /usr/include/stdio.h libc6-dev: /usr/include/bits/stdio.h perl: /usr/lib/perl/5.6.0/CORE/nostdio.h
or:
$ dpkg -S /usr/include/stdio.h libc6-dev: /usr/include/stdio.h
Notice that this method only works to find package names of packages that are
installed in your system. You'll have to use auto-apt
(see How to install packages "on
demand", Section 7.1) or apt-file
(see How to discover to which package a file belongs, Section
6.3) to search for files on packages which are not installed. You can also
take a look at the http://packages.debian.org/
website. To list the names of packages installed on your system, which is
useful, for example, if you plan to clean up your hard drive, you can run:
$ dpkg -l | grep mozilla ii mozilla-browse 0.9.6-7 Mozilla Web Browser
The problem with this command is that it can "break" the package name. In the example above, the full name of the package is mozilla-browser. To fix this, you can use the COLUMNS environment variable this way:
$ COLUMNS=132 dpkg -l | grep mozilla ii mozilla-browser 0.9.6-7 Mozilla Web Browser - core and browser
If you want to install a package, and you can't find out what it is called by
searching with apt-cache
, but know the filename of the program
itself, or some other filename that belongs to the package, then you can use
apt-file
, which is included in the package of same name to find
the package name. This is done like this:
$ apt-file search filename
It works just like dpkg -S, but will also show you uninstalled
packages that contain the file. It could also be used to find what packages
contain necessary include files that are missing when compiling programs,
although auto-apt
is a much better method of solving such issues,
see How to install packages "on
demand", Section 7.1.
You can also list the contents of a package, by running:
$ apt-file list packagename
apt-file
keeps a database of which files all packages contain,
just like auto-apt does and it needs to be up-to-date. This is done by
running:
# apt-file update
By default, apt-file
uses the same database auto-apt
is using, see How to install packages
"on demand", Section 7.1.
There are lots of web resources with informations about the packages available in the Debian distribution, most of them directed mainly towards Debian Developers, but many of them may be useful for users, too.
The Debian Packages
Pages
lets you search for packages that are available on the various
architectures Debian supports and, also, search for the contents of all the
Debian packages. There are information regarding dependencies and other
relationships with packages. There are also links to download the source
package and the binary package for all architectures. You can use a shortcut
like http://packages.debian.org/packagename to have
quick access links to a package.
The Package Tracking
System
provides information about what happened to the package
recently, what are the TODO itens, from a Debian maintainers point of view,
provides a summary of bugs reported and some more very useful information. One
of the nice things about the Package Tracking System is that it lets you
"subscribe" to a package to follow all the emails that the maintainer
usually receives about the package. This way you can follow the development of
packages that are crucial for your work or play. The
http://packages.qa.debian.org/packagename shortcut
works here, as well.
Finally, the Bug Tracking
System
provides information about known bugs in the packages
distributed by Debian. This may be useful for you to find out why something
does not work the way you expected and even find solutions or work-arounds
through the bug logs. Also, read these pages and its documentation to be able
to fill good bug reports for Debian. The
http://bugs.debian.org/packagename shortcut also works
here, as expected, but the BTS (Bug Tracking System) also accepts other very
useful shortcuts like, for example,
http://bugs.debian.org/src:packagename to show all bug
reports on all binary packages provided by a given source package.
[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ next ]
APT HOWTO
2.0.0 - September 2005kov@debian.org