Updating Ports on Production Servers
Scot W. Hetzel
hetzels at westbend.net
Fri Jun 6 16:45:16 PDT 2003
From: "Lewis Watson" <lists at visionsix.com>
> I am a big fan of the ports collection and use the ports to build the
> programs I use on our production servers. Now I am wanting to update some
> ports and have a chicken and egg issue. If I go ahead and update a port
> (pure-ftpd for example)...
>
> After I run "CVSUP portfile" the old version that's running has no
> graceful way of being removed. If I try to remove it I am notified that
> the version that is running is not on the machine so then I guess force
> the uninstall? Either that or just do a make - make install and overwrite
> the old port binaries with the new binaries ( this does not seem good
> either).
>
> It appears the only way to cleanly upgrade a port is to deinstall the
> current port. Run CVSUP portfile... and get the new port files... do a
> make - make install and get the new version of the port installed. This
> opens the machine to several minutes of downtime while the program is
> being made... (not good either)
>
> Please tell me the way that it's being handled on your servers/ network...
First you need to CVSUP your ports collection to update it, then you have
two ways to upgrade the port:
1. Use the old upgrade method:
a. cd /usr/ports/<category>/<port-name>
b. make build
c. pkg_delete <port-name>-<old-version>
d. make install
Disadvantage:
- Doesn't update the dependencies of the port.
- Requires you to remove and reinstall all ports that depend on
the port your installing.
or
2. Use sysutils/portupgrade
Advantage:
- Upgrades dependencies for the port your installing.
- Upgrades all ports that depend on the port your installing (and
any port that had their dependencies updated)
Scot
More information about the freebsd-isp
mailing list