базовую информацию о железе собрать несложно, и это умеет практически любая система мониторинга в штатном режиме (экспортеры стандартных линукс метрик у всех систем, это обычно скрипты на баш/перл/питон/го)
А вот про установленный софт, такое врядли возможно в принципе, ибо что-то может ставиться через пакет менеджер, что-то просто распаковываться, что-то копироваться, что-то ставиться из файла другим менеджером.
Общего и единственного реестра среди разных линуксов нет. Путь установки может зависеть от организации.
Поэтому тут нужно взять hand.sys и стандартизировать свою инфраструктуру, скрипт писать под нее.