How To Upgrade FreeBSD 6.3 to 7.0 Stable Release

by Vivek Gite · 19 comments

Q. FreeBSD 7.0-RELEASE is now available for the 64 and 32 bit computer architectures. How do I upgrade FreeBSD version 6.3-pX 64 bit to latest 7.0 64 bit system?

A. FreeBSD 6.3 allows upgrade of existing installation to FreeBSD 7.0-RELEASE. Since this is a major version upgrade, it is recommended that you backup existing data, database and config files. You also need to reinstall all ports.

Step # 1: Upgrade ports

Type the following command, enter:
# portupgrade -faP

WARNING! This procedure might not work for you as upgrading system is complex procedure. This may result into data loos. Please backup all important data and configuration files before executing any commands. All instructions are tested on FreeBSD 6.3pX 32/64 bit computers.

Step # 2: Download updated freebsd-update-upgrade tool

Type the following command:
# fetch http://people.freebsd.org/~cperciva/freebsd-update-upgrade.tgz
# fetch http://people.freebsd.org/~cperciva/freebsd-update-upgrade.tgz.asc
# gpg --verify freebsd-update-upgrade.tgz.asc freebsd-update-upgrade.tgz
# tar -xf freebsd-update-upgrade.tgz

Step # 3: Start upgrade procedure

Type the following command to install new kernel and reboot the system, enter:
# sh freebsd-update.sh -f freebsd-update.conf -r 7.0-RELEASE upgrade
# sh freebsd-update.sh -f freebsd-update.conf install
# reboot

Step # 4: Install updated userland tools

Install the new userland components, after which all ports should be recompiled to link to new libraries:
# sh freebsd-update.sh -f freebsd-update.conf install
# portupgrade -faP

Step # 5: Remove all old libraries

Finally, freebsd-update.sh needs to be run one last time to remove old system libraries, after which the system should be rebooted in order that the updated userland and ports will be running:
# sh freebsd-update.sh -f freebsd-update.conf install
# reboot

Step # 6: Verify FreeBSD 7.0

Run following command to verify that everything is running smoothly, enter:
# uname -a
# tail -f /var/log/messages
# tail -f /path/to/other/log/files
# egrep -i 'error|warning' /path/to/log/files
# sockstat -4 -l

References:

Featured Articles:

Want to read Linux tips and tricks, but don't have time to check our blog everyday? Subscribe to our daily email newsletter to make sure you don't miss a single tip/tricks. Subscribe to our weekly newsletter here!

{ 19 comments… read them below or add one }

1 Titus Barik 03.13.08 at 9:54 pm

Can this upgrade be done over SSH, or will there be issues with getting back into the system after the reboot?

2 Pinoy Compuworld 03.17.08 at 12:51 am

Will this work for 6.2 to 7.0?

3 vivek 03.17.08 at 7:04 am

First, upgrade 6.2 to 6.3 and then switch to 7.0

4 Yasser 03.17.08 at 1:39 pm

Hello,,

When i will upgrade to 7.0 lost my users and my files? or when upgrade is finished return my files and users or not ?

5 Andrew 04.04.08 at 10:09 am

I was trying to do this upgrade from official freebsd website and it failed. When I’ve done it from your website it all worked thanks very much!:)

6 coolbeans 04.09.08 at 2:50 pm

For testing purposes, I installed a minimal install of FreeBSD 6.3-RELEASE and wanted to upgrade to 7.0-RELEASE via SSH only. I installed 6.3 locally via CD-ROM. The only thing i did after was to enable SSH and changed the port to 300. I did not need to download a newer freebsd-update since 6.3-RELEASE has the correct version.

I logged into this computer remotely via SSH and followed the steps mentioned in this article (obviously I didn’t have to upgrade any ports since I had 0 of them installed). Everything went smoothly, including using port 300 for SSH THE ENTIRE TIME even after the reboots. Don’t blame me though if it doesn’t work for you via SSH :P

TIP: Currently MOST FreeBSD dedicated server hosting companies are only advertising 6.3. As of today, http://www.aplus.net/ will only install 6.3 and charge you $150 to upgrade to 7.0. THUS, I suggest if you’re getting a new dedicated server, have them install 6.3 with minimal install and no ports or changes. This way the upgrade to 7.0 will be smooth via SSH and will save you possibly $150 (:

7 Tim 05.24.08 at 8:04 pm

Hi,

I just upgraded from 6.2 to 7.0 via SSH. Worked like a charm.

8 kur 06.28.08 at 3:28 pm

coolbeans – don’t mention aplus.net – this is a dirty word/company

9 Yaerek 08.05.08 at 7:23 am

Howdy. I ran the scripts on a machine that is a remote machine. After running the last step and rebooting, I no longer can log in. The computer runs ssh and apache, kernel security level was set to ‘1′. I no longer can connect via ssh and apache (web site is no longer accessible). When trying to connect via ssh, I get Connection closed by 0.0.0.0.
Did this update overwrite my passwd file?

10 greg 11.11.08 at 5:35 am

think I can do this from freebsd 6.1-release?

11 Yaerek 11.11.08 at 10:07 am

The problem was, I had a bash shell configured in /etc/passwd. The upgrade program did not upgrade the bash but the library it links to (which is too bad, I thought freebsd was statically linked); so the bash was failing when launched. I had to change the /etc/passwd to use sh instead, then update the bash.

12 Micro-Shock 12.14.08 at 7:51 am

/libexec/ld-elf.so.1: Shared object “libreadline.so.6″ not found, required by “-bash”

is there a work around for this …. I can no longer SSH to the server….

13 georgi kosev 12.19.08 at 4:48 pm

upgraded from 6.2 do 7.0 via ssh without any problems

14 Oscar Cappa 12.24.08 at 2:30 am

Dear Micro-Shock,
to resolve the same problem i create a symbolic link to new version of library
ln -s /lib/libreadline.so.7 /lib/libreadline.so.6

15 Shoaibi 01.13.09 at 7:33 am

Can i upgrade using this method from 6.1 to 7.1 ?

16 Darko 02.04.09 at 11:55 pm

Well I just did 6.2 to 7.1 without a glitch and all over ssh on a production server with 200+ packages installed on it.

It took a lot of courage/to do it this way. If it went wrong I would had to travel 200 miles to access it from the console.

But I am happy to report the upgrade procedure worked well (had to clear up some dependencies manually but that is minor).

17 simc 02.10.09 at 8:51 am

I’ve upgrade a 6.3 to 7.1 whithout difficulties thanks.

18 Gambler 05.15.09 at 6:16 pm

If you get certain library errors, installing /usr/ports/misc/compat6x might help.

19 bryn1u 06.13.09 at 12:24 am

I have a problem. When i used [code]Step # 3: Start upgrade procedure

Type the following command to install new kernel and reboot the system, enter:
# sh freebsd-update.sh -f freebsd-update.conf -r 7.0-RELEASE upgrade
# sh freebsd-update.sh -f freebsd-update.conf install
# reboot
[/code] after reboot i cant connect with server by ssh. I had to connect monitor to my home server, when i wrote in console example: ssh -p 31337 bryn1u@localhost worked fine, but when i wrote ssh -p 31337 bryn1u@192.168.0.181 i got something like [code]
ssh: connect to host 192.168.0.181 port 31337: Network i unreachable[/code]So whats wrong, why i cant connect with my own server. Before upgrade everything was fine. Someone can help me ?

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Previous FAQ:

Next FAQ:

nixCraft FAQ PDF Collection Now Available To All