DEC850 won't update

Started by dragoniberico, December 19, 2024, 10:28:50 PM

Previous topic - Next topic
Hi all,

My first post and I'm a total noob to OPNsense and firewalls but I'm here because I want to learn and hopefully will learn lots in the coming months and years!

I recently took delivery of a DEC850. I got it all up and running ok and am enjoying looking around the settings even if I don't properly understand most of the sections thus far.

First off though: it won't seem to update. It's currently running 24.10_7 and when I run the update, this happens:


QuoteNumber of packages to be installed: 1
Number of packages to be upgraded: 39

The process will require 4 MiB more space.
50 MiB to be downloaded.
[1/33] Fetching py311-pandas-2.1.4,1.pkg: ......... done
pkg-static: cached package py311-pandas-2.1.4,1: missing or size mismatch, fetching from remote
[2/33] Fetching py311-pandas-2.1.4,1.pkg: ........ done
pkg-static: cached package py311-pandas-2.1.4,1: missing or size mismatch, cannot continue
Consider running 'pkg update -f'
Starting web GUI...done.
Generating RRD graphs...done.
***DONE***

I've tried numerous times and the same thing keeps happening. Is this likely a temporary thing or am I going to have to do something manually? I notice it mentions "Consider running 'pkg update -f" and I assume that can't be done within the web UI but would need to be done either via SSH or via the console cable?

Can you try this instead:

# pkg clean -ya

And then update again.


Cheers,
Franco

Thanks for your reply. Presumably this needs to done at the command line as I can't see how that can be done via the web gui?

Yes, SSH is fine and good practice.

Unfortunately pkg may have tripped over itself caching a bad download.

We use pkg-clean internally, but only after a successful update, never before to avoid downloading a lot of things all the time on such failures which would strain the mirrors.


Cheers,
Franco

December 20, 2024, 05:29:31 PM #4 Last Edit: December 20, 2024, 05:35:43 PM by dragoniberico
Hi. I've managed to SSH in and when I ran that it it said permission denied.

I tried to run the pkg update -f command as per the readout in the GUI but I was told Insufficient privileges to update the repository catalogue.
I imagine this is something to do with the fact that my user account is an admin but not sudo?

You need to be a root user. You can set sudo use under System: Settings: Administration.

I will try to add a cleanup to the GUI to prevent this issue in the future.

https://github.com/opnsense/core/issues/8154


Cheers,
Franco

December 20, 2024, 05:45:41 PM #6 Last Edit: December 20, 2024, 05:47:17 PM by dragoniberico
Hi. Thanks, I've done that and it did some clean up. But I am still running into the same issue when I try to do the upgrade via the GUI. It gets a bit further but still bombs out:

The process will require 4 MiB more space.
57 MiB to be downloaded.
[1/40] Fetching py311-anyio-4.6.2.pkg: .......... done
[2/40] Fetching unbound-1.22.0_1.pkg: .......... done
[3/40] Fetching php82-session-8.2.25.pkg: ..... done
[4/40] Fetching py311-cryptography-42.0.8_4,1.pkg: .......... done
[5/40] Fetching opnsense-business-24.10.1.pkg: .......... done
[6/40] Fetching py311-service-identity-24.2.0.pkg: ... done
[7/40] Fetching opnsense-update-24.7.8.pkg: ..... done
[8/40] Fetching py311-pandas-2.1.4,1.pkg: ....... done
pkg-static: cached package py311-pandas-2.1.4,1: missing or size mismatch, fetching from remote
[9/40] Fetching py311-pandas-2.1.4,1.pkg: ....... done
pkg-static: cached package py311-pandas-2.1.4,1: missing or size mismatch, cannot continue
Consider running 'pkg update -f'
Starting web GUI...done.
Generating RRD graphs...done.
***DONE***

I'm not sure what's going on here... The mirror doesn't have an issue as far as I can tell.

# ls /var/cache/pkg

If the py311-pandas package is stuck there the best course of action is:

# mv /var/cache/pkg /tmp
# mkdir /var/cache/pkg

If not can you share a health audit?


Cheers,
Franco

Hi, and thanks very much for your help with this. I SSH'd on again and ran that command but there was no sign of the py311-pandas package. Here's a Health audit that I just ran:

***GOT REQUEST TO AUDIT HEALTH***
Currently running OPNsense 24.10_7 at Fri Dec 20 20:24:01 GMT 2024
>>> Root file system: yes/ROOT/default
>>> Check installed kernel version
Version 24.7.6 is correct.
>>> Check for missing or altered kernel files
No problems detected.
>>> Check installed base version
Version 24.7.6 is correct.
>>> Check for missing or altered base files
No problems detected.
>>> Check installed repositories
OPNsense (Priority: 11)
>>> Check installed plugins
os-OPNBEcore 1.4_2
>>> Check locked packages
No locks found.
>>> Check for missing package dependencies
Checking all packages: .......... done
>>> Check for missing or altered package files
Checking all packages: .......... done
>>> Check for core packages consistency
Core package "opnsense-business" has 70 dependencies to check.
Checking packages: ...................
monit-5.34.1 version mismatch, expected 5.34.2
Checking packages: ...
openssh-portable-9.8.p1_1,1 version mismatch, expected 9.9.p1_1,1
Checking packages: ..
opnsense-business-24.10_7 version mismatch, expected 24.10.1
Checking packages: ..
opnsense-lang-23.7.11 version mismatch, expected 24.7.8
Checking packages: .
opnsense-update-24.7.6 version mismatch, expected 24.7.8
Checking packages: .
os-OPNBEcore-1.4_2 version mismatch, expected 1.4_3
Checking packages: ...
php82-ctype-8.2.24 version mismatch, expected 8.2.25
Checking packages: .
php82-curl-8.2.24 version mismatch, expected 8.2.25
Checking packages: .
php82-dom-8.2.24 version mismatch, expected 8.2.25
Checking packages: .
php82-filter-8.2.24 version mismatch, expected 8.2.25
Checking packages: .
php82-gettext-8.2.24 version mismatch, expected 8.2.25
Checking packages: ..
php82-ldap-8.2.24 version mismatch, expected 8.2.25
Checking packages: .
php82-pcntl-8.2.24 version mismatch, expected 8.2.25
Checking packages: .
php82-pdo-8.2.24 version mismatch, expected 8.2.25
Checking packages: .....
php82-session-8.2.24 version mismatch, expected 8.2.25
Checking packages: .
php82-simplexml-8.2.24 version mismatch, expected 8.2.25
Checking packages: .
php82-sockets-8.2.24 version mismatch, expected 8.2.25
Checking packages: .
php82-sqlite3-8.2.24 version mismatch, expected 8.2.25
Checking packages: .
php82-xml-8.2.24 version mismatch, expected 8.2.25
Checking packages: .
php82-zlib-8.2.24 version mismatch, expected 8.2.25
Checking packages: ....
py311-duckdb-1.1.1 version mismatch, expected 1.1.3
Checking packages: ...
py311-numpy-1.25.0_7,1 version mismatch, expected 1.26.4_2,1
Checking packages: .
py311-pandas-2.0.3_2,1 version mismatch, expected 2.1.4,1
Checking packages: ..........
suricata-7.0.7 version mismatch, expected 7.0.7_1
Checking packages: .
syslog-ng-4.8.0_2 version mismatch, expected 4.8.1_3
Checking packages: .
unbound-1.21.1 version mismatch, expected 1.22.0_1
Checking packages: .. done
***DONE***

This was what showed up when I ran the # ls /var/cache/pkg command:

opnsense-business-24.10.1.pkg                   py311-anyio-4.6.2~6ceebf8627.pkg
opnsense-business-24.10.1~48613244b9.pkg        py311-cryptography-42.0.8_4,1.pkg
opnsense-update-24.7.8.pkg                      py311-cryptography-42.0.8_4,1~39d4d73de2.pkg
opnsense-update-24.7.8~b6275b33f5.pkg           py311-service-identity-24.2.0.pkg
php82-session-8.2.25.pkg                        py311-service-identity-24.2.0~85719eec05.pkg
php82-session-8.2.25~473a37a69d.pkg             unbound-1.22.0_1.pkg
py311-anyio-4.6.2.pkg                           unbound-1.22.0_1~4ca82d1a8e.pkg

Ok, looks fine. So please try what I said earlier:

# mv /var/cache/pkg /tmp
# mkdir /var/cache/pkg

If I do that, it just tells me File exists. Running the update in the GUI again just gets me:

Number of packages to be installed: 1
Number of packages to be upgraded: 39

The process will require 4 MiB more space.
57 MiB to be downloaded.
[1/40] Fetching py311-anyio-4.6.2.pkg: .......... done
[2/40] Fetching unbound-1.22.0_1.pkg: .......... done
[3/40] Fetching php82-session-8.2.25.pkg: ..... done
[4/40] Fetching py311-cryptography-42.0.8_4,1.pkg: .......... done
[5/40] Fetching opnsense-business-24.10.1.pkg: .......... done
[6/40] Fetching py311-service-identity-24.2.0.pkg: ... done
[7/40] Fetching opnsense-update-24.7.8.pkg: ..... done
[8/40] Fetching py311-pandas-2.1.4,1.pkg: ....... done
pkg-static: cached package py311-pandas-2.1.4,1: missing or size mismatch, fetching from remote
[9/40] Fetching py311-pandas-2.1.4,1.pkg: ........ done
pkg-static: cached package py311-pandas-2.1.4,1: missing or size mismatch, cannot continue
Consider running 'pkg update -f'
Starting web GUI...done.
Generating RRD graphs...done.
***DONE***