Support numactl to retrieve NUMA information
[grml-hwinfo.git] / grml-hwinfo
index 4cb2c17..795dfb5 100755 (executable)
@@ -16,16 +16,21 @@ PN="$(basename $0)"
 [ -n "$WORKING_DIR" -a -d "$WORKING_DIR" ] || WORKING_DIR=$(pwd)
 VERSION='0.4.1'
 
+# data collection should not be affected by user locale
+export LANG=C
+export LC_ALL=C
+
 TIMESTAMP='+%F--%H-%M-%S-%Z'
 DATE="$(date $TIMESTAMP)"
 
+echo "$PN ${VERSION} - collect hardware information"
+
 GENERATE_FILE='1'
 GENERATE_DIRECTORY=''
 
 while getopts "hdf" args; do
   case "$args" in
-  h) echo "$PN - collect hardware information
-
+  h) echo "
 This tool collects information of the hardware this tool is being executed
 on.  It can be executed as normal user to collect some basic information or
 with root permissions to collect as much information as possible.  By
@@ -35,11 +40,10 @@ you can have it create a directory with all information.
 
 Options:
 
--h  :  Display this help
--f  :  Create grml-hwinfo-TIMESTAMP.tar.bz2
--d  :  Create grml-hwinfo-TIMESTAMP/
-
--df :  Create both, the directory and the file
+  -h    Display this help message
+  -f    Create grml-hwinfo-TIMESTAMP.tar.bz2
+  -d    Create grml-hwinfo-TIMESTAMP as a directory
+  -df   Create both, the directory and the file
 "
 
   exit 0;;
@@ -71,8 +75,7 @@ fi
 
 if [ "$(id -u)" != "0" ] ; then
    NOTROOT=1
-   echo "Notice: you are running $PN without root permissions. Not all information will be collected."
-   echo
+   echo "W: Running without root permissions. Not all data will be collected."
 fi
 
 # check whether a binary is available and executable
@@ -117,13 +120,12 @@ disk_info() {
     disklist=`list_disks $device_size`
 }
 
-echo "Running grml-hwinfo ${VERSION} - collecting hardware information."
 
 cd "${OUTDIR}" || exit 1
 (
-
   [ -n "$GENERATE_FILE" ]      && echo "Output file:      $OUTFILE"
   [ -n "$GENERATE_DIRECTORY" ] && echo "Output directory: $OUTDIR"
+  echo
   echo "This might take a few seconds/minutes. Please be patient..."
 
 # some sysinfo
@@ -162,6 +164,7 @@ cd "${OUTDIR}" || exit 1
 # hwinfo
   exectest discover && discover -v --type-summary --enable-bus all > discover 2> discover.2
   exectest hwinfo   && hwinfo log=hwinfo
+  exectest numactl  && numactl --hardware > numactl
   exectest x86info  && x86info > x86info 2>x86info.2
 
 # net stuff
@@ -231,7 +234,7 @@ else
       exectest hdparm    && echo "hdparm -iv  /dev/$disk :\n" >> hdparm   && hdparm -iv  /dev/$disk       >> hdparm               && echo "\n\n" >> hdparm
       exectest fdisk     && echo "fdisk -lu   /dev/$disk :\n" >> fdisk    && fdisk -lu   /dev/$disk       >> fdisk 2>>fdisk.error && echo "\n\n" >> fdisk
       exectest parted    && echo "parted -s   /dev/$disk :\n" >> parted   && parted -s   /dev/$disk print >> parted               && echo "\n\n" >> parted
-      LC_ALL=C file -s /dev/$disk?* | grep -v ": empty" >> file_disk
+      file -s /dev/$disk?* | grep -v ": empty" >> file_disk
    done
 fi
 )