жемчуг лайнеры + распознают слово и удаляют строку после разделителя

По-видимому, сценарий Python драйвера просто не включен в разблокировку запаса xcp-xapi. Я выяснил способ заставить lvm драйвер быть доступным для выбора. Это - то, что я сделал:

Я загрузил xcp-xapi источник. Я искал LVM* драйверы и скопировал его в рабочий хост и установил символьную ссылку на него как это:

cp /usr/local/src/xcp-storage-managers-0.1.1/drivers/LVMSR.py /usr/lib/xcp/sm/
cd /usr/lib/xcp/sm/
ln -s LVMSR.py LVMSR

После перезапуска

/etc/init.d/xcp-xapi restart

Я мог полный вкладкой драйвер (это - запуск),

root@server:~# xe sr-list type=
dummy   ext     file    iso     lvm     nfs

Затем несмотря ни на что мне удалось найти 2 ГБ:

lvcreate --size 2G --name sr_test server
   Logical volume "sr_test" created

И затем

root@server:~# xe sr-create type=lvm \
    device-config:device=/dev/server/sr_test name-label=srt

Который дает мне

Error code: SR_BACKEND_FAILURE_53
Error parameters: , Logical Volume unmount/deactivate error [opterr=errno is 3], 

Так не там все же.

Немного поиска показывает это очень интересное сообщение мне, по-видимому, Kronos debian люди сделал это нарочно (но не удался упомянуть то, что они не включали LVM из-за него не протестированный достаточно...),

Таким образом, я закончил тем, что делал это:

root@server:/usr/lib/xcp/sm# locate  lvutil.pyc
/usr/lib/xcp/sm/lvutil.pyc

Отредактируйте этот файл, в строке 302 необходимо видеть:

cmd = [CMD_VGCHANGE, "-an", "--master", vgname]

Удалите основную опцию из этой строки. В строке 344, в setActiveVG существует другой.

cmd = [CMD_VGCHANGE, "-a" + val, "--master", path]

vgchange в этом выпуске человечности не поддерживает эту опцию. Причина, почему находится в упомянутой ссылке. Сделайте его:

cmd = [CMD_VGCHANGE, "-an", vgname]

и

cmd = [CMD_VGCHANGE, "-a" + val, path]

для обеих строк. Все внезапное это работает (на первый взгляд, так как я получаю UUID):

root@server:~# xe sr-create type=lvm  \
    device-config:device=/dev/server/sr_test name-label=srt
1b916212-bb83-f958-2c76-fa1f9829e6af

Я действительно получаю это в журналах:

 [20130124T13:42:47.877Z|debug|server|102|scan one D:ba6210351c61|xapi]
 SR 1b916212-bb83-f958-2c76-fa1f9829e6af (srt) is not shared or is being
 plugged to a slave - not handling metadata VDIs at this point.

Так как это не совместно используется, ни это - ведомое устройство, я думаю, что в порядке, но мне не нравится он, говоря, что это не обрабатывает метаданные, хотя это говорит 'в этой точке', которую я не интерпретирую как никакая потребность на данный момент. Входное приветствие.

0
04.02.2014, 17:23
2 ответа

Просто замените Пароль = в начале строки, сопровождаемой чем-либо со строкой Password=:

perl -i~ -pe 's/^Password=.*/Password=/' file

Обновление

Чтобы только заменить первое вхождение добавьте флаг:

perl -i~ -pe '$changed = s/^\s*Password=.*/Password=/ unless $changed;' file
1
28.01.2020, 02:52
  • 1
    Всего один Пароль комментария может быть некоторыми пробелами с начала (поэтому, возможно, должен удалить "^"? –   04.02.2014, 16:37
  • 2
    @Eytan: Удаление ^ соответствовал бы Secret_Password. Это не то, что Вы хотите. Просто добавьте "дополнительные пробелы": ^ *Password, или даже ^\s*Password если могут быть вкладки и другой пробел, также. –  choroba 04.02.2014, 16:56
  • 3
    +1. Можно уменьшить это немного: s/^\s*Password=\K.*// –  glenn jackman 04.02.2014, 17:02
  • 4
    хорошо, совет - что потребность добавить в Вашем синтаксисе, таким образом, это удалит только первый пароль, после того как он находит первое, это удалит его, но не другие (потому что файл может содержать другой Пароль, и я хочу удалить только первый в своем файле) –   04.02.2014, 17:03
  • 5
    видит мое обновление в Примечании вопроса –   04.02.2014, 17:22

Так как Вы просто хотите изменить первое вхождение и сохранить остальную часть файла, Вам нужно некоторое состояние здесь:

perl -i~ -pe 'BEGIN { $y=1 }; ($y) && (s/^Password=\K.*//) && ($y=0)' file
0
28.01.2020, 02:52

Теги

Похожие вопросы