Upgrade fail, rollback fail. How to proceed?


  • I have 2.3.2-RELEASE running on a repurposed Watchguard. Last night, I tried to upgrade using the web GUI.

    Despite claiming success at the web GUI, it went horribly wrong. By the time I hooked up to the serial console, it appears that pfSense had attempted to upgrade, failed, attempted to roll back and that failed as well, leaving me with a broken device in single user mode that appeared to be missing files based on boot messages.

    After some exploration, I started a sshd manually. I made a tar backup of the machine in it's broken state to another box. Then I found a copy of 2.3.2 on the net, mounted the ISO on the other machine and tarred over the files that seemed relevant. This got the box functional, though it can not determine its version and I get the following on boot:

    ERROR: Error trying to get packages list. Aborting...
    pkg: Warning: Major OS version upgrade detected.  Running "pkg-static install -f pkg" recommended
    pkg: warning: database version 34 is newer than libpkg(3) version 33, but still compatible
    pkg: Repository pfSense-core cannot be opened. 'pkg update' required
    pkg: Repository pfSense cannot be opened. 'pkg update' required
    pkg: sqlite error while executing INSERT OR ROLLBACK INTO pkg_search(id, name, origin) VALUES (?1, ?2 || '-' || ?3, ?4); in file pkgdb.c:1544: no such table: pkg_search
    Starting syslog...done.
    Starting CRON... done.
    pkg: Warning: Major OS version upgrade detected.  Running "pkg-static install -f pkg" recommended
    pkg: warning: database version 34 is newer than libpkg(3) version 33, but still compatible
    pkg: sqlite error while executing INSERT OR ROLLBACK INTO pkg_search(id, name, origin) VALUES (?1, ?2 || '-' || ?3, ?4); in file pkgdb.c:1544: no such table: pkg_search
    pkg: Warning: Major OS version upgrade detected.  Running "pkg-static install -f pkg" recommended
    pkg: warning: database version 34 is newer than libpkg(3) version 33, but still compatible
    pkg: sqlite error while executing INSERT OR ROLLBACK INTO pkg_search(id, name, origin) VALUES (?1, ?2 || '-' || ?3, ?4); in file pkgdb.c:1544: no such table: pkg_search
    ERROR: It was not possible to identify which pfSense kernel is installed
    pfSense (nanobsd) 2.3.2-RELEASE (Patch 1) amd64 Tue Sep 27 12:13:07 CDT 2016
    Bootup complete
    

    I'm not all that concerned about repairing the 2.3.2 automated upgrade but I would like to upgrade the box to a current release, ideally without having to open the Watchguard and pull the card. I have not, yet, run the recommended command:

    pkg-static install -f pkg
    

    I'm not interested in spending another 6 hours rebuilding a broken upgrade so I'd like to know if there is a way to upgrade (and roll back) manually, probably from the command line?


  • None of the suggestions listed at Upgrade Troubleshooting were effective, I continue to get sqlite and version compatibility issues.

  • LAYER 8 Rebel Alliance

    Which Watchguard model are your running?

    -Rico


  • XTM-5 series. I think it's a 525 but not positive.

  • LAYER 8 Rebel Alliance

    There is a really big XTM 5 thread with a lot of information: https://forum.netgate.com/topic/39639/watchguard-xtm-5-series
    I think you should be fine with clean install the latest 2.4.5-p1 and reimport your config.

    -Rico


  • Can this install be done from the command line without pulling the CF card? Not sure of the process.