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

Содержание

Журнал

Четверг (04/05/07)

/dev/ttyp1
15:05:53
$su
Password:
su: Sorry
15:06:09
$su
Password:
15:06:13
#exit

15:06:13
#exit

/dev/ttyv1
15:11:57
$uname -a
FreeBSD fbsd2.net.nt 6.2-RC1 FreeBSD 6.2-RC1 #0: Thu Apr  5 14:04:11 EEST 2007     root@fbsd2.net.nt:/usr/obj/usr/src/sys/MY  i386
/dev/ttyp3
15:12:46
$dmesg
fdc0: [FAST]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
ppc0: <ECP parallel printer port> port 0x378-0x37f,0x778-0x77b irq 7 drq 3 on acpi0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/16 bytes threshold
ppbus0: <Parallel port bus> on ppc0
...
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 1800033996 Hz quality 800
Timecounters tick every 1.000 msec
ipfw2 (+ipv6) initialized, divert loadable, rule-based forwarding enabled, default to accept, logging disabled
ad1: 38166MB <WDC WD400JB-00ENA0 05.03E05> at ata0-slave UDMA100
acd0: DVDROM <JLMS DVD-ROM LTD-166S/DS0B> at ata1-slave UDMA40
Trying to mount root from ufs:/dev/ad1s1a
drmsub0: <Intel i845G GMCH>: (child of agp_i810.c) on agp0
info: [drm] AGP at 0xd0000000 128MB
info: [drm] Initialized i915 1.4.0 20060119
15:13:26
$fdisk
fdisk: can't open device /dev/ad1
fdisk: cannot open disk /dev/ad1: Permission denied
/dev/ttyp0
15:13:58
$ssh root@linux1.net.nt
Password:
Last login: Thu Apr  5 15:14:12 2007 from fbsd3.net.nt
l3-agent is already running: pid=2465; pidfile=/root/.lilalo/l3-agent.pid
15:20:35
#screen -x
15:21:16
#exit
Connection to linux1.net.nt closed.
15:21:27
$dmesg | grep ad1
ad1: 38166MB <WDC WD400JB-00ENA0 05.03E05> at ata0-slave UDMA100
Trying to mount root from ufs:/dev/ad1s1a
ad1: 38166MB <WDC WD400JB-00ENA0 05.03E05> at ata0-slave UDMA100
Trying to mount root from ufs:/dev/ad1s1a
/dev/ttyp3
15:30:44
$su
Password:
15:30:50
#fdisk
******* Working on device /dev/ad1 *******
parameters extracted from in-core disklabel are:
cylinders=77545 heads=16 sectors/track=63 (1008 blks/cyl)
Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=77545 heads=16 sectors/track=63 (1008 blks/cyl)
Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
...
    start 6281415, size 6281415 (3067 Meg), flag 0
        beg: cyl 391/ head 0/ sector 1;
        end: cyl 781/ head 254/ sector 63
The data for partition 3 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 12562830, size 65593395 (32028 Meg), flag 0
        beg: cyl 782/ head 0/ sector 1;
        end: cyl 1023/ head 254/ sector 63
The data for partition 4 is:
<UNUSED>
15:30:52
#msg
msg2qm     msgcmp     msgen      msgfmt     msgmerge   msguniq
msgattrib  msgcomm    msgexec    msggrep    msgs
msgcat     msgconv    msgfilter  msginit    msgunfmt
15:30:52
#msg
msg2qm     msgcmp     msgen      msgfmt     msgmerge   msguniq
msgattrib  msgcomm    msgexec    msggrep    msgs
msgcat     msgconv    msgfilter  msginit    msgunfmt
15:30:52
#mount
mount            mount_linsysfs   mount_nullfs     mount_std
mount_cd9660     mount_mfs        mount_nwfs       mount_udf
mount_devfs      mount_msdosfs    mount_portalfs   mount_umapfs
mount_ext2fs     mount_nfs        mount_procfs     mount_unionfs
mount_fdescfs    mount_nfs4       mount_reiserfs   mountd
mount_linprocfs  mount_ntfs       mount_smbfs
15:30:52
#mount_msdosfs /dev/ad1s2 /mnt/

/dev/ttyp0
15:32:10
$ls /dev/
acd0            ctty            klog            ptyp4           ttyv3
acpi            cuad0           kmem            ptyp5           ttyv4
ad1             cuad0.init      log             random          ttyv5
ad1s1           cuad0.lock      lpt0            sndstat         ttyv6
ad1s1a          cuad1           lpt0.ctl        stderr          ttyv7
ad1s1c          cuad1.init      mdctl           stdin           ttyv8
ad1s2           cuad1.lock      mem             stdout          ttyv9
ad1s3           devctl          mixer0          sysmouse        ttyva
ad1s3b          devstat         net             ttyd0           ttyvb
ad1s3c          dri             net1            ttyd0.init      ttyvc
...
ad1s3g          dspW0.1         nfs4            ttyd1.lock      urandom
agpgart         dspr0.1         nfslock         ttyp0           usb
apm             fd              null            ttyp1           usb0
ata             fd0             pci             ttyp2           usb1
atkbd0          fido            ppi0            ttyp3           usb2
audio0.0        geom.ctl        psm0            ttyp4           usb3
audio0.1        io              ptyp0           ttyp5           xpt0
bpsm0           kbd0            ptyp1           ttyv0           zero
console         kbd1            ptyp2           ttyv1
consolectl      kbdmux0         ptyp3           ttyv2
15:32:16
$ssh root@linux1.net.nt
Password:
Last login: Thu Apr  5 15:22:34 2007 from fbsd1.net.nt
l3-agent is already running: pid=2465; pidfile=/root/.lilalo/l3-agent.pid
15:32:16
$ssh root@linux1.net.nt
Password:
Last login: Thu Apr  5 15:22:34 2007 from fbsd1.net.nt
l3-agent is already running: pid=2465; pidfile=/root/.lilalo/l3-agent.pid
15:32:16
$ssh root@linux1.net.nt
Password:
Last login: Thu Apr  5 15:22:34 2007 from fbsd1.net.nt
l3-agent is already running: pid=2465; pidfile=/root/.lilalo/l3-agent.pid
/dev/ttyp3
15:32:48
#umount /mnt/

15:34:07
#mount
/dev/ad1s1a on / (ufs, local)
devfs on /dev (devfs, local)
/dev/ad1s3f on /home (ufs, local, soft-updates)
/dev/ad1s3e on /tmp (ufs, local, soft-updates)
/dev/ad1s3g on /usr (ufs, local, soft-updates)
/dev/ad1s3d on /var (ufs, local, soft-updates)
15:34:08
#mount_msdosfs -L ru_RU.KOI8-R -D CP866 /dev/ad1s2 /mnt/

15:34:50
#umount /mnt/

15:34:50
#umount /mnt/

15:35:45
#mount
/dev/ad1s1a on / (ufs, local)
devfs on /dev (devfs, local)
/dev/ad1s3f on /home (ufs, local, soft-updates)
/dev/ad1s3e on /tmp (ufs, local, soft-updates)
/dev/ad1s3g on /usr (ufs, local, soft-updates)
/dev/ad1s3d on /var (ufs, local, soft-updates)
15:35:45
#mount
/dev/ad1s1a on / (ufs, local)
devfs on /dev (devfs, local)
/dev/ad1s3f on /home (ufs, local, soft-updates)
/dev/ad1s3e on /tmp (ufs, local, soft-updates)
/dev/ad1s3g on /usr (ufs, local, soft-updates)
/dev/ad1s3d on /var (ufs, local, soft-updates)
15:35:47
#exit
exit
15:35:47
#exit
exit
15:35:51
$vi /root/MY
15:35:51
$vi /root/MY
15:35:51
$vi /root/MY
/dev/ttyp0
15:37:41
#screen -x
15:37:41
#screen -x
15:37:41
#screen -x
/dev/ttyp3
15:40:36
$dmesg | grep pcm
pcm0: <Intel ICH4 (82801DB)> port 0xe000-0xe0ff,0xe400-0xe43f mem 0xde081000-0xde0811ff,0xde082000-0xde0820ff irq 17 at device 31.5 on pci0
pcm0: primary codec not ready!
pcm0: <Avance Logic ALC200 AC97 Codec>
pcm0: <Intel ICH4 (82801DB)> port 0xe000-0xe0ff,0xe400-0xe43f mem 0xde081000-0xde0811ff,0xde082000-0xde0820ff irq 17 at device 31.5 on pci0
pcm0: primary codec not ready!
pcm0: <Avance Logic ALC200 AC97 Codec>
15:40:36
$dmesg | grep pcm
pcm0: <Intel ICH4 (82801DB)> port 0xe000-0xe0ff,0xe400-0xe43f mem 0xde081000-0xde0811ff,0xde082000-0xde0820ff irq 17 at device 31.5 on pci0
pcm0: primary codec not ready!
pcm0: <Avance Logic ALC200 AC97 Codec>
pcm0: <Intel ICH4 (82801DB)> port 0xe000-0xe0ff,0xe400-0xe43f mem 0xde081000-0xde0811ff,0xde082000-0xde0820ff irq 17 at device 31.5 on pci0
pcm0: primary codec not ready!
pcm0: <Avance Logic ALC200 AC97 Codec>
15:40:36
$dmesg | grep pcm
pcm0: <Intel ICH4 (82801DB)> port 0xe000-0xe0ff,0xe400-0xe43f mem 0xde081000-0xde0811ff,0xde082000-0xde0820ff irq 17 at device 31.5 on pci0
pcm0: primary codec not ready!
pcm0: <Avance Logic ALC200 AC97 Codec>
pcm0: <Intel ICH4 (82801DB)> port 0xe000-0xe0ff,0xe400-0xe43f mem 0xde081000-0xde0811ff,0xde082000-0xde0820ff irq 17 at device 31.5 on pci0
pcm0: primary codec not ready!
pcm0: <Avance Logic ALC200 AC97 Codec>
15:40:48
$vi /root/MY
15:40:48
$vi /root/MY
15:40:48
$vi /root/MY
15:44:36
$echo $
$
15:44:36
$echo $
$
15:44:36
$echo $
$
прошло 28 минут
16:13:16
$echo $?
0
16:13:16
$echo $?
0
16:13:16
$echo $?
0
16:13:21
$uname -a
FreeBSD fbsd2.net.nt 6.2-RC1 FreeBSD 6.2-RC1 #0: Thu Apr  5 14:04:11 EEST 2007     root@fbsd2.net.nt:/usr/obj/usr/src/sys/MY  i386
16:13:21
$uname -a
FreeBSD fbsd2.net.nt 6.2-RC1 FreeBSD 6.2-RC1 #0: Thu Apr  5 14:04:11 EEST 2007     root@fbsd2.net.nt:/usr/obj/usr/src/sys/MY  i386
16:13:21
$uname -a
FreeBSD fbsd2.net.nt 6.2-RC1 FreeBSD 6.2-RC1 #0: Thu Apr  5 14:04:11 EEST 2007     root@fbsd2.net.nt:/usr/obj/usr/src/sys/MY  i386
16:20:40
$su
Password:
16:20:40
$su
Password:
16:22:11
#exit

16:22:11
#exit

16:22:11
#exit

16:22:27
$su -
Password:
Removing stale pidfile
16:22:27
$su -
Password:
Removing stale pidfile
16:22:27
$su -
Password:
Removing stale pidfile
16:22:34
#exit

16:22:34
#exit

16:22:34
#exit

16:22:39
$man t
16:22:39
$man t
16:22:39
$man t
16:30:52
$eject /dev/acd0

16:30:52
$eject /dev/acd0

16:30:52
$eject /dev/acd0

16:31:00
$pkg_info | grep mozila

прошло 15 минут
16:46:56
$pkg_info | grep fire
firefox-1.5.0.7_1,1 Web browser based on the browser portion of Mozilla
firefox-i18n-2.0.0.3 Localized interface for Firefox
16:47:08
$rpc
rpc.lockd      rpc.umntall    rpc.ypupdated  rpcbind        rpcinfo
rpc.statd      rpc.yppasswdd  rpc.ypxfrd     rpcgen
16:47:08
$man
16:54:07
$man pwd
16:54:07
$man pwd
16:54:07
$man pwd
17:00:53
$pwd
/home/user
17:00:53
$pwd
/home/user
17:00:55
$pwd -L
/home/user
17:00:55
$pwd -L
/home/user
17:00:57
$pwd -P
/home/user
17:00:57
$pwd -P
/home/user
17:01:04
$vim /etc/make.conf
прошло 12 минут
17:13:49
$vim
17:13:49
$vim
17:22:56
$vim
17:25:30
$su
Password:
17:25:30
$su
Password:
17:25:30
$su
Password:
17:28:30
#pkg_info | grep wget

17:28:30
#ftp -a ftp.freebsd.org

17:28:30
#exit
exit
17:28:30
#pkg_info | grep wget

17:28:30
#ftp -a ftp.freebsd.org

17:28:30
#exit
exit
17:28:30
#pkg_info | grep wget

17:28:30
#ftp -a ftp.freebsd.org

17:28:30
#exit
exit
17:28:38
$su
Password:
su: Sorry
17:28:38
$su
Password:
su: Sorry
17:28:38
$su
Password:
su: Sorry
17:31:03
$su
Password:

Статистика

Время первой команды журнала15:05:53 2007- 4- 5
Время последней команды журнала17:31:03 2007- 4- 5
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, % 9.90
Процент синтаксически неверно набранных команд, % 0.00
Суммарное время работы с терминалом *, час 2.42
Количество командных строк в единицу времени, команда/мин 0.70
Частота использования команд
su15|=============| 13.64%
exit14|============| 12.73%
grep9|========| 8.18%
man7|======| 6.36%
pwd6|=====| 5.45%
echo6|=====| 5.45%
vi6|=====| 5.45%
dmesg5|====| 4.55%
pkg_info5|====| 4.55%
screen4|===| 3.64%
mount4|===| 3.64%
vim4|===| 3.64%
ssh4|===| 3.64%
uname4|===| 3.64%
umount3|==| 2.73%
ftp3|==| 2.73%
eject3|==| 2.73%
fdisk2|=| 1.82%
msg2|=| 1.82%
mount_msdosfs2|=| 1.82%
rpc1|| 0.91%
ls1|| 0.91%
____
*) Интервалы неактивности длительностью 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$