Brian King
2007-Jan-16 03:05 UTC
freebsd-update from 6.1 RELEASE to 6.2 RELEASE: directory creation caused failure.
I'm writing this email from a freebsd 6.2 system, but it was a rocky upgrade for me. I followed the process outlined at http://www.daemonology.net/blog/2006-11-26-freebsd-6.1-to-6.2-binary-upgrade.html to upgrade my GENERIC i386 kernel and userland. I had changed some configuration files, and when notified about it, i created a directory /usr/upgrade/newfiles and downloaded the appropriate copies of these files from the cvs into this directory. And it seems that that was what caused my problems. Everything seemed to being going OK, until near the end: # sh freebsd-update.sh -f freebsd-update.conf -d /usr/upgrade install Installing updates...freebsd-update.sh: cannot create newfiles: Is a directory rm: newfiles: is a directory Well, I wasn't sure if it that was just a warning, or an error. I was optimistic and thought the script had probably successfully finished. I rebooted my computer ( triple-boot freebsd-linux-windows ), and selected freebsd from the grub menu. And that's when I saw: No /boot/loader Indeed. There was no /boot/loader file. There was a /boot/loader.old file (I'm not sure if this .old file is from freebsd-update, or if it's something I left behind once upon a time). I was able to work around it by burning a cd of disc 1 of the 6.2 release, and running the cd/dvd fix-it shell. I made a backup copy of my /boot directory, copied the cd's /boot directory in, and then copied back my original loader.conf file. After successfully booting into freebsd again, I reran the script: # sh freebsd-update.sh -f freebsd-update.conf -d /usr/upgrade install Installing updates...freebsd-update.sh: cannot create newfiles: Is a directory rm: newfiles: is a directory Hmmm ... same thing. OK, I can take a hint. I removed the /usr/upgrade/newfiles directory and reran the script, which completed succesfully, and prompted me to reboot and re-run the script, which I did. The userland update also finished successfully. Despite the problem that I had, I can see that freebsd-update is a great tool; kudos to the developer! Suggestion for the developer: either permit directory creation in /usr/upgrade, or document that it's a no-no. Brian
Colin Percival
2007-Jan-20 00:44 UTC
freebsd-update from 6.1 RELEASE to 6.2 RELEASE: directory creation caused failure.
Brian King wrote:> I'm writing this email from a freebsd 6.2 system, but it was a rocky > upgrade for me. > > I followed the process outlined at > http://www.daemonology.net/blog/2006-11-26-freebsd-6.1-to-6.2-binary-upgrade.html > > to upgrade my GENERIC i386 kernel and userland. > > I had changed some configuration files, and when notified about it, i > created a directory /usr/upgrade/newfiles and downloaded the > appropriate copies of these files from the cvs into this directory.Oops.> # sh freebsd-update.sh -f freebsd-update.conf -d /usr/upgrade install > Installing updates...freebsd-update.sh: cannot create newfiles: Is a > directory > rm: newfiles: is a directoryYeah, you're not supposed to do that. In fact, it never occurred to me that someone would do that, largely because the FreeBSD Update working directory (/usr/upgrade in this case) is normally /var/db/freebsd-update. But since people upgrading from FreeBSD 6.1 don't have FreeBSD Update installed as part of the base system (and thus don't have the "normal" working directory) I added the flag to tell FreeBSD Update to use a different directory instead.> Suggestion for the developer: either permit directory creation in > /usr/upgrade, or document that it's a no-no.It will be documented. :-) Thanks, Colin Percival