Журнал лабораторных работ

Содержание

Журнал

Суббота (08/25/07)

/dev/pts/0
17:45:53
#su - user
Can't locate Term/VT102.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at /usr/local/bin/l3-agent line 13.
BEGIN failed--compilation aborted at /usr/local/bin/l3-agent line 13.
17:46:01
$exit

17:46:08
#apt-get install perl5
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Заметьте, вместо perl5 выбирается perl
Будут установлены следующие дополнительные пакеты:
  libdb4.4 perl perl-base perl-modules
Предлагаемые пакеты:
  libterm-readline-gnu-perl libterm-readline-perl-perl
Рекомендуемые пакеты:
  perl-doc
НОВЫЕ пакеты, которые будут установлены:
  libdb4.4 perl perl-modules
Пакеты, которые будут обновлены:
  perl-base
обновлено 1, установлено 3 новых пакетов, для удаления отмечено 0 пакетов, и 107 пакетов не обновлено.
Необходимо скачать 7107kБ архивов.
После распаковки объем занятого дискового пространства возрастёт на 27,2MB.
Хотите продолжить [Д/н]? n
Аварийное завершение.
17:46:27
#apt-cache search perl
libfinance-quote-perl - Perl module for retrieving stock quotes from a variety of sources
libfinance-streamer-perl - Perl5 module with interface to Datek Streamer
libfinance-yahooquote-perl - Perl module for retrieving stock quotes from Yahoo! Finance
libfirstworks-sqlr-perl - SQL Relay Perl API
libfont-afm-perl - Font::AFM - Interface to Adobe Font Metrics files
libfont-ttf-perl - Perl module for TrueType font hacking
libformvalidator-simple-perl - validation with simple chains of constraints
libfortune-perl - Perl module to read fortune (strfile) databases
libfreezethaw-perl - converting Perl structures to strings and back
libfrontier-rpc-perl - Perl module to implement RPC calls using XML requests
...
libimage-exiftool-perl - Library and program to read and write meta information in multimedia files
libimage-imlib2-perl - perl interface to the imlib2 imaging library
libimage-info-perl - allows extraction of meta information from image files
libimage-librsvg-perl - Perl binding for librsvg
libimage-size-perl - determine the size of images in several common formats
libimager-perl - Perl extension for Generating 24 bit Images
libimap-admin-perl - Administer IMAP servers
libinline-octave-perl - Perl5 module to Inline GNU Octave code
libinline-perl - Write Perl subroutines in other programming languages
libinline-ruby - Ruby library for embedding C/++ external module code
17:46:35
#apt-cache search perl | grep perl | less
17:46:44
#apt-get install less
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
НОВЫЕ пакеты, которые будут установлены:
  less
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 108 пакетов не обновлено.
Необходимо скачать 111kБ архивов.
После распаковки объем занятого дискового пространства возрастёт на 274kB.
Получено:1 http://ftp.us.debian.org etch/main less 394-4 [111kB]
Получено 111kB за 3s (32,9kB/c)
Выбор ранее не выбранного пакета less.
(Чтение базы данных... на данный момент установлено 11263 файлов и каталогов.)
Распаковывается пакет less (из файла .../archives/less_394-4_i386.deb)...
Настраивается пакет less (394-4) ...
17:46:56
#apt-cache search perl | grep perl | less
17:47:25
#apt-get install perl
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Будут установлены следующие дополнительные пакеты:
  libdb4.4 perl-base perl-modules
Предлагаемые пакеты:
  libterm-readline-gnu-perl libterm-readline-perl-perl
Рекомендуемые пакеты:
  perl-doc
НОВЫЕ пакеты, которые будут установлены:
  libdb4.4 perl perl-modules
...
Выбор ранее не выбранного пакета libdb4.4.
(Чтение базы данных... на данный момент установлено 11283 файлов и каталогов.)
Распаковывается пакет libdb4.4 (из файла .../libdb4.4_4.4.20-8_i386.deb)...
Выбор ранее не выбранного пакета perl-modules.
Распаковывается пакет perl-modules (из файла .../perl-modules_5.8.8-7_all.deb)...
Выбор ранее не выбранного пакета perl.
Распаковывается пакет perl (из файла .../archives/perl_5.8.8-7_i386.deb)...
Настраивается пакет libdb4.4 (4.4.20-8) ...
Настраивается пакет perl-modules (5.8.8-7) ...
Настраивается пакет perl (5.8.8-7) ...
17:49:39
#su - user
Can't locate Term/VT102.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at /usr/local/bin/l3-agent line 13.
BEGIN failed--compilation aborted at /usr/local/bin/l3-agent line 13.
17:49:52
$vi /usr/local/bin/l3-agent line 13
17:50:25
$exit
exit
17:50:28
#apt-cache search perl iconv
libapache-mod-php4 - server-side, HTML-embedded scripting language (apache 1.3 module)
libapache-mod-php5 - server-side, HTML-embedded scripting language (apache 1.3 module)
libapache2-mod-php4 - server-side, HTML-embedded scripting language (apache 2 module)
libapache2-mod-php5 - server-side, HTML-embedded scripting language (apache 2 module)
libhtml-wikiconverter-perl - An HTML to wiki markup converter
libtext-iconv-perl - converts between character sets in Perl
php4-cgi - server-side, HTML-embedded scripting language (CGI binary)
php4-cli - command-line interpreter for the php4 scripting language
php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-cli - command-line interpreter for the php5 scripting language
17:50:46
#apt-get install libtext-iconv-perl
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Пакеты, которые будут обновлены:
  libtext-iconv-perl
обновлено 1, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 106 пакетов не обновлено.
Необходимо скачать 14,7kБ архивов.
После распаковки объем занятого дискового пространства возрастёт на 0B.
Получено:1 http://ftp.us.debian.org etch/main libtext-iconv-perl 1.4-3 [14,7kB]
Получено 14,7kB за 1s (12,8kB/c)
(Чтение базы данных... на данный момент установлено 13134 файлов и каталогов.)
Подготовка к замене пакета libtext-iconv-perl 1.4-2 (используется файл .../libtext-iconv-perl_1.4-3_i386.deb)...
Распаковывается замена для пакета libtext-iconv-perl...
Настраивается пакет libtext-iconv-perl (1.4-3) ...
17:51:03
#su - user
Can't locate Term/VT102.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at /usr/local/bin/l3-agent line 13.
BEGIN failed--compilation aborted at /usr/local/bin/l3-agent line 13.
17:51:07
$exit
exit
17:51:14
#dpkg -l | grep perl
ii  libapt-pkg-perl          0.1.20               Perl interface to libapt-pkg
ii  libconfig-inifiles-perl  2.39-2               Read .ini-style configuration files
ii  liblocale-gettext-perl   1.05-1               Using libc functions for internationalizatio
ii  libtext-charwidth-perl   0.04-3               get display widths of characters on the term
ii  libtext-iconv-perl       1.4-3                converts between character sets in Perl
ii  libtext-wrapi18n-perl    0.06-5               internationalized substitute of Text::Wrap
ii  perl                     5.8.8-7              Larry Wall's Practical Extraction and Report
ii  perl-base                5.8.8-7              The Pathologically Eclectic Rubbish Lister
ii  perl-modules             5.8.8-7              Core Perl modules
17:51:26
#ls
install  Term-VT102.tar.gz  Text-Iconv.tar.gz
17:52:57
#ls /tmp/l
lilalo-install-temp-3928/ lilalo-install-temp-4000/
lilalo-install-temp-3956/ lost+found/
17:52:57
#ls /tmp/l
lilalo-install-temp-3928/ lilalo-install-temp-4000/
lilalo-install-temp-3956/ lost+found/
17:52:57
#ls /tmp/lilalo-install-temp-4000/
l3-agent  l3bashrc  l3config.pm  log
17:53:08
#less /tmp/lilalo-install-temp-4000/log
17:53:34
#apt-get install make
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Предлагаемые пакеты:
  make-doc-non-dfsg
НОВЫЕ пакеты, которые будут установлены:
  make
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 106 пакетов не обновлено.
Необходимо скачать 382kБ архивов.
После распаковки объем занятого дискового пространства возрастёт на 1610kB.
Получено:1 http://ftp.us.debian.org etch/main make 3.81-2 [382kB]
Получено 382kB за 6s (60,2kB/c)
Выбор ранее не выбранного пакета make.
(Чтение базы данных... на данный момент установлено 13134 файлов и каталогов.)
Распаковывается пакет make (из файла .../archives/make_3.81-2_i386.deb)...
Настраивается пакет make (3.81-2) ...
17:53:48
#sh install
|       0K ......                                                100%    4.86 MB/s
|
|   17:53:57 (4.86 MB/s) - `l3bashrc' сохранён [6491/6491]
|
Ok
Downloading l3-agent...
|   --17:53:57--  http://xgu.ru/lilalo/l3-agent
|              => `l3-agent'
|   Распознаётся xgu.ru... 194.150.93.78
|   Устанавливается соединение с xgu.ru|194.150.93.78|:80... соединение установлено.
...
If you use xgu.ru backend, your labs will be available at
http://xgu.ru/l3//users/20-08-2007/nt-ladm/debian.unix.nt
Use commands
 $ l3cd /users/20-08-2007/MY-NEW-CONTEXT/debian.unix.nt/USER
 $ l3pwd
to change and to know your current context.
For further information see http://xgu.ru/lilalo/ (in Russian).
Thank you gor using LiLaLo.
Happy Labbing!
(don't forget to restart bash or relogin)
17:54:03
#su - user

17:54:09
$exit
exit
17:54:12
#grep clint install
step "Downloading perl modules for l3-agent" '{ for i in ${perl_modules}; do scp clint@77.123.107.41:~/$i.tar.gz ${temp_dir}; done; }'
17:57:13
#w
 17:57:14 up  1:15,  1 user,  load average: 0,00, 0,02, 0,00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    host180.unix.nt  16:42    0.00s  0.38s  0.25s script -f -q /ro
17:57:14
#pkill l3-agent

17:57:24
#. .bashrc

17:57:30
#who
root     pts/0        2007-08-25 16:42 (host180.unix.nt)
17:57:46
#reboot

Статистика

Время первой команды журнала17:45:53 2007- 8-25
Время последней команды журнала17:57:46 2007- 8-25
Количество командных строк в журнале31
Процент команд с ненулевым кодом завершения, % 3.23
Процент синтаксически неверно набранных команд, % 3.23
Суммарное время работы с терминалом *, час 0.20
Количество командных строк в единицу времени, команда/мин 2.61
Частота использования команд
apt-get5|=============| 13.89%
grep4|===========| 11.11%
ls4|===========| 11.11%
exit4|===========| 11.11%
apt-cache4|===========| 11.11%
su4|===========| 11.11%
less3|========| 8.33%
dpkg1|==| 2.78%
.1|==| 2.78%
sh1|==| 2.78%
vi1|==| 2.78%
who1|==| 2.78%
pkill1|==| 2.78%
reboot1|==| 2.78%
w1|==| 2.78%
____
*) Интервалы неактивности длительностью 30 минут и более не учитываются

Справка

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

  2. Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.

  3. Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
    $ l s-l
    bash: l: command not found
    

  4. Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
    $ test 5 -lt 4
    Обратите внимание на то, что код завершения команды может быть отличен от нуля не только в тех случаях, когда команда была выполнена с ошибкой. Многие команды используют код завершения, например, для того чтобы показать результаты проверки

  5. Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
    $ find / -name abc
    find: /home/devi-orig/.gnome2: Keine Berechtigung
    find: /home/devi-orig/.gnome2_private: Keine Berechtigung
    find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung
    find: /home/devi-orig/.metacity: Keine Berechtigung
    find: /home/devi-orig/.inkscape: Keine Berechtigung
    ^C
    

  6. Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
    # id
    uid=0(root) gid=0(root) Gruppen=0(root)
    

  7. Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
    $ vi ~/.bashrc
    2a3,5
    >    if [ -f /usr/local/etc/bash_completion ]; then
    >         . /usr/local/etc/bash_completion
    >        fi
    

  8. Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
    $ patch ~/.bashrc
    В данном случае изменения применяются к файлу ~/.bashrc

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

    Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.

  10. Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.

  11. Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора

  12. Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.

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

  14. Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:

    $ whoami
    
    user
    
    $ #^ Интересно, кто я?
    
    в журнале это будет выглядеть так:
    $ whoami
    
    user
    
    Интересно, кто я?

  15. Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:

    $ whoami
    
    user
    
    $ cat > /dev/null #^ Интересно, кто я?
    
    Программа whoami выводит имя пользователя, под которым 
    мы зарегистрировались в системе.
    -
    Она не может ответить на вопрос о нашем назначении 
    в этом мире.
    
    В журнале это будет выглядеть так:
    $ whoami
    user
    
    Интересно, кто я?
    Программа whoami выводит имя пользователя, под которым
    мы зарегистрировались в системе.

    Она не может ответить на вопрос о нашем назначении
    в этом мире.
    Для разделения нескольких абзацев между собой используйте символ "-", один в строке.

  16. Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=

  17. Содержимое файла может быть показано в журнале. Для этого его нужно вывести с помощью программы cat. Если вывод команды отметить симоволами #!, содержимое файла будет показано в журнале в специально отведённой для этого секции.
  18. Для того чтобы вставить скриншот интересующего вас окна в журнал, нужно воспользоваться командой l3shot. После того как команда вызвана, нужно с помощью мыши выбрать окно, которое должно быть в журнале.
  19. Команды в журнале расположены в хронологическом порядке. Если две команды давались одна за другой, но на разных терминалах, в журнале они будут рядом, даже если они не имеют друг к другу никакого отношения.
    1
        2
    3   
        4
    
    Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.

О программе

LiLaLo (L3) расшифровывается как Live Lab Log.
Программа разработана для повышения эффективности обучения Unix/Linux-системам.
(c) Игорь Чубин, 2004-2008

$Id$