ЦП не имеет серийного номера; возможно, вам нужна базовая информация DMI без привилегий root (это покажет вам только постоянный идентификатор производителя и модели вашей материнской платы, но не серийный номер):
dmesg | grep -i dmi: | cut -d ":" -f 2-
В противном случае вы могли бы «указать» dmidecode запускаться от непривилегированного пользователя:
sudo chmod +s /usr/sbin/dmidecode
Тогда вы могли бы запустить, например:
dmidecode -s system-serial-number
В большинстве случаев «серийный-системный-номер» подобен «серийному-номеру шасси» или «серийному-номеру основной платы». Помните, что не во всех дистрибутивах эта программа установлена, например, в системах на основе Debian есть пакет, названный в ее честь.
В противном случае вы можете найти уникальный и постоянный, постоянно устанавливаемый, системный идентификатор на диске вашей системы; для этого вы можете запустить следующее:
mount | grep "on / type" | awk '{print $1}'
Первый предоставит вам путь к устройству, на котором смонтирована ваша система (для моей ОС он вернул / dev / sda7), а затем вы можете найти для него идентификатор со следующим:
find /dev/disk/by-id/ -lname "*sda" ! -name "wwn*"
Таким образом, полная команда для поиска уникального идентификатора на жестком диске вашей системы может выглядеть так:
find /dev/disk/by-id/ -lname "*`mount | grep " / " | awk '{print $1}' | cut -b 6-8`" ! -name "wwn*" -printf "%f\n"
Я надеюсь, что это может подойти вам или кому-то еще. Команда cut -b 6-8 может быть непереносимой, потому что я предполагаю, что имена блочных устройств состоят из трех символов; кроме того, путь / dev / disk / by-id / заполняется только управляемыми системами UDEV, и не все дистрибутивы Linux используют его, но я гарантирую, что первый будет работать в Ubuntu.
person
delverdl
schedule
07.06.2019