Tuesday, August 25, 2009

Draft Version of New Keeping FreeBSD Applications Up-To-Date

This is a follow-up to my recent post Draft Version of New Keeping FreeBSD Up-To-Date. I updated the draft Keeping FreeBSD Up-To-Date document at http://www.taosecurity.com/kfbutd7.pdf to include new sections on building a kernel and userland on one system and installing on another, and upgrading from one major version of FreeBSD to another via binary upgrades (e.g., 7.1 to 8.0 BETA3, since that just became available).

I have also published another draft document titled Keeping FreeBSD Applications Up-To-Date at http://www.taosecurity.com/kfbautd7.pdf. That is a follow-up to my 2004 article of the same name that use FreeBSD 5.x for the examples.

The new document includes the following.

Sections:
---------
Introduction
FreeBSD Handbook
A Common Linux Experience
Simple Package Installation on FreeBSD
Checking for Vulnerable Packages with Portaudit
FreeBSD Package Repositories
Updating Packages by Deletion and Addition
Introducing the FreeBSD Ports Tree
Updatng the FreeBSD Ports Tree
Installing Portupgrade
Updating Packages Using Portupgrade
Removing Packages
Identifying and Removing Leaf Packages
Preparing to Build and Install Packages Using the Ports Tree
Building and Installing Packages Using the Ports Tree: A Simple Example
Building and Installing Packages Using the Ports Tree: A More Complicated Example
Install Packages Built on One System to Another System
Installing Screen Using a Remote FreeBSD Ports Tree
Reading /usr/ports/UPDATING
My Common Package Update Process
Conclusion

As with the last document, this one reflects my personal system administration habits. For example, I use Portupgrade, although others might prefer Portmaster or Portmanager or something else.

If you'd like to read this draft and provide any comments here, I would appreciate them.

On a related note, I'd like to point to the 2006 article The FreeBSD Ports System by Michel Talon. I found it interesting because it takes a deep look at the ports tree and make comparison to Debian systems.

3 comments:

Anonymous said...

IMHO port upgrading guides fall short
( not in accuracy but in completeness)
if they are not subdivided into seperate
guides depending upon how many ports are
installed.
An example is the recent jpeg upgrade where a great many ports were bumped but only some needed it per ldd.
I figured out a way to upgrade with
lesser hours... [of course this
comment expires in a certain amount of
time as, every few months I discover a
new-and-better way to upgrade, recently
with portmaster after its very recent
revisions, for some ports... anyway]

Richard Bejtlich said...

Does Portmaster have an option to upgrade using packages instead of compiling ports?

Alex said...

Hi richard,

Feedback for your "keeping freebsd applications up to date" document. Firstly great article. This is something I could hand to someone not very familiar with fbsd ports to get them up to speed fast. I would like to add maybe some extra goodies that you may want to add.

1. You can mount someone else's distfiles on /cdrom/ports/distfiles ie over NFS. The port will usually check /cdrom/ports/distfiles for the distfile before pulling it down via ftp or http.

2. You mention the tcsh env variable HTTP_PROXY. You may also want to mention the env variable HTTP_PROXY_AUTH for authenticating proxies. Syntax is as such:
HTTP_PROXY_AUTH=basic:*:username:password.

3. A mention of "/usr/ports/ports-mgmt/portell" would be grand. I have an alias of "pt" that runs portell. Very handy port!

4. Another very handy port worth mentioning is "/usr/ports/ports-mgmt/pkg_search". Once again i have alias of "fp" which does "pkg_search -r".