Error running opkg update command

Earlier i ran the opkg update and then opkg list-upgradable command - afterwards i typically run the following command to update all packages (this is a basic default install if 19.07 RC with nothing else loaded on a WRT3200acm) opkg list-upgradable | sed -e "s/\s.*//" | while read PKG_NAME; do opkg upgrade "${PKG_NAME}"; done

During this i received the following:

Upgrading luci-base on root from git-19.330.38390-a68c89c-1 to git-19.332.23110-3e90684-1...
Configuring luci-base.
Collected errors:
 * resolve_conffiles: Existing conffile /etc/config/luci is different from the conffile in the new package. The new conffile will be placed at /etc/config/luci-opkg.

Out of curiosity i viewed the two files with vi and there is a difference - My question is which one is correct and why is there such a stark differences in even the text formating. I'm new to openwrt and don't want to mess anything up.

Here is a copy of the luci file:

config core 'main'
        option lang 'auto'
        option mediaurlbase '/luci-static/bootstrap'
        option resourcebase '/luci-static/resources'

config extern 'flash_keep'
        option uci '/etc/config/'
        option dropbear '/etc/dropbear/'
        option openvpn '/etc/openvpn/'
        option passwd '/etc/passwd'
        option opkg '/etc/opkg.conf'
        option firewall '/etc/firewall.user'
        option uploads '/lib/uci/upload/'

config internal 'languages'

config internal 'sauth'
        option sessionpath '/tmp/luci-sessions'
        option sessiontime '3600'

config internal 'ccache'
        option enable '1'

config internal 'themes'
        option Bootstrap '/luci-static/bootstrap'

config internal 'apply'
        option rollback '30'
        option holdoff '4'
        option timeout '5'
        option display '1.5'

config internal 'diag'
        option dns ''
        option ping ''
        option route ''

Now here is a copy of the luci-opkg file:

config core main
        option lang auto
        option mediaurlbase /luci-static/bootstrap
        option resourcebase /luci-static/resources

config extern flash_keep
        option uci              "/etc/config/"
        option dropbear "/etc/dropbear/"
        option openvpn  "/etc/openvpn/"
        option passwd   "/etc/passwd"
        option opkg             "/etc/opkg.conf"
        option firewall "/etc/firewall.user"
        option uploads  "/lib/uci/upload/"

config internal languages

config internal sauth
        option sessionpath "/tmp/luci-sessions"
        option sessiontime 3600

config internal ccache
        option enable 1

config internal themes

config internal apply
        option rollback 30
        option holdoff 4
        option timeout 5
        option display 1.5

Again I'm not sure which one is correct and should be used. Thanks in advanced for all the help to my stupid questions.

This is bad practice and is not recommended. It will eventually get you into trouble, if not a soft brick.

opkg isn't apt and likely never will be in terms of maintaining ABI compatibility,

Upgrading packages also chews up ~3x of what a package would be if in ROM (1x in ROM of the old version, 2x in flash for the new version as not compressed)

While it's often OK to upgrade a single package, even that can be problematic due to ABI conflicts.

If you want to keep your system up to date, flash a new ROM and packages from the repo (same-day for snapshots is easiest) or, better yet, either assemble your own images with the image builder, or build them from source.


Interesting, I was not aware that it was more advisable to flash a new snapshot to the router verse running opkg then rebooting from the ssh command line.

Based on what you've mentioned - I gather it's safe to overlook the discrepancy between /etc/config/luci and /etc/config/luci-opkg


If you have upgraded, it may be worth reviewing the β€œnew” config for new/changed config options. This goes for any OS and package manager.

Appreciate the suggested tips. Still have the pending question of which file config should be used though.

Also still running 19.07 RC 1. Silly question on my part - The only snapshot i can locate from the home page is listed under 18.06.05 section at the following path

Is that just a snapshot for 18.06.05 or for the newest 19.07 RC 1 version? I ask because there isn't any snap shots under 19.07 that section of the webpage or if i manually dig through the directories.

The error you got means the new package you installed, installed correctly but is using the old config.

Snapshot is nothing to do with release versions or release candidates. Snapshot is the very latest unreleased version of the day.

Having said that, 19.07 does have some "snapshots" of its own and these will he changes/fixes for rc2 or the final release.

For a release, you will usually only find upgraded packages in snapshot, only rarely in the release itself.


Thanks for the info - so i should replace the luci file with the luci-opkg file right. Or atleast rename the luci-opkg to luci and the luci file to luci.old

Again greatly appreciate the information.

Try it as it is. If not working properly then try the other config.
But ask yourself why you are trying to upgrade a release candidate.
If you want the very latest reflash with Snapshot.
Note: 19.07 is not here as it is not a release yet.

My thought process was that with release candidates and betas of software security bugs and glitches are always discovered and patched. I assumed running opkg update would patch any of those recently discovered issues.

But I'm quickly learning otherwise. Going back to the philosophy of "if its not broken don't fix it"

Please pardon my ignorance and from here on I'll certainly wait for any official releases for any/all updates.

Your thought process is correct for a stable release. A release candidate is a stake in the ground of a work in progress.
Important security fixes usually come as a new release.
Bug fixes in packages might be back ported but usually stay in snapshot until a new release comes round.

Hello, I'm noticing that the original luci config file cited by the OP contains:

option Bootstrap '/luci-static/bootstrap'

But the package-maintainer's file luci-opkg omits this value. I cannot find any explanation of what this value does. Could someone please help me find the documentation for this?

Many thanks =)

That page does not explain the meaning of this option

option Bootstrap '/luci-static/bootstrap'

What is the meaning, then?

I always thought it referenced the theme and noted its location.

Okay thanks. I understand then that this is one of several available themes which can be installed, as shown at:

And it seems this theme is included as the default with each OpenWRT build but does not come as default with the Luci package, so therefore if you upgrade the Luci package then you may need to add the theme back into file /etc/luci under heading:

config internal 'themes'

I'm now starting to understand why it is inadvisable to perform package upgrades once a release is installed =) Thanks!

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.