Let's take evince
and gedit
as examples. Open a terminal and run:
apt-cache show evince | grep Conflicts
apt-cache show evince | grep Breaks
This pair of commands will tell you if evince
breaks or conflicts with something else. In my case I get
$ apt-cache show evince | grep Conflicts
Conflicts: evince-gtk
$ apt-cache show evince | grep Breaks
<blank>
so evince
conflicts with evince-gtk
that means they shouldn't be installed at the same time (APT will complain if this ever happens).
In my case evince
doesn't declare to break any package so let's skip to gedit
. Now, run
$ apt-cache show gedit | grep Conflicts
<blank>
$ apt-cache show gedit | grep Breaks
Breaks: gedit-plugins (<< 2.91)
As you can see gedit
does not conflict with anyone. Nonetheless, it does break the package called gedit-plugins
for versions strictly less than 2.91
. That means gedit-plugins
most be more recent than this version to work correctly with gedit
and in particular APT will refuse to install gedit
unless you remove gedit-plugins (<< 2.91)
first.
Notice that even though the gedit-plugins
in the official repositories are recent enough, you might want to download (from github
maybe) a particular GEdit plugin that is older, this line serves you as a remainder that this older version should not work with the current GEdit version.
For more details about package relationships (and the official definitions of Breaks and Conflicts) refer to Debian Policy Manual - Chapter 7.
apt-cache show <package-name>
there should be a line starting withConflicts:
orBreaks:
if it conflicts/breaks something. If the package you are trying to install isn't official (from a private PPA, for example) you are better off googling for possible caveats (the alternative is risking to break your system). – edwin Jul 02 '13 at 15:56