Linked by Thom Holwerda on Sun 31st Dec 2006 17:26 UTC, submitted by Charles A Landemaine
Permalink for comment 198225
To read all comments associated with this story, please click here.
To read all comments associated with this story, please click here.
News
Linked by Thom Holwerda on 06/19/13 22:28 UTC
Linked by Thom Holwerda on 06/18/13 22:33 UTC
Linked by Anonymous on 06/18/13 22:26 UTC
Linked by Thom Holwerda on 06/18/13 22:25 UTC
Linked by Thom Holwerda on 06/18/13 17:45 UTC
Linked by Thom Holwerda on 06/18/13 17:32 UTC, submitted by poundsmack
Linked by Thom Holwerda on 06/17/13 17:58 UTC
Linked by Thom Holwerda on 06/17/13 17:52 UTC
Linked by Thom Holwerda on 06/14/13 21:03 UTC
Linked by Thom Holwerda on 06/14/13 20:46 UTC
More News »
Sponsored Links



Member since:
2006-10-08
"Why you have to upgrade with one command? You can break your system and make it unusable."
As vegai said, that's irrelevant.
"Base system stays untouched, that mean if your upgrade process goes awry, you can use your system for other tasks and fix it later (you can reboot your server box from 1000 miles away without worrying about if it's dead... again- sry Linux guys, I know what you feel then...)."
I think it's a good idea that there's no "simple command" which can damage your system due to a defective file...
"Upgrading base system is another story and I don't remember any (I mean I got zero problem in five years) broken systems after whole userland+kernel upgrade with FreeBSD."
Upgrading the base system is a more complicated process. Let me explain:
First, a functioning base system (let's say, 6.1) is assumed. In addition, cvsup should be installed to do the update of the source files.
# cd /usr/src
# make update
Now the source files are of the new version (let's say, 6.2), depending on what branch (-RELEASE, -CURRENT, -STABLE) you want to upgrade to.
The system compiles the new kernel and the world (the system).
# make buildworld buildkernel
If you want another than the default kernel, you can set the KERNCONF variable in order to tell make
# make buildworld buildkernel KERNCONF=MYKERNEL
After that, the kernel has to be installed. The previous kernel is saved so it can be loaded instead of the new kernel if this one is defectiv in any way.
# make installkernel KERNCONF=MYKERNEL
Now, the system has to be rebootet so it uses the new kernel. Then the system is set in single user mode for maintenance operations. Partitions are checked, and if everything is okay the new world (the system) is installed. NB the use of "mergemaster": It handles changes in files (such as configuration files or system scripts).
> boot -s
...
# fsck -p
# mount -u /
# mount -a -t ufs
# swapon -a
# cd /usr/src
# mergemaster -p
# make installworld
# mergemaster
# reboot
After the reboot, the new kernel and new world are ready for use. The base system is upgraded. No installed application is changed.
Yes, I know, you can read it much better in the FreeBSD handbook. :-)
I won't reply to vegai's postings directly in detail because I think everything regarding the discussed problematic has been said. Furthermore, vegai seems to think the differences between the base OS (the system itself) and the applications installed upon it is irrelevant. But as you can see, updating the operating system itself is far different from updating application packages. Therefore you have this division between the OS and the applications.
Maybe, the "upgrade with one command" works fine in Linux, at least in one distribution, but it's not general for all and surely not designed for Joe Q. Sixpack. Tell me if that's wrong.