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

Содержание

Журнал

Вторник (12/19/06)

/dev/ttyp8
12:06:04
$cd /usr/ports/security/
# $FreeBSD: src/etc/syslog.conf,v 1.28 2005/03/12 12:31:16 glebius Exp $
#
#       Spaces ARE valid field separators in this file. However,
log file: ssESCESCESCOAESCOBESCOBESCOBESCOA
 ESCOA
 ESCOA
 ESCOA
#
#       Spaces ARE valid field separators in this file. However,
#       other *nix-like systems still insist on using tabs as field
...
lpr.info                                        /var/log/lpd-errs
ftp.info                                        /var/log/xferlog
cron.*                                          /var/log/cron
*.=debug                                        /var/log/debug.log
*.emerg                                         *
# uncomment this to log all writes to /dev/console to /var/log/console.log
#console.info                                   /var/log/console.log
# uncomment this to enable logging of all log messages to /var/log/all.log
# touch /var/log/all.log and chmod it to mode 600 before it will work
#*.*                                            /var/log/all.log
12:15:04
$cd /usr/ports/sysutils/

12:15:23
$make
===> 3dm
===>  Vulnerability check disabled, database not found
=> 3dm-x86-bsd.tgz doesn't seem to exist in /usr/ports/distfiles/.
=> /usr/ports/distfiles is not writable by you; cannot fetch.
*** Error code 1
Stop in /usr/ports/sysutils/3dm.
*** Error code 1
Stop in /usr/ports/sysutils.
12:17:30
$sudo make
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.
Password:
Sorry, try again.
Password:
Sorry, try again.
Password:
sudo: 2 incorrect password attempts
12:18:57
$pwd
/usr/ports/sysutils
12:19:01
$ls
freebsd-sha256                  sjog
freecolor                       skill
freedt                          slay
freeipmi                        sleuthkit
freesbie                        slmon
fsbackup                        sloth
ftrace                          smartmontools
fvcool                          snowlog
gag                             socket
ganglia-monitor-core            socklog
...
metalog                         xsu
mgeupsd                         xsysinfo
minirsyslogd                    xsysstats
mixer                           xvidcap
mkfile                          xwipower
mksunbootcd                     xwlans
mktool                          yawho
mmore                           zidrav
modules                         zisofs-tools
monit
12:19:11
$make
===> 3dm
===>  Vulnerability check disabled, database not found
===>  Extracting for 3dm-2.02.00.015,1
=> Checksum mismatch for 3dm-x86-bsd.tgz.
===>  Refetch for 1 more times files: 3dm-x86-bsd.tgz
===>  Vulnerability check disabled, database not found
=> 3dm-x86-bsd.tgz doesn't seem to exist in /usr/ports/distfiles/.
=> /usr/ports/distfiles is not writable by you; cannot fetch.
*** Error code 1
Stop in /usr/ports/sysutils/3dm.
*** Error code 1
Stop in /usr/ports/sysutils/3dm.
*** Error code 1
Stop in /usr/ports/sysutils.
12:24:46
$cd syslog-ng

12:25:15
$sudo make install
      to deinstall the port if this is a concern.
      For more information, and contact details about the security
      status of this software, see the following webpage:
http://www.balabit.com/products/syslog_ng/
===>   Returning to build of syslog-ng-1.6.8
===>  Configuring for syslog-ng-1.6.8
configure: WARNING: you should use --build, --host, --target
checking for a BSD-compatible install... /usr/bin/install -c -o root -g wheel
checking whether build environment is sane... yes
checking for gawk... no
...
if cc -DHAVE_CONFIG_H -I. -I/usr/ports/sysutils/syslog-ng/work/syslog-ng-1.6.8/src -I.      -O2 -fno-strict-aliasing -pipe  -Wall -I/usr/local/include/libol -D_GNU_SOURCE -MT log.o -MD -MP -MF ".deps/log.Tpo"  -c -o log.o `test -f 'log.c' || echo '/usr/ports/sysutils/syslog-ng/work/syslog-ng-1.6.8/src/'`log.c;  then mv -f ".deps/log.Tpo" ".deps/log.Po";  else rm -f ".deps/log.Tpo"; exit 1;  fi
if cc -DHAVE_CONFIG_H -I. -I/usr/ports/sysutils/syslog-ng/work/syslog-ng-1.6.8/src -I.      -O2 -fno-strict-aliasing -pipe  -Wall -I/usr/local/include/libol -D_GNU_SOURCE -MT cfgfile.o -MD -MP -MF ".deps/cfgfile.Tpo"  -c -o cfgfile.o `test -f 'cfgfile.c' || echo '/usr/ports/sysutils/syslog-ng/work/syslog-ng-1.6.8/src/'`cfgfile.c;  then mv -f ".deps/cfgfile.Tpo" ".deps/cfgfile.Po";  else rm -f ".de
if cc -DHAVE_CONFIG_H -I. -I/usr/ports/sysutils/syslog-ng/work/syslog-ng-1.6.8/src -I.      -O2 -fno-strict-aliasing -pipe  -Wall -I/usr/local/include/libol -D_GNU_SOURCE -MT cfg-grammar.o -MD -MP -MF ".deps/cfg-grammar.Tpo"  -c -o cfg-grammar.o `test -f 'cfg-grammar.c' || echo '/usr/ports/sysutils/syslog-ng/work/syslog-ng-1.6.8/src/'`cfg-grammar.c;  then mv -f ".deps/cfg-grammar.Tpo" ".deps/cfg-g
if cc -DHAVE_CONFIG_H -I. -I/usr/ports/sysutils/syslog-ng/work/syslog-ng-1.6.8/src -I.      -O2 -fno-strict-aliasing -pipe  -Wall -I/usr/local/include/libol -D_GNU_SOURCE -MT cfg-lex.o -MD -MP -MF ".deps/cfg-lex.Tpo"  -c -o cfg-lex.o `test -f 'cfg-lex.c' || echo '/usr/ports/sysutils/syslog-ng/work/syslog-ng-1.6.8/src/'`cfg-lex.c;  then mv -f ".deps/cfg-lex.Tpo" ".deps/cfg-lex.Po";  else rm -f ".de
cfg-lex.c:1367: warning: 'yyunput' defined but not used
if cc -DHAVE_CONFIG_H -I. -I/usr/ports/sysutils/syslog-ng/work/syslog-ng-1.6.8/src -I.      -O2 -fno-strict-aliasing -pipe  -Wall -I/usr/local/include/libol -D_GNU_SOURCE -MT affile.o -MD -MP -MF ".deps/affile.Tpo"  -c -o affile.o `test -f 'affile.c' || echo '/usr/ports/sysutils/syslog-ng/work/syslog-ng-1.6.8/src/'`affile.c;  then mv -f ".deps/affile.Tpo" ".deps/affile.Po";  else rm -f ".deps/affi
if cc -DHAVE_CONFIG_H -I. -I/usr/ports/sysutils/syslog-ng/work/syslog-ng-1.6.8/src -I.      -O2 -fno-strict-aliasing -pipe  -Wall -I/usr/local/include/libol -D_GNU_SOURCE -MT afsocket.o -MD -MP -MF ".deps/afsocket.Tpo"  -c -o afsocket.o `test -f 'afsocket.c' || echo '/usr/ports/sysutils/syslog-ng/work/syslog-ng-1.6.8/src/'`afsocket.c;  then mv -f ".deps/afsocket.Tpo" ".deps/afsocket.Po";  else rm
if cc -DHAVE_CONFIG_H -I. -I/usr/ports/sysutils/syslog-ng/work/syslog-ng-1.6.8/src -I.      -O2 -fno-strict-aliasing -pipe  -Wall -I/usr/local/include/libol -D_GNU_SOURCE -MT afunix.o -MD -MP -MF ".deps/afunix.Tpo"  -c -o afunix.o `test -f 'afunix.c' || echo '/usr/ports/sysutils/syslog-ng/work/syslog-ng-1.6.8/src/'`afunix.c;  then mv -f ".deps/afunix.Tpo" ".deps/afunix.Po";  else rm -f ".deps/afun
if cc -DHAVE_CONFIG_H -I. -I/usr/ports/sysutils/syslog-ng/work/syslog-ng-1.6.8/src -I.      -O2 -fno-strict-aliasing -pipe  -Wall -I/usr/local/include/libol -D_GNU_SOURCE -MT afinet.o -MD -MP -MF ".deps/afinet.Tpo"  -c -o afinet.o `test -f 'afinet.c' || echo '/usr/ports/sysutils/syslog-ng/work/syslog-ng-1.6.8/src/'`afinet.c;  then mv -f ".deps/afinet.Tpo" ".deps/afinet.Po";  else rm -f ".deps/afin
if cc -DHAVE_CONFIG_H -I. -I/usr/ports/sysutils/syslog-ng/work/syslog-ng-1.6.8/src -I.      -O2 -fno-strict-aliasing -pipe  -Wall -I/usr/local/include/libol -D_GNU_SOURCE -MT afinter.o -MD -MP -MF ".deps/afinter.Tpo"  -c -o afinter.o `test -f 'afinter.c' || echo '/usr/ports/sysutils/syslog-ng/work/syslog-ng-1.6.8/src/'`afinter.c;  then mv -f ".deps/afinter.Tpo" ".deps/afinter.Po";  else rm -f ".de
12:27:08
$pkg_info -Lx syslog-ng
Information for syslog-ng-1.6.8:
Files:
/usr/local/man/man5/syslog-ng.conf.5.gz
/usr/local/man/man8/syslog-ng.8.gz
/usr/local/etc/rc.d/syslog-ng.sh.sample
/usr/local/etc/syslog-ng/syslog-ng.conf.sample
/usr/local/sbin/syslog-ng
/usr/local/share/doc/syslog-ng/AUTHORS
/usr/local/share/doc/syslog-ng/COPYING
/usr/local/share/doc/syslog-ng/ChangeLog
/usr/local/share/doc/syslog-ng/INSTALL
/usr/local/share/doc/syslog-ng/NEWS
/usr/local/share/doc/syslog-ng/PORTS
/usr/local/share/doc/syslog-ng/README
/usr/local/share/doc/syslog-ng/sgml/syslog-ng.dvi
/usr/local/share/doc/syslog-ng/sgml/syslog-ng.html.tar.gz
/usr/local/share/doc/syslog-ng/sgml/syslog-ng.ps
/usr/local/share/doc/syslog-ng/sgml/syslog-ng.sgml
/usr/local/share/doc/syslog-ng/sgml/syslog-ng.txt
12:30:13
$cp /usr/local/etc/syslog-ng/syslog-ng.conf.sample and /u
sr/local/etc/syslog-ng/syslog-ng.conf.sample
Makefile     files/       pkg-message  work/
distinfo     pkg-descr    pkg-plist
12:30:13
$cp /usr/local/etc/syslog-ng/syslog-ng.conf.sample and /u
sr/local/etc/syslog-ng/syslog-ng.conf.sample
Makefile     files/       pkg-message  work/
distinfo     pkg-descr    pkg-plist
12:30:13
$cp /usr/local/etc/syslog-ng/syslog-ng.conf.sample and /u
sr/local/etc/syslog-ng/syslog-ng.conf.sample
Makefile     files/       pkg-message  work/
distinfo     pkg-descr    pkg-plist
12:30:13
$cp /usr/local/etc/syslog-ng/syslog-ng.conf.sample and /u
sr/local/etc/syslog-ng/syslog-ng.conf.sample
Makefile     files/       pkg-message  work/
distinfo     pkg-descr    pkg-plist
12:30:13
$cp /usr/local/etc/syslog-ng/syslog-ng.conf.sample and /u
sr/local/etc/syslog-ng/syslog-ng.conf.sample
usage: cp [-R [-H | -L | -P]] [-f | -i | -n] [-pv] source_file target_file
       cp [-R [-H | -L | -P]] [-f | -i | -n] [-pv] source_file ... target_directory
12:32:51
$pwd
/usr/ports/sysutils/syslog-ng
12:32:59
$cd /usr/local/etc/syslog-ng/

12:33:09
$ls
syslog-ng.conf.sample
12:33:09
$sudo cp syslog-ng.conf.sample syslog-ng.conf
Password:
12:33:24
$mc
12:42:48
$/etc/rc.d/syslogd stop
Stopping syslogd.
kill: 308: Operation not permitted
12:43:36
$sudo rc.d/syslogd stop
Password:
Sorry, try again.
Password:
Sorry, try again.
Password:
Stopping syslogd.
12:44:39
$sudo vi /etc/rc.conf
12:49:26
$sudo vi /etc/rc.conf
12:52:08
$sudo /etc/rc.d/syslogd stop
syslogd not running? (check /var/run/syslog.pid).
12:53:32
$sudo vi /etc/rc.conf
19a20
> syslogd_enable="NO"
12:53:53
$ls -l /usr/local/etc/rc.d/
total 22
-rwxr-x---  1 root  wheel   181 Oct 12 06:18 000.mysql-client.sh
-r-xr-xr-x  1 root  wheel   471 Oct 12 06:06 001slpd.sh
-rwxr-xr-x  1 root  wheel  3957 Oct 12 15:10 cups.sh.sample
-r-xr-xr-x  1 root  wheel   464 Oct 13 18:35 genkdmconf.sh
-r-xr-xr-x  1 root  wheel    57 Oct 13 11:58 kdelibs.sh
-r-xr-xr-x  1 root  wheel   337 Oct 12 10:22 mdnsd.sh
-r-xr-xr-x  1 root  wheel   785 Oct 12 12:26 mdnsresponder.sh
-r-xr-xr-x  1 root  wheel   777 Oct 12 15:14 snmpd.sh
-r-xr-xr-x  1 root  wheel   838 Oct 12 15:14 snmptrapd.sh
-r-xr-xr-x  1 root  wheel   369 Dec 19 12:26 syslog-ng.sh.sample
12:54:02
$sudo mv /usr/local/etc/rc.d/syslog-ng.sh{.sample,}

12:54:30
$sudo /usr/local/etc/rc.d/syslog-ng.sh start
Changing permissions on special file /dev/klog
12:54:41
$ps aux | grep syslog
user  14436  0.0  0.1  1460   588  p9  R+   12:54PM   0:00.00 grep syslog
12:54:51
$ps wux | grep syslog
root  14426  0.0  0.1  1336  1004  ??  Ss   12:54PM   0:00.00 /usr/local/sbin/syslog-ng
user  14446  0.0  0.0  2492     8  p9  R+   12:54PM   0:00.00 grep syslog (bash)
12:54:55
$logger -p emerg MESS

12:56:19
$logger fffff

13:01:33
$tail /var/log/messages
tail: /var/log/messages: Permission denied
13:01:38
$sudo /var/log/messages
Password:
Dec 19 10:52:51 fbsd4 savecore: no dumps found
Dec 19 11:10:44 fbsd4 login: ROOT LOGIN (root) ON ttyv1
Dec 19 11:27:24 fbsd4 su: BAD SU user to root on /dev/ttyp8
Dec 19 11:58:39 fbsd4 user: PANIC
Dec 19 12:18:53 fbsd4 sudo:     user : 2 incorrect password attempts ; TTY=ttyp9 ; PWD=/usr/ports/sysutils ; USER=root ; COMMAND=/usr/bin/make
Dec 19 12:25:34 fbsd4 sudo:     user : TTY=ttyp9 ; PWD=/usr/ports/sysutils/syslog-ng ; USER=root ; COMMAND=/usr/bin/make install
Dec 19 12:33:24 fbsd4 sudo:     user : TTY=ttyp9 ; PWD=/usr/local/etc/syslog-ng ; USER=root ; COMMAND=/bin/cp syslog-ng.conf.sample syslog-ng.conf
Dec 19 12:44:39 fbsd4 sudo:     user : TTY=ttyp9 ; PWD=/usr/local/etc/syslog-ng ; USER=root ; COMMAND=/etc/rc.d/syslogd stop
Dec 19 12:44:39 fbsd4 syslogd: exiting on signal 15
Dec 19 12:54:41 fbsd4 syslog-ng[14426]: syslog-ng version 1.6.8 starting
13:01:44
$sudo tail /var/log/messages
Dec 19 10:52:51 fbsd4 savecore: no dumps found
Dec 19 11:10:44 fbsd4 login: ROOT LOGIN (root) ON ttyv1
Dec 19 11:27:24 fbsd4 su: BAD SU user to root on /dev/ttyp8
Dec 19 11:58:39 fbsd4 user: PANIC
Dec 19 12:18:53 fbsd4 sudo:     user : 2 incorrect password attempts ; TTY=ttyp9 ; PWD=/usr/ports/sysutils ; USER=root ; COMMAND=/usr/bin/make
Dec 19 12:25:34 fbsd4 sudo:     user : TTY=ttyp9 ; PWD=/usr/ports/sysutils/syslog-ng ; USER=root ; COMMAND=/usr/bin/make install
Dec 19 12:33:24 fbsd4 sudo:     user : TTY=ttyp9 ; PWD=/usr/local/etc/syslog-ng ; USER=root ; COMMAND=/bin/cp syslog-ng.conf.sample syslog-ng.conf
Dec 19 12:44:39 fbsd4 sudo:     user : TTY=ttyp9 ; PWD=/usr/local/etc/syslog-ng ; USER=root ; COMMAND=/etc/rc.d/syslogd stop
Dec 19 12:44:39 fbsd4 syslogd: exiting on signal 15
Dec 19 12:54:41 fbsd4 syslog-ng[14426]: syslog-ng version 1.6.8 starting
13:01:46
$ls /usr/local/etc/syslog-ng/
syslog-ng.conf          syslog-ng.conf.sample
13:01:52
$sudo less /usr/local/etc/syslog-ng/syslog-ng.conf
13:02:41
$sudo viusr/local/etc/syslog-ng/syslog-ng.conf
#
# uncomment this to log all writes to /dev/console to /var/log/console.log
# console.info                                          /var/log/console.log
#
#log { source(src); filter(f_console); filter(f_info); destination(consolelog
};
#
# uncomment this to enable logging of all log messages to /var/log/all.log
# touch /var/log/all.log and chmod it to mode 600 before it will work
# *.*                                                   /var/log/all.log
#
log { source(src); destination(all); };
#
# uncomment this to enable logging to a remote loghost named loghost
# *.*                                                   @loghost
#
#log { source(src); destination(loghost); };
/usr/local/etc/syslog-ng/syslog-ng.conf: 181 lines, 5563 characters
13:03:00
$sudo /usr/local/etc/rc.d/syslog-ng.sh restart
Usage: syslog-ng.sh {start|stop}
13:03:10
$sudo /usr/local/etc/rc.d/syslog-ng.sh stop

13:03:13
$sudo /usr/local/etc/rc.d/syslog-ng.sh start
io.c: bind_inet_socket() bind failed 0.0.0.0:514 Address already in use
Error initializing configuration, exiting.
13:03:15
$sudo /usr/local/etc/rc.d/syslog-ng.sh start
io.c: bind_inet_socket() bind failed 0.0.0.0:514 Address already in use
Error initializing configuration, exiting.
13:03:20
$sudo /usr/local/etc/rc.d/syslog-ng.sh start
io.c: bind_inet_socket() bind failed 0.0.0.0:514 Address already in use
Error initializing configuration, exiting.
13:03:29
$sudo killall syslog-ng

13:03:36
$sudo /usr/local/etc/rc.d/syslog-ng.sh start
io.c: bind_inet_socket() bind failed 0.0.0.0:514 Address already in use
Error initializing configuration, exiting.
13:03:37
$sockstat
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
root     syslog-ng  14426 3  dgram  /var/run/log
root     syslog-ng  14426 5  dgram  /var/run/logpriv
root     syslog-ng  14426 6  udp4   *:514                 *:*
root     gnome-pty- 2873  0  stream -> ??
root     gnome-pty- 2873  1  stream -> ??
user     gnome-term 2872  4  stream -> /tmp/.X11-unix/X0
user     gnome-term 2872  14 stream -> /tmp/.ICE-unix/2653
user     gnome-term 2872  15 stream -> /var/tmp/orbit-user/linc-a6a-0-7e234beb78236
user     gnome-term 2872  16 stream /var/tmp/orbit-user/linc-b38-0-2a0cd8d4b44e3
...
root     Xorg       2600  25 stream /tmp/.X11-unix/X0
user     xinit      2599  3  stream -> /tmp/.X11-unix/X0
root     login      1020  3  dgram  (not connected)
root     login      548   3  dgram  (not connected)
smmsp    sendmail   444   3  dgram  (not connected)
root     sendmail   440   3  dgram  (not connected)
root     sendmail   440   4  tcp4   127.0.0.1:25          *:*
root     sshd       434   3  tcp6   *:22                  *:*
root     sshd       434   4  tcp4   *:22                  *:*
root     devd       279   4  stream /var/run/devd.pipe
13:03:42
$sockstat | grep 514
root     syslog-ng  14426 6  udp4   *:514                 *:*
13:03:49
$sudo killall -9 log-ng

13:03:57
$sockstat | grep 514

13:03:58
$sudo /usr/local/etc/rc.d/syslog-ng.sh start
Changing permissions on special file /dev/klog
13:04:01
$logger t

13:04:05
$sudo tail /var/log/all.log
Dec 19 13:04:01 fbsd4 syslog-ng[14708]: syslog-ng version 1.6.8 starting
Dec 19 13:04:05 fbsd4 user: t
Dec 19 13:04:11 fbsd4 sudo:     user : TTY=ttyp9 ; PWD=/usr/local/etc/syslog-ng ; USER=root ; COMMAND=/usr/bin/tail /var/log/all.log
прошло 46 минут
13:50:49
$sudo kedit
Password:
Error: "/var/tmp/kdecache-user" is owned by uid 1001 instead of uid 0.
Creating link /root/.kde/cache-fbsd4.linux.nt.
Created link from "/root/.kde/cache-fbsd4.linux.nt" to "/var/tmp/kdecache-root"
Error: "/tmp/ksocket-user" is owned by uid 1001 instead of uid 0.
Creating link /root/.kde/socket-fbsd4.linux.nt.
Created link from "/root/.kde/socket-fbsd4.linux.nt" to "/tmp/ksocket-root"
Error: "/tmp/kde-user" is owned by uid 1001 instead of uid 0.
Creating link /root/.kde/tmp-fbsd4.linux.nt.
Created link from "/root/.kde/tmp-fbsd4.linux.nt" to "/tmp/kde-root"

Статистика

Время первой команды журнала12:06:04 2006-12-19
Время последней команды журнала13:50:49 2006-12-19
Количество командных строк в журнале54
Процент команд с ненулевым кодом завершения, %22.22
Процент синтаксически неверно набранных команд, % 1.85
Суммарное время работы с терминалом *, час 0.97
Количество командных строк в единицу времени, команда/мин 0.93
Частота использования команд
sudo25|==============================| 30.12%
/usr/local/etc/rc.d/syslog-ng.sh8|=========| 9.64%
cp6|=======| 7.23%
cd4|====| 4.82%
make4|====| 4.82%
grep4|====| 4.82%
ls4|====| 4.82%
sockstat3|===| 3.61%
logger3|===| 3.61%
tail3|===| 3.61%
vi3|===| 3.61%
ps2|==| 2.41%
pwd2|==| 2.41%
/etc/rc.d/syslogd2|==| 2.41%
killall2|==| 2.41%
viusr/local/etc/syslog-ng/syslog-ng.conf1|=| 1.20%
messages1|=| 1.20%
pkg_info1|=| 1.20%
less1|=| 1.20%
syslogd1|=| 1.20%
kedit1|=| 1.20%
mv1|=| 1.20%
mc1|=| 1.20%
____
*) Интервалы неактивности длительностью 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$