Для решения POSIX вы можете использовать Vim в режиме Ex:
ex -sc '%s/set autologout=10//g|x' /home/"$x"/.login
%
выбрать все строки
|
разделитель команд
x
записать в файл, если были внесены изменения (они есть), и выйти
"$ x "
в этом случае плохо оставлять переменную без кавычек
У меня также есть сервер Dell T420, и вывод udevadm info
дает мне это:
E: DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:08:00.0/host0/target0:0:0/0:0:0:0/block/sda
E: DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:08:00.0/host0/target0:0:1/0:0:1:0/block/sdb
E: DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:08:00.0/host0/target0:0:2/0:0:2:0/block/sdc
E: DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:08:00.0/host0/target0:0:3/0:0:3:0/block/sdd
E: DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:08:00.0/host0/target0:0:4/0:0:4:0/block/sde
E: DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:08:00.0/host0/target0:0:5/0:0:5:0/block/sdf
E: DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:08:00.0/host0/target0:0:6/0:0:6:0/block/sdg
E: DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:08:00.0/host0/target0:0:7/0:0:7:0/block/sdh
Как видите, в пути к устройству(host0
)есть только один экземпляр host#
, тогда как у Intel SCU их два(host6
иhost7
). По-видимому, udev в CentOS 7 не знает, как правильно с этим справиться, и просто перезаписывает ссылки на устройства (, так что любое устройство под узлом host6
получает свою символическую ссылку в /dev/disks/by-path
, перезаписываемую соответствующим устройством под host7
узел ).
Похоже, теперь мне нужно научиться писать правила udev....
[РЕДАКТИРОВАТЬ]
Первоначальная попытка использовать правило udev для решения проблемы:https://gist.github.com/dghodgson/49da6175371cdde317e662fb8a7d078a
Это очень уродливо и глючно. Вообще не обрабатывает горячее подключение -и ничего не делает с разделами. Мне нужно найти способ создать обновленные свойства из существующей информации вместо того, чтобы редактировать их в месте -, иначе есть вероятность, что пути будут меняться каждый раз, когда правила udev перезагружаются.
[РЕДАКТИРОВАТЬ 2]
В Gist добавлены пути вывода, аналогичные тем, которые создаются функцией handle_scsi_default
во встроенной функции path_id
. Теперь он намного, намного надежнее, а также обрабатывает разделы. Надеюсь, кто-то еще найдет его полезным. Это все еще хак, так что YMMV.
В настоящее время мы работаем над исправлением udev.