Re: why 100 packages are evil

From: David Chisnall <theraven_at_FreeBSD.org>
Date: Mon, 25 Apr 2016 09:22:09 +0100
On 25 Apr 2016, at 06:48, Gerrit Kühn <gerrit.kuehn_at_aei.mpg.de> wrote:
> 
>> Yes.  It will be replaced by 'pkg upgrade' -- as far as I know, that's
>> the plan for 11.0-RELEASE.
> 
> Hm... I never had any troubles with freebsd-update, it always "just
> worked" for me. OTOH, I remember having several issues with pkg, requiring
> to fix databases manually and so on.

There are two kinds of issues with freebsd-update:

The first is fairly common: it’s slow and creates a lot of files.  If you read the forums, you’ll find a lot of issues about this.  Updates from one patchlevel to the next are pretty straightforward, but on both the VMs that I use for FreeBSD and a slow AMD machine with ZFS it takes around an hour (sometimes more) for freebsd-update to jump one major release.  After that, it takes pkg a minute or two to update the 2-3GB of packages that need upgrading.  Minor releases can often take tens of minutes on these system.

The many files issue can cause inode exhaustion.  One one machine, I just checked and have 20K files in /var/db/freebsd-update/files.  If you’re using UFS for /var, it’s fairly easy for freebsd-update to run out of inodes.  Trying to recover a FreeBSD system that can no longer create files in /var is not the most fun uses of my time.

The second issue is that it sometimes just fails to work.  I have twice had freebsd-update manage to become confused about versions and install a kernel that couldn’t read the filesystem.  I’ve had similar confusion where (on a box that I administer mostly via the network and where physical access is a pain) had it install a version of ifconfig from an older userland than the kernel.  These are all on machines where freebsd-update has been responsible for every upgrade after the initial install from CD.  Most depressingly, it spends ages doing checksums of every file in the system, determines that they don’t match the expected ones, and then installs the wrong one anyway.

I have been using the testing versions of pkg on most FreeBSD machines since it became available.  Since pkg 1.0 was released, I have had far fewer issues with pkg than with freebsd-update and almost all of those were to do with poor information in the ports tree and the rest were either UI or performance issues.  We have a lot tighter control over the packaging metadata for the base system.

David


Received on Mon Apr 25 2016 - 06:22:35 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:04 UTC