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

Содержание

Журнал

Вторник (10/24/06)

/dev/pts/4
11:47:41
#xcon
bash: xcon: command not found
11:52:41
#xcon
xconsole  xconv.pl
11:52:41
#xcon
xconsole  xconv.pl
11:52:41
#xconv.pl < /etc/inetd.conf > /etc/xinetd.conf

11:53:40
#netstat -lnp | grep time

11:56:15
#tail -f /var/log/servicelog
06/10/24@11:56:55: START: time pid=13971 from=192.168.15.1
06/10/24@11:57:10: START: time pid=14056 from=127.0.0.1
06/10/24@11:57:27: START: time pid=14154 from=192.168.15.15
06/10/24@11:59:32: FAIL: time libwrap from=192.168.15.1
06/10/24@11:59:32: START: time pid=14895 from=192.168.15.1
06/10/24@11:59:38: FAIL: time libwrap from=127.0.0.1
06/10/24@11:59:38: START: time pid=14928 from=127.0.0.1
06/10/24@11:59:44: FAIL: time libwrap from=192.168.15.15
06/10/24@11:59:44: START: time pid=14972 from=192.168.15.15
06/10/24@12:00:27: START: time pid=15251 from=127.0.0.1
06/10/24@12:00:37: START: time pid=15310 from=192.168.15.1
06/10/24@12:00:45: START: time pid=15354 from=192.168.15.15
06/10/24@12:00:53: START: time pid=15395 from=192.168.15.15
12:01:00
#tail -f /var/log/servicelog
06/10/24@11:59:32: FAIL: time libwrap from=192.168.15.1
06/10/24@11:59:32: START: time pid=14895 from=192.168.15.1
06/10/24@11:59:38: FAIL: time libwrap from=127.0.0.1
06/10/24@11:59:38: START: time pid=14928 from=127.0.0.1
06/10/24@11:59:44: FAIL: time libwrap from=192.168.15.15
06/10/24@11:59:44: START: time pid=14972 from=192.168.15.15
06/10/24@12:00:27: START: time pid=15251 from=127.0.0.1
06/10/24@12:00:37: START: time pid=15310 from=192.168.15.1
06/10/24@12:00:45: START: time pid=15354 from=192.168.15.15
06/10/24@12:00:53: START: time pid=15395 from=192.168.15.15
06/10/24@12:02:03: START: time pid=15835 from=192.168.15.1
06/10/24@12:02:13: START: time pid=15886 from=192.168.15.15
12:03:48
#ch
chage           chcon           chfn            chown
charmap         check_forensic  chgpasswd       chpasswd
charset         checkgid        chgrp           chroot
chat            checkgid2       chkdupexe       chsh
chattr          checksendmail   chmod           chvt
12:03:48
#cd /etc/rc
rc0.d/    rc2.d/    rc4.d/    rc6.d/    rcS.d/
rc1.d/    rc3.d/    rc5.d/    rc.local
12:03:48
#cd /etc/rc5.d/

12:04:18
#ls
README         S20dictd          S20ssh         S99fetchmail
S10sysklogd    S20exim4          S20xinetd      S99gdm
S11klogd       S20hotkey-setup   S21nfs-common  S99rc.local
S15bind9       S20lpd            S21sendmail    S99rmnologin
S20acpid       S20makedev        S30squid       S99stop-bootlogd
S20bittorrent  S20openbsd-inetd  S89atd
S20cupsys      S20popa3d         S89cron
S20dbus        S20pptpd          S91apache
12:04:19
#/etc/init.d/xinetd status
Usage: /etc/init.d/xinetd {start|stop|reload|force-reload|restart}
12:04:49
#/etc/init.d/xinetd stop
Stopping internet superserver: xinetd.
12:04:55
#/etc/init.d/xinetd stop
Stopping internet superserver: xinetd.
12:04:56
#/etc/init.d/xinetd start
Starting internet superserver: xinetd.
12:04:58
#ps aux | grep xine
root     16783  0.1  0.1   3200  1112 ?        Ss   12:04   0:00 /usr/sbin/xinetd -pidfile /var/run/xinetd.pid -stayalive
root     16828  0.0  0.0   3740   740 pts/5    R+   12:05   0:00 grep xine
12:05:06
#netstat -lnp | grep xinetd
tcp        0      0 0.0.0.0:37              0.0.0.0:*               LISTEN     16783/xinetd
12:05:26
#cd /etc/xinetd.d/

12:05:46
#ls
chargen  daytime  discard  echo  time
12:05:47
#vi chargen
9c9
< 	disable		= yes
---
> 	disable		= no
12:06:41
#killall -HUP xinetd

12:06:49
#tail -f /var/log/daemon.log
Oct 24 12:04:58 linux1 xinetd[16783]: removing smtps
Oct 24 12:04:58 linux1 xinetd[16783]: xinetd Version 2.3.14 started with libwrap loadavg options compiled in.
Oct 24 12:04:58 linux1 xinetd[16783]: Started working: 1 available service
Oct 24 12:06:49 linux1 xinetd[16783]: Starting reconfiguration
Oct 24 12:06:49 linux1 xinetd[16783]: removing smtp
Oct 24 12:06:49 linux1 xinetd[16783]: removing submission
Oct 24 12:06:49 linux1 xinetd[16783]: removing smtps
Oct 24 12:06:49 linux1 xinetd[16783]: Swapping defaults
Oct 24 12:06:49 linux1 xinetd[16783]: readjusting service time
Oct 24 12:06:49 linux1 xinetd[16783]: Reconfigured: new=0 old=1 dropped=0 (services)
12:07:02
#netstat -lnp | grep xine
tcp        0      0 0.0.0.0:37              0.0.0.0:*               LISTEN     16783/xinetd
12:07:13
#netstat -lnp | grep cha

12:07:18
#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:2628            0.0.0.0:*               LISTEN     4015/0
tcp        0      0 0.0.0.0:37              0.0.0.0:*               LISTEN     16783/xinetd
tcp        0      0 0.0.0.0:48201           0.0.0.0:*               LISTEN     4089/rpc.statd
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN     4322/sendmail: MTA:
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN     4036/popa3d
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     4230/apache
tcp        0      0 192.168.15.1:53         0.0.0.0:*               LISTEN     3863/named
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN     3863/named
...
unix  2      [ ACC ]     STREAM     LISTENING     13835    4504/notification-d /tmp/orbit-user/linc-1198-0-6b7431d1611bb
unix  2      [ ACC ]     STREAM     LISTENING     13993    4541/gnome-terminal /tmp/orbit-user/linc-11bd-0-772d83e989004
unix  2      [ ACC ]     STREAM     LISTENING     14010    4556/gnome-screensa /tmp/orbit-user/linc-11cb-0-44dfbfa4bc16e
unix  2      [ ACC ]     STREAM     LISTENING     14420    4669/gksu           /tmp/orbit-user/linc-123d-0-6e25a2c12a89a
unix  2      [ ACC ]     STREAM     LISTENING     12204    4026/lpd            /dev/printer
unix  2      [ ACC ]     STREAM     LISTENING     14576    4720/gconfd-2       /tmp/orbit-root/linc-1270-0-547816dbbb5f9
unix  2      [ ACC ]     STREAM     LISTENING     13024    4380/gnome-keyring- /tmp/keyring-UlmSNM/socket
unix  2      [ ACC ]     STREAM     LISTENING     14583    4712/gnome-terminal /tmp/orbit-root/linc-1268-0-38a7d42c438a
unix  2      [ ACC ]     STREAM     LISTENING     14598    4722/bonobo-activat /tmp/orbit-root/linc-1272-0-6f5331df864c8
unix  2      [ ACC ]     STREAM     LISTENING     11368    3964/hald           @/tmp/hald-local/dbus-4BknZwGtjM
12:07:27
#cat /etc/services | grep charg
chargen         19/tcp          ttytst source
chargen         19/udp          ttytst source
12:08:00
#netstat -lnp | grep 19
tcp        0      0 192.168.15.1:53         0.0.0.0:*               LISTEN     3863/named
udp        0      0 192.168.15.1:53         0.0.0.0:*                          3863/named
unix  2      [ ACC ]     STREAM     LISTENING     12821    4377/gconfd-2       /tmp/orbit-user/linc-1119-0-25c9aa8e8606c
unix  2      [ ACC ]     STREAM     LISTENING     13192    4403/nautilus       /tmp/orbit-user/linc-1133-0-201d94eac8849
unix  2      [ ACC ]     STREAM     LISTENING     13280    4415/gnome-vfs-daem /tmp/orbit-user/linc-113f-0-1ce95c6519d98
unix  2      [ ACC ]     STREAM     LISTENING     13369    4419/gnome-cups-ico /tmp/orbit-user/linc-1143-0-6b9ff0cbbc4f6
unix  2      [ ACC ]     STREAM     LISTENING     13494    4442/clock-applet   /tmp/orbit-user/linc-115a-0-5192cafbaa85c
unix  2      [ ACC ]     STREAM     LISTENING     13835    4504/notification-d /tmp/orbit-user/linc-1198-0-6b7431d1611bb
12:08:07
#nc 127.0.0.1 19
(UNKNOWN) [127.0.0.1] 19 (chargen) : Connection refused
12:08:40
#vi /etc/hosts.allow
15c15
< time : 127.0.0.1
---
> #time : 127.0.0.1
12:09:03
#vi /etc/hosts.deny
23c23
< ALL : ALL
---
> #ALL : ALL
12:09:12
#nc 127.0.0.1 19
(UNKNOWN) [127.0.0.1] 19 (chargen) : Connection refused
12:09:14
#killall -HUP xinetd

12:09:19
#tail -f /var/log/daemon.log
Oct 24 12:07:37 linux1 xinetd[17756]: Started working: 1 available service
Oct 24 12:07:55 linux1 xinetd[17867]: libwrap refused connection to time (libwrap=bc) from 192.168.15.1
Oct 24 12:08:07 linux1 xinetd[17954]: libwrap refused connection to time (libwrap=bc) from 127.0.0.1
Oct 24 12:09:19 linux1 xinetd[17756]: Starting reconfiguration
Oct 24 12:09:19 linux1 xinetd[17756]: removing smtp
Oct 24 12:09:19 linux1 xinetd[17756]: removing submission
Oct 24 12:09:19 linux1 xinetd[17756]: removing smtps
Oct 24 12:09:19 linux1 xinetd[17756]: Swapping defaults
Oct 24 12:09:19 linux1 xinetd[17756]: readjusting service time
Oct 24 12:09:19 linux1 xinetd[17756]: Reconfigured: new=0 old=1 dropped=0 (services)
12:09:31
#nc 127.0.0.1 19
(UNKNOWN) [127.0.0.1] 19 (chargen) : Connection refused
12:09:33
#/etc/init.d/xinetd restart
Stopping internet superserver: xinetd.
Starting internet superserver: xinetd.
12:09:58
#nc 127.0.0.1 19
(UNKNOWN) [127.0.0.1] 19 (chargen) : Connection refused

Статистика

Время первой команды журнала11:47:41 2006-10-24
Время последней команды журнала12:09:58 2006-10-24
Количество командных строк в журнале36
Процент команд с ненулевым кодом завершения, %19.44
Процент синтаксически неверно набранных команд, % 8.33
Суммарное время работы с терминалом *, час 0.37
Количество командных строк в единицу времени, команда/мин 1.62
Частота использования команд
grep7|===============| 15.56%
netstat6|=============| 13.33%
/etc/init.d/xinetd5|===========| 11.11%
nc4|========| 8.89%
tail4|========| 8.89%
cd3|======| 6.67%
vi3|======| 6.67%
xcon3|======| 6.67%
killall2|====| 4.44%
ls2|====| 4.44%
ps1|==| 2.22%
xconv.pl1|==| 2.22%
ch1|==| 2.22%
cat1|==| 2.22%
/etc/xinetd.conf1|==| 2.22%
/etc/inetd.conf1|==| 2.22%
____
*) Интервалы неактивности длительностью 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$