Swine
Содержание
- 1 Склад бутылок для тестирования и разработки
- 1.1 Подробности
- 1.2 Общее описание
- 1.3 Создание новых бутылок
- 1.4 Переименование/Перемещение бутылок
- 1.5 Указание машины с бутылками
- 1.6 Удалённое подключение
- 1.7 Локальное подключение к бутылкам
- 1.8 Работа с бутылками через RX
- 1.9 Скачивание бутылки
- 1.10 Использование «личных» бутылок
- 1.11 Как установить
- 1.12 Освобождение места / Удаление ненужных бутылок
- 2 Ссылки
Склад бутылок для тестирования и разработки
Описание приведено для etersoft-devel-utils-1.6.22-alt1
Для создания общедоступных тестовых установок программ (справочного характера, для работы support, при работе над проектом) используется механизм бутылок (разные .wine), содержащиеся на полках (racks).
Подробности
Что она делает:
а) переключает пользователя на wine@cellar
б) разрешает соединение с Иксами вызывавшего пользователя (напрямую указывая DISPLAY) — для локальной сети потребуется выключить nolisten tcp.
в) устанавливает переменную WINEPREFIX для работы с отдельными настройками WINE
Используется пользователь wine (дом. каталог /net/wine) на машине cellar.
Общее описание
Таким образом, чтобы попасть в бутылку 1C77 на полке 1C, пишем
$ swine 1C/1C77
Возможно использование вложенных полок: swine buh/1C/77.
Для определения правильности пути применяется эвристика.
Для просмотра списка полок с бутылками:
$ swine List of available racks on cellar: tor Описание полки
Для просмотра списка бутылок на полке:
$ swine tor List of available bottles in the 'tor' rack: test Описание бутылки
Для входа в тестовую бутылку используется команда swine полка/бутылка:
$ swine 1c77/1c77-25 Etersoft's racks and bottles handler. (c) 2006-2008 Your are in '1c77/1c77-25' wine bottle on cellar host... <wine@cellar bottle 1c77/1c77-25>$ <wine@cellar bottle 1c77/1c77-25>$ echo $WINEPREFIX /net/wine/bottles/1c77/.wine-1c77-25
Одновременное использование одной бутылки разными пользователями недопустимо, но если известно, что другой пользователь её больше не занимает, можно зайти принудительно:
$ swine newrack/newbot -f
Создание новых бутылок
Название бутылок/полок обязательно в нижнем регистре (для удобства ввода названия).
Создание новой полки:
$ swine newrack/ -c [Описание полки]
Создание новой бутылки:
$ swine newrack/newbot -c [Описание бутылки]
Указание комментариев обязательно.
Переименование/Перемещение бутылок
Сделайте ssh wine@eterhack и работайте с бутылками в каталогах .wine-xxx в /net/wine-origin.
Указание машины с бутылками
Другой контейнер с бутылками указывается первым параметром:
swine vanilla
Список всех доступных наименований:
# cut -d" " -f1 <swine.alias # 2.0 2.1 eter-2.0 eter-2.1 1.0.12 eter-1.0.12 etercad eterhack eterwine vanilla pure winevanilla
Удалённое подключение
Для подключения извне офиса нужно установить пакет etersoft-devel-utils и определить ssh-всевдоним для узла office в ~/.ssh/config. Например,
Host office Hostname seni.etersoft.ru User ЛОГИН Port 32 Compression yes ForwardAgent yes
Также имеется конфиг /etc/etersoft/swine.conf, где можно при необходимости переопределить различные параметры, в том числе название удалённого сервера (шлюза к контейнерам с бутылками):
# remote ssh alias #SERVERNAME=office
Далее подключение обычным образом:
$ swine vanilla bugs
Локальное подключение к бутылкам
(не проверялось)
Если бутылки имеются на локальной машине (в /net/wine) и необходимые параметры для sudo имеются, можно локально подключаться к бутылкам:
$ swine -l
Работа с бутылками через RX
При необходимости использовать бутылки через протокол NX в режиме одного приложения достаточно подключиться с параметром --rx:
$ swine --rx rack/bottle
Скачивание бутылки
Для удалённого скачивания бутылки применяется команда вида
$ swine vanilla -d bugs/11234
Она создаёт архив с указанной бутылкой на удалённом сервере, копирует его с помощью rsync на локальный компьютер и распаковывает. Поддерживается докачка: если в процессе скачивания связь оборвалась, можно повторно запустить команду и скачивание продолжится.
Использование «личных» бутылок
В целях избежания лишних изменений в эталонных бутылок была создана возможность использования личных бутылок для различных экспериментов.
В качестве рабочего варианта предлагается сначала копировать нужные эталонную бутылку в личную.
Для просмотра списка «личных» бутылок:
$ swine -p Etersoft's racks and bottles handler. (c) 2006-2008 List of available bottles in the 'peoples/baraka' rack: test Описание бутылки
Копирование существующей бутылки в личную:
$ swine 1c77/1c7727 -o Etersoft's racks and bottles handler. (c) 2006-2008 List of available bottles in the 'peoples/baraka' rack: Copying .wine-1c7727 to peoples/baraka
Вход в свою личную бутылку:
$ swine -p 1c7727
Удаление личной бутылки:
$ swine -p 1c7727 --remove Succesfully removed
Как установить
Пакет с командой swine называется etersoft-devel-utils и доступен при подключении репозитория LINUX@Etersoft.
Что сделать
- возможность поиска: swine -s бутылка
- автодополнение через bash_completition
- работу через ssh, если в DISPLAY - localhost
Освобождение места / Удаление ненужных бутылок
ssh cellar cd /net ./folder_size.sh
Получим файл с именем "/net/bottles_size-дата_запуска"
В файле список бутылок, отсортированный по размеру и по возрастанию
Внимание размер указан в Мб
Размер | Команда для удаления | Автор бутылки |
---|---|---|
13891 | rm -rf /net/wine/eter-2.1/bottles/1c82/.wine-1c82 | svzhu |
Посмотреть свободное место можно командой
$ df -B G /net/wine