Estoy escribiendo un programa que muestra diversa información del sistema (en un sistema CentOS). Por ejemplo, el tipo de procesador y la velocidad (desde /proc/cpuinfo), el último tiempo de inicio (calculado desde /proc/uptime), la dirección IP (desde la ifconfigsalida) y una lista de impresoras instaladas (desde la lpstatsalida).
Actualmente, se obtienen varios datos del dmidecodeprograma:
- El tipo de plataforma (
dmidecode -s system-product-name) - La versión del BIOS (
dmidecode -s bios-version) - La cantidad de memoria física (
dmidecode -t17 | grep Size)
Estos solo están disponibles si mi programa se ejecuta como root (porque de lo contrario el dmidecodesubproceso falla con un /dev/mem: Permission deniederror). ¿Hay alguna forma alternativa de obtener esta información, a la que pueda acceder un usuario normal?
/sys/devices/virtual/dmi/id. Mucha información específica de la plataforma está disponible allí. Para ver un script útil, consulte unix.stackexchange.com/questions/75750/… . Para información del sistema, su otra oración también es buena. Hay muchas utilidades comofreeo inclusohtopque pueden obtener lo que desea.