Statefull changes? (Firmware update survival)

Hello. I’m making some changes in ‘/etc/nginx’ and ‘dropbear’ (through LuCi UI, added ssh-key!).
After the firmware update (4.2 → 4.2.1), all changes are lost.

How can I properly make changes in the system ‘nginx’ for example?

Plus I modified ‘/etc/{passwd,passwd-}’ for ‘root’ (change shell to bash).
And after an update, I can no longer have ssh access…

So, where I can make a mistake?

If the change you made is not included in the backup(http://192.168.8.1/cgi-bin/luci/admin/system/flash button - Generate archive) content, it will lost. eg ssh-key.

Bash is not installed after sysupgrade, you can install it at Plug-ins page.

1 Like

Hmmmm. Packages instilled by opkg are not stateful for a ‘sysupgrade’?
By the way, thanks for the backup tip, at least I can tune backup ‘includes’.

Go to the plug-ins page, it will popup a window saying your previously installed package list, and download from software repo and then intall.

1 Like

Nice!
By the way, can I make some ‘dirty-hack’ like including /bin/bash in the backup? (I know I can, but it probably broke something, at least opkg packages recovery after ‘sysupgrade’, but it must just overwrite existing ‘/bin/bash’ while installing packages).

I can make a fine tune backup/sysupgrade process to make it more stateful. At least for my small changes.

Use command:

opkg files bash

to get a file list.
Then add them to /lib/upgrade/keep.d/, eg:

cat  <<EOF > /lib/upgrade/keep.d/bash_keep
/bin/bash
other file list content
EOF
1 Like

Many thanks! That is what I’m looking for!)

You are my hero!!
Have a great day! :hugs:

1 Like