On Wed, 14 Mar 2018, Robert P. J. Day wrote:
more nitpicky pedantry, but i was summarizing some handy system H/W utilities and noticed that, while lsusb and lspci philosophically do the same thing (that is, display system info), on my fedora system, they are installed differently: $ type lsusb lsusb is /usr/bin/lsusb $ type lspci lspci is /usr/sbin/lspci
/sbin/* executables were historically statically linked, accessible earlier in the system starup process before shared libs were possibly mounted or available.
Hmm. Running "file" on my /sbin/*, /usr/sbin/* on 16.04 only shows dynamically linked utilities. Years ago, I remember seeing statically linked files in these dirs.
Presumably, at least modern releases are complex enough that booting to a normal runtime config now requires so much (blame systemd? ;-) or maybe just md, raid, lvm, crypto fs) that it's not practical or useful to build static execs that could be used to boot to a lesser (recovery) system state? Dunno.
I can see lspci being of more 'utility' in debugging a system in recovery mode than lsusb, which might explain the different (historical?) placements.
Today it could just be that /sbin exec should be available on the first part of system initialization? But no longer real concern given boot disk sizes of GBs?
Anyway, not an official FHS/LSC reason, just my observation. WHat does file ../sbin/* show on other systems? Brett