Это обычно делается с помощью тегов LVM (доступны с LVM2). Вот небольшой пример, демонстрирующий их:
Предположим, у вас есть VG под названием "vg01" с 2 LV "lvtest" и "lvother":
[root@centos ~]# lvs vg01
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lvother vg01 -wi------- 12.00m
lvtest vg01 -wi------- 12.00m
Теперь вы включаете LVM hosttags:
[root@centos ~]# grep ^tags /etc/lvm/lvm.conf
tags { hosttags = 1 }
И устанавливаете фильтр активации на основе имени вашего хоста:
[root@centos ~]# cat /etc/lvm/lvm_centos.conf (centos.conf == hostname.conf)
activation { volume_list=["@centos"] }
Теперь давайте проверим/установим/удалим некоторые теги:
[root@centos ~]# lvs vg01 -o +tags
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert LV Tags
lvother vg01 -wi------- 12.00m
lvtest vg01 -wi------- 12.00m
В настоящее время теги не установлены (последний столбец)
Активация тома не сработает:
[root@centos ~]# vgchange -ay /dev/vg01
Not activating vg01/lvtest since it does not pass activation filter.
Not activating vg01/lvother since it does not pass activation filter.
0 logical volume(s) in volume group "vg01" now active
Давайте добавим несколько тегов и попробуем снова
[root@centos ~]# lvchange --addtag @centos /dev/vg01/lvtest
Logical volume "lvtest" changed.
[root@centos ~]# lvchange --addtag @centos /dev/vg01/lvother
Logical volume "lvother" changed.
[root@centos ~]# lvs vg01 -o +tags
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert LV Tags
lvother vg01 -wi------- 12.00m centos
lvtest vg01 -wi------- 12.00m centos
[root@centos ~]# vgchange -ay /dev/vg01
2 logical volume(s) in volume group "vg01" now active
Лучше. ;-)
Итак, в вашем случае вам нужно просто установить тег на lv_shared
с именем хоста сервера, который должен монтировать LV.
$BROWSER
предпочтительным веб-браузером.
В зависимости от утилиты ожидается, что он будет содержать:
Если бы вы были в первом случае, я бы ожидал, что утилита, в которой вы пытались это сделать, жаловалась на несуществующую команду "lynx -cfg=~/.lynx.cfg"
.
Обратите внимание, что в третьем случае оболочки не расширяют ~
в -cfg=~/.lynx.cfg
. zsh
работает только тогда, когда включена опция magicequalsubst
. bash
только расширяет ~
после =
, если то, что слева от =
, выглядит как допустимое имя переменной и не в режиме POSIX.
Однакоlynx
(по крайней мере версия 2.8.9dev.16 в моей системе ), по-видимому, понимает ~
как самостоятельный домашний каталог, поэтому я ожидаю, что ваш будет работать для утилит во втором и третья категория.
$ BROWSER='echo -cfg=~' sensible-browser foo
-cfg=~ foo
Таким образом, либо ваш браузер относится к четвертой категории, которая игнорирует все, кроме первого слова, либо принимает только подсказку о том, какой у вас браузер; или ваша версия lynx
не понимает ~
как дома.
Запустите утилиту под именем strace -fe execve the-utility
, чтобы посмотреть, что она пытается выполнить.
Если ваши версии lynx
не считают ~
домом, вы можете определить $BROWSER
как:
export BROWSER="lynx -cfg=$HOME/.lynx.cfg"
(предполагается, что $HOME
не содержит пробелов или кавычек (или других символов, характерных для оболочки))
В любом случае вы должны иметь возможность определить $BROWSER
как сценарий, который передает правильные параметры в lynx
, например:
#! /bin/sh -
exec lynx -cfg="$HOME/.lynx.cfg" "$@"
и используйте его как $BROWSER
.
Между прочим, если бы ваш $HOME
начинался с ~
символов, это могло бы ввести в заблуждение lynx
, поэтому не очень хорошая идея для lynx
обрабатывать эти ~
самостоятельно.
Я не думаю, что вы можете, но вы можете попробовать:
Необходимо использовать абсолютный путь.
export BROWSER='/home/username/lynx.sh'
Создайте новый файл lynx.sh в домашнем каталоге.
#!/bin/bash
linx -cfg=/home/username/.lynx.cfg
Сделать его выполнимым.
Тогда:
Launching Browser should launch lynx.
or
./lynx.sh
И/или:
Тип:
whereis lynx
Используйте на следующем шаге.
Редактировать bash _псевдонимы:
Необходимо использовать абсолютный путь к :lynx.cfg
Необходимо использовать абсолютный путь к :lynx, если он не находится в /usr/bin/
alias=lynx='/path/to/lynx -cfg=/home/username/.lynx.cfg'
Необходимо использовать ' ', если путь содержит специальные символы.