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

Содержание

Журнал

Понедельник (01/28/08)

/dev/pts/5
19:07:23
#xm create -c linux2
NET: Registered protocol family 17
Using IPI No-Shortcut mode
XENBUS: Device with no driver: device/vbd/769
XENBUS: Device with no driver: device/console/0
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Freeing unused kernel memory: 188k freed
Write protecting the kernel read-only data: 795k
Loading, please wait...
Begin: Loading essential drivers... ...
Done.
Begin: Running /scripts/init-premount ...
Done.
Begin: Mounting root file system... ...
Begin: Running /scripts/local-top ...
Done.
Begin: Waiting for root file system... ...
19:07:56
#lsmod | less
19:09:03
#find /lib/modules/ -name \*front\*
For more help on 'xm' see the xm(1) man page.
For more help on 'xm create' see the xmdomain.cfg(5)  man page.
[root@home:~]# xm block-list
No domain parameter given
Usage: xm block-list <Domain> [--long]
List virtual block devices for a domain.
[root@home:~]# xm block-list 3
Vdev  BE handle state evt-ch ring-ref BE-path
769    0    0     1      -1     -1    /local/domain/0/backend/vbd/3/769
/lib/modules/2.6.21-6.fc7xen/kernel/drivers/media/dvb/frontends
/lib/modules/2.6.21-6.fc7xen/kernel/drivers/xen/blkfront
/lib/modules/2.6.21-6.fc7xen/kernel/drivers/xen/netfront
/lib/modules/2.6.18-4-686/kernel/sound/isa/wavefront
/lib/modules/2.6.18-4-686/kernel/sound/isa/wavefront/snd-wavefront.ko
/lib/modules/2.6.18-4-686/kernel/drivers/media/dvb/frontends
19:09:12
#ls /lib/modules/2.6.21-6.fc7xen/kernel/drivers/xen/blkfront
<Domain> can either be the Domain Name or Id.
For more help on 'xm' see the xm(1) man page.
For more help on 'xm create' see the xmdomain.cfg(5)  man page.
[root@home:~]# xm block-list
No domain parameter given
Usage: xm block-list <Domain> [--long]
List virtual block devices for a domain.
[root@home:~]# xm block-list 3
Vdev  BE handle state evt-ch ring-ref BE-path
769    0    0     1      -1     -1    /local/domain/0/backend/vbd/3/769
итого 32
drwxr-xr-x 2 user user  4096 Дек 21 18:15 .
drwxr-xr-x 8 user user  4096 Дек 21 18:15 ..
-rwxr--r-- 1 user user 24148 Ноя 19 15:11 xenblk.ko
19:09:27
#lsmod | grep xen
 resetpolicy          Set the policy of the system to the default
                      policy.
 getpolicy            Get the policy of the system.
 shell                Launch an interactive shell.
<Domain> can either be the Domain Name or Id.
For more help on 'xm' see the xm(1) man page.
For more help on 'xm create' see the xmdomain.cfg(5)  man page.
[root@home:~]# xm block-list
No domain parameter given
Usage: xm block-list <Domain> [--long]
List virtual block devices for a domain.
[root@home:~]# xm block-list 3
Vdev  BE handle state evt-ch ring-ref BE-path
769    0    0     1      -1     -1    /local/domain/0/backend/vbd/3/769
19:09:34
#cat /proc/
1526/          2258/          2796/          4013/          5339/          fs/            stat
1646/          2261/          2829/          4046/          5340/          interrupts     swaps
1702/          2489/          2830/          4047/          5367/          iomem          sys/
188/           2494/          3/             408/           5380/          ioports        sysrq-trigger
189/           2496/          3134/          409/           6/             irq/           sysvipc/
194/           2498/          3151/          410/           6251           kallsyms       timer_list
196/           2540/          3152/          4106/          7/             kcore          timer_stats
1975/          2621/          3168/          4113/          8/             keys           tty/
1981/          2622/          3189/          414/           9/             key-users      uptime
2/             2634/          3192/          4146/          953/           kmsg           version
2060/          2637/          3193/          4147/          acpi/          loadavg        vmcore
2076/          2645/          3196/          415/           asound/        locks          vmstat
2084/          2655/          3202/          416/           buddyinfo      mdstat         xen/
2127/          2659/          3250/          4362/          bus/           meminfo        zoneinfo
2135/          2678/          3257/          4586/          cmdline        misc
221/           2699/          3290/          4619/          cpuinfo        modules
222/           2706/          3291/          4620/          crypto         mounts
19:09:34
#ls /boot/
drwxr-xr-x   2 root root    4096 Янв 28 18:50 grub
-rwxr-xr-x   1 root root 1576049 Дек 21 19:22 initrd-2.6.21-6.fc7xen
-rw-r--r--+  1 root root 5834968 Янв 28 16:55 initrd.img-2.6.18-4-686
-rw-r--r--+  1 root root 5837017 Дек 28 12:36 initrd.img-2.6.18-4-686.bak
-rw-r--r--+  1 root root 5029639 Дек 21 21:27 initrd.img-2.6.18-5-xen-686
-rw-r--r--+  1 root root 5726639 Янв 28 18:34 initrd.img-2.6.21
-rw-r--r--+  1 root root 2841625 Дек 21 21:20 initrd.img-2.6.23-1-xen-686
-rw-r--r--   1 root root  722037 Мар 27  2007 System.map-2.6.18-4-686
-rw-r--r--   1 user user  900478 Ноя 19 15:06 System.map-2.6.21-6.fc7xen
-rw-r--r--   1 root root 1260290 Мар 27  2007 vmlinuz-2.6.18-4-686
-rw-r--r--+  1 root root 1245246 Дек 21 21:27 vmlinuz-2.6.18-5-xen-686
-rw-r--r--   1 user user 2227262 Ноя 19 15:06 vmlinuz-2.6.21-6.fc7xen
-rw-r--r--+  1 root root 1191061 Дек 21 21:19 vmlinuz-2.6.23-1-xen-686
-rw-r--r--+  1 root root  323699 Дек  8 14:20 xen-3.1-1-i386.gz
-rw-r--r--+  1 root root  369989 Янв 26 19:46 xen-3.2-1-i386.gz
-rw-r--r--   1 user user  310340 Ноя 19 14:03 xen.gz-2.6.21-6.fc7
-rwxr-xr-x   1 user user  681916 Ноя 19 15:15 xen-syms-2.6.21-6.fc7
19:10:26
#less /boot/xen/config-2.6.21-6.fc7xen
19:10:37
#less /boot/config-2.6.21-6.fc7xen
19:11:31
#mkinitramfs
No domain parameter given
Usage: xm block-list <Domain> [--long]
List virtual block devices for a domain.
[root@home:~]# xm block-list 3
Vdev  BE handle state evt-ch ring-ref BE-path
769    0    0     1      -1     -1    /local/domain/0/backend/vbd/3/769
Usage: /usr/sbin/mkinitramfs [OPTION]... <-o outfile> [version]
Options:
  -d confdir  Specify an alternative configuration directory.
  -k          Keep temporary directory used to make the image.
  -o outfile  Write to outfile.
  -r root     Override ROOT setting in mkinitrd.conf.
See mkinitramfs(8) for further details.
19:11:37
#vi /etc/init
19:11:37
#vi /etc/initramfs-tools/
19:11:58
#find /lib/modules/ -name \*front\*
For more help on 'xm' see the xm(1) man page.
For more help on 'xm create' see the xmdomain.cfg(5)  man page.
[root@home:~]# xm block-list
No domain parameter given
Usage: xm block-list <Domain> [--long]
List virtual block devices for a domain.
[root@home:~]# xm block-list 3
Vdev  BE handle state evt-ch ring-ref BE-path
769    0    0     1      -1     -1    /local/domain/0/backend/vbd/3/769
/lib/modules/2.6.21-6.fc7xen/kernel/drivers/media/dvb/frontends
/lib/modules/2.6.21-6.fc7xen/kernel/drivers/xen/blkfront
/lib/modules/2.6.21-6.fc7xen/kernel/drivers/xen/netfront
/lib/modules/2.6.18-4-686/kernel/sound/isa/wavefront
/lib/modules/2.6.18-4-686/kernel/sound/isa/wavefront/snd-wavefront.ko
/lib/modules/2.6.18-4-686/kernel/drivers/media/dvb/frontends
19:12:12
#modinfo blkfront
                      policy.
 getpolicy            Get the policy of the system.
 shell                Launch an interactive shell.
<Domain> can either be the Domain Name or Id.
For more help on 'xm' see the xm(1) man page.
For more help on 'xm create' see the xmdomain.cfg(5)  man page.
[root@home:~]# xm block-list
No domain parameter given
Usage: xm block-list <Domain> [--long]
List virtual block devices for a domain.
[root@home:~]# xm block-list 3
Vdev  BE handle state evt-ch ring-ref BE-path
769    0    0     1      -1     -1    /local/domain/0/backend/vbd/3/769
modinfo: could not find module blkfront
19:12:21
#ls /lib/modules/2.6.21-6.fc7xen/kernel/drivers/xen/blkfront
итого 32
drwxr-xr-x 2 user user  4096 Дек 21 18:15 .
drwxr-xr-x 8 user user  4096 Дек 21 18:15 ..
-rwxr--r-- 1 user user 24148 Ноя 19 15:11 xenblk.ko
19:12:25
#modinfo xenblk.ko
                      policy.
 getpolicy            Get the policy of the system.
 shell                Launch an interactive shell.
<Domain> can either be the Domain Name or Id.
For more help on 'xm' see the xm(1) man page.
For more help on 'xm create' see the xmdomain.cfg(5)  man page.
[root@home:~]# xm block-list
No domain parameter given
Usage: xm block-list <Domain> [--long]
List virtual block devices for a domain.
[root@home:~]# xm block-list 3
Vdev  BE handle state evt-ch ring-ref BE-path
769    0    0     1      -1     -1    /local/domain/0/backend/vbd/3/769
modinfo: could not find module xenblk.ko
19:12:30
#modinfo xenblk
filename:       /lib/modules/2.6.21-6.fc7xen/kernel/drivers/xen/blkfront/xenblk.ko
license:        Dual BSD/GPL
srcversion:     517628FC4658DDEC957CD95
depends:
vermagic:       2.6.21-6.fc7xen SMP mod_unload 686 4KSTACKS
19:12:32
#modprobe xenblk

19:12:36
#lsmod
sr_mod                 20132  0
cdrom                  37024  1 sr_mod
joydev                 13376  0
ata_piix               18308  4
libata                112368  1 ata_piix
sd_mod                 28928  5
scsi_mod              139020  4 sg,sr_mod,libata,sd_mod
dm_snapshot            20516  0
dm_zero                 6144  0
dm_mirror              24596  0
dm_mod                 57164  3 dm_snapshot,dm_zero,dm_mirror
ext3                  125320  2
jbd                    59560  1 ext3
mbcache                12292  1 ext3
ehci_hcd               34188  0
ohci_hcd               21508  0
uhci_hcd               25360  0
19:12:41
#lsmod | head
Module                  Size  Used by
xenblk                 20592  0
rfcomm                 43416  0
l2cap                  30080  5 rfcomm
bluetooth              57188  4 rfcomm,l2cap
bridge                 52376  0
netloop                10624  0
ipt_ULOG               12548  4
iptable_mangle          6528  0
iptable_nat            11396  0
19:12:44
#rmmod xenblk
 resetpolicy          Set the policy of the system to the default
                      policy.
 getpolicy            Get the policy of the system.
 shell                Launch an interactive shell.
<Domain> can either be the Domain Name or Id.
For more help on 'xm' see the xm(1) man page.
For more help on 'xm create' see the xmdomain.cfg(5)  man page.
[root@home:~]# xm block-list
No domain parameter given
Usage: xm block-list <Domain> [--long]
List virtual block devices for a domain.
[root@home:~]# xm block-list 3
Vdev  BE handle state evt-ch ring-ref BE-path
769    0    0     1      -1     -1    /local/domain/0/backend/vbd/3/769
19:12:49
#modinfo xenblk
filename:       /lib/modules/2.6.21-6.fc7xen/kernel/drivers/xen/blkfront/xenblk.ko
license:        Dual BSD/GPL
srcversion:     517628FC4658DDEC957CD95
depends:
vermagic:       2.6.21-6.fc7xen SMP mod_unload 686 4KSTACKS
19:12:51
#vi /etc/initramfs-tools/modules
10a11,12
> 
> xenblk
19:13:27
#mkinitramfs -o /boot/initrd
 getpolicy            Get the policy of the system.
 shell                Launch an interactive shell.
<Domain> can either be the Domain Name or Id.
For more help on 'xm' see the xm(1) man page.
For more help on 'xm create' see the xmdomain.cfg(5)  man page.
[root@home:~]# xm block-list
No domain parameter given
Usage: xm block-list <Domain> [--long]
List virtual block devices for a domain.
[root@home:~]# xm block-list 3
Vdev  BE handle state evt-ch ring-ref BE-path
769    0    0     1      -1     -1    /local/domain/0/backend/vbd/3/769
initrd-2.6.21-6.fc7xen       initrd.img-2.6.18-4-686.bak  initrd.img-2.6.21
initrd.img-2.6.18-4-686      initrd.img-2.6.18-5-xen-686  initrd.img-2.6.23-1-xen-686
19:13:27
#mkinitramfs -o /boot/initrd.img-2.6.21 2.6.21-6.fc7xen
[2008-01-28 19:07:25 2498] DEBUG (DevController:150) Waiting for devices vkbd.
[2008-01-28 19:07:25 2498] DEBUG (DevController:150) Waiting for devices vfb.
[2008-01-28 19:07:25 2498] DEBUG (DevController:150) Waiting for devices console.
[2008-01-28 19:07:25 2498] DEBUG (DevController:155) Waiting for 0.
[2008-01-28 19:07:25 2498] DEBUG (DevController:150) Waiting for devices pci.
[2008-01-28 19:07:25 2498] DEBUG (DevController:150) Waiting for devices ioports.
[2008-01-28 19:07:25 2498] DEBUG (DevController:150) Waiting for devices tap.
[2008-01-28 19:07:25 2498] DEBUG (DevController:155) Waiting for 769.
[2008-01-28 19:07:25 2498] DEBUG (DevController:594) hotplugStatusCallback /local/domain/0/backend/tap/4/769/hotplug-status.
[2008-01-28 19:07:25 2498] DEBUG (DevController:594) hotplugStatusCallback /local/domain/0/backend/tap/4/769/hotplug-status.
[2008-01-28 19:07:25 2498] DEBUG (DevController:608) hotplugStatusCallback 1.
[2008-01-28 19:07:26 2498] DEBUG (DevController:150) Waiting for devices vtpm.
[2008-01-28 19:07:26 2498] INFO (XendDomain:1165) Domain linux2 (4) unpaused.
19:14:03
#xm create -c
NET: Registered protocol family 17
Using IPI No-Shortcut mode
XENBUS: Device with no driver: device/vbd/769
XENBUS: Device with no driver: device/console/0
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Freeing unused kernel memory: 188k freed
Write protecting the kernel read-only data: 795k
Loading, please wait...
Begin: Loading essential drivers... ...
XENBUS: Timeout connecting to device: device/vbd/769 (state 3)
Done.
Begin: Running /scripts/init-premount ...
Done.
Begin: Mounting root file system... ...
Begin: Running /scripts/local-top ...
Done.
Begin: Waiting for root file system... ...
19:18:50
#xm

19:18:52
#vi /etc/xen/linux2
70c70
< disk = [ 'tap:aio:/var/lib/xen/images/linux1.img,hda1,w' ]
---
> disk = [ 'file:/var/lib/xen/images/linux1.img,hda1,w' ]
19:19:02
#xm
Using IPI No-Shortcut mode
XENBUS: Device with no driver: device/vbd/769
XENBUS: Device with no driver: device/console/0
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Freeing unused kernel memory: 188k freed
Write protecting the kernel read-only data: 795k
Loading, please wait...
Begin: Loading essential drivers... ...
XENBUS: Timeout connecting to device: device/vbd/769 (state 3)
Done.
Begin: Running /scripts/init-premount ...
Done.
Begin: Mounting root file system... ...
Begin: Running /scripts/local-top ...
Done.
Begin: Waiting for root file system... ...
19:20:17
#vi /boot/grub/
19:20:17
#vi /boot/grub/menu.lst
127c127
< kernel		/boot/xen-3.2-1-i386.gz
---
> kernel		/boot/xen-3.2-1-i386.gz dom0_mem=1024000
19:20:42
#reboot

Статистика

Время первой команды журнала19:07:23 2008- 1-28
Время последней команды журнала19:20:42 2008- 1-28
Количество командных строк в журнале32
Процент команд с ненулевым кодом завершения, %25.00
Процент синтаксически неверно набранных команд, % 0.00
Суммарное время работы с терминалом *, час 0.22
Количество командных строк в единицу времени, команда/мин 2.40
Частота использования команд
vi6|=================| 17.14%
xm4|===========| 11.43%
modinfo4|===========| 11.43%
lsmod4|===========| 11.43%
mkinitramfs3|========| 8.57%
less3|========| 8.57%
ls3|========| 8.57%
find2|=====| 5.71%
modprobe1|==| 2.86%
cat1|==| 2.86%
grep1|==| 2.86%
reboot1|==| 2.86%
head1|==| 2.86%
rmmod1|==| 2.86%
____
*) Интервалы неактивности длительностью 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$