Привет всем!
Я сейчас прохожу курс “от 0 до Linux админа” на YoDo и столкнулся с задачей: как создать BOM (Bill of Materials) или инвентаризацию Linux-системы при каждом запуске.
У меня доступ к множеству различных систем, среди которых есть как старые, так и относительно новые, некоторые из них обновляются чаще, чем другие. Мне часто приходится перемещать жесткие диски с одного сервера на другой, и нет какого-то стандартного подхода. Я ищу способ, который позволил бы мне просмотреть отчет или набор файлов, которые будут унифицированы для всех систем, чтобы я мог быстро узнать, на каком сервере все это находилось на момент последнего запуска.
Я уже искал информацию в интернете и получил несколько полезных команд, например, для вывода списка установленных пакетов для различных дистрибутивов:
- Debian/Ubuntu (apt):
sudo apt list --installed
илиdpkg --get-selections | grep -w "install"
. - Red Hat/CentOS/Fedora (dnf/yum):
dnf list installed
илиyum list installed
. - Arch Linux (pacman):
pacman -Q
.
А также команды для получения информации о железе в момент загрузки:
lshw
,lspci -v
,lsusb -v
,dmesg
,udevadm
,cat /proc/cpuinfo
,cat /proc/meminfo
,cat /proc/version
.
Однако главный вопрос — есть ли уже существующая программа или инструмент, который может выполнять эту задачу, или мне придется написать скрипт, который будет запускать эти команды и записывать их вывод в лог-файл при каждой загрузке?
Если у кого-то есть опыт или советы по этому поводу, буду признателен за любую помощь!
Спасибо!