Unable to View Packages or Update pfSense
-
I have a fairly new install that is unable to check for packages. Under "Installed Packages" and "Available Packages" I just get "Unable to retrieve package information." So, I drop to the command line:
[2.3.4-RELEASE][root@pfsense.localdomain]/var/db/pkg: pkg update -f Updating pfSense-core repository catalogue... pkg: Repository pfSense-core load error: access repo file(/var/db/pkg/repo-pfSense-core.sqlite) failed: No such file or directory pkg: https://pkg.pfsense.org/pfSense_v2_3_4_amd64-core/meta.txz: No route to host repository pfSense-core has no meta file, using default settings pkg: https://pkg.pfsense.org/pfSense_v2_3_4_amd64-core/packagesite.txz: No route to host Unable to update repository pfSense-core Updating pfSense repository catalogue... pkg: Repository pfSense load error: access repo file(/var/db/pkg/repo-pfSense.sqlite) failed: No such file or directory pkg: https://pkg.pfsense.org/pfSense_v2_3_4_amd64-pfSense_v2_3_4/meta.txz: No route to host repository pfSense has no meta file, using default settings pkg: https://pkg.pfsense.org/pfSense_v2_3_4_amd64-pfSense_v2_3_4/packagesite.txz: No route to host Unable to update repository pfSense Error updating repositories!
Odd. What about trying to update for the console (Option 13)
Enter an option: 13 >>> Updating repositories metadata... Updating pfSense-core repository catalogue... pkg: Repository pfSense-core load error: access repo file(/var/db/pkg/repo-pfSense-core.sqlite) failed: No such file or directory pkg: https://pkg.pfsense.org/pfSense_v2_3_4_amd64-core/meta.txz: No route to host repository pfSense-core has no meta file, using default settings pkg: https://pkg.pfsense.org/pfSense_v2_3_4_amd64-core/packagesite.txz: No route to host Unable to update repository pfSense-core Updating pfSense repository catalogue... pkg: Repository pfSense load error: access repo file(/var/db/pkg/repo-pfSense.sqlite) failed: No such file or directory pkg: https://pkg.pfsense.org/pfSense_v2_3_4_amd64-pfSense_v2_3_4/meta.txz: No route to host repository pfSense has no meta file, using default settings pkg: https://pkg.pfsense.org/pfSense_v2_3_4_amd64-pfSense_v2_3_4/packagesite.txz: No route to host Unable to update repository pfSense Error updating repositories!
What about upgrading from the Command Line forcing IPv4:
[2.3.4-RELEASE][root@pfSense.localdomain]/var/db/pkg: pfSense-upgrade -4 >>> Updating repositories metadata... Updating pfSense-core repository catalogue... pkg: Repository pfSense-core load error: access repo file(/var/db/pkg/repo-pfSense-core.sqlite) failed: No such file or directory pkg: https://pkg.pfsense.org/pfSense_v2_3_4_amd64-core/meta.txz: Permission denied repository pfSense-core has no meta file, using default settings pkg: https://pkg.pfsense.org/pfSense_v2_3_4_amd64-core/packagesite.txz: Permission denied Unable to update repository pfSense-core Updating pfSense repository catalogue... pkg: Repository pfSense load error: access repo file(/var/db/pkg/repo-pfSense.sqlite) failed: No such file or directory pkg: https://pkg.pfsense.org/pfSense_v2_3_4_amd64-pfSense_v2_3_4/meta.txz: Permission denied repository pfSense has no meta file, using default settings pkg: https://pkg.pfsense.org/pfSense_v2_3_4_amd64-pfSense_v2_3_4/packagesite.txz: Permission denied Unable to update repository pfSense Error updating repositories!
So, I try looking it up in the forums and realize it connects via SRV records and not A records. So I try nslookup:
[2.3.4-RELEASE][root@pfSense.localdomain]/root: nslookup > set type=srv > _https._tcp.pkg.pfsense.org Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: _https._tcp.pkg.pfsense.org service = 10 10 443 files01.netgate.com. _https._tcp.pkg.pfsense.org service = 10 10 443 files00.netgate.com. Authoritative answers can be found from: pfsense.org nameserver = ns1.netgate.com. pfsense.org nameserver = ns2.netgate.com.
DNS seems right. Forcing IPv4 from the command line gives me "Permission Denied" errors. Automatic methods show "No Route to Host". I've enabled "Prefer IPv4 over IPv6". I then went to the box we have in the back room (2.3.3-RELEASE-p1) and it's having the same problems. I spun up a VM of 2.3.4-DEVELOPMENT and same issues. We have a block of 32 IPs from our ISP over our fiber. Each of our routers have their own Public IP directly on the WAN. I've disabled pfBlocker and Squid in case they were blocking something. I'm at a loss as to how to get these working. Any help would be appreciated. Thanks.
-
Maybe there was an actual outage? One of my boxes processed the updates today and it fixed the issues. Another gives a segmentation fault error.
-
What shows if you run "pkg info"?
From the look of the messages in the first set, it's having trouble reading/writing the actual package database files.
Anything unusual about this installation? Does it maybe use RAM disks for /tmp and /var ?
-
Nothing unusual. It's a full install. Those package database files were missing and giving me the error that I couldn't view the installed packages. It's a relatively fresh install with a bunch of configuration (Aliases, FW Rules, Virtual IPs, Traffic Shaping, etc) and several packages (Suricata, Squid, SquidGuard, etc.). If I put the files in from a working build and ran the updates it would delete the files on me. Yesterday I ran the update and it was able to connect and put the DB files back in and its working on the box I originally had problems on. The second unit we have in the back room is the one now having segmentation faults when trying to update it.
-
Don't copy around those database files, they are almost certainly not identical and they are not meant to be portable.
Your safest bet is to backup the config, reinstall, and then restore the configuration.
You may be able to wipe the whole pkg database directory and manually force a reinstall of all the relevant packages but you'd spend longer doing that than it would take to reinstall.
-
From what I understand, those particular files are repository DBs and are rebuilt when the list is fetched. The problem stems that if there is a problem communicating (like I had) they would be deleted when you tried to re-pull the list. Once it came back (still don't know why) it rebuilt those 2 files. I understand some are specific, like local.sqlite, and can't be swapped out but the repo ones shouldn't matter.