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

Содержание

Журнал

Пятница (04/08/11)

/dev/pts/5
06:44:31
#touch /mnt/tmp2/f

06:44:33
#cd /mnt/tmp2/

06:44:43
#yum list bonnie
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: mirror.space.kz
 * base: mirror.space.kz
 * extras: mirror.space.kz
 * rpmforge: ftp-stud.fht-esslingen.de
 * updates: mirror.space.kz
Available Packages
bonnie.x86_64                                1.4-1.el5.rf                                 rpmforge
06:44:48
#time sh -c 'dd if=/dev/zero of=file bs=1024k count=100'
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 9.60244 seconds, 10.9 MB/s
real    0m9.627s
user    0m0.012s
sys     0m0.176s
06:46:20
#time sh -c 'dd if=/dev/zero of=file bs=1024k count=100; sync'
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 9.55546 seconds, 11.0 MB/s
real    0m9.645s
user    0m0.000s
sys     0m0.172s
06:46:53
#time sh -c 'dd if=/dev/zero of=file bs=1024k count=100; sync'
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 9.68192 seconds, 10.8 MB/s
real    0m9.988s
user    0m0.000s
sys     0m0.180s
06:48:31
#time sh -c 'dd if=/dev/zero of=file bs=1024k count=100; sync'
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 10.2558 seconds, 10.2 MB/s
real    0m10.467s
user    0m0.000s
sys     0m0.160s
06:48:58
#yum install bonnie
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: mirror.space.kz
 * base: mirror.space.kz
 * extras: mirror.space.kz
 * rpmforge: ftp-stud.fht-esslingen.de
 * updates: mirror.space.kz
Setting up Install Process
Resolving Dependencies
--> Running transaction check
...
Installing:
 bonnie              x86_64              1.4-1.el5.rf                 rpmforge               26 k
Transaction Summary
==================================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)
Total download size: 26 k
Is this ok [y/N]:
Exiting on user Command
Complete!
06:49:32
#yum install bonnie
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: mirror.space.kz
 * base: mirror.space.kz
 * extras: mirror.space.kz
 * rpmforge: ftp-stud.fht-esslingen.de
 * updates: mirror.space.kz
Setting up Install Process
Resolving Dependencies
--> Running transaction check
...
bonnie-1.4-1.el5.rf.x86_64.rpm                                             |  26 kB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : bonnie                                                                     1/1
Installed:
  bonnie.x86_64 0:1.4-1.el5.rf
Complete!
06:49:40
#bonnie
Bonnie 1.4: File './Bonnie.9912', size: 104857600, volumes: 1
Writing with putc()...         done:   9722 kB/s  10.4 %CPU
Rewriting...                   done:  10632 kB/s   2.1 %CPU
Writing intelligently...       done:  10715 kB/s   1.4 %CPU
Reading with getc()...         done:  94543 kB/s  99.7 %CPU
Reading intelligently...       done: 1751385 kB/s  88.9 %CPU
Seeker 1...Seeker 2...Seeker 3...start 'em...done...done...done...
              ---Sequential Output (nosync)--- ---Sequential Input-- --Rnd Seek-
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --04k (03)-
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU   /sec %CPU
linux2 1* 100  9722 10.4 10715  1.4 10632  2.1 94543 99.71751385 88.9 2258.3  2.5
06:50:20
#cd /tmp/

06:50:57
#bonnie
Bonnie 1.4: File './Bonnie.9932', size: 104857600, volumes: 1
Writing with putc()...         done:  83951 kB/s  99.7 %CPU
Rewriting...                   done: 700156 kB/s  95.7 %CPU
Writing intelligently...       done: 576712 kB/s  94.6 %CPU
Reading with getc()...         done:  94783 kB/s  99.6 %CPU
Reading intelligently...       done: 2012539 kB/s 117.9 %CPU
Seeker 1...Seeker 2...Seeker 3...start 'em...done...done...done...
              ---Sequential Output (nosync)--- ---Sequential Input-- --Rnd Seek-
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --04k (03)-
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU   /sec %CPU
linux2 1* 100 83951 99.7576712 94.6 700156 95.7 94783 99.62012539  118 58568.6 82.0
06:51:04
#man bonnie
06:51:32
#yum search bonnie
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: mirror.space.kz
 * base: mirror.space.kz
 * extras: mirror.space.kz
 * rpmforge: ftp-stud.fht-esslingen.de
 * updates: mirror.space.kz
======================================== Matched: bonnie =========================================
bonnie++.x86_64 : Benchmark suite for hard drive and file system performance
bonnie.x86_64 : Filesystem benchmark tool
06:51:41
#yum install bonnie++
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: mirror.space.kz
 * base: mirror.space.kz
 * extras: mirror.space.kz
 * rpmforge: ftp-stud.fht-esslingen.de
 * updates: mirror.space.kz
Setting up Install Process
Resolving Dependencies
--> Running transaction check
...
bonnie++-1.96-1.el5.rf.x86_64.rpm                                          |  69 kB     00:02
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : bonnie++                                                                   1/1
Installed:
  bonnie++.x86_64 0:1.96-1.el5.rf
Complete!
06:51:58
#bonnie++
You must use the "-u" switch when running as root.
usage:
bonnie++ [-d scratch-dir] [-c concurrency] [-s size(MiB)[:chunk-size(b)]]
      [-n number-to-stat[:max-size[:min-size][:num-directories[:chunk-size]]]]
      [-m machine-name] [-r ram-size-in-MiB]
      [-x number-of-tests] [-u uid-to-use:gid-to-use] [-g gid-to-use]
      [-q] [-f] [-b] [-p processes | -y] [-z seed | -Z random-file]
      [-D]
Version: 1.96
06:52:01
#bonnie++ -d .
You must use the "-u" switch when running as root.
usage:
bonnie++ [-d scratch-dir] [-c concurrency] [-s size(MiB)[:chunk-size(b)]]
      [-n number-to-stat[:max-size[:min-size][:num-directories[:chunk-size]]]]
      [-m machine-name] [-r ram-size-in-MiB]
      [-x number-of-tests] [-u uid-to-use:gid-to-use] [-g gid-to-use]
      [-q] [-f] [-b] [-p processes | -y] [-z seed | -Z random-file]
      [-D]
Version: 1.96
06:52:09
#bonnie++ -u
bonnie++: option requires an argument -- u
usage:
bonnie++ [-d scratch-dir] [-c concurrency] [-s size(MiB)[:chunk-size(b)]]
      [-n number-to-stat[:max-size[:min-size][:num-directories[:chunk-size]]]]
      [-m machine-name] [-r ram-size-in-MiB]
      [-x number-of-tests] [-u uid-to-use:gid-to-use] [-g gid-to-use]
      [-q] [-f] [-b] [-p processes | -y] [-z seed | -Z random-file]
      [-D]
Version: 1.96
06:52:13
#ls
1                                install.1
1.txt                            jaz.txt
archive                          kernel-headers-2.6.18-194.el5.x86_64.rpm
b-link                           keyring-NiiwMC
b-sourc                          l3-saved-4373.2398.14767
d                                libgomp-4.4.0-6.el5.i386.rpm
D                                libgomp-4.4.0-6.el5.x86_64.rpm
D2                               log
d3                               lost+found
d4                               ls
...
gconfd-root                      Text-Iconv-1.7
gconfd-user                      tmp.MDsFV25650
ggg                              txt
glibc-devel-2.5-49.i386.rpm      typescript
glibc-devel-2.5-49.x86_64.rpm    U1
glibc-headers-2.5-49.x86_64.rpm  vim
hh1.txt                          virtual-root.BS5EtC
history253D1_iptable.txt         wer
history.txt                      yttt
install                          zlo
06:52:23
#getent passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
...
avahi-autoipd:x:100:102:avahi-autoipd:/var/lib/avahi-autoipd:/sbin/nologin
gdm:x:42:42::/var/gdm:/sbin/nologin
user:x:500:500::/home/user:/bin/bash
user1:x:501:501::/home/user1:/bin/bash
www:x:502:502::/home/www:/bin/bash
user3:x:503:503::/home/user3:/usr/bin/top
squid:x:23:23::/var/spool/squid:/sbin/nologin
myuser:x:504:504:Admin:/home/myuser:/bin/bash
user4:x:1008:1008::/home/user4:/bin/bash
named:x:25:25:Named:/var/named:/sbin/nologin
06:52:30
#mkdir www

06:52:33
#chown www www

06:52:36
#cd www

06:52:37
#bonnie++ -u www
Using uid:502, gid:502.
Writing a byte at a time...done
Writing intelligently...Can't write block.: No such file or directory
Can't write block 137728.
06:53:02
#bonnie++ -u www
Using uid:502, gid:502.
Writing a byte at a time...done
Writing intelligently...Can't write block.: No space left on device
Can't write block 137995.

Статистика

Время первой команды журнала06:44:31 2011- 4- 8
Время последней команды журнала06:53:02 2011- 4- 8
Количество командных строк в журнале25
Процент команд с ненулевым кодом завершения, %24.00
Процент синтаксически неверно набранных команд, % 0.00
Суммарное время работы с терминалом *, час 0.14
Количество командных строк в единицу времени, команда/мин 2.94
Частота использования команд
yum5|=================| 17.86%
bonnie++5|=================| 17.86%
time4|==============| 14.29%
sync'3|==========| 10.71%
cd3|==========| 10.71%
bonnie2|=======| 7.14%
mkdir1|===| 3.57%
touch1|===| 3.57%
getent1|===| 3.57%
man1|===| 3.57%
chown1|===| 3.57%
ls1|===| 3.57%
____
*) Интервалы неактивности длительностью 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$