It started as an effort to keep a minimal install, but as my desktop use has progressed, at 992 packages, my install is now hardly minimal.
Package Codependencies:
Perl (
perl
and perl-modules
) gives a good example of a codependency.Here is a comment from a debian bug discussion which explains things somewhat
The co-dependency between perl and perl-modules is required as these
are fundamentally one package, split only into arch any/all parts.
Modules within perl use modules within perl-modules and vice-versa.
Python does not use this codependencies approach, but does have a package structure that also requires a bit of understanding when you first see it.
Python (python and python-minimal), seem to be instead, set and subset, with the latter intended on being enough to support the initial install process, whilst not taking too much space on install media.
These decisions are understandable when you remember that install media has a fixed size.
( This bartering, is perhaps similar to when you move house and have to discuss what goes where in the fixed size Ford Transit Luton/U-Haul )
Python diagram (with a particular leaning towards my install packages):
It is possible to install python 2.6 to python 3.1 in Squeeze, they are just not the default. There is not much relying on python 3.1 just now, except maybe if you wanted to beta test the latest Blender.
(Aside: you will find
libpython2.6
and libpython3.1
in Squeeze but there is no python 2.5 equivalent)Note: All version numbers checked in June 2010 which is likely 6 months or more ahead of Squeeze actual release. Version numbers are subject to change and may not be entirely accurate at and beyond Squeeze final release
Package circular dependencies:
libwrap0
and tcpd
, on a server, are examples as illustrated by the diagram below:When I look at installed packages on servers, I see
tcpd
and think...how did that get there. The answer, of course, is that I have
openssh-server
installed, and, hopefully the diagram illustrates the rest.I use the term 'circular dependencies' very loosely in this posting, as the term 'circular dependency', it could be argued, more properly applies where both packages strictly depend on each other.
Package confusing dependencies:
In Squeeze
gamin
is supposed to be a drop in replacement for fam
.I use the Thunar file browser and this diagram shows some interesting dependencies:
seahorse-plugins
is something I also use on the desktop and I found it useful to include it in the diagram.For
libgamin0
to be a drop in replacement for libfam0
, there would have to be changes to both of the vfs packages shown, so that either of libgamin0 or libfam0 could be used.I think
gamin
and libgamin0
are also codependencies (as it appears today in aptitude), but the thing that is confusing to me is how I could possibly install gamin.My thoughts are that if I try to install
gamin
or libgamin0
then it will break dependencies higher up :(There must be slightly more to it than I thought, because although I received a dpkg complaint, when replacing
libfam0
with libgamin0
, my system seems to be working without it wanting to remove thunar
or seahorse-plugins
:)
No comments:
Post a Comment