Upgrade FreeBSD on gateway server

Hello.

I have a main gateway server and FreeBSD 8.1-release on it. So, I've made changes in the GENERIC configuration to rebuild the kernel with gateway support. The question is: if I do freebsd-upgrade -r 8.4-RELEASE upgrade will it still work as gateway without a rebuild or will I need to make world manually?
 
Dane said:
Hello.
I've main gateway server and FreeBSD 8.1-release on it. So, I'd made changes in generic conf to rebuild kernel with support of gateway. The question is: if I'll make freebsd-upgrade -r 8.4-RELEASE upgrade will it still work as gateway without rebuild or I'll need to make world manually?
You have a custom kernel, freebsd-update(1) can only update a GENERIC kernel. What exactly did you change for "support of gateway"? No changes should be needed to allow it to route traffic.
 
Thank you for your answer. About the change of kernel conf: when I rebuilt world I'd added some options like:

Code:
options  IPDIVERT
options  IPFIREWALL_FORWARD
options  DUMMYNET

What's wrong?
 
Nothing's wrong. You don't need a custom kernel for it, you can use the GENERIC kernel and just load these as modules. Setting firewall_enable="YES" in rc.conf even automatically loads them.
 
SirDice said:
Nothing's wrong. You don't need a custom kernel for it, you can use the GENERIC kernel and just load these as modules. Setting firewall_enable="YES" in rc.conf even automatically loads them.
Thanks a lot. Let's do it :)
 
Oh, and for future reference (should your ever have a better reason for wanting to cook a custom kernel): it is recommended that you do not change GENERIC itself. Instead, make a copy of it and change that. In fact, to add stuff you can even use the include directive. See section 9.4 of the Handbook.
 
Ok. After upgrade I'd made portmaster -af. But it's aborted with:
Code:
===>>> Returning to update check of installed ports

===>>> Launching child to reinstall db41-4.1.25_4

===>>> All >> db41-4.1.25_4 (45/45)

===>>> Currently installed version: db41-4.1.25_4
===>>> Port directory: /usr/ports/databases/db41

        ===>>> This port is marked DEPRECATED
        ===>>> Please use databases/db5 or db6 for new installs.


        ===>>> If you are sure you can build it, remove the
               DEPRECATED line in the Makefile and try again.

===>>> Update for db41-4.1.25_4 failed
===>>> Aborting update

===>>> Killing background jobs
Terminated
===>>> Exiting

I'd added row in make.conf WITH_BDB_VER=5 (and make db5 port). But nothing changed (error still there). I don't want to comment DEPRECATED line in ports if it's not necessary. Any help?
 
Please read /usr/ports/UPDATING entry 20131216:
Code:
20131216:
  AFFECTS: users of databases/db4*
  AUTHOR: mandree@FreeBSD.org

  Berkeley DB versions before and excluding 4.8 have been marked deprecated.
  New port installations should be based on Berkeley DB 5 or 6.

  Note that Oracle Berkeley DB 6 is under the more restrictive Affero GPL v3
  license, be sure to review if using that fits your requirements.

  You can add WITH_BDB_VER=5 or WITH_BDB_VER=6 to /etc/make.conf to have all
  applications that get rebuilt use Oracle Berkeley DB 5 or 6, respectively.

  DO NOT FORCE DELETE older BerkeleyDB packages, that breaks the upgrade
  tools.  Instead, first rebuild the ports that depend on it, then
  remove the old Berkeley DB versions.

  Berkeley DB ports should be able to build/install with an older and a
  newer version version both installed if WITH_BDB_VER is set.  If a
  port then grabs the old Berkeley DB version, that is an issue with the
  port that requires Berkeley DB, and should be reported to the
  maintainer.

  If you are interested in upgrading now already, we have instructions
  at <https://wiki.freebsd.org/Ports/BerkeleyDBCleanup>.
 
SirDice said:
Please read /usr/ports/UPDATING entry 20131216:
Code:
20131216:
  AFFECTS: users of databases/db4*
  AUTHOR: mandree@FreeBSD.org

  Berkeley DB versions before and excluding 4.8 have been marked deprecated.
  New port installations should be based on Berkeley DB 5 or 6.

  Note that Oracle Berkeley DB 6 is under the more restrictive Affero GPL v3
  license, be sure to review if using that fits your requirements.

  You can add WITH_BDB_VER=5 or WITH_BDB_VER=6 to /etc/make.conf to have all
  applications that get rebuilt use Oracle Berkeley DB 5 or 6, respectively.

  DO NOT FORCE DELETE older BerkeleyDB packages, that breaks the upgrade
  tools.  Instead, first rebuild the ports that depend on it, then
  remove the old Berkeley DB versions.

  Berkeley DB ports should be able to build/install with an older and a
  newer version version both installed if WITH_BDB_VER is set.  If a
  port then grabs the old Berkeley DB version, that is an issue with the
  port that requires Berkeley DB, and should be reported to the
  maintainer.

  If you are interested in upgrading now already, we have instructions
  at <https://wiki.freebsd.org/Ports/BerkeleyDBCleanup>.

Yes. I'd already added this line to make.conf. Will I must to reinstall all ports?
 
Find out what depends on db41 and rebuild that.

pkg info -r db41

If there's nothing depending on db41 any more you can safely remove it.
 
Back
Top