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

Содержание

Журнал

Четверг (01/18/07)

/dev/pts/1
10:11:19
$su -
Password:
10:11:42
#route add-net 192.168.18.0/24 gw 192.168.15.3
Usage: route [-nNvee] [-FC] [<AF>]           List kernel routing tables
       route [-v] [-FC] {add|del|flush} ...  Modify routing table for AF.
       route {-h|--help} [<AF>]              Detailed usage syntax for specified AF.
       route {-V|--version}                  Display version/author and exit.
        -v, --verbose            be verbose
        -n, --numeric            don't resolve names
        -e, --extend             display other/more information
        -F, --fib                display Forwarding Information Base (default)
        -C, --cache              display routing cache instead of FIB
  <AF>=Use '-A <af>' or '--<af>'; default: inet
  List of possible address families (which support routing):
    inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25)
    netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP)
    x25 (CCITT X.25)
прошло 116 минут
12:07:50
#route add -net 192.168.18.0/24 gw 192.168.15.3

12:08:15
#ping -f 192.168.18.2 -s 65507
PING 192.168.18.2 (192.168.18.2) 65507(65535) bytes of data.
................................................................................................................................................................................................................................................................................................................................................................................................................
прошло 10 минут
12:18:43
#exit

прошло 10 минут
12:29:07
$route
bash: route: command not found
12:29:11
$su -
Password:
su: Authentication failure
Извините.
12:29:33
$su -
Password:
l3-agent is already running: pid=11243; pidfile=/root/.lilalo/l3-agent.pid
12:29:46
#route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.18.0    linux3.unix.nt  255.255.255.0   UG    0      0        0 eth0
192.168.15.0    *               255.255.255.0   U     0      0        0 eth0
default         host15.unix.nt  0.0.0.0         UG    0      0        0 eth0
12:29:53
#route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.18.0    192.168.15.3    255.255.255.0   UG    0      0        0 eth0
192.168.15.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.15.15   0.0.0.0         UG    0      0        0 eth0
12:31:42
#apt-get install ipcalk
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
E: Не могу найти пакет ipcalk
прошло 119 минут
14:31:15
#apt-get install ipcalc
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
НОВЫЕ пакеты, которые будут установлены:
  ipcalc
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 26,4kБ архивов.
После распаковки объем занятого дискового пространства возрастёт на 131kB.
Получено:1 http://host15.unix.nt etch/main ipcalc 0.41-1 [26,4kB]
Получено 26,4kB за 0s (164kB/c)
Выбор ранее не выбранного пакета ipcalc.
(Чтение базы данных... на данный момент установлено 111800 файлов и каталогов.)
Распаковывается пакет ipcalc (из файла .../archives/ipcalc_0.41-1_all.deb)...
Настраивается пакет ipcalc (0.41-1) ...
14:32:04
#ipcalc
Usage: ipcalc [options] <ADDRESS>[[/]<NETMASK>] [NETMASK]
ipcalc takes an IP address and netmask and calculates the resulting broadcast,
network, Cisco wildcard mask, and host range. By giving a second netmask, you
can design sub- and supernetworks. It is also intended to be a teaching tool
and presents the results as easy-to-understand binary values.
 -n --nocolor  Don't display ANSI color codes.
 -b --nobinary Suppress the bitwise output.
 -c --class    Just print bit-count-mask of given address.
 -h --html     Display results as HTML (not finished in this version).
 -v --version  Print Version.
...
ipcalc 192.168.0.1/24
ipcalc 192.168.0.1/255.255.128.0
ipcalc 192.168.0.1 255.255.128.0 255.255.192.0
ipcalc 192.168.0.1 0.0.63.255
ipcalc <ADDRESS1> - <ADDRESS2>  deaggregate address range
ipcalc <ADDRESS>/<NETMASK> --s a b c
                                split network to subnets
                                where a b c fits in.
! New HTML support not yet finished.
ipcalc 0.41
14:32:12
#ipcalc 192.168.18.0/27
Address:   192.168.18.0         11000000.10101000.00010010.000 00000
Netmask:   255.255.255.224 = 27 11111111.11111111.11111111.111 00000
Wildcard:  0.0.0.31             00000000.00000000.00000000.000 11111
=>
Network:   192.168.18.0/27      11000000.10101000.00010010.000 00000
HostMin:   192.168.18.1         11000000.10101000.00010010.000 00001
HostMax:   192.168.18.30        11000000.10101000.00010010.000 11110
Broadcast: 192.168.18.31        11000000.10101000.00010010.000 11111
Hosts/Net: 30                    Class C, Private Internet
14:32:34
#ipcalc 192.168.18.0/24 /27
Address:   192.168.18.0         11000000.10101000.00010010. 00000000
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   192.168.18.0/24      11000000.10101000.00010010. 00000000
HostMin:   192.168.18.1         11000000.10101000.00010010. 00000001
HostMax:   192.168.18.254       11000000.10101000.00010010. 11111110
Broadcast: 192.168.18.255       11000000.10101000.00010010. 11111111
Hosts/Net: 254                   Class C, Private Internet
Subnets after transition from /24 to /27
...
Broadcast: 192.168.18.223       11000000.10101000.00010010.110 11111
Hosts/Net: 30                    Class C, Private Internet
 8.
Network:   192.168.18.224/27    11000000.10101000.00010010.111 00000
HostMin:   192.168.18.225       11000000.10101000.00010010.111 00001
HostMax:   192.168.18.254       11000000.10101000.00010010.111 11110
Broadcast: 192.168.18.255       11000000.10101000.00010010.111 11111
Hosts/Net: 30                    Class C, Private Internet
Subnets:   8
Hosts:     240
14:33:28
#lllllllll
bash: lllllllll: command not found
14:35:12
#mii tool
bash: mii: command not found
14:35:22
#miitool
bash: miitool: command not found
14:35:31
#man miitool
14:35:46
#mii-tool
eth0: negotiated 100baseTx-FD flow-control, link ok
eth1: no link
14:37:04
#ping mail.ru
PING mail.ru (194.67.57.26) 56(84) bytes of data.
64 bytes from mail.ru (194.67.57.26): icmp_seq=1 ttl=113 time=230 ms
64 bytes from mail.ru (194.67.57.26): icmp_seq=2 ttl=113 time=277 ms
64 bytes from mail.ru (194.67.57.26): icmp_seq=3 ttl=113 time=328 ms
64 bytes from mail.ru (194.67.57.26): icmp_seq=4 ttl=113 time=158 ms
64 bytes from mail.ru (194.67.57.26): icmp_seq=5 ttl=113 time=211 ms
64 bytes from mail.ru (194.67.57.26): icmp_seq=6 ttl=113 time=234 ms
64 bytes from mail.ru (194.67.57.26): icmp_seq=7 ttl=113 time=267 ms
--- mail.ru ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 6001ms
rtt min/avg/max/mdev = 158.666/244.108/328.411/49.915 ms
14:37:30
#ping mail.ru
PING mail.ru (194.67.57.26) 56(84) bytes of data.
64 bytes from mail.ru (194.67.57.26): icmp_seq=2 ttl=113 time=189 ms
--- mail.ru ping statistics ---
2 packets transmitted, 1 received, 50% packet loss, time 1001ms
rtt min/avg/max/mdev = 189.359/189.359/189.359/0.000 ms
14:38:00
#mii-tool
eth0: negotiated 100baseTx-FD flow-control, link ok
eth1: no link
14:38:04
#mii-tool
eth0: negotiated 100baseTx-FD flow-control, link ok
eth1: no link
14:44:03
#route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.18.0    192.168.15.3    255.255.255.0   UG    0      0        0 eth0
192.168.15.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.15.15   0.0.0.0         UG    0      0        0 eth0
14:45:52
#less /etc/services
14:47:20
#ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: umbg
        Wake-on: g
        Current message level: 0x00000007 (7)
        Link detected: yes
14:47:45
#ifconfig eth0 | grep HW
eth0      Link encap:Ethernet  HWaddr 00:07:E9:3C:2A:3D
14:51:11
#ifconfig eth0 192.168.18.96 255.255.255.224
SIOCSIFADDR: Invalid argument
14:57:36
#ifconfig eth0 192.168.18.96 netmask 255.255.255.224

14:57:58
#ifconfig eth1 192.168.18.129 netmask 255.255.255.224

14:58:16
#route add -net 192.168.18.0/24 gw 192.168.15.3

15:00:34
#. /etc/bash_completion

15:00:41
#route add de
default  del      dev
15:00:41
#ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: umbg
        Wake-on: g
        Current message level: 0x00000007 (7)
        Link detected: yes
15:01:25
#route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.18.128  *               255.255.255.224 U     0      0        0 eth1
192.168.18.96   *               255.255.255.224 U     0      0        0 eth0
15:02:09
#ping 192.168.18.94
connect: Network is unreachable
15:02:37
#ping 192.168.18.97
PING 192.168.18.97 (192.168.18.97) 56(84) bytes of data.
From 192.168.18.96 icmp_seq=2 Destination Host Unreachable
From 192.168.18.96 icmp_seq=3 Destination Host Unreachable
From 192.168.18.96 icmp_seq=4 Destination Host Unreachable
--- 192.168.18.97 ping statistics ---
7 packets transmitted, 0 received, +3 errors, 100% packet loss, time 6005ms
, pipe 3
15:02:48
#ping 192.168.18.97
PING 192.168.18.97 (192.168.18.97) 56(84) bytes of data.
From 192.168.18.96 icmp_seq=1 Destination Host Unreachable
From 192.168.18.96 icmp_seq=2 Destination Host Unreachable
From 192.168.18.96 icmp_seq=3 Destination Host Unreachable
--- 192.168.18.97 ping statistics ---
5 packets transmitted, 0 received, +3 errors, 100% packet loss, time 4013ms
, pipe 3
15:03:18
#inconfig eth0
bash: inconfig: command not found
15:03:38
#ifnconfig eth0
bash: ifnconfig: command not found
15:03:55
#ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:07:E9:3C:2A:3D
          inet addr:192.168.18.96  Bcast:192.168.18.127  Mask:255.255.255.224
          inet6 addr: fe80::207:e9ff:fe3c:2a3d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:268288 errors:0 dropped:0 overruns:0 frame:0
          TX packets:452092 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:370598482 (353.4 MiB)  TX bytes:589126110 (561.8 MiB)
          Base address:0xac00 Memory:ff7e0000-ff800000
15:04:05
#mii-tool
eth0: negotiated 100baseTx-FD flow-control, link ok
eth1: negotiated 100baseTx-FD flow-control, link ok
15:04:24
#ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:07:E9:3C:2A:3D
          inet addr:192.168.18.96  Bcast:192.168.18.127  Mask:255.255.255.224
          inet6 addr: fe80::207:e9ff:fe3c:2a3d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:268288 errors:0 dropped:0 overruns:0 frame:0
          TX packets:452092 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:370598482 (353.4 MiB)  TX bytes:589126110 (561.8 MiB)
          Base address:0xac00 Memory:ff7e0000-ff800000
15:04:30
#ifconfig eth0 192.168.18.126

15:05:22
#ping 192.168.18.97
PING 192.168.18.97 (192.168.18.97) 56(84) bytes of data.
64 bytes from 192.168.18.97: icmp_seq=1 ttl=64 time=5.85 ms
64 bytes from 192.168.18.97: icmp_seq=2 ttl=64 time=0.199 ms
64 bytes from 192.168.18.97: icmp_seq=3 ttl=64 time=0.215 ms
64 bytes from 192.168.18.97: icmp_seq=4 ttl=64 time=0.228 ms
64 bytes from 192.168.18.97: icmp_seq=5 ttl=64 time=0.118 ms
64 bytes from 192.168.18.97: icmp_seq=6 ttl=64 time=0.133 ms
--- 192.168.18.97 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5001ms
rtt min/avg/max/mdev = 0.118/1.125/5.859/2.117 ms
15:05:34
#ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:04:79:67:96:C7
          inet addr:192.168.18.129  Bcast:192.168.18.159  Mask:255.255.255.224
          inet6 addr: fe80::204:79ff:fe67:96c7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:149 errors:0 dropped:0 overruns:0 frame:0
          TX packets:46 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:12339 (12.0 KiB)  TX bytes:7414 (7.2 KiB)
          Interrupt:201 Base address:0xec00
15:05:39
#ping 192.168.18.158
PING 192.168.18.158 (192.168.18.158) 56(84) bytes of data.
64 bytes from 192.168.18.158: icmp_seq=1 ttl=64 time=3.89 ms
64 bytes from 192.168.18.158: icmp_seq=2 ttl=64 time=0.120 ms
64 bytes from 192.168.18.158: icmp_seq=3 ttl=64 time=0.129 ms
64 bytes from 192.168.18.158: icmp_seq=4 ttl=64 time=0.144 ms
64 bytes from 192.168.18.158: icmp_seq=5 ttl=64 time=0.157 ms
64 bytes from 192.168.18.158: icmp_seq=6 ttl=64 time=0.166 ms
64 bytes from 192.168.18.158: icmp_seq=7 ttl=64 time=0.177 ms
64 bytes from 192.168.18.158: icmp_seq=8 ttl=64 time=0.191 ms
64 bytes from 192.168.18.158: icmp_seq=9 ttl=64 time=0.211 ms
64 bytes from 192.168.18.158: icmp_seq=10 ttl=64 time=0.146 ms
--- 192.168.18.158 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9000ms
rtt min/avg/max/mdev = 0.120/0.533/3.898/1.122 ms
15:06:03
#echo 1 > /proc/sys/net/ipv
ipv4/ ipv6/

Статистика

Время первой команды журнала10:11:19 2007- 1-18
Время последней команды журнала15:06:03 2007- 1-18
Количество командных строк в журнале49
Процент команд с ненулевым кодом завершения, %18.37
Процент синтаксически неверно набранных команд, %12.24
Суммарное время работы с терминалом *, час 0.98
Количество командных строк в единицу времени, команда/мин 0.83
Частота использования команд
route9|=================| 17.65%
ifconfig8|===============| 15.69%
ping8|===============| 15.69%
mii-tool4|=======| 7.84%
ipcalc3|=====| 5.88%
su3|=====| 5.88%
ethtool2|===| 3.92%
apt-get2|===| 3.92%
lllllllll1|=| 1.96%
man1|=| 1.96%
inconfig1|=| 1.96%
mii1|=| 1.96%
ifnconfig1|=| 1.96%
echo1|=| 1.96%
ipv1|=| 1.96%
.1|=| 1.96%
less1|=| 1.96%
miitool1|=| 1.96%
grep1|=| 1.96%
exit1|=| 1.96%
____
*) Интервалы неактивности длительностью 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$