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

Содержание

Журнал

Пятница (08/14/09)

/dev/ttyp2
15:27:18
$sudo
sudo: cd: command not found
15:27:21
$cd /var/log/squid
bash: cd: /var/log/squid: Permission denied
15:27:30
$sudo
sudo: cd: command not found
15:27:44
$su
[user@debian9:log]$ su
Password:
su: Authentication failure
Извините.
Password:
15:27:50
#cd /var/log/squid

15:27:55
#tail -f access.log

15:28:07
#ls
access.log  cache.log  store.log
15:28:08
#tail -f access.log
^[[A
/dev/ttyp0
15:29:15
$sudo /etc/init.d/squid stop
Stopping Squid HTTP proxy: squid.
15:29:32
$sudo /etc/init.d/squid start
Starting Squid HTTP proxy: squid.
15:29:35
$sudo /etc/init.d/squid stop
Stopping Squid HTTP proxy: squid
.
/dev/ttyp2
15:29:40
#mc
15:29:45
#tail -f access.log

15:29:48
#tail -f access.log

/dev/ttyp0
15:29:57
$squid -z
bash: squid: command not found
15:30:00
$squid -zZ
bash: squid: command not found
15:30:01
$squid -
bash: squid: command not found
15:30:03
$sudo /usr/sbin
/usr/sbin/squid: invalid option -- Z
Usage: squid [-hvzCDFNRYX] [-d level] [-s | -l facility] [-f config-file] [-u port] [-k signal]
       -d level  Write debugging to stderr also.
       -f file   Use given config-file instead of
                 /etc/squid/squid.conf
       -h        Print help message.
       -k reconfigure|rotate|shutdown|interrupt|kill|debug|check|parse
                 Parse configuration file, then send signal to
                 running copy (except -k parse) and exit.
       -s | -l facility
...
       -v        Print version.
       -z        Create swap directories
       -C        Do not catch fatal signals.
       -D        Disable initial DNS tests.
       -F        Don't serve any requests until store is rebuilt.
       -N        No daemon mode.
       -R        Do not set REUSEADDR on port.
       -S        Double-check swap during rebuild.
       -X        Force full debugging.
       -Y        Only return UDP_HIT or UDP_MISS_NOFETCH during fast reload.
15:30:19
$sudo /usr/sbin/squid -z
2009/08/14 16:30:22| Creating Swap Directories
15:30:22
$sudo /usr/sbin/squid -k reconfigure
squid: ERROR: Could not send signal 1 to process 5395: (3) No such process
15:30:32
$sudo /etc/init.d/squid start
Starting Squid HTTP proxy: squid.
15:30:49
$sudo /etc/init.d/squid restart
Restarting Squid HTTP proxy: squid.
15:30:59
$sudo netstat -lnp | grep squid

/dev/ttyp2
15:31:01
#ls
access.log  cache.log  store.log
15:31:05
#tail -f cache.log
Page faults with physical i/o: 0
Memory usage for squid via mallinfo():
        total space in arena:    2116 KB
        Ordinary blocks:         2088 KB      5 blks
        Small blocks:               0 KB      0 blks
        Holding blocks:           240 KB      1 blks
        Free Small blocks:          0 KB
        Free Ordinary blocks:      27 KB
        Total in use:            2328 KB 99%
        Total free:                27 KB 1%
...
Page faults with physical i/o: 0
Memory usage for squid via mallinfo():
        total space in arena:    2116 KB
        Ordinary blocks:         2088 KB      5 blks
        Small blocks:               0 KB      0 blks
        Holding blocks:           240 KB      1 blks
        Free Small blocks:          0 KB
        Free Ordinary blocks:      27 KB
        Total in use:            2328 KB 99%
        Total free:                27 KB 1%
/dev/ttyp0
15:31:24
$sudo netstat -lnp |
>
15:31:29
$sudo netstat -lnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN     2974/sendmail: MTA:
tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN     1449/Xvnc
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN     1397/popa3d
tcp        0      0 192.168.16.9:53         0.0.0.0:*               LISTEN     3602/named
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN     3602/named
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN     3602/named
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN     2974/sendmail: MTA:
tcp6       0      0 :::53                   :::*                    LISTEN     3602/named
...
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node PID/Program name    Path
unix  2      [ ACC ]     STREAM     LISTENING     6499     3016/gconfd-2       /tmp/orbit-user/linc-bc8-0-e45e30a75c08
unix  2      [ ACC ]     STREAM     LISTENING     5393     2490/ssh-agent      /tmp/ssh-QUebMK2453/agent.2453
unix  2      [ ACC ]     STREAM     LISTENING     6508     3012/icedove-bin    /tmp/orbit-user/linc-bc4-0-6748766276ad5
unix  2      [ ACC ]     STREAM     LISTENING     9101     4113/firefox-bin    /tmp/orbit-user/linc-1011-0-25ef67cca6cc5
unix  2      [ ACC ]     STREAM     LISTENING     3901     1425/gdm            /tmp/.gdm_socket
unix  2      [ ACC ]     STREAM     LISTENING     7753     3621/clamav-milter  /var/run/clamav/clamav-milter.ctl
unix  2      [ ACC ]     STREAM     LISTENING     3950     1449/Xvnc           /tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     6394     2974/sendmail: MTA: /var/run/sendmail/mta/smcontrol
15:31:30
$sudo netstat -lnp

15:31:37
$sudo netstat -lnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN     2974/sendmail: MTA:
tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN     1449/Xvnc
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN     1397/popa3d
tcp        0      0 192.168.16.9:53         0.0.0.0:*               LISTEN     3602/named
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN     3602/named
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN     3602/named
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN     2974/sendmail: MTA:
tcp6       0      0 :::53                   :::*                    LISTEN     3602/named
...
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node PID/Program name    Path
unix  2      [ ACC ]     STREAM     LISTENING     6499     3016/gconfd-2       /tmp/orbit-user/linc-bc8-0-e45e30a75c08
unix  2      [ ACC ]     STREAM     LISTENING     5393     2490/ssh-agent      /tmp/ssh-QUebMK2453/agent.2453
unix  2      [ ACC ]     STREAM     LISTENING     6508     3012/icedove-bin    /tmp/orbit-user/linc-bc4-0-6748766276ad5
unix  2      [ ACC ]     STREAM     LISTENING     9101     4113/firefox-bin    /tmp/orbit-user/linc-1011-0-25ef67cca6cc5
unix  2      [ ACC ]     STREAM     LISTENING     3901     1425/gdm            /tmp/.gdm_socket
unix  2      [ ACC ]     STREAM     LISTENING     7753     3621/clamav-milter  /var/run/clamav/clamav-milter.ctl
unix  2      [ ACC ]     STREAM     LISTENING     3950     1449/Xvnc           /tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     6394     2974/sendmail: MTA: /var/run/sendmail/mta/smcontrol
15:31:46
$sudo netstat -lnp | grep squid

15:31:48
$sudo /etc/init.d/squid restart

/dev/ttyp2
15:31:52
#ls
access.log  cache.log  store.log
15:31:53
#tail -f store.log

15:32:00
#cd ..

/dev/ttyp0
15:32:32
$sudo ps aux | grep ^auth

15:32:58
$sudo ps aux | grep
root      1449  0.0  3.4  22416 20604 ?        S    Aug13   0:08 /usr/bin/Xvnc :0 -geometry 1024x768 -depth 24 -auth /var/lib/gdm/:0.Xauth -nolisten tcp
user      5727  0.0  0.1   4624   744 ttyp1    R+   16:33   0:00 grep auth
15:33:01
$top
top - 16:33:16 up 17:32,  4 users,  load average: 0.00, 0.02, 0.00
Tasks:  61 total,   1 running,  60 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni, 99.3%id,  0.7%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    594068k total,   492448k used,   101620k free,    78192k buffers
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
Swap:        0k total,        0k used,        0k free,   198660k cached
    1 root      15   0  1956  644  552 S  0.0  0.1   0:00.05 init
    2 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0
    3 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0
    4 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 events/0
...
   18 root      20  -5     0    0    0 S  0.0  0.0   0:00.00 kseriod
   55 root      25   0     0    0    0 S  0.0  0.0   0:00.00 pdflush
   56 root      15   0     0    0    0 S  0.0  0.0   0:00.01 pdflush
   57 root      20  -5     0    0    0 S  0.0  0.0   0:00.00 kswapd0
   58 root      20  -5     0    0    0 S  0.0  0.0   0:00.00 aio/0
  609 root      19  -5     0    0    0 S  0.0  0.0   0:00.00 kmirrord
  707 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 reiserfs/0
 1267 root      18   0  1764  644  516 S  0.0  0.1   0:00.07 syslogd
 1273 root      24   0  1716  384  312 S  0.0  0.1   0:00.00 klogd
 1382 clamav    15   0  5652 1552 1164 S  0.0  0.3   0:00.00 freshclam
15:33:16
$sudo ps aux | grep ^auth*

15:33:20
$sudo ps aux | grep basicauthenticator
user      5753  0.0  0.1   4620   744 ttyp1    R+   16:33   0:00 grep basicauthenticator
15:33:38
$sudo ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1   1956   644 ?        Ss   Aug13   0:00 init [2]
root         2  0.0  0.0      0     0 ?        S    Aug13   0:00 [migration/0]
root         3  0.0  0.0      0     0 ?        SN   Aug13   0:00 [ksoftirqd/0]
root         4  0.0  0.0      0     0 ?        S<   Aug13   0:00 [events/0]
root         5  0.0  0.0      0     0 ?        S<   Aug13   0:00 [khelper]
root         6  0.0  0.0      0     0 ?        S<   Aug13   0:00 [kthread]
root         7  0.0  0.0      0     0 ?        S<   Aug13   0:00 [xenwatch]
root         8  0.0  0.0      0     0 ?        S<   Aug13   0:00 [xenbus]
root        16  0.0  0.0      0     0 ?        S<   Aug13   0:00 [kblockd/0]
...
bind      3602  0.0  0.5  30760  3416 ?        Ssl  10:52   0:00 /usr/sbin/named -u bind
clamav    3621  0.0 11.5  93132 68388 ?        Ssl  10:57   0:00 /usr/sbin/clamav-milter --max-childre
user      4113  0.2  6.2 118144 37236 ?        Ssl  15:59   0:05 /usr/lib/iceweasel/firefox-bin -a fir
root      4370  0.0  0.4   7692  2816 ttyp5    S+   16:14   0:00 mc
root      5209  0.0  0.1   5456  1072 ttyp3    S+   16:27   0:00 su
root      5210  0.0  0.1   4712   680 ttyp3    S+   16:27   0:00 script -f -q /root/.lilalo//313191325
root      5243  0.0  0.0   4840   472 ttyp3    S+   16:27   0:00 script -f -q /root/.lilalo//313191325
root      5244  0.0  0.3   5796  1800 ttyp6    Ss   16:27   0:00 bash -i
root      5706  0.0  0.0   4520   512 ttyp6    S+   16:32   0:00 tail -f syslog
root      5761  0.0  0.1   5176   992 ttyp1    R+   16:33   0:00 ps aux
15:33:45
$sudo ps aux | grep squid
user      5770  0.0  0.1   4620   740 ttyp1    R+   16:34   0:00 grep squid
15:34:35
$sudo ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1   1956   644 ?        Ss   Aug13   0:00 init [2]
root         2  0.0  0.0      0     0 ?        S    Aug13   0:00 [migration]
root         3  0.0  0.0      0     0 ?        SN   Aug13   0:00 [ksoftirqd]
root         4  0.0  0.0      0     0 ?        S<   Aug13   0:00 [events/0]
root         5  0.0  0.0      0     0 ?        S<   Aug13   0:00 [khelper]
root         6  0.0  0.0      0     0 ?        S<   Aug13   0:00 [kthread]
root         7  0.0  0.0      0     0 ?        S<   Aug13   0:00 [xenwatch]
root         8  0.0  0.0      0     0 ?        S<   Aug13   0:00 [xenbus]
root        16  0.0  0.0      0     0 ?        S<   Aug13   0:00 [kblockd/0]
...
bind      3602  0.0  0.5  30760  3416 ?        Ssl  10:52   0:00 /usr/sbin/n
clamav    3621  0.0 11.5  93132 68388 ?        Ssl  10:57   0:00 /usr/sbin/c
user      4113  0.2  6.2 118144 37236 ?        Ssl  15:59   0:05 /usr/lib/ic
root      4370  0.0  0.4   7692  2816 ttyp5    S+   16:14   0:00 mc
root      5209  0.0  0.1   5456  1072 ttyp3    S+   16:27   0:00 su
root      5210  0.0  0.1   4712   680 ttyp3    S+   16:27   0:00 script -f -
root      5243  0.0  0.0   4840   472 ttyp3    S+   16:27   0:00 script -f -
root      5244  0.0  0.3   5796  1800 ttyp6    Ss   16:27   0:00 bash -i
root      5706  0.0  0.0   4520   512 ttyp6    S+   16:32   0:00 tail -f sys
root      5778  0.0  0.1   5172   992 ttyp1    R+   16:34   0:00 ps aux

Статистика

Время первой команды журнала15:27:18 2009- 8-14
Время последней команды журнала15:34:35 2009- 8-14
Количество командных строк в журнале42
Процент команд с ненулевым кодом завершения, %30.95
Процент синтаксически неверно набранных команд, % 7.14
Суммарное время работы с терминалом *, час 0.12
Количество командных строк в единицу времени, команда/мин 5.77
Частота использования команд
sudo24|=================================| 33.80%
ps7|=========| 9.86%
grep7|=========| 9.86%
tail6|========| 8.45%
netstat6|========| 8.45%
/etc/init.d/squid6|========| 8.45%
squid5|=======| 7.04%
ls3|====| 4.23%
cd3|====| 4.23%
sbin1|=| 1.41%
top1|=| 1.41%
mc1|=| 1.41%
su1|=| 1.41%
____
*) Интервалы неактивности длительностью 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$