[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: package management begins to annoy me



On Thursday 26 February 2009 15:20:58 Urs Thuermann wrote:
> I use Debian testing on 2 desktop machines and a notebook, the oldest
> of them is 4-5 years old.  While in the begining I found apt-get and
> dpkg quite usable (but didn't like dselect), now aptitude tends more
> and more to annoy me, for several reasons.  Maybe, and I hope so, this
> is only because i don't know apt-get and aptitude well enough.

Probably.  The aptitude user's manual is really not all that big, and will 
give you a lot more control over your package management system.

> 1. aptitude has the nice feature of marking packages that are install
>    automatically, qhich I always missed in apt-get.  But every once in
>    a while I check the installed package with
>
>         aptitude search . | grep ^i
>
>    (BTW, is there a simpler way to do this?)

All installed packages:
aptitude search '~i'

"Automatically" installed packages:
aptitude search '~M'

"Manually" installed packages:
aptitude search '~i!~M'

> 2. Every 1-2 months or so I do a
>
>         aptitude update && aptitude -R safe-upgrade
>
>    but more and more often I see aptitude wanting to bloat my
>    installation of currently roughly 2 GB by another 400 or 500 MB by
>    installing hundreds of new packages.  My suspect is that
>    increasingly many packages have broken dependencies and want to
>    pull in quite a lot of other packages which they really shouldn't
>    depend on.

Make sure you tell apt-get/aptitude not to pull in recommended packages by 
default.

However, new versions tend to add (not remove) dependencies, so your system 
probably will grow over time.  If you really think a Depend/Recommend 
relationship is incorrect, please file a bug.  That way the maintainer is 
notified even if he does follow your favorite mailing list and the 
resolution can be tracked.

>    However, I don't know for sure concrete examples for this, except
>    that 2+ years ago, I wanted to upgrade the already installed CD
>    ripper grip by running
>
>         aptitude install grip
>
>    and this insisted on installing almost the complete cups system.  I
>    found this completely broken since I don't had a printer at all and
>    you can use grip quite well without printing.

This is probably a Recommend from when grip added a feature to print 
lightscribe disks or CD labels.  That's just a guess though.  I end up 
installing a lot of the Recommended (and even Suggested) packages, but I 
make sure apt-get and aptitude don't do it automatically as I prefer as 
lean a system a needed for all the features I crave.

> 3. On a Debian testing system at work, where I haven't upgraded for
>    maybe 3-4 months I ran
>
>         aptitude -R safe-upgrade
>
>    which caused aptitude to run for an hour generating thousands of
>    messages about resolving open/closed/defered dependency conflicts
>    and then giving up.  I was only able to upgrade package for package
>    explicitly for a couple dozen packages, then safe-upgrade worked
>    again.

Yes, testing might receive thousands of updates during this time, so 
aptitude make have to work very hard to determine new dependencies.  Also, 
safe-upgrade intentionally avoids removing packages, even if they've been 
replaced by another package, and the conflicts may add up.

While ideally our package management would handle all these cases 
gracefully, when running testing you should be prepared to massage package 
upgrades--particularly if you haven't updated in a while.  With stable this 
should be extremely rare.

> 4. On my notebook I have today safe-upgraded with -R (which caused an
>    increase of 140 MB to beof the installed size) and now the system
>    seems to be quite up-to-date.  Nevertheless, I now have problems
>    installing new packages involving perl (like I have had several
>    times before).  aptitude wants to upgrade perl, perl-base, and
>    perl-modules, then it detects some unmet dependencies
>    which it wants to resolve by removing
>
>         Remove the following packages:
>         abiword-gnome
>         cogito
>         git-core
>         gnome
>         gnome-office
>         libcompress-zlib-perl
>         libdigest-sha1-perl
>         libft-perl
>         libperl5.8
>
>    which I don't want to accept but all other following suggestions
>    aren't better.  In the past, upgrading perl has also caused svk to
>    be removed, and I wasn't able to reinstall svk although I really
>    missed it.

The perl that should be used with (now stable) Lenny is 5.10, not 5.8.  The 
was an API change and more packages got folded into perl-modules.  You 
probably do need to remove or upgrade all the packages you listed.  In 
particular libperl5.8 should be removed.

> 5. Doing an
>
>         aptitude full-upgrade
>
>    seems to solve these problems with perl in 4. and upgrades perl to
>    the current version but it also wants to install 327 new packages
>    increasing disk usage by 675 MB:
>
>         76 packages upgraded, 327 newly installed, 21 to remove and 1 not
> upgraded. Need to get 432MB of archives. After unpacking 675MB will be
> used.
>
>    which find quite expensive since I only want to upgrade, not
>    install a whole lot of unneeded packages.  With apt-get it looks
>    the same.
>
> So, am I doing something completely wrong here?

Nope.  It possible that those 76 packages that are being upgraded where 
refactored to be more granular so that now they are 152 packages instead -- 
accounting for some of your "newly installed" packages.  Also, they likely 
added features which may have added more dependencies.  That said, you 
might be able to save some space by disabling the automatic installation of 
Recommended packages.
-- 
Boyd Stephen Smith Jr.           	 ,= ,-_-. =.
bss@iguanasuicide.net            	((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy 	 `-'(. .)`-'
http://iguanasuicide.net/        	     \_/

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: