Xgu.ru теперь в Контакте  — приходите и подключайтесь.
Пока мы работаем над следующими видео, вы можете подключиться в Контакте. Познакомимся и обсудим новые страницы и ролики.

Vk-big.pngYoutube-big.jpeg

Тезисы Москва 2006

Материал из Xgu.ru

Перейти к: навигация, поиск

Название: Система автоматического ведения журналов работы в консоли Unix-системы
Авторы: Чубин Игорь Михайлович, Чубина Татьяна Васильевна
Подробнее: LiLaLo


Содержание

[править] Введение

В процессе работы в консоли Unix/Linux-системы, будь-то непосредственное выполнение задач администрирования, экспериментирование с целью найти и описать решение какой-то задачи или самообучения, демонстрация приёмов работы на живых примерах или что-то другое, часто возникает необходимость зафиксировать происходящий в консоли процесс.

Записи нужны для того чтобы или просто использовать при попытке повторить те же действия, но в другой раз, или потом, доработав их и снабдив необходимыми комментариями и ссылками, превратить их в полноценную документацию.

Запись, обычно происходит одним из нескольких способов:

  • запись вручную на бумаге;
  • запись вручную в электронном виде;
  • запись путём копирования мышью в текстовый редактор;
  • с применение программы script.

Каждый из этих способов имеет собственные недостатки.

[править] Недостатки существующих способов записи

[править] Запись вручную на бумаге

Преимущества:

  • может использоваться для записи команд, которые выполняются на другом компьютере или демонстрируются с помощью проектора.

Недостатки:

  • Долго,
  • неудобно,
  • может содержать ошибки,
  • непригодна к дальнейшей электронной обработке.


[править] Запись вручную в электронном виде

То же, что и в случае ручной записи, но поддаётся дальнейшей электронной обработке.

[править] Запись путём копирования в текстовый редактор

Преимущества:

  • Копирование выполняется быстро и без ошибок

Недостатки:

  • Невозможно во время демонстрации команд

[править] С применением программы script

Преимущества:

  • Запись производится прозрачно
  • Может выполняться во время демонстрации
  • Запись не содержит ошибок

Недостатки:

  • Необходимость в обработке после завершения записи
  • Запись может производиться только для действий выполняемых непосредственно в командной строке

[править] Возможности LiLaLo

Предлагаемое решение свободно от всех перечисленных выше недостатков и обладает рядом преимуществ.

LiLaLo - это script на стероидах.

LiLaLo использует для записи программу script. Однако, в отличие от программы script в чистом виде, во время записи фиксируются не только команды и результат их работы, но и множество дополнительной информации о командах. Это позволяет в дальнейшем более полно реконструировать ход работы.

Кроме того, информация, которую LiLaLo автоматически записывает при ведении журнала, позволяет выполнять анализ хода работы и автоматически создавать заготовки для сценариев командного интерпретатора.

Автоматическая запись дополнительной информации о командных строках возможна за счёт модификации приглашения командной строки. Хотя визуально это практически никак не заметно, приглашение командной строки модифицируется, и в него, в скрытом виде, добавляется несколько параметров, характеризующих команду, которая набирается в этом приглашении и будет выполнена. В их числе:

  • текущий каталог, из которого производится вызов команды;
  • время;
  • код завершения предыдущей команды

и ряд других.

Помимо того, что производится запись всего хода работы в командной строке, автоматически фиксируются все изменения в файлах, сделанные с помощью текстового редактора. Есть возможность делать скриншоты и показывать в журнале окна, которые, возможно, имеют непосредственное отношение к производимым в консоли действиям.

Записанные данные хранятся в формате программы script, то есть, фактически, непосредственно в виде набора команд терминалу. Они могут быть обработаны и представлены в структурированной форме, в виде XML-файла. Который в дальнейшем может быть либо преобразован в HTML файл и визуализирован, либо может просто попасть в хранилище.

Анализ терминального скрипта, преобразование его в XML-форму и визуализация при помощи web-интерфейса выполняется в реальном времени и без всякого дополнительного участия пользователя.