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

Содержание

Журнал

Пятница (02/16/07)

/dev/ttypb
16:17:00
#vim /etc/ttys
16:18:17
#pill -9 mgetty

16:18:27
#vim /etc/ppp/options
16:18:50
#vim /usr/local/etc/mgetty+sendfax/mgetty.config
16:19:12
#pkill -9 mgetty

16:19:16
#pkill -9 mgetty

16:26:21
#vim /usr/local/etc/mgetty+sendfax/mgetty.config
16:26:33
#vim /etc/ppp/options
16:26:47
#pkill -9 mgetty

16:26:51
#ps wax | grep mgetty
29170  ??  S      0:00.01 /usr/local/sbin/mgetty -m  ATC10=00 cuad0
29176  pf  RL+    0:00.00 grep mgetty
16:26:59
#tail /var/log/daemon.log
Feb 16 16:25:05 starone pppd[29124]: sent [LCP TermAck id=0x2]
Feb 16 16:25:05 starone pppd[29124]: Hangup (SIGHUP)
Feb 16 16:25:05 starone pppd[29124]: Modem hangup, connected for 1 minutes
Feb 16 16:25:05 starone pppd[29124]: Connection terminated, connected for 1 minutes
Feb 16 16:25:06 starone pppd[29124]: Exit.
Feb 16 16:27:53 starone pppd[29170]: pppd 2.3.5 started by root, uid 0
Feb 16 16:27:53 starone pppd[29170]: Using interface ppp0
Feb 16 16:27:53 starone pppd[29170]: Connect: ppp0 <--> /dev/cuad0
Feb 16 16:27:53 starone pppd[29170]: Warning - secret file /etc/ppp/pap-secrets has world and/or group access
Feb 16 16:27:53 starone pppd[29170]: sent [LCP ConfReq id=0x1 <auth pap> <magic 0xd1d3a7e5> <pcomp> <accomp>]
16:28:20
#tail /var/log/daemon.log
Feb 16 16:28:23 starone pppd[29170]: LCP: timeout sending Config-Requests
Feb 16 16:28:23 starone pppd[29170]: Connection terminated, connected for 1 minutes
Feb 16 16:28:23 starone pppd[29170]: Hangup (SIGHUP)
Feb 16 16:28:23 starone pppd[29170]: Exit.
Feb 16 16:29:57 starone pppd[29188]: pppd 2.3.5 started by root, uid 0
Feb 16 16:29:57 starone pppd[29188]: Using interface ppp0
Feb 16 16:29:57 starone pppd[29188]: Connect: ppp0 <--> /dev/cuad0
Feb 16 16:29:57 starone pppd[29188]: Warning - secret file /etc/ppp/pap-secrets has world and/or group access
Feb 16 16:29:57 starone pppd[29188]: sent [LCP ConfReq id=0x1 <auth pap> <magic 0xf0660278> <pcomp> <accomp>]
[root@myhost:~]#
[root@myhost:~]#
[root@myhost:~]#
[root@myhost:~]#
16:30:23
#tail /var/log/debug.log
Feb 16 16:24:26 starone pppd[29124]: rcvd [LCP EchoRep id=0x1 magic=0xfad55426]
Feb 16 16:24:40 starone pppd[29124]: sent [LCP EchoReq id=0x2 magic=0x5078a7b5]
Feb 16 16:24:41 starone pppd[29124]: rcvd [LCP EchoRep id=0x2 magic=0xfad55426]
Feb 16 16:24:55 starone pppd[29124]: sent [LCP EchoReq id=0x3 magic=0x5078a7b5]
Feb 16 16:24:56 starone pppd[29124]: rcvd [LCP EchoRep id=0x3 magic=0xfad55426]
Feb 16 16:25:05 starone pppd[29124]: rcvd [LCP TermReq id=0x2 "User request"]
Feb 16 16:25:05 starone pppd[29124]: sent [LCP TermAck id=0x2]
Feb 16 16:27:53 starone pppd[29170]: sent [LCP ConfReq id=0x1 <auth pap> <magic 0xd1d3a7e5> <pcomp> <accomp>]
Feb 16 16:28:20 starone last message repeated 9 times
Feb 16 16:29:57 starone pppd[29188]: sent [LCP ConfReq id=0x1 <auth pap> <magic 0xf0660278> <pcomp> <accomp>]
16:30:28
#less /var/log/debug.log
16:31:02
#vim /etc/ppp/options
16:31:22
#vim /etc/ppp/pap-secrets
16:31:28
#vim /etc/ttys
16:31:46
#init q

16:31:57
#ps wax | grep mgetty
        ether 00:01:02:b4:61:22
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
xl1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        options=9<RXCSUM,VLAN_MTU>
        ether 00:10:4b:bb:97:4b
[root@starone:mgetty+sendfax]#
29261  ??  S      0:00.01 /usr/local/sbin/mgetty cuad0
29267  pf  R+     0:00.00 grep mgetty
[root@myhost:~]#
[root@myhost:~]#
[root@myhost:~]#
[root@myhost:~]#
16:32:06
#ping 192.168.20.15
        ether 00:10:4b:bb:97:4b
PING 192.168.20.15 (192.168.20.15): 56 data bytes
64 bytes from 192.168.20.15: icmp_seq=0 ttl=64 time=155.335 ms
64 bytes from 192.168.20.15: icmp_seq=1 ttl=64 time=194.907 ms
64 bytes from 192.168.20.15: icmp_seq=2 ttl=64 time=196.626 ms
^C
--- 192.168.20.15 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 155.335/182.289/196.626/19.073 ms
[root@myhost:~]#
[root@myhost:~]#
[root@myhost:~]#
[root@myhost:~]#
16:35:21
#ping 192.168.20.1
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
xl1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        options=9<RXCSUM,VLAN_MTU>
        ether 00:10:4b:bb:97:4b
PING 192.168.20.1 (192.168.20.1): 56 data bytes
^C
--- 192.168.20.1 ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss
[root@myhost:~]#
[root@myhost:~]#
[root@myhost:~]#
[root@myhost:~]#
16:35:23
#ping 192.168.16.22
PING 192.168.16.22 (192.168.16.22): 56 data bytes
64 bytes from 192.168.16.22: icmp_seq=0 ttl=64 time=0.482 ms
64 bytes from 192.168.16.22: icmp_seq=1 ttl=64 time=0.304 ms
64 bytes from 192.168.16.22: icmp_seq=2 ttl=64 time=0.293 ms
64 bytes from 192.168.16.22: icmp_seq=3 ttl=64 time=0.263 ms
^C
--- 192.168.16.22 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.263/0.336/0.482/0.086 ms
[root@myhost:~]#
[root@myhost:~]#
[root@myhost:~]#
[root@myhost:~]#
16:43:10
#ifconfig
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=9<RXCSUM,VLAN_MTU>
        inet 192.168.16.21 netmask 0xffffff00 broadcast 192.168.16.255
        ether 00:01:02:b4:61:97
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
xl1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        options=9<RXCSUM,VLAN_MTU>
        ether 00:04:75:75:46:c1
        media: Ethernet autoselect (none)
        status: no carrier
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
ppp0: flags=108051<UP,POINTOPOINT,RUNNING,MULTICAST,NEEDSGIANT> mtu 1500
        inet 192.168.20.1 --> 192.168.20.15 netmask 0xffffff00
16:43:16
#ping 192.168.20.16
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
xl1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        options=9<RXCSUM,VLAN_MTU>
        ether 00:10:4b:bb:97:4b
PING 192.168.20.16 (192.168.20.16): 56 data bytes
^C
--- 192.168.20.16 ping statistics ---
1 packets transmitted, 0 packets received, 100% packet loss
[root@myhost:~]#
[root@myhost:~]#
[root@myhost:~]#
[root@myhost:~]#
16:43:26
#ping 192.168.20.15
PING 192.168.20.15 (192.168.20.15): 56 data bytes
64 bytes from 192.168.20.15: icmp_seq=0 ttl=64 time=180.422 ms
64 bytes from 192.168.20.15: icmp_seq=1 ttl=64 time=176.949 ms
^C
--- 192.168.20.15 ping statistics ---
3 packets transmitted, 2 packets received, 33% packet loss
round-trip min/avg/max/stddev = 176.949/178.685/180.422/1.737 ms
16:43:29
#ssh68.20.15
The authenticity of host '192.168.20.15 (192.168.20.15)' can't be established.
DSA key fingerprint is d6:43:f2:33:bd:70:39:62:2c:bb:db:cf:c3:8c:c3:dc.
Are you sure you want to continue connecting (yes/no)?
Host key verification failed.
16:43:44
#ssh 192.168.20.15
The authenticity of host '192.168.20.15 (192.168.20.15)' can't be established.
DSA key fingerprint is d6:43:f2:33:bd:70:39:62:2c:bb:db:cf:c3:8c:c3:dc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.20.15' (DSA) to the list of known hosts.
Password:
l3-agent is already running: pid=63364; pidfile=/root/.lilalo/l3-agent.pid
16:53:43
#exit
exit
прошло 19 минут
/dev/ttyp4
17:12:55
$konqueror
kbuildsycoca running...
kio (KMimeType): WARNING: KServiceType::offers : servicetype  not found
/dev/ttyp8
17:13:26
#exit
exit
Connection to 192.168.16.22 closed.
прошло 20 минут
/dev/ttyp6
17:34:12
#exit
exit
/dev/ttyv0
17:40:35
$top
last pid: 29793;  load averages:  0.08,  0.10,  0.08    up 0+08:21:20  17:40:50
25 processes 0.0 running 0.0 sleepin 0.0           0.4             99.6
CPU states:     % user,     % nice,     % system,     % interrupt,     % idle
Mem: 39M Active, 370M Inact, 147M Wired, 964K Cache, 110M Buf, 431M Free
19260                           9448K  8032K nanslp  21:20  1.17% perl5.8.8
Swap: 2007M Total, 2007M Free   3856K  2764K wait     0:00  0.80% bash
29767 root              8       9140K  7880K nanslp   8:30  0.00% perl5.8.8
                       96       1344K   796K select   0:22  0.00% moused
  902                           3512K  2788             01        sendmail
  733 bindNAME    THR PRI NICE  4436K  3544S STATE    TIME   WCPU named
...
  912 root          1   8    0  1396K  1108K nanslp   0:00  0.00% cron
  861 root          1  96    0  1296K   848K select   0:00  0.00% usbd
29725 root          1   8    0  1768K  1468K wait     0:00  0.00% login
  906 smmsp         1  20    0  3392K  2792K pause    0:00  0.00% sendmail
  780 root          1 117    0  1656K  1388K select   0:00  0.00% xinetd
29361 root          1  96    0  1456K  1140K select   0:00  0.00% mgetty
  897 root          1  96    0  3532K  2688K select   0:00  0.00% sshd
29793 user          1  97    0  2288K  1496K RUN      0:00  0.00% top
29713 root          1   5    0  1352K   944K ttyin    0:00  0.00% getty
29685 root          1   5    0  1352K   944K ttyin    0:00  0.00% getty
17:40:50
$exiy
bash: exiy: command not found

Статистика

Время первой команды журнала16:17:00 2007- 2-16
Время последней команды журнала17:40:50 2007- 2-16
Количество командных строк в журнале33
Процент команд с ненулевым кодом завершения, %12.12
Процент синтаксически неверно набранных команд, % 3.03
Суммарное время работы с терминалом *, час 1.40
Количество командных строк в единицу времени, команда/мин 0.39
Частота использования команд
vim8|======================| 22.86%
ping5|==============| 14.29%
tail3|========| 8.57%
exit3|========| 8.57%
pkill3|========| 8.57%
ps2|=====| 5.71%
grep2|=====| 5.71%
ifconfig1|==| 2.86%
pill1|==| 2.86%
exiy1|==| 2.86%
top1|==| 2.86%
less1|==| 2.86%
init1|==| 2.86%
ssh1|==| 2.86%
ssh68.20.151|==| 2.86%
konqueror1|==| 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$