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

Содержание

Журнал

Среда (05/27/09)

/dev/pts/5
16:42:25
#pgrep cron

16:42:25
#pgrep cron

/dev/pts/10
16:42:26
#pgrep cron

/dev/pts/5
16:42:26
#pgrep cron

/dev/pts/10
16:42:27
#pgrep cron

/dev/pts/5
16:42:27
#pgrep cron

/dev/pts/10
16:42:27
#pgrep cron

/dev/pts/5
16:42:27
#pgrep cron

/dev/pts/10
16:42:31
#pgrep cron

/dev/pts/5
16:42:31
#pgrep cron

/dev/pts/10
16:42:32
#pgrep cron

/dev/pts/5
16:42:32
#pgrep cron

/dev/pts/10
16:42:36
#pgrep cron

/dev/pts/5
16:42:36
#pgrep cron

/dev/pts/10
16:42:37
#pgrep cron

/dev/pts/5
16:42:37
#pgrep cron

/dev/pts/10
16:42:41
#pgrep cron

/dev/pts/5
16:42:41
#pgrep cron

/dev/pts/10
16:42:42
#pgrep cron

/dev/pts/5
16:42:42
#pgrep cron

/dev/pts/10
16:42:56
#pgrep cron

/dev/pts/5
16:42:56
#pgrep cron

/dev/pts/10
16:43:20
#ps aux | grep cron
root     28467  0.0  0.0   3952   748 pts/11   S+   16:43   0:00 grep cron
/dev/pts/5
16:43:20
#ps aux | grep cron
root     28467  0.0  0.0   3952   748 pts/11   S+   16:43   0:00 grep cron
/dev/pts/10
16:43:47
#/etc/init.d/cron start
Starting periodic command scheduler: cron.
/dev/pts/5
16:43:47
#/etc/init.d/cron start
Starting periodic command scheduler: cron.
/dev/pts/10
16:44:32
#kill 28490

/dev/pts/5
16:44:32
#kill 28490

/dev/pts/10
16:45:17
#pgrep cron

/dev/pts/5
16:45:17
#pgrep cron

16:45:19
#/etc/init.d/cron start
Starting periodic command scheduler: cron.
/dev/pts/10
16:45:19
#/etc/init.d/cron start
Starting periodic command scheduler: cron.
16:46:20
#/etc/init.d/monit restart
Stopping daemon monitor: monit.
Starting daemon monitor: monit.
/dev/pts/5
16:46:20
#/etc/init.d/monit restart
Stopping daemon monitor: monit.
Starting daemon monitor: monit.
/dev/pts/7
16:46:33
#vi /etc/default/monit
/dev/pts/8
16:46:33
#vi /etc/default/monit
--- /tmp/l3-saved-25903.936.31054	2009-05-27 16:47:04.000000000 +0300
+++ /etc/default/monit	2009-05-27 16:48:12.000000000 +0300
@@ -8,4 +8,4 @@
 
 # To change the intervals which monit should run uncomment
 # and change this variable.
-# CHECK_INTERVALS=180
+CHECK_INTERVALS=20
/dev/pts/7
16:48:12
#Ãvi /etc/default/monit
# Defaults for monit initscript
# sourced by /etc/init.d/monit
# installed at /etc/default/monit by maintainer scripts
# Fredrik Steen <stone@debian.org>
# You must set this variable to for monit to start
startup=1
# To change the intervals which monit should run uncomment
# and change this variable.
CHECK_INTERVALS=20
"/etc/default/monit" 11L, 323C+q436f+q6b75+q6b64+q6b72+q6b6c+q2332+q2334+q2569+q2a37+q6b31
/dev/pts/8
16:48:12
#Ãvi /etc/default/monit
# Defaults for monit initscript
# sourced by /etc/init.d/monit
# installed at /etc/default/monit by maintainer scripts
# Fredrik Steen <stone@debian.org>
# You must set this variable to for monit to start
startup=1
# To change the intervals which monit should run uncomment
# and change this variable.
CHECK_INTERVALS=20
"/etc/default/monit" 11L, 323C+q436f+q6b75+q6b64+q6b72+q6b6c+q2332+q2334+q2569+q2a37+q6b31
/dev/pts/10
16:48:20
#pkill cron

/dev/pts/5
16:48:20
#pkill cron

/dev/pts/10
16:48:32
#pgrep cron

/dev/pts/5
16:48:32
#pgrep cron

/dev/pts/10
16:48:39
#pgrep cron

/dev/pts/5
16:48:39
#pgrep cron

/dev/pts/10
16:48:40
#watch 'ps aux | grep cron'

/dev/pts/5
16:48:40
#watch 'ps aux | grep cron'

/dev/pts/10
16:49:17
#root 28652 0.0 0.0 4080 964 pts/11 S+ 16:48 0:00 watch ps aux | grep cron

/dev/pts/5
16:49:17
#root 28652 0.0 0.0 4080 964 pts/11 S+ 16:48 0:00 watch ps aux | grep cron

/dev/pts/7
16:49:47
#~
###############################################################################
##
## Comments begin with a '#' and extend through the end of the line. Keywords
## are case insensitive. All path's MUST BE FULLY QUALIFIED, starting with '/'.
##
## Below you will find examples of some frequently used statements. For
## information about the control file, a complete list of statements and
## options please have a look in the monit manual.
##
## By default monit will drop alert events if no mail servers are available.
...
###############################################################################
## size using the SLOTS option (if omitted, the queue is limited by space
##
## available in the back end filesystem).
## Start monit in the background (run as a daemon) and check services at
#
## 2-minute intervals.
# set eventqueue
## $EVENT Service $SERVICE                   #                                      57,1          11%
set daemon 20
/dev/pts/8
16:49:47
#~
###############################################################################
##
## Comments begin with a '#' and extend through the end of the line. Keywords
## are case insensitive. All path's MUST BE FULLY QUALIFIED, starting with '/'.
##
## Below you will find examples of some frequently used statements. For
## information about the control file, a complete list of statements and
## options please have a look in the monit manual.
##
## By default monit will drop alert events if no mail servers are available.
...
###############################################################################
## size using the SLOTS option (if omitted, the queue is limited by space
##
## available in the back end filesystem).
## Start monit in the background (run as a daemon) and check services at
#
## 2-minute intervals.
# set eventqueue
## $EVENT Service $SERVICE                   #                                      57,1          11%
set daemon 20
/dev/pts/10
16:50:27
#root 28728 0.0 0.0 4076 968 pts/11 R+ 16:50 0:00 watch ps aux | grep cron

/dev/pts/5
16:50:27
#root 28728 0.0 0.0 4076 968 pts/11 R+ 16:50 0:00 watch ps aux | grep cron

/dev/pts/10
16:50:49
#pgrep monit
28612
/dev/pts/5
16:50:49
#pgrep monit
28612
/dev/pts/10
16:51:57
#pgrep cron

/dev/pts/5
16:51:57
#pgrep cron

/dev/pts/10
16:52:57
#pkill cron

/dev/pts/5
16:52:57
#pkill cron

/dev/pts/10
16:53:09
#pgrep cron
28907
/dev/pts/5
16:53:09
#pgrep cron
28907
/dev/pts/10
16:53:34
#pkill cron

/dev/pts/5
16:53:34
#pkill cron

/dev/pts/10
16:53:42
#pkill -HUP syslog-ng

/dev/pts/5
16:53:42
#pkill -HUP syslog-ng

/dev/pts/10
16:56:12
#pgrep cron
28969
/dev/pts/5
16:56:12
#pgrep cron
28969
/dev/pts/10
16:56:24
#pkill cron

/dev/pts/5
16:56:24
#pkill cron

/dev/pts/10
16:56:43
#pgrep cron
29071
/dev/pts/5
16:56:43
#pgrep cron
29071
/dev/pts/7
16:58:13
#/etc/init.d/syslog-ng restart
Stopping system logging: syslog-ng.
Starting system logging: syslog-ng.
/dev/pts/8
16:58:13
#/etc/init.d/syslog-ng restart
Stopping system logging: syslog-ng.
Starting system logging: syslog-ng.
/dev/pts/10
16:58:22
#pkill cron

/dev/pts/5
16:58:22
#pkill cron

/dev/pts/10
16:59:02
#pgrep cron
29153
/dev/pts/5
16:59:02
#pgrep cron
29153
/dev/pts/10
17:01:21
#pkill cron

/dev/pts/5
17:01:21
#pkill cron

/dev/pts/10
17:01:23
#pkill cron

/dev/pts/5
17:01:23
#pkill cron

/dev/pts/10
17:03:07
#pkill cron

/dev/pts/5
17:03:07
#pkill cron

/dev/pts/10
17:09:57
#pkill cron

/dev/pts/5
17:09:57
#pkill cron

прошло 20 минут
/dev/pts/10
17:30:25
#ssh -l quiz 10.0.35.100
The authenticity of host '10.0.35.100 (10.0.35.100)' can't be established.
RSA key fingerprint is 69:b5:3e:1a:9a:b7:c3:c3:96:03:c7:b7:b4:69:1d:3b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.35.100' (RSA) to the list of known hosts.
quiz@10.0.35.100's password:
Connection closed by 10.0.35.100
/dev/pts/5
17:30:25
#ssh -l quiz 10.0.35.100
The authenticity of host '10.0.35.100 (10.0.35.100)' can't be established.
RSA key fingerprint is 69:b5:3e:1a:9a:b7:c3:c3:96:03:c7:b7:b4:69:1d:3b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.35.100' (RSA) to the list of known hosts.
quiz@10.0.35.100's password:
Connection closed by 10.0.35.100
/dev/pts/10
17:36:55
#ssh -l quiz 10.0.35.100
quiz@10.0.35.100's password:
+----------------------------------
| ТЕМЫ ПЕРВОГО ДНЯ
| man, shell, vi, screen
| Общее количество вопросов: 40
|
| Вам будут заданы вопросы и показаны варианты ответа на них.
| После каждого вопроса вы должны вводить номер варианта ответа, который вы считаете наиболее правильным.
| После ввода номера нужно нажимать <ENTER>.
| Возвращаться назад и менять ответ, после того как вы нажали <ENTER>, нельзя.
...
1 man passwd(file)
2 man file passwd
3 man passwd file
4 man passwd/file
5 man 5 passwd
6 man passwd 5
7 man passwd/5
8 man passwd(5)
9 Всё правильно, так и надо писать man passwd, просто потом нужно нажать n, для перехода на следующую страницу
Connection to 10.0.35.100 closed.
/dev/pts/5
17:36:55
#ssh -l quiz 10.0.35.100
quiz@10.0.35.100's password:
+----------------------------------
| ТЕМЫ ПЕРВОГО ДНЯ
| man, shell, vi, screen
| Общее количество вопросов: 40
|
| Вам будут заданы вопросы и показаны варианты ответа на них.
| После каждого вопроса вы должны вводить номер варианта ответа, который вы считаете наиболее правильным.
| После ввода номера нужно нажимать <ENTER>.
| Возвращаться назад и менять ответ, после того как вы нажали <ENTER>, нельзя.
...
1 man passwd(file)
2 man file passwd
3 man passwd file
4 man passwd/file
5 man 5 passwd
6 man passwd 5
7 man passwd/5
8 man passwd(5)
9 Всё правильно, так и надо писать man passwd, просто потом нужно нажать n, для перехода на следующую страницу
Connection to 10.0.35.100 closed.
/dev/pts/10
17:38:29
#ssh -l quiz 10.0.35.100
3
Вы не любите vi несмотря ни на что. Вы хотите его не использовать,
и прекрасно обходитесь редактором nano. Тем не менее vi подстерегает вас в самых неожиданных местах.
Например, вы запустили vipw чтобы отредактировать файл паролей, а там опять этот редактор!
Как сделать так чтобы вместо vi в таких случаях вызывался nano?
1 Никак. Команда называется vipw, потому вызывается и редактор vi
2 вызвать nanopw
3 EDITOR=nano
4 set EDITOR=nano
5 export EDITOR=nano
...
но вместо желаемого подключения получаете какой-то странный текст.
Что это?
1 Это список активных сеансов screen, их больше одного, поэтому при запуске screen нужно указать, к какому подключаться
2 Это вызвался режим тонкой настройки screen
3 screen должен быть запущен в multiuser-режиме (multiuser on)
4 Эта сборка screen не поддерживает несколько одновременных подключений
5 Для этого необходимо выполнять screen в режиме ядра
1
Your score: 35
Connection to 10.0.35.100 closed.
/dev/pts/5
17:38:29
#ssh -l quiz 10.0.35.100
3
Вы не любите vi несмотря ни на что. Вы хотите его не использовать,
и прекрасно обходитесь редактором nano. Тем не менее vi подстерегает вас в самых неожиданных местах.
Например, вы запустили vipw чтобы отредактировать файл паролей, а там опять этот редактор!
Как сделать так чтобы вместо vi в таких случаях вызывался nano?
1 Никак. Команда называется vipw, потому вызывается и редактор vi
2 вызвать nanopw
3 EDITOR=nano
4 set EDITOR=nano
5 export EDITOR=nano
...
но вместо желаемого подключения получаете какой-то странный текст.
Что это?
1 Это список активных сеансов screen, их больше одного, поэтому при запуске screen нужно указать, к какому подключаться
2 Это вызвался режим тонкой настройки screen
3 screen должен быть запущен в multiuser-режиме (multiuser on)
4 Эта сборка screen не поддерживает несколько одновременных подключений
5 Для этого необходимо выполнять screen в режиме ядра
1
Your score: 35
Connection to 10.0.35.100 closed.
прошло 13 минут
/dev/pts/10
17:51:57
#nc
Cmd line: ^C
/dev/pts/5
17:51:57
#nc
Cmd line: ^C
/dev/pts/10
17:54:13
#bc
bc 1.06.94
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
7/8
0
2+2
4
quit
/dev/pts/5
17:54:13
#bc
bc 1.06.94
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
7/8
0
2+2
4
quit
/dev/pts/10
17:54:50
#echo $[7/8]
0
/dev/pts/5
17:54:50
#echo $[7/8]
0
/dev/pts/10
17:55:02
#echo $[2+2]
4
/dev/pts/5
17:55:02
#echo $[2+2]
4
/dev/pts/10
17:55:08
#echo 1 | awk '{print 7/8}'
0.875
/dev/pts/5
17:55:08
#echo 1 | awk '{print 7/8}'
0.875
/dev/pts/10
17:58:08
#screen -c /dev/null

Статистика

Время первой команды журнала16:42:25 2009- 5-27
Время последней команды журнала17:58:08 2009- 5-27
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, %37.62
Процент синтаксически неверно набранных команд, % 0.00
Суммарное время работы с терминалом *, час 1.26
Количество командных строк в единицу времени, команда/мин 1.33
Частота использования команд
pgrep40|====================================| 36.04%
pkill20|==================| 18.02%
grep8|=======| 7.21%
echo6|=====| 5.41%
ssh6|=====| 5.41%
root4|===| 3.60%
/etc/init.d/cron4|===| 3.60%
ps2|=| 1.80%
awk2|=| 1.80%
Ãvi2|=| 1.80%
/etc/init.d/monit2|=| 1.80%
nc2|=| 1.80%
bc2|=| 1.80%
vi2|=| 1.80%
watch2|=| 1.80%
~2|=| 1.80%
kill2|=| 1.80%
/etc/init.d/syslog-ng2|=| 1.80%
screen1|| 0.90%
____
*) Интервалы неактивности длительностью 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$