Easy Way to Upgrade FreeBSD’s Ports

Before you can update and upgrade the FreeBSD’s ports, the Ports Collection needs to be updated. Follow step here to update the Ports Collection.

Once you updated your Ports Collection, before attempting a port upgrade, you should check the /usr/ports/UPDATING file. This file describes various issues and additional steps users may encounter and need to perform when updating a port.

Keeping the ports up to date can be a tedious job. Just for example, to upgrade a port you need to go to the ports directory, build the port, deinstall the old port, install the new port, and then clean up after the build. If there are numerous ports that need to be upgrade, it will be very troublesome. This was a large problem for system administrators to deal with, and FreeBSD have utilities which do this automatically, and that’s sysutils/portupgrade utility.

To install sysutils/portupgrade utility, use the command just as to install any other port: make install clean.

Create a database with the following command: pkgdb -F

The command will read the list of installed ports and create a database file in the /var/db/pkg directory.

Run portupgrade -a to start to update the ports.

The portupgrade will read the database file created by pkgdb -F and the ports INDEX file. Finally, portupgrade will begin to download, build, backup, install, and clean the ports which have been updated.

Portupgrade utility has a lot of options for different uses, the most important ones listed below.

If you want to upgrade only a certain application, not the complete database, use portupgrade pkgname, include the flags -r if portupgrade should act on all those packages depending on the given package as well, and -R to act on all packages required by the given packages.

To use packages instead of ports for installation, provide -P. With this option portupgrade searches the local directories listed in PKG_PATH, or fetches packages from remote site if it is not found locally. If packages can not be found locally or fetched remotely, portupgrade will use ports. To avoid using ports, specify -PP.

To just fetch distfiles (or packages, if -P is specified) without building or installing anything, use -F.

Note: It is important to regularly update the package database using pkgdb -F to fix inconsistencies, especially when portupgrade asks you to. Do not abort portupgrade while it is updating the package database, this will leave you an inconsistent database.

Share and contribute or get technical support and help at My Digital Life Forums.



Leave a Reply

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

Subscribe without commenting


Custom Search

New Articles

Incoming Search Terms for the Article

ports upgrade - freebsd ports upgrade - upgrade ports - freebsd port upgrade - freebsd PKG_PATH - freebsd pkg upgrade - PKG_PATH freebsd - pkg update freebsd - FreeBSD upgrade packages - upgrade packages freebsd - freebsd ports update - freebsd pkgdb - upgrade package freebsd - freebsd upgrade package - freebsd update pkg - upgrade bsd - freebsd port update - freebsd update packages - freebsd list installed ports - freebsd upgrade ports - freebsd portupgrade - update package freebsd - freebsd update package database - upgrade ports freebsd - freebsd package update - how to update pkg on FreeBSD - package update freebsd - freebsd update package - upgrade freebsd - freebsd port upgrate - freebsd pkg update - ports clean freebsd - portmanager vs portupgrade - claries utilities - pkg upgrade freebsd - freebsd update package list - how to upgrade a package in Freebsd - update pkg freebsd - list installed ports freebsd - pkg update freebsd - package update freebsd - update freebsd pkg - digital life portupgrade - freebsd the best way to upgrade ports - update packages on freebsd - upgrading package in freebsd - upgrading packages on freebsd - freebsd packages upgrade - freebsd portupgrade vs portmanager - update freebsd with pkg -