[1179829] Вы можете использовать директиву [1180332]NOPASSWD[1180333] в вашем файле [1180334]sudoers[1180335].
Добавьте эту строку в файл [1180336]/etc/sudoers[1180337]
Вы, кажется, хотите изменить все вхождения
TRANF_FIELD.some_enum_value.toInt()
на
TRANF_FIELD.that_enum_value
, оставив другие перечисления (например, TANG _ FIELD.TRANG _ VALUE.toInt ()
)
и другие способы (например, TRANF _ FIELD.TRANF _ VALUE.length ()
).
Это кажется простым:
sed 's/\(TRANF_FIELD\.[A-Za-z0-9_]*\)\.toInt()/\1/'
где
[A-Za-z0-9 _] *
- любое количество буквенно-цифровых символов (включая знаки подчеркивания).
Это значение должно соответствовать любому допустимому значению перечисления.
На самом деле, [A-Za-z _] [A-Za-z0-9 _] *
было бы лучше,
поскольку [A-Za-z0-9 _] *
может совпадать с пустым рядом или с цифрой. \(
... \)
группирует имя перечисления ( TRANSF _ ПОЛЕ
), литеральную точку (\.
),
и значение перечисления (из первого маркера). \1
означает «заменить полный ряд, который вы нашли, первой группой»,
т.е. удалите часть .toInt ()
. g
(глобальный) после последней косой черты. TRANSF _ ПОЛЕ. TRANF_VALUE
.
Исправить это остается как упражнение. Это не будет обрабатывать выражения, которые разбиты на строки; например,
i = TRANF_FIELD
.TRANF_VALUE.toInt ();
Это труднее исправить.
Возможно, вы столкнулись с проблемами, так как в /dev/mem
имеются отверстия: несуществующие области памяти не могут быть прочитаны.
последовательности
предназначен для чтения обычного файла (или трубы или другого входного потока) от начала до конца и предполагает, что в его входе не может быть отверстий. Возможно, он прерывается при первом получении ошибки чтения, которая соответствует первому отверстию в /dev/mem
. Это значит, что он никогда не прочитает ничего за первой дырой.
Я больше всего знаком с тем, как Cobbler наборов TFTP, поэтому я не уверен, имеет ли это значение, но я все равно предложу эту информацию. Cobbler устанавливает загрузчик, используя pxelinux.0
, как @ Патрик объясняет в комментариях , а также @ msw . Но он также устанавливает соответствующий каталог pxelinux.cfg/
рядом с ним, который содержит MAC-адреса для каждой системы, которая будет подключаться к серверу.
Эти файлы содержат pxelinux.cfg
следующую информацию:
$ more 01-54-52-00-ff-ff-ff
default linux
prompt 0
timeout 1
label linux
kernel /images/Centos56-x86_64/vmlinuz
ipappend 2
append initrd=/images/Centos56-x86_64/initrd.img ksdevice=bootif lang= console=ttyS0,115200 text serial kssendmac ks=http://192.168.1.207/cblr/svc/op/ks/system/kvmcobblertest
Фактическое ядро Linux, которое загрузит эта виртуальная машина, содержится в этом каталоге, доступном для TFTP, /images/Centos56-x86 _ 64/vmlinuz
. Вся структура каталогов TFTP выглядит следующим образом с обратной стороны сервера:
$ ls -l /tftpboot/
total 348
drwxr-xr-x 2 root root 4096 Jun 22 2011 etc
drwxr-xr-x 2 root root 4096 Jul 9 2012 grub
drwxr-xr-x 6 root root 4096 Jul 9 2012 images
drwxr-xr-x 2 root root 4096 Jun 30 2011 images2
-rw-r--r-- 1 root root 20020 Jul 9 2012 memdisk
-rw-r--r-- 1 root root 39188 Jul 9 2012 menu.c32
drwxr-xr-x 2 root root 4096 Jun 22 2011 ppc
-rw-r--r-- 1 root root 14716 Jul 9 2012 pxelinux.0
drwxr-xr-x 2 root root 4096 Jul 9 2012 pxelinux.cfg
drwxr-xr-x 2 root root 4096 Jul 9 2012 s390x
-rw-r--r-- 1 root root 198192 Jul 9 2012 yaboot
Единственное, что изначально доступно серверам, которые загружаются с этого сервера TFTP, это, как описано другими, pxelinux.0
+ конфигурационный файл, который соответствует MAC-адресу конкретного сервера.
Это выглядит так, если вам интересно:
$ tree /tftpboot/images
/tftpboot/images
|-- Centos56-x86_64
| |-- initrd.img
| `-- vmlinuz
|-- Centos56-xen-x86_64
| |-- initrd.img
| `-- vmlinuz
`-- Centos60-x86_64
|-- initrd.img
`-- vmlinuz
3 directories, 6 files
Комментарий @patrick, сделанный на ваш вопрос, был мертвым правым: все клиентские машины необходимо загрузить PXE, - это транслировать запрос DHCP. DHCP-сервер (обычно на загрузочном сервере PXE) увидит MAC-адрес клиентского устройства и будет использовать его к
В этот момент клиент знает адрес сервера и что получить от него. К сожалению, есть куча сквозных битов, таких как может быть только один DHCP-сервер, который имеет особую конфигурацию для клиента PXE, сервер TFTP должен быть запущен и так далее.
Существует довольно хорошая пошаговая пошаговое руководство по адресу https://wiki.debian.org/pxebootinstall . Вы не указывали свой дистрибутив, но большинство систем PXE будут хотя бы рифма с этим руководством.
Я знаю, что ваш вопрос говорит, что вы не хотите знать адрес сервера PXE. Но есть только один путь (без написания собственного клиента), которые можно сделать, с клиентом PXE DHCP запрашивателя / процессором. Если вы хотите предсказать эту часть, вы выбросите большую часть кардабилов, необходимых для загрузки.
Я знаю, что на самом деле вы на самом деле не хотите загрузить машину, которая помещает вас в положение внедрения много протокола PXE для целей тестирования. Если у вас нет доступной машины, мне интересно, поскольку вам нужно вообще тестировать PXE.