Freebsd-update to 9.3 from 9.2
Michael Powell
nightrecon at hotmail.com
Fri Jul 18 23:41:25 UTC 2014
Doug Hardie wrote:
[snip]
>
>
> svn doesn't work either:
>
> svn checkout https://svn0.us-west.FreeBSD.org/base/release/9.3.0 /usr/src
Incorrect syntax, which creates a new problem that didn't exist yet.
> The latest version of UPDATING I get is from 20130705. The web repository
> shows the latest entry as 20140716. I have used FreeBSD since 2.5.4 and
> it used to be easy to manage. Now its virtually impossible. Complete
> reinstalls on production systems are just not viable. We need a working
> way to upgrade. I haven't found it yet.
I have exactly zero experience with freebsd-update, and do not want to seem
disparaging towards the work of someone much smarter than me. I also have a
noted tendency to stick with what has worked well in the past and don't
change things until either I have a really good reason or some other change
makes trying "the new way" mandatory with no choice. Hence I still do
upgrades along the make world/buildworld/etc dance. Generally speaking, I've
been doing it this way since circa 2000 and have had almost never a problem
so I stick with it.
Under a populated /usr/src there is a .svn subdirectory. I actually know
very little about subversion, but I think this directory contains all the
internal housekeeping. I've noticed before the header in many of the files
I've read through all seem to contain OS version information. If you have a
populated /usr/src you can cd to /usr/src and do rm -rf * and this will wipe
everything _except_ the .svn subdirectory. You will first need to chflags -R
noschg on this directory before you can rm -rf it.
Once wiped clean, do this:
svn checkout svn://svn0.us-west.FreeBSD.org/base/releng/9.3 /usr/src
Please note the svn:// , releng instead of release, and the space before
/usr/src. This will pull in a fresh source tree for 9.3. To update do this:
svn update /usr/src
Usually running this immediately after pulling in a fresh tree does nothing,
other than tell you you're already at the latest. If time goes by and
security updates come out the svn update /usr/src command will pull in what
once was known as the release 'security' branch. Of course, any of this only
applies to NOT using freebsd-update.
One of the really neat things I do like is the revision number. You will see
it in uname like this: 9.3-RELEASE FreeBSD 9.3-RELEASE #0 r268715. I have
one machine left that only has a CD burner instead of the DVD burner all the
others enjoy. So in order to fit a backup dump on a CD I have to delete the
source tree. If at some point later I should need to pull in the source tree
that matches my existing kernel I look up the revision number in uname and
do something like this:
svn checkout -r r268715 svn://svn0.us-west.FreeBSD.org/base/releng/9.3
/usr/src
Using the revision numbers in this fashion allows for world and kernel to
stay in sync. Typically this is not required most of the time, but I like
very much that the feature exists and is so easy to utilize.
I can't speak to the original situation where the source tree was stale after
freebsd-update. I simply just know next to nothing about freebsd-update,
other than problems people have had with it that I've read about on the
list. I've been steadily doing source based upgrades for 14 years and it
works so I keep doing it that way. :-)
-Mike
More information about the freebsd-questions
mailing list