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

Содержание

Журнал

Среда (04/05/06)

/dev/ttyv0
16:40:29
#date
Wed Apr  5 16:40:33 EEST 2006
16:40:33
#shutdown -p now
Shutdown NOW!
shutdown: [pid 13472]

Четверг (04/06/06)

/dev/ttyv0
09:17:50
$mail
Mail version 8.1 6/6/93.  Type ? for help.
"/var/mail/user": 1 message 1 unread
>U  1 root@fbsd1.unix.nt    Wed Apr  5 15:55  23/912   "addres test"
&
Message 1:
From root@fbsd1.unix.nt Wed Apr  5 15:55:25 2006
Date: Wed, 5 Apr 2006 15:57:14 +0300 (EEST)
From: Charlie Root <root@fbsd1.unix.nt>
To: user@fbsd2.unix.nt
Subject: addres test
hello
&
At EOF
&
At EOF
& q
Saved 1 message in mbox
09:18:04
$su -
Password:
/dev/ttyv1
09:18:40
$su -
Password:
09:18:57
#mc
/dev/ttyv2
09:19:10
$su -
Password:
09:19:17
#lock -vpn
lock: locking vty: Inappropriate ioctl for device
прошло 44 минуты
10:03:25
#exit

/dev/ttyv0
10:07:14
#pkg_add /root/squid-2.5.11_1.tbz
===> Pre-installation configuration for squid-2.5.11_1
There is no group 'squid' on this system, so I will try to create it:
Group 'squid' created successfully:
squid:*:100:
There is no account 'squid' on this system, so I will try to create it:
User 'squid' created successfully:
squid:*:100:100::0:0:squid caching-proxy pseudo user:/usr/local/squid:/usr/sbin/nologin
Creating /usr/local/squid/cache...
Creating /usr/local/squid/logs...
Creating /usr/local/etc/squid...
...
     Please note that /usr/local/etc/rc.d/squid.sh is now
     an rcNG script by default. This means that squid will not
     start automatically at boot time.
     To enable squid, set squid_enable=yes in either
     /etc/rc.conf, /etc/rc.conf.local or /etc/rc.conf.d/squid
     See /usr/local/etc/rc.d/squid.sh for more
     configuration options.
     If you want to install an old style rc script, run
     'make config' and deselect the option to install an
     rcNG script.
прошло >4 часов
/dev/ttyv1
14:51:23
#chown squid:squid /var/log/squid

14:51:34
#mkdir -p /var/spool/squid

14:51:39
#chown squid:squid /var/squid/squid
chown: /var/squid/squid: No such file or directory
14:51:45
#chown squid:squid /var/spool/squid

14:51:49
#squid -z
2006/04/06 14:51:52| Creating Swap Directories
14:51:53
#vi /etc/rc.conf
14:52:11
#vi /usr/local/etc/squid/squid.conf
14:53:30
#vi /usr/local/etc/rc.d/squid.sh
14:54:02
#/usr/local/etc/rc.d/squid.sh start
Starting squid.
14:54:09
#ps aux | grep squid
squid  1955 12,1  0,7  8228  7492  ??  S    14:54     0:00,54 (squid) -D (squid
squid  1953  0,0  0,2  3088  1700  ??  Ss   14:54     0:00,00 /usr/local/sbin/s
squid  1957  0,0  0,1  1168   540  ??  Ss   14:54     0:00,04 (unlinkd) (unlink
root   1959  0,0  0,1  1480  1056  p3  R+   14:54     0:00,00 grep squid
14:54:13
#tail /var/log/squid/cache.log
2006/04/06 14:54:10|         0 Objects expired.
2006/04/06 14:54:10|         0 Objects cancelled.
2006/04/06 14:54:10|         0 Duplicate URLs purged.
2006/04/06 14:54:10|         0 Swapfile clashes avoided.
2006/04/06 14:54:10|   Took 0.8 seconds (   0.0 objects/sec).
2006/04/06 14:54:10| Beginning Validation Procedure
2006/04/06 14:54:10|   Completed Validation Procedure
2006/04/06 14:54:10|   Validated 0 Entries
2006/04/06 14:54:10|   store_swap_size = 0k
2006/04/06 14:54:10| storeLateRelease: released 0 objects
14:56:10
#tail /var/log/squid/access.log

/dev/ttyv3
14:56:27
$xinit&
Window manager warning: Broken client! Window 0x40000e (login) changed client leader window or SM client ID
** (gnome-panel:2153): WARNING **: Failed to add file monitor for file:///home/user/.gtk-bookmarks: Unsupported operation
(Gecko:2235): Gdk-WARNING **: gdk_property_get(): length value has wrapped in calculation (did you pass G_MAXLONG?)
[1] 2036
/dev/ttyp4
14:56:36
$gnome-session&
[1] 2093
/dev/ttypa
14:57:46
$sudo tail /var/log/
Xorg.0.log        debug.log         scrollkeeper.log  slip.log
Xorg.0.log.old    lastlog           security          squid/
Xorg.8.log        lpd-errs          sendmail.st       userlog
Xorg.8.log.old    maillog           sendmail.st.0     wtmp
auth.log          messages          sendmail.st.1     xferlog
cron              ppp.log           servicelog
14:57:46
$sudo tail /var/log/squid/access.log
Password:
Sorry, try again.
Password:
Sorry, try again.
Password:
14:58:26
$sudo tail -f r/log/squid/access.log
^C
/dev/ttyv0
15:06:06
#vi /etc/rc.conf
15:06:59
#xinit
(epiphany-bin:2431): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
(epiphany-bin:2431): Gtk-CRITICAL **: gtk_window_group_remove_window: assertion `GTK_IS_WINDOW_GROUP (window_group)' failed
(epiphany-bin:2431): Gtk-CRITICAL **: gtk_window_group_remove_window: assertion `GTK_IS_WINDOW_GROUP (window_group)' failed
(Gecko:2446): Gdk-WARNING **: gdk_property_get(): length value has wrapped in calculation (did you pass G_MAXLONG?)
(epiphany-bin:2452): Gdk-WARNING **: gdk_property_get(): length value has wrapped in calculation (did you pass G_MAXLONG?)
(epiphany-bin:2452): Gtk-CRITICAL **: gtk_window_group_add_window: assertion `GTK_IS_WINDOW_GROUP (window_group)' failed
(epiphany-bin:2452): Gtk-CRITICAL **: gtk_window_group_add_window: assertion `GTK_IS_WINDOW_GROUP (window_group)' failed
(epiphany-bin:2452): Gtk-CRITICAL **: gtk_window_group_add_window: assertion `GTK_IS_WINDOW_GROUP (window_group)' failed
(epiphany-bin:2452): Gtk-CRITICAL **: gtk_window_group_add_window: assertion `GTK_IS_WINDOW_GROUP (window_group)' failed
(epiphany-bin:2452): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed
...
The application 'metacity' lost its connection to the display :0.0;
most likely the X server was shut down or you killed/destroyed
the application.
The application 'gnome-panel' lost its connection to the display :0.0;
most likely the X server was shut down or you killed/destroyed
the application.
The application 'nautilus' lost its connection to the display :0.0;
most likely the X server was shut down or you killed/destroyed
the application.
xinit:  connection to X server lost.
прошло 115 минут
17:02:40
#shutdown -p now
Shutdown NOW!
shutdown: [pid 17848]

Пятница (04/07/06)

/dev/ttyv0
08:59:14
$su -
Password:
прошло 93 минуты
/dev/ttyv0
10:32:26
$su -
Password:
10:32:36
#xinit
X Window System Version 6.8.2
Release Date: 9 February 2005
X Protocol Version 11, Revision 0, Release 6.8.2
Build Operating System: FreeBSD 6.0 i386 [ELF]
Current Operating System: FreeBSD fbsd2.unix.nt 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Mon Apr  3 14:33:41 EEST 2006     root@fbsd2.unix.nt:/usr/src/sys/i386/compile/MAIN i386
Build Date: 12 October 2005
        Before reporting problems, check http://wiki.X.Org
        to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
...
The application 'nautilus' lost its connection to the display :0.0;
most likely the X server was shut down or you killed/destroyed
the application.
The application 'metacity' lost its connection to the display :0.0;
most likely the X server was shut down or you killed/destroyed
the application.
The application 'gnome-session' lost its connection to the display :0.0;
most likely the X server was shut down or you killed/destroyed
the application.
xinit:  connection to X server lost.
прошло 18 минут
10:50:55
#vi /etc/crontab
/dev/ttyv1
10:53:52
$su -
Password:
10:53:58
#mc
прошло 24 минуты
/dev/ttyv0
11:18:15
#xinit
(epiphany-bin:1401): Gtk-CRITICAL **: gtk_window_group_add_window: assertion `GTK_IS_WINDOW_GROUP (window_group)' failed
(epiphany-bin:1401): Gtk-CRITICAL **: gtk_window_group_add_window: assertion `GTK_IS_WINDOW_GROUP (window_group)' failed
(epiphany-bin:1401): Gtk-CRITICAL **: gtk_window_group_add_window: assertion `GTK_IS_WINDOW_GROUP (window_group)' failed
(epiphany-bin:1401): Gtk-CRITICAL **: gtk_window_group_add_window: assertion `GTK_IS_WINDOW_GROUP (window_group)' failed
(epiphany-bin:1401): Gtk-CRITICAL **: gtk_window_group_remove_window: assertion `GTK_IS_WINDOW_GROUP (window_group)' failed
(epiphany-bin:1401): Gtk-CRITICAL **: gtk_window_group_remove_window: assertion `GTK_IS_WINDOW_GROUP (window_group)' failed
I/O warning : failed to load external entity "/root/.gnome2/yelp-bookmarks.xbel"
(yelp-bin:2022): Gdk-WARNING **: gdk_property_get(): length value has wrapped in calculation (did you pass G_MAXLONG?)
(yelp-bin:2022): GLib-GObject-WARNING **: invalid (NULL) pointer instance
(yelp-bin:2022): GLib-GObject-CRITICAL **: g_signal_handler_disconnect: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
...
X connection to :0.0 broken (explicit kill or server shutdown).
The application 'gnome-panel' lost its connection to the display :0.0;
most likely the X server was shut down or you killed/destroyed
the application.
The application 'metacity' lost its connection to the display :0.0;
most likely the X server was shut down or you killed/destroyed
the application.
The application 'nautilus' lost its connection to the display :0.0;
most likely the X server was shut down or you killed/destroyed
the application.
прошло >4 часов
/dev/ttyv1
15:42:41
#exit

Статистика

Время первой команды журнала16:40:29 2006- 4- 5
Время последней команды журнала15:42:41 2006- 4- 7
Количество командных строк в журнале38
Процент команд с ненулевым кодом завершения, % 7.89
Процент синтаксически неверно набранных команд, % 0.00
Суммарное время работы с терминалом *, час 1.11
Количество командных строк в единицу времени, команда/мин 0.57
Частота использования команд
su6|==============| 14.29%
tail5|===========| 11.90%
vi5|===========| 11.90%
sudo3|=======| 7.14%
chown3|=======| 7.14%
xinit3|=======| 7.14%
shutdown2|====| 4.76%
exit2|====| 4.76%
mc2|====| 4.76%
ps1|==| 2.38%
mkdir1|==| 2.38%
/usr/local/etc/rc.d/squid.sh1|==| 2.38%
mail1|==| 2.38%
xinit&1|==| 2.38%
grep1|==| 2.38%
pkg_add1|==| 2.38%
squid1|==| 2.38%
gnome-session&1|==| 2.38%
lock1|==| 2.38%
date1|==| 2.38%
____
*) Интервалы неактивности длительностью 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$