Тезисы Москва 2006
Материал из Xgu.ru
Название: Система автоматического ведения журналов работы в консоли Unix-системы
Авторы: Чубин Игорь Михайлович, Чубина Татьяна Васильевна
Подробнее: LiLaLo
Содержание |
[править] Введение
В процессе работы в консоли Unix/Linux-системы, будь-то непосредственное выполнение задач администрирования, экспериментирование с целью найти и описать решение какой-то задачи или самообучения, демонстрация приёмов работы на живых примерах или что-то другое, часто возникает необходимость зафиксировать происходящий в консоли процесс.
Записи нужны для того чтобы или просто использовать при попытке повторить те же действия, но в другой раз, или потом, доработав их и снабдив необходимыми комментариями и ссылками, превратить их в полноценную документацию.
Запись, обычно происходит одним из нескольких способов:
- запись вручную на бумаге;
- запись вручную в электронном виде;
- запись путём копирования мышью в текстовый редактор;
- с применение программы script.
Каждый из этих способов имеет собственные недостатки.
[править] Недостатки существующих способов записи
[править] Запись вручную на бумаге
Преимущества:
- может использоваться для записи команд, которые выполняются на другом компьютере или демонстрируются с помощью проектора.
Недостатки:
- Долго,
- неудобно,
- может содержать ошибки,
- непригодна к дальнейшей электронной обработке.
[править] Запись вручную в электронном виде
То же, что и в случае ручной записи, но поддаётся дальнейшей электронной обработке.
[править] Запись путём копирования в текстовый редактор
Преимущества:
- Копирование выполняется быстро и без ошибок
Недостатки:
- Невозможно во время демонстрации команд
[править] С применением программы script
Преимущества:
- Запись производится прозрачно
- Может выполняться во время демонстрации
- Запись не содержит ошибок
Недостатки:
- Необходимость в обработке после завершения записи
- Запись может производиться только для действий выполняемых непосредственно в командной строке
[править] Возможности LiLaLo
Предлагаемое решение свободно от всех перечисленных выше недостатков и обладает рядом преимуществ.
LiLaLo - это script на стероидах.
LiLaLo использует для записи программу script. Однако, в отличие от программы script в чистом виде, во время записи фиксируются не только команды и результат их работы, но и множество дополнительной информации о командах. Это позволяет в дальнейшем более полно реконструировать ход работы.
Кроме того, информация, которую LiLaLo автоматически записывает при ведении журнала, позволяет выполнять анализ хода работы и автоматически создавать заготовки для сценариев командного интерпретатора.
Автоматическая запись дополнительной информации о командных строках возможна за счёт модификации приглашения командной строки. Хотя визуально это практически никак не заметно, приглашение командной строки модифицируется, и в него, в скрытом виде, добавляется несколько параметров, характеризующих команду, которая набирается в этом приглашении и будет выполнена. В их числе:
- текущий каталог, из которого производится вызов команды;
- время;
- код завершения предыдущей команды
и ряд других.
Помимо того, что производится запись всего хода работы в командной строке, автоматически фиксируются все изменения в файлах, сделанные с помощью текстового редактора. Есть возможность делать скриншоты и показывать в журнале окна, которые, возможно, имеют непосредственное отношение к производимым в консоли действиям.
Записанные данные хранятся в формате программы script, то есть, фактически, непосредственно в виде набора команд терминалу. Они могут быть обработаны и представлены в структурированной форме, в виде XML-файла. Который в дальнейшем может быть либо преобразован в HTML файл и визуализирован, либо может просто попасть в хранилище.
Анализ терминального скрипта, преобразование его в XML-форму и визуализация при помощи web-интерфейса выполняется в реальном времени и без всякого дополнительного участия пользователя.