Для чего нужны группы kvm, libvirt и libvirt -qemu в linux

Обратите внимание, что приведенное ниже относится только к GNU sed; BSD sedбудет вести себя иначе.

Хорошо, давайте пошагово, используя это для содержимогоnames:

Alice Zylanzy
Zepher Applecart
Michael Copperside

Мы возьмем команду и рассмотрим ее по частям, чтобы посмотреть, как она работает.:

$ sed 's/\(\w*\) \(\w*\)/\2 \1 \2/' names
Zylanzy Alice Zylanzy
Applecart Zepher Applecart
Copperside Michael Copperside

Таким образом, команда sedставит повторяющуюся фамилию в начале строки. Затем мы делаем простоеsort:

$ sed 's/\(\w*\) \(\w*\)/\2 \1 \2/' names | sort
Applecart Zepher Applecart
Copperside Michael Copperside
Zylanzy Alice Zylanzy

Круто, теперь по фамилии сортируются. Теперь мы используем cut, чтобы избавиться от префикса, который мы использовали :

.
$ sed 's/\(\w*\) \(\w*\)/\2 \1 \2/' names | sort | cut -f 2-3 -d " "
Zepher Applecart
Michael Copperside
Alice Zylanzy

..а Боб твой дядя, как говорится.

Вникнуть в суть того, как эта sedкоманда работает:\w— это магическое заклинание, означающее «словесный символ», что является сокращением от /[0-9A-Za-z_]/. \w*просто означает ноль или более «словесных символов», именно так группируются имена. Предполагая, что ни в одном из имен нет символов подчеркивания или цифр, его можно было бы переписать как:

sed 's/\([A-Za-z]*\) \([A-Za-z]*\)/\2 \1 \2/' names

Разбить всю sedкоманду по частям:

Команда sed sпредставляет собой команду «поиск и замена» или «подстановка». Выражение между первым и вторым /s заменяется тем, что находится между вторым и третьим /s.

Итак, мы заменяем это:

NODE                     EXPLANATION
--------------------------------------------------------------------------------
  (                        group and capture to \1:
    \w*                      word characters (a-z, A-Z, 0-9, _) (0 or
                             more times (matching the most amount
                             possible))
  )                        end of \1
                           ' '
  (                        group and capture to \2:
    \w*                      word characters (a-z, A-Z, 0-9, _) (0 or
                             more times (matching the most amount
                             possible))
  )                        end of \2

С этим:

NODE                     EXPLANATION
--------------------------------------------------------------------------------
  \2                       what was matched by capture \2
                           ' '
  \1                       what was matched by capture \1
                           ' '
  \2                       what was matched by capture \2
6
22.07.2020, 00:45
1 ответ

См./usr/share/doc/libvirt-daemon/README.Debian:группа libvirtуправляет доступом к libvirt через PolicyKit (, как вы определили ), а libvirt-qemu— это пользователь и группа, используемые для запуска системных процессов QEMU/KVM. Вам не нужно заботиться о последнем,это деталь реализации, а не группа, в которую необходимо добавить конечных пользователей.

Членство в группе kvmпредоставляет доступ к /dev/kvm, что необходимо для запуска виртуальных машин с использованием KVM. Это управляется с помощью uaccessnow, поэтому текущий -активный пользователь на консоли получает доступ автоматически. Первичная группа libvirt-qemukvm, так виртуальные машины, управляемые libvirt -, получают доступ к KVM.

6
18.03.2021, 23:18

Теги

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