Skip to content

Instantly share code, notes, and snippets.

@alfredkrohmer
Created February 11, 2017 13:39
Show Gist options
  • Star 27 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save alfredkrohmer/8d4c2a5ab62e690772f3d9de5ad2d978 to your computer and use it in GitHub Desktop.
Save alfredkrohmer/8d4c2a5ab62e690772f3d9de5ad2d978 to your computer and use it in GitHub Desktop.
List all user-installed packages on OpenWrt / LEDE
#!/bin/sh
FLASH_TIME=$(opkg info busybox | grep '^Installed-Time: ')
for i in $(opkg list-installed | cut -d' ' -f1)
do
if [ "$(opkg info $i | grep '^Installed-Time: ')" != "$FLASH_TIME" ]
then
echo $i
fi
done
@ZWx4
Copy link

ZWx4 commented Apr 20, 2021

Thanks @guymarc! Your script is the only one that worked for me. The other scripts here just list every single package installed. Maybe it is that way because I also used the Image Builder.

@rafalfitt
Copy link

as someone suggested on https://www.sindastra.de/p/1213/list-user-installed-packages-in-openwrt

You can update busybox via opkg update, so it’s install time can be wrong as reference.
As a result you will have wrong list.
Only one thing you cannot install via opkg is kernel – because you update it over flashing new firmware.
So the kernel’s install time should be used as flash time.
FLASH_TIME=$(opkg info kernel | grep ‘^Installed-Time: ‘)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment