#!/bin/bash tsm_inst_user='root' echo "# Generated by $0 on $(date)" UDEVAPP=`which udevadm 2>/dev/null` UDEVPARAM='ATTR' if [ "${UDEVAPP:0:1}" != '/' ]; then UDEVAPP=`which udevinfo 2>/dev/null`; UDEVPARAM='SYSFS' fi if [ "${UDEVAPP:0:1}" != '/' ]; then echo "# Nincs a PATH-ban sem 'udevadm', sem 'udevinfo' parancs." exit 1 fi echo "# Hasznalt udev parancs: $UDEVAPP" echo echo "# Changers" for dev in `ls -r /dev/IBMchanger*[^n]`; do devi=`echo $dev | sed 's#/dev/##g'` if [[ "$UDEVAPP" =~ "udevadm" ]]; then SERIAL=`udevadm info --attribute-walk --name $dev | grep 'ATTR.serial_num.' | grep -o '"[0-9A-F]*"' | sed 's/"//g'` else # DPATH=`udevinfo -q path -n $dev 2>/dev/null` DPATH="/class/lin_tape/$devi" # if [ "${DPATH:0:1}" != '/' ]; then continue; fi SERIAL=`udevinfo -a -p $DPATH | grep 'serial_num.' | grep -o '"[0-9A-F]*"' | sed 's/"//g'` if [ ${#SERIAL} -lt 6 ]; then continue; fi fi echo "KERNEL==\"IBMchanger*[0-9]\", ${UDEVPARAM}{serial_num}==\"$SERIAL\", OWNER=\"$tsm_inst_user\", MODE=\"0666\", SYMLINK=\"lin_tape/${devi}\"" done echo echo "# Tapes" for dev in `ls /dev/IBMtape*[^n]`; do devi=`echo $dev | sed 's#/dev/##g'` if [[ "$UDEVAPP" =~ "udevadm" ]]; then SERIAL=`udevadm info --attribute-walk --name $dev | grep 'ATTR.serial_num.' | grep -o '"[0-9A-F]*"' | sed 's/"//g'` WW_PORT=`udevadm info --attribute-walk --name $dev | grep 'ATTR.ww_port_name.' | grep -o '"[0-9A-Fx]*"' | sed 's/"//g'` else # DPATH=`udevinfo -q path -n $dev 2>/dev/null` DPATH="/class/lin_tape/$devi" # if [ "${DPATH:0:1}" != '/' ]; then continue; fi SERIAL=`udevinfo -a -p $DPATH | grep 'serial_num' | grep -o '"[0-9A-F]*"' | sed 's/"//g'` if [ ${#SERIAL} -lt 6 ]; then continue; fi WW_PORT=`udevinfo -a -p $DPATH | grep 'ww_port_name' | grep -o '"[0-9A-Fx]*"' | sed 's/"//g'` fi echo "KERNEL==\"IBMtape*[0-9]\", ATTR{ww_port_name}==\"$WW_PORT\", ${UDEVPARAM}{serial_num}==\"$SERIAL\", OWNER=\"$tsm_inst_user\", MODE=\"0666\", SYMLINK=\"lin_tape/${devi}\"" done