freebsd-rustdate

Intro

This is freebsd-rustdate , a reimplementation of freebsd-update . It’s primarily written because of how slow freebsd-update is, and is written in rust because I felt like it.

In usage, it’s expected to be similar, but not identical to freebsd-update . There are probably a number of minor edge-case differences I don’t even know about, but there are a number of larger ones that are intentional too.

This is currently an early, experimental version. It seems to work OK, and hasn’t blown up any of the systems I’ve used it on. But upgrading your OS is a serious task, and a dangerous one to mess up. Don’t consider this a first-line production tool yet.

Download

See the downloads page for download links and quickstart instructions.

Basic usage

As with freebsd-update , the basic usage of freebsd-rustdate mostly falls into the “fetch” (update current release to new patches) and “upgrade” (update current release to new release) paths.

# freebsd-rustdate fetch
  [ lotsa output ]
# freebsd-rustdate install
# freebsd-rustdate upgrade -r 13.8-RELEASE
  [ even more lotsa output ]
  [ run `freebsd-rustdate resolve-merges` if you have conflicts]
# freebsd-rustdate install
  [ reboot new kernel ]
# freebsd-rustdate install
  [ rebuild packages with new world ]
# freebsd-rustdate install

The basic configuration is read out of the same freebsd-update.conf as freebsd-update uses. The subset that freebsd-rustdate can use, it does.

Details

Are you sure it works?

The server this site is running on was upgraded with it. Are you able to load this page?

Now, is it as well tested and widely used as freebsd-update ? Absolutely not. It’s had basic development and a little use by one guy. Use at your own risk, and it’s probably a somewhat elevated risk. I strongly recommend you don’t try it for the first time on a system you’d have trouble recovering if it broke. Or the second time.

Bugs

Certainly not. Any current behavior is definitely a feature.

Thanks

To Colin for writing the original freebsd-update and making at all work. Nothing said here should be taken as a slight to him or the work he did to get this up and running. For what I’ve done standing on his shoulders, I can only apologize.

Contact

Matthew Fuller
https://www.over-yonder.net/~fullermd/