I too got the dreaded “System update failed!” message back when I tried upgrading one of my pfSense 2.3.4 boxes to 2.4.0, and I got it again today when I tried upgrading another 2.3.4 box to 2.4.2. I'm really surprised it still has this problem in 2.4.2, and even more surprised that none of the pfSense upgrade documentation mentions this problem.
Here's what I had to do both times: SSH into your pfSense machine and run the following three commands as root:
pkg-static install -f pkg
mv /usr/local/etc/pkg.conf /usr/local/etc/pkg.conf.old
pfSense-upgrade -d
Detail:
When you run “pkg-static install -f pkg” you’ll see the following:
Updating pfSense-core repository catalogue…
pfSense-core repository is up to date.
Updating pfSense repository catalogue...
pfSense repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 1 package(s) will be affected (of 0 checked):
Installed packages to be REINSTALLED:
pkg-1.10.1_1 [pfSense]
Number of packages to be reinstalled: 1
After you select “y” and it upgrades the “pkg” package it will tell you the following:
You may need to manually remove /usr/local/etc/pkg.conf if it is no longer needed.
Instead, I renamed it to pkg.conf.old, just in case.
After you run “pfSense-upgrade -d” to complete the upgrade it will automatically reboot. The reboot will take longer than normal because it will continue upgrading packages after it boots. Eventually, though, the Web interface will load again and you'll see the new Web GUI design.
Hope that helps someone.
–Dan