AC Series Recommended Software and Utilities
The best method of owning, managing, having, using, ...whatever, an OpenWRT based router it to have the OpenWRT OS stored on some type of USB Flash drive, mSATA, NVME, NGFF, or other type of external drive / SSD etc that utilizes the OpenWRT /overlay functionality (look it up, it's quite useful).
...but, when the router is turned on, it's still booting from code stored on the built in "Disk Drive", AKA NAND. So an interesting question comes up: If the external drive fails, what should be installed on the NAND 'Drive'. Well, to start with, anything that is necessary for the "Overlay Functionality" (look it up on the OpenWRT site). But if it's booting to an external drive that's using the /overlay functionality, then it's already installed. Beyond that?
1) Anything (configuration / software) that allows the router to still provide internet access (albeit, possibly in a reduced functionality fashion)
2) Any useful software, utilities, or other tools that would allow one to fix whatever is wrong with the external drive. That includes backup and restoration software too.
Below is are some lists of things to install. Everything will fit on a WRT32X. Most will fit on a WRT3200ACM (if done in the correct order (biggest to smallest groups, see below) and individually, they'll all fit). But it will be a tight squeeze to fit everything on the lower end AC Series. Dependencies are not listed, but will be installed when the various items are installed.
When installing, to make use of limited storage space, install the largest items and groups first
Installation Order (to make as much useful stuff as possible fit)
This section doesn't apply to the WRT32X as it as about 120 MB of storage space. The WRT3200ACM can benefit from this installation order and get everything to fit. For the 1900 series, don't even think about installing Samba on the internal NAND storage.
- Disk Utilities
- Samba
- Shadow Stuff
- Core Utils
- Proc Utils
- Other Utilities
- Additional Utilities
...reboot, opkg update again
- All the Additional Utilities that didn't install as a group (probably these items: pciutils, tcpdump, ss (install in the shown order))
Disk Utilities
opkg install blkid block-mount cfdisk dosfstools dumpe2fs e2fsprogs f2fs-tools f2fsck fdisk file fstools gdisk hdparm kmod-fs-exfat kmod-fs-ext4 kmod-fs-f2fs kmod-fs-vfat kmod-usb-storage kmod-usb2 kmod-usb3 lsblk mkf2fs mtd ntfs-3g ntfs-3g-utils sfdisk tune2fs usbutils wipefs
These utilities will use up around 5 MB of space.
blkid
block-mount
cfdisk
dosfstools
dumpe2fs
e2fsprogs
f2fs-tools
f2fsck
fdisk
file
fstools
gdisk
hdparm
kmod-fs-exfat
kmod-fs-ext4
kmod-fs-f2fs
kmod-fs-vfat
kmod-usb-storage
kmod-usb2
kmod-usb3
lsblk
mkf2fs
mtd
ntfs-3g
ntfs-3g-utils
sfdisk
tune2fs
usbutils
wipefs
Other Utilities
WARNING: Something in the below installed programs will ShitCan a WRT1900ACS. WRT32X and WRT3200ACM are fine. It's grep. Installing grep destroys the OpenWRT install. WTF? Seems like a defective package. Double checked and it isn't the dependency (libpcre) and is indeed the GREP Package. And it's the same package across the entire WRT / AC Series.
Well, the good news is that the 21.02.1 version of OpenWRT has GREP 3.6.1, and it works fine. Oh, this was about the 19.07.0-8 series of OpenWRT. Now why would one be using the 19.x series in late 2021. Well, that's because of the busted ass crap in OpenWRT 21.02.1. Go ahead, install BIND / NAMED in the 21.02 series. There's more crap in there too. And they're still rocking the 5.28 version of PERL (woof) for OpenWRT 21.02.1. Really? OK, enough of the complaining. How much does OpenWRT cost? Yup. They're working hard to make a great product (with some flaws). And now you know some of the flaws.
Didn't have a chance to hook up a console (yet)
opkg install ar attr bash bzip2 gzip htop luci-app-advanced-reboot luci-app-uhttpd nano netcat swconfig tar ubi-utils uboot-envtools wget
If GREP is desired, then download and install the 21.02.1 version: https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/packages/grep_3.6-1_arm_cortex-a9_vfpv3-d16.ipk
Remember, some of these utilities are the full version of the utility. A smaller / 'neutered' version of the command / utility may be included within the BusyBox software (again, look it up).
These items will take up about 3 or so MB of space
ar
attr
bash
bzip2
grep
gzip
htop
luci-app-advanced-reboot
luci-app-uhttpd
nano
netcat
swconfig
tar
ubi-utils
uboot-envtools
wget
findutils
Wildcard - All of the Utilities
opkg install WhatEver* Nope, won't work
The below commands will install in a wildcard fashion;
opkg list | grep WhatEverNamePackagesBeginWith| awk '{print $1}' | xargs opkg install
opkg list | grep shadow| awk '{print $1}' | xargs opkg install (about 15 MB, so if space is an issue, do these selectively)
opkg list | grep coreutils-| awk '{print $1}' | xargs opkg install (about 5 MB)
opkg list | grep procps| awk '{print $1}' | xargs opkg install (maybe 1 MB)
For some of these utilities the OpenWRT documentation states: "Full versions of standard shadow utilities. Normally, you would not…" And that's it. Let's finish that: Full versions of standard shadow utilities. Normally, you would not install, unless you want to actually succeed in accomplishing the task you need to complete. (That sounds a bit mean, and it isn't intended that way. There's always a compromise that has to be made in terms of space and functionality when choosing all the options for utilities to cram into BusyBox).
Not all of these utilities will prove useful. It is simply faster to install in a wildcard fashion, rather than individually, as many of them are useful. So if space is an issue, be selective.
If Samba or Restic is really important, do these items last.
If one wants to remove everything in a certain group, just replace the install at the end of the command with: remove
WATCH OUT: One or more of the password related utilities will break the LuCI GUI ability to change passwords. Use the passwd command on the command line instead (you'll need to do it separately for LuCI GUI access and SSH access). If one gets "locked out", remember the Serial / TTL interface doesn't require a password so all passwords for the root user can be removed with this command: passwd root -r
For the 'shadow group', if using english, none of the -i18n items need to be installed and can be removed with this command: opkg list | grep luci-i18n-shadowsocks| awk '{print $1}' | xargs opkg remove
Samba
opkg install samba4-admin samba4-client samba4-libs samba4-server samba4-utils luci-app-samba4
...and finally Samba. It is quite useful in moving files around quickly, but it takes up a LOT of space. The WRT32X and WRT3200ACM (to a lesser degree than the 32X) can spare the space, but probably not the lower end AC routers. So this will be the item to leave off as it has the biggest storage footprint.
Restic
opkg install restic
Restic is another utility on the larger side. If backups are done with this software and need to be restored, then it's needed. If one doesn't use, consider using it. If not, don't worry about installing it.
One will have to make a choice on this one between Samba and Restic if a WRT3200ACM is being used.
Additional Utilities (if there's storage space available)
opkg install iftop ipset losetup lsof nmap pciutils resolveip ss tcpdump wget
Remember, some of these utilities are the full version of the utility. A smaller / 'neutered' version of the command / utility may be included within the BusyBox software (again, look it up).
These items will take up about 2 or so MB of space
iftop
ipset
losetup
lsof
nmap
pciutils
resolveip
ss
tcpdump
wget