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

Содержание

Журнал

Вторник (03/09/10)

/dev/pts/0
18:50:21
#as openssl
libace-ssl-5.6.3 - ACE secure socket layer library
aolserver4-nsopenssl - AOLserver 4 module: module for SSL mode
cl-plus-ssl - A simple Common Lisp interface to OpenSSL
cl-ssl - Common Lisp interface to OpenSSL package
libcrypt-ssleay-perl - Support for https protocol in LWP
cryptmount - Management and user-mode mounting of encrypted file systems
libcurl3-dbg - libcurl compiled with debug symbols
libcurl4-openssl-dev - Development files and documentation for libcurl (OpenSSL)
elfsign - ELF binary signing and verification utilities
libengine-pkcs11-openssl - OpenSSL engine for PKCS#11 modules
...
zope-externaleditor - Zope External Editor
zopeedit - Helper Application for Zope External Editor
libapache2-mod-php5 - встраиваемый в HTML интерпретируемый язык на стороне сервера (модуль Apache 2)
cryptonit - клиентская утилита шифрования с использованием PKI (X.509)
libcurl3 - библиотека для организации передачи файлов по сети (OpenSSL)
libssl0.9.8 - Динамическая библиотека для SSL
openssl - основная программа реализующая протокол безопасных соединений (SSL) и инструменты криптографии
openssl-blacklist - список плохих ключей OpenSSL RSA
ruby1.8 - интерпретатор объектно-ориентированного языка сценариев Ruby 1.8
ssl-cert - простой debconf-настройщик OpenSSL
18:50:27
#as openssl
libace-ssl-5.6.3 - ACE secure socket layer library
aolserver4-nsopenssl - AOLserver 4 module: module for SSL mode
cl-plus-ssl - A simple Common Lisp interface to OpenSSL
cl-ssl - Common Lisp interface to OpenSSL package
libcrypt-ssleay-perl - Support for https protocol in LWP
cryptmount - Management and user-mode mounting of encrypted file systems
libcurl3-dbg - libcurl compiled with debug symbols
libcurl4-openssl-dev - Development files and documentation for libcurl (OpenSSL)
elfsign - ELF binary signing and verification utilities
libengine-pkcs11-openssl - OpenSSL engine for PKCS#11 modules
...
zope-externaleditor - Zope External Editor
zopeedit - Helper Application for Zope External Editor
libapache2-mod-php5 - встраиваемый в HTML интерпретируемый язык на стороне сервера (модуль Apache 2)
cryptonit - клиентская утилита шифрования с использованием PKI (X.509)
libcurl3 - библиотека для организации передачи файлов по сети (OpenSSL)
libssl0.9.8 - Динамическая библиотека для SSL
openssl - основная программа реализующая протокол безопасных соединений (SSL) и инструменты криптографии
openssl-blacklist - список плохих ключей OpenSSL RSA
ruby1.8 - интерпретатор объектно-ориентированного языка сценариев Ruby 1.8
ssl-cert - простой debconf-настройщик OpenSSL
18:50:56
#as libopenssl
libopenssl-ruby - OpenSSL interface for Ruby
libopenssl-ruby1.8 - OpenSSL interface for Ruby 1.8
libopenssl-ruby1.9 - OpenSSL interface for Ruby 1.9
ruby1.8 - интерпретатор объектно-ориентированного языка сценариев Ruby 1.8
18:51:29
#as libssl
cl-plus-ssl - A simple Common Lisp interface to OpenSSL
dcmtk - The OFFIS DICOM toolkit command line utilities
libdcmtk1-dev - The OFFIS DICOM toolkit development libraries and headers
libdcmtk1 - The OFFIS DICOM toolkit runtime libraries
libssl-ocaml-dev - OCaml bindings for OpenSSL
libssl-ocaml - OCaml bindings for OpenSSL
libssl-dev - SSL development libraries, header files and documentation
libssl0.9.8-dbg - Symbol tables for libssl and libcrypto
libssl0.9.8 - Динамическая библиотека для SSL
18:54:59
#as openssl|grep deve
libssl-dev - SSL development libraries, header files and documentation
18:55:07
#ai libssl-dev
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
  zlib1g-dev
НОВЫЕ пакеты, которые будут установлены:
  libssl-dev zlib1g-dev
обновлено 0, установлено 2 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 2405kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 7574kB.
...
Получено:2 http://ftp.debian.org lenny/main libssl-dev 0.9.8g-15+lenny6 [2242kB]
Получено 2405kБ за 3s (608kБ/c)
Выбор ранее не выбранного пакета zlib1g-dev.
(Чтение базы данных... на данный момент установлено 18056 файлов и каталогов.)
Распаковывается пакет zlib1g-dev (из файла .../zlib1g-dev_1%3a1.2.3.3.dfsg-12_amd64.deb)...
Выбор ранее не выбранного пакета libssl-dev.
Распаковывается пакет libssl-dev (из файла .../libssl-dev_0.9.8g-15+lenny6_amd64.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет zlib1g-dev (1:1.2.3.3.dfsg-12) ...
Настраивается пакет libssl-dev (0.9.8g-15+lenny6) ...
18:55:47
#./configure
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for a BSD-compatible install... /usr/bin/install -c
...
checking openssl/md5.h usability... yes
checking openssl/md5.h presence... yes
checking for openssl/md5.h... yes
checking openssl/err.h usability... yes
checking openssl/err.h presence... yes
checking for openssl/err.h... yes
checking for MD5_Init in -lcrypto... yes
checking for SSL_CTX_new in -lssl... yes
checking for poptGetContext in -lpopt... no
configure: error: Popt libraries is required
18:55:56
#as popt
pptpd - PoPToP Point to Point Tunneling Server
libpopt-dev - Библиотека для разбора параметров командной строки - файлы для разработки
libpopt0 - Библиотека для разбора параметров командной строки.
18:56:03
#ai libpopt0
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Уже установлена самая новая версия libpopt0.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
18:56:13
#ai libpopt-dev
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
НОВЫЕ пакеты, которые будут установлены:
  libpopt-dev
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 45,9kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 160kB.
Получено:1 http://ftp.debian.org lenny/main libpopt-dev 1.14-4 [45,9kB]
Получено 45,9kБ за 0s (66,1kБ/c)
Выбор ранее не выбранного пакета libpopt-dev.
(Чтение базы данных... на данный момент установлено 19243 файлов и каталогов.)
Распаковывается пакет libpopt-dev (из файла .../libpopt-dev_1.14-4_amd64.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет libpopt-dev (1.14-4) ...
18:56:20
#as popt
pptpd - PoPToP Point to Point Tunneling Server
libpopt-dev - Библиотека для разбора параметров командной строки - файлы для разработки
libpopt0 - Библиотека для разбора параметров командной строки.
18:56:22
#./configure
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for a BSD-compatible install... /usr/bin/install -c
...
Keepalived configuration
------------------------
Keepalived version       : 1.1.19
Compiler                 : gcc
Compiler flags           : -g -O2
Extra Lib                : -lpopt -lssl -lcrypto
Use IPVS Framework       : No
IPVS sync daemon support : No
Use VRRP Framework       : Yes
Use Debug flags          : No
18:56:29
#make
make -C lib || exit 1;
make[1]: Entering directory `/var/downloads/ipvs/keepalived-1.1.19/lib'
gcc -g -O2 -I. -Wall -Wunused -Wstrict-prototypes  -c memory.c
gcc -g -O2 -I. -Wall -Wunused -Wstrict-prototypes  -c utils.c
gcc -g -O2 -I. -Wall -Wunused -Wstrict-prototypes  -c notify.c
gcc -g -O2 -I. -Wall -Wunused -Wstrict-prototypes  -c timer.c
gcc -g -O2 -I. -Wall -Wunused -Wstrict-prototypes  -c scheduler.c
gcc -g -O2 -I. -Wall -Wunused -Wstrict-prototypes  -c vector.c
gcc -g -O2 -I. -Wall -Wunused -Wstrict-prototypes  -c list.c
gcc -g -O2 -I. -Wall -Wunused -Wstrict-prototypes  -c html.c
...
gcc -g -O2  -I/usr/src/linux/include -I../lib -Wall -Wunused -Wstrict-prototypes   -c -o main.o main.c
gcc -g -O2  -I/usr/src/linux/include -I../lib -Wall -Wunused -Wstrict-prototypes   -c -o sock.o sock.c
gcc -g -O2  -I/usr/src/linux/include -I../lib -Wall -Wunused -Wstrict-prototypes   -c -o layer4.o layer4.c
gcc -g -O2  -I/usr/src/linux/include -I../lib -Wall -Wunused -Wstrict-prototypes   -c -o http.o http.c
gcc -g -O2  -I/usr/src/linux/include -I../lib -Wall -Wunused -Wstrict-prototypes   -c -o ssl.o ssl.c
Building ../bin/genhash
strip ../bin/genhash
Make complete
make[1]: Leaving directory `/var/downloads/ipvs/keepalived-1.1.19/genhash'
Make complete
18:56:42
#make clean
make -C lib clean
make[1]: Entering directory `/var/downloads/ipvs/keepalived-1.1.19/lib'
rm -f *.a *.o *~
make[1]: Leaving directory `/var/downloads/ipvs/keepalived-1.1.19/lib'
make -C keepalived clean
make[1]: Entering directory `/var/downloads/ipvs/keepalived-1.1.19/keepalived'
make[2]: Entering directory `/var/downloads/ipvs/keepalived-1.1.19/keepalived/core'
rm -f *.a *.o *~
make[2]: Leaving directory `/var/downloads/ipvs/keepalived-1.1.19/keepalived/core'
make[2]: Entering directory `/var/downloads/ipvs/keepalived-1.1.19/keepalived/vrrp'
rm -f *.a *.o *~
make[2]: Leaving directory `/var/downloads/ipvs/keepalived-1.1.19/keepalived/vrrp'
Make complete
make[1]: Leaving directory `/var/downloads/ipvs/keepalived-1.1.19/keepalived'
make -C genhash clean
make[1]: Entering directory `/var/downloads/ipvs/keepalived-1.1.19/genhash'
rm -f core *.o
make[1]: Leaving directory `/var/downloads/ipvs/keepalived-1.1.19/genhash'
18:57:02
#./configure --help|grep ipvs

18:57:12
#./configure --help
`configure' configures this package to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
...
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  LIBS        libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
  CPP         C preprocessor
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
18:57:56
#help
`configure' configures this package to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
...
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  LIBS        libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
  CPP         C preprocessor
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
18:59:04
#as keepalived
keepalived - Failover and monitoring daemon for LVS clusters
18:59:11
#ai keepalived
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
НОВЫЕ пакеты, которые будут установлены:
  keepalived
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 132kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 442kB.
Получено:1 http://ftp.debian.org lenny/main keepalived 1.1.15-1 [132kB]
Получено 132kБ за 0s (235kБ/c)
Выбор ранее не выбранного пакета keepalived.
(Чтение базы данных... на данный момент установлено 19253 файлов и каталогов.)
Распаковывается пакет keepalived (из файла .../keepalived_1.1.15-1_amd64.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет keepalived (1.1.15-1) ...
18:59:16
#vim /etc/keepalived/keepalived.conf
--- /tmp/l3-saved-4349.8511.1875	2010-03-09 18:00:42.000000000 +0000
+++ /etc/keepalived/keepalived.conf	2010-03-09 18:02:39.000000000 +0000
@@ -25,7 +25,7 @@
 #           auth_pass 1111
 #       }
        virtual_ipaddress {
-           192.168.200.1
+           192.168.8.104
        }
    }
 
@@ -38,7 +38,7 @@
    # адреса, слушаемые Squid
 
    # Далее описывается этот виртуальный сервер и 2 реальных
-   virtual_server 192.168.200.1 3128 {
+   virtual_server 192.168.8.104 3128 {
 #   virtual_server fwmark 1 {
        delay_loop 6
     
@@ -65,9 +65,8 @@
    # слушает Squid
 
 
-#       real_server 192.168.10.2 8081 {
-       real_server 127.0.0.2 8082 {
-           weight 1
+#       real_server 192.168.30.2 3128 {
+           weight 8
    # Для проверки будем слать HTTP GET-запрос и считать, 
    # что канал доступен, если через него пришел ответ 200 
    # от сервера
@@ -91,8 +90,7 @@
        }
 
    # Аналогично для второго Real-server
-#       real_server 192.168.10.2 8082 {
-       real_server 127.0.0.3 8083 {
+       real_server 192.168.30.3 3128 {
            weight 1
            HTTP_GET {
                url {
19:02:58
#ipvsadm -D -t 192.168.8.250:3128

19:03:10
#ipvsadm -l -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
19:03:15
#ipvsadm -l -n -c
IPVS connection entries
pro expire state       source             virtual            destination
19:03:18
#/etc/init.d/keepalived restart

19:03:28
#ipvsadm -l -n -c
IPVS connection entries
pro expire state       source             virtual            destination
19:03:30
#ipvsadm -l -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
19:03:32
#/etc/init.d/keepalived start
Starting keepalived: keepalived.
19:03:37
#tail /var/log
log/  logs/
19:03:37
#tail /var/log/syslog
Mar  9 18:03:37 gw Keepalived_healthcheckers: Registering Kernel netlink reflector
Mar  9 18:03:37 gw Keepalived_healthcheckers: Registering Kernel netlink command channel
Mar  9 18:03:37 gw Keepalived_vrrp: Registering gratutious ARP shared channel
Mar  9 18:03:37 gw Keepalived_healthcheckers: Opening file '/etc/keepalived/keepalived.conf'.
Mar  9 18:03:37 gw Keepalived_vrrp: Opening file '/etc/keepalived/keepalived.conf'.
Mar  9 18:03:37 gw Keepalived_healthcheckers: Configuration is using : 11719 Bytes
Mar  9 18:03:37 gw Keepalived_vrrp: Configuration is using : 65030 Bytes
Mar  9 18:03:38 gw Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE
Mar  9 18:03:39 gw Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE
Mar  9 18:03:39 gw Keepalived_vrrp: Netlink: skipping nl_cmd msg...
19:03:48
#ifc
bash: ifc: команда не найдена
19:04:02
#ifconfig
eth0      Link encap:Ethernet  HWaddr 00:16:3e:40:aa:21
          inet addr:192.168.8.250  Bcast:192.168.8.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:47742 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12582 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4341889 (4.1 MiB)  TX bytes:2872385 (2.7 MiB)
          Interrupt:13
eth1      Link encap:Ethernet  HWaddr 00:16:3e:40:aa:22
          inet addr:192.168.10.1  Bcast:192.168.10.255  Mask:255.255.255.0
...
          collisions:0 txqueuelen:1000
          RX bytes:4375557 (4.1 MiB)  TX bytes:172518546 (164.5 MiB)
          Interrupt:16
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
19:04:04
#ip addr sh]
Command "sh]" is unknown, try "ip addr help".
19:04:11
#ip addr sh
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:16:3e:40:aa:21 brd ff:ff:ff:ff:ff:ff
    inet 192.168.8.250/24 brd 192.168.8.255 scope global eth0
    inet 192.168.8.104/32 scope global eth0
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:16:3e:40:aa:22 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.1/24 brd 192.168.10.255 scope global eth1
...
17: imq11: <NOARP> mtu 16000 qdisc noop state DOWN qlen 11000
    link/void
18: imq12: <NOARP> mtu 16000 qdisc noop state DOWN qlen 11000
    link/void
19: imq13: <NOARP> mtu 16000 qdisc noop state DOWN qlen 11000
    link/void
20: imq14: <NOARP> mtu 16000 qdisc noop state DOWN qlen 11000
    link/void
21: imq15: <NOARP> mtu 16000 qdisc noop state DOWN qlen 11000
    link/void
19:04:13
#ipvsadm -l -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.8.104:3128 rr persistent 600

Среда (03/10/10)

10:30:41
#tail /var/log/syslog
Mar 10 06:25:01 gw kernel: imklog 3.18.6, log source = /proc/kmsg started.
Mar 10 06:25:01 gw rsyslogd: [origin software="rsyslogd" swVersion="3.18.6" x-pid="4170" x-info="http://www.rsyslog.com"] restart
Mar 10 07:17:01 gw /USR/SBIN/CRON[14710]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 10 08:17:01 gw /USR/SBIN/CRON[14714]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 10 09:17:01 gw /USR/SBIN/CRON[14718]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
10:30:50
#/etc/init.d/keepalived restart
Restarting keepalived keepalived....
прошло 11 минут
10:42:17
#ipvsadm -l -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.8.104:3128 rr persistent 600
10:42:20
#tail /var/log/syslog
Mar 10 09:42:17 gw Keepalived_vrrp: Registering gratutious ARP shared channel
Mar 10 09:42:17 gw Keepalived_vrrp: Opening file '/etc/keepalived/keepalived.conf'.
Mar 10 09:42:17 gw Keepalived_healthcheckers: Registering Kernel netlink reflector
Mar 10 09:42:17 gw Keepalived_healthcheckers: Registering Kernel netlink command channel
Mar 10 09:42:17 gw Keepalived_healthcheckers: Opening file '/etc/keepalived/keepalived.conf'.
Mar 10 09:42:17 gw Keepalived_vrrp: Configuration is using : 65030 Bytes
Mar 10 09:42:17 gw Keepalived_healthcheckers: Configuration is using : 11719 Bytes
Mar 10 09:42:18 gw Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE
Mar 10 09:42:19 gw Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE
Mar 10 09:42:19 gw Keepalived_vrrp: Netlink: skipping nl_cmd msg...
10:42:31
#ipvsadm -l -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.8.104:3128 rr persistent 600
10:49:16
#tail /var/log/syslog
Mar 10 09:42:17 gw Keepalived_vrrp: Registering gratutious ARP shared channel
Mar 10 09:42:17 gw Keepalived_vrrp: Opening file '/etc/keepalived/keepalived.conf'.
Mar 10 09:42:17 gw Keepalived_healthcheckers: Registering Kernel netlink reflector
Mar 10 09:42:17 gw Keepalived_healthcheckers: Registering Kernel netlink command channel
Mar 10 09:42:17 gw Keepalived_healthcheckers: Opening file '/etc/keepalived/keepalived.conf'.
Mar 10 09:42:17 gw Keepalived_vrrp: Configuration is using : 65030 Bytes
Mar 10 09:42:17 gw Keepalived_healthcheckers: Configuration is using : 11719 Bytes
Mar 10 09:42:18 gw Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE
Mar 10 09:42:19 gw Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE
Mar 10 09:42:19 gw Keepalived_vrrp: Netlink: skipping nl_cmd msg...
10:49:31
#tail /var/log/messages
Mar 10 09:42:17 gw Keepalived_vrrp: Registering gratutious ARP shared channel
Mar 10 09:42:17 gw Keepalived_vrrp: Opening file '/etc/keepalived/keepalived.conf'.
Mar 10 09:42:17 gw Keepalived_healthcheckers: Registering Kernel netlink reflector
Mar 10 09:42:17 gw Keepalived_healthcheckers: Registering Kernel netlink command channel
Mar 10 09:42:17 gw Keepalived_healthcheckers: Opening file '/etc/keepalived/keepalived.conf'.
Mar 10 09:42:17 gw Keepalived_vrrp: Configuration is using : 65030 Bytes
Mar 10 09:42:17 gw Keepalived_healthcheckers: Configuration is using : 11719 Bytes
Mar 10 09:42:18 gw Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE
Mar 10 09:42:19 gw Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE
Mar 10 09:42:19 gw Keepalived_vrrp: Netlink: skipping nl_cmd msg...
10:49:43
#/etc/init.d/keepalived stop
Stopping keepalived: keepalived.
10:49:52
#keepalived
keepalived
10:49:52
#keepalived -d 9
unexpected argument 9
10:50:02
#keepalived --help
Keepalived v1.1.15 (12/20,2007)
Usage:
  keepalived
  keepalived -n
  keepalived -f keepalived.conf
  keepalived -d
  keepalived -h
  keepalived -v
Commands:
Either long or short options are allowed.
...
  keepalived --dont-release-ipvs  -I    Dont remove IPVS topology on daemon stop.
  keepalived --dont-fork          -n    Dont fork the daemon process.
  keepalived --use-file           -f    Use the specified configuration file.
                                Default is /etc/keepalived/keepalived.conf.
  keepalived --dump-conf          -d    Dump the configuration data.
  keepalived --log-console        -l    Log message to local console.
  keepalived --log-detail         -D    Detailed log messages.
  keepalived --log-facility       -S    0-7 Set syslog facility to LOG_LOCAL[0-7]. (default=LOG_DAEMON)
  keepalived --help               -h    Display this short inlined help screen.
  keepalived --version            -v    Display the version number
10:50:07
#keepalived -l -D

10:50:51
#ipvsadm -l -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.8.104:3128 rr persistent 600
10:51:03
#ps ax|grep keepal
14842 ?        Ss     0:00 keepalived -d 9
14844 ?        S      0:00 keepalived -d 9
14845 ?        S      0:00 keepalived -d 9
14877 pts/1    S+     0:00 grep keepal
10:51:11
#pkill keepalived

10:51:23
#ps ax|grep keepal
14901 pts/1    S+     0:00 grep keepal
10:51:24
#keepalived -D -l

10:51:35
#ps ax|grep keepal
14910 ?        Ss     0:00 keepalived -D -l
14912 ?        S      0:00 keepalived -D -l
14913 ?        S      0:00 keepalived -D -l
14921 pts/1    S+     0:00 grep keepal
10:51:37
#ipvsadm -l -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.8.104:3128 rr persistent 600
10:51:45
#pkill keepalived

10:51:51
#ps ax|grep keepal
14946 pts/1    S+     0:00 grep keepal
10:51:53
#ipvsadm -l -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
10:51:54
#keepalived -V

10:52:29
#keepalived -v
Keepalived v1.1.15 (12/20,2007)
10:52:31
#ipvsadm -l -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.8.104:3128 rr persistent 600
10:52:42
#pkill keepalived

10:52:48
#vim /etc/keepalived/
10:52:53
#~
                 status_code 200
               }
   # Время на установление соединения (сек.)
               connect_timeout 10
#               connect_port 80
   # Количество попыток соединиться (сек.)
               nb_get_retry 3
   # Соответственно задержка между попытками (сек.)
               delay_before_retry 800
   # Возможно, вы захотите использовать другие тайм-ауты
...
   # от серÐpath http://yandex.ru/white.html
   # Проверяем http-код ответа сервера при запросе данной
   # страниstatus_code 200¾ достаточно, чтобы убедиться, что канал
               }
   # работает
   # Времяconnect_timeout 10вление соединения (сек.)
                connect_port 80
               nb_get_retry 3
   # Количество попыток соединиться (сек.)
"/etc/keepalived/keepalived.conf" 127L, 5037C written
10:57:36
#ps ax|grep keep
15034 pts/1    S+     0:00 grep keep
10:57:44
#/etc/init.d/keepalived start
Starting keepalived: keepalived.
10:57:54
#ipvsadm -l -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.8.104:3128 rr persistent 600
10:57:57
#tail /var/log/syslog
Mar 10 09:57:54 gw Keepalived_healthcheckers: Opening file '/etc/keepalived/keepalived.conf'.
Mar 10 09:57:54 gw Keepalived_healthcheckers: Configuration is using : 11807 Bytes
Mar 10 09:57:54 gw Keepalived_vrrp: Registering Kernel netlink reflector
Mar 10 09:57:54 gw Keepalived_vrrp: Registering Kernel netlink command channel
Mar 10 09:57:54 gw Keepalived_vrrp: Registering gratutious ARP shared channel
Mar 10 09:57:54 gw Keepalived_vrrp: Opening file '/etc/keepalived/keepalived.conf'.
Mar 10 09:57:54 gw Keepalived_vrrp: Configuration is using : 65118 Bytes
Mar 10 09:57:55 gw Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE
Mar 10 09:57:56 gw Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE
Mar 10 09:57:56 gw Keepalived_vrrp: Netlink: error: File exists, type=(20), seq=1268215075, pid=0
10:58:05
#nc 192.168.30.2
no port[s] to connect to
10:58:20
#nc 192.168.30.2 3128
get http://ru.ru
HTTP/1.0 301 Moved Permanently
Server: nginx/0.6.31
Date: Wed, 10 Mar 2010 08:00:53 GMT
Content-Type: text/html; charset=iso-8859-1
Location: http://ok.ru/
X-Cache: MISS from squid.local
Via: 1.0 squid.local (squid/3.0.STABLE24)
Proxy-Connection: close
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>301 Moved Permanently</TITLE>
</HEAD><BODY>
<H1>Moved Permanently</H1>
The document has moved <A HREF="http://ok.ru/">here</A>.<P>
</BODY></HTML>
10:58:27
#nc 192.168.30.3 3128
get http://ok.ru
HTTP/1.0 200 OK
Server: nginx/0.6.31
Date: Wed, 10 Mar 2010 08:01:11 GMT
Content-Type: text/html; charset=windows-1251
Content-Language: ru
X-Cache: MISS from squid.local
Via: 1.0 squid.local (squid/3.0.STABLE24)
Proxy-Connection: close
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
...
        <li class="footer_item_left">
                <div>Îòäåë ïðîäàæ: (10:00 - 18:30)</div>
                <div>(495)956-4037, <a href="mailto:service@zenon.net">service@zenon.net</a></div>
        </li>
        <li class="footer_item_right">
                <div>&copy; 1996-2009 &laquo;Zenon N.S.P.&raquo; <a target="_blank" href="http://www.zenon.net">www.zenon.net</a></div>
        </li>
</ul>
</div> </div></div>
</body></html>
10:58:45
#cd ..

прошло 10 минут
11:09:07
#ls
ipvsadm-1.25      ipvsadm-1.25.tar.gz  keepalived-1.1.19.tar.gz
ipvsadm-1.25.deb  keepalived-1.1.19
11:09:09
#cd ipvsadm-1.25/

11:09:12
#ipvsadm -V
Try `ipvsadm -h' or 'ipvsadm --help' for more information.
11:09:17
#ipvsadm -c
Try `ipvsadm -h' or 'ipvsadm --help' for more information.
11:09:18
#ipvsadm -v
ipvsadm v1.24 2005/12/10 (compiled with popt and IPVS v1.2.0)
11:09:20
#less README
11:12:43
#ai svn
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
E: Не удалось найти пакет svn
11:12:47
#as svn
ack-grep - A grep-like program specifically for large source trees
backupninja - lightweight, extensible meta-backup system
bzr-builddeb - bzr plugin for Debian package management
bzr-svn - Bazaar plugin providing Subversion integration
bzr - easy to use distributed version control system
cia-clients - clients scripts for CIA commit notification on IRC
svn-autoreleasedeb - Automatically release/upload debian packages from SVN
cvs2svn - Convert a cvs repository to a subversion repository
devscripts - scripts to make the life of a Debian Package maintainer easier
esvn-doc - documentation for esvn
...
git-load-dirs - Import upstream archives into git
hg-load-dirs - Import upstream archives into darcs
tla-load-dirs - Import upstream archives into tla/arch
viewvc - view CVS/SVN repositories via HTTP
websvn - interface for subversion repositories written in PHP
xfce4-dev-tools - Script to help building Xfce from svn
xxdiff-scripts - helper scripts for xxdiff
git-svn - масштабируемая распределённая система контроля версий (взаимодействие с svn)
backup-manager - консольная утилита для резервного копирования
xmotd - браузер "сообщений дня" для X
11:12:51
#ai subversion-tools
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
  bsd-mailx ca-certificates exim4 exim4-base exim4-config exim4-daemon-light
  libconfig-inifiles-perl liblockfile1 libneon27-gnutls libserf-0-0
  libsvn-perl libsvn1 liburi-perl libxml2 libxslt1.1 mailx psmisc
  python-subversion rsync sgml-base subversion xml-core xsltproc
Предлагаемые пакеты:
  mail-reader eximon4 exim4-doc-html exim4-doc-info libmail-spf-query-perl
...
Настраивается пакет subversion (1.5.1dfsg1-4) ...
Настраивается пакет python-subversion (1.5.1dfsg1-4) ...
Настраивается пакет rsync (3.0.3-2) ...
Настраивается пакет sgml-base (1.26) ...
Настраивается пакет xml-core (0.12) ...
Настраивается пакет xsltproc (1.1.24-2) ...
Настраивается пакет libconfig-inifiles-perl (2.39-5) ...
Настраивается пакет mailx (1:20071201-3) ...
Настраивается пакет subversion-tools (1.5.1dfsg1-4) ...
Обрабатываются триггеры для python-support ...
11:20:03
#ls
ipvsadm       ipvsadm-1.25.deb     keepalived-1.1.19
ipvsadm-1.25  ipvsadm-1.25.tar.gz  keepalived-1.1.19.tar.gz
11:20:05
#cd ipvsadm

11:20:10
#ls
config_stream.c  dynamic_array.h    ipvsadm-save     Makefile
config_stream.h  ipvsadm.8          ipvsadm-save.8   README
contrib          ipvsadm.c          ipvsadm.sh       SCHEDULERS
debian           ipvsadm-restore    ipvsadm.spec.in  VERSION
dynamic_array.c  ipvsadm-restore.8  libipvs
11:20:11
#less README
11:20:32
#cd ..

11:20:35
#dpkg-
dpkg-deb           dpkg-preconfigure  dpkg-reconfigure   dpkg-statoverride
dpkg-divert        dpkg-query         dpkg-split         dpkg-trigger
11:20:35
#dpkg-deb --help
Использование: dpkg-deb [<параметр> ...] <команда>
Команды:
  -b|--build <каталог> [<deb>]        собрать архив.
  -c|--contents <deb>                 вывести список файлов архива.
  -I|--info <deb> [<файл>...]         вывести информацию в стандартный поток
                                      вывода.
  -W|--show <deb>                     вывести информацию о пакете(ах).
  -f|--field <deb> [<поле>...]        вывести поле(я) в стандартный поток
                                      вывода.
  -e|--control <deb> [<каталог>]      извлечь управляющую информацию.
...
  Формат описывается строкой, которая будет выведена один раз для каждого
  пакета. Формат может включать стандартные последовательности \n (конец
  строки), \r (возврат каретки) или \\ (обратная косая черта). Информация
  о пакете включается путём вставки в строку ссылок на поля пакета вида
  ${поле[;ширина]}. Поля выравниваются по правому краю, если ширина
  неотрицательна и по левому в противном случае.
Для установки или удаления пакетов используйте программу `dpkg'
или дружественный интерфейс управления пакетами `dselect' или
`aptitude'. Пакеты, распакованные с помощью dpkg-deb --extract,
будут установлены неправильно!
11:21:06
#dpkg-deb -b ./ipvsadm
dpkg-deb: не удалось открыть для чтения файл информации о пакете ./ipvsadm/DEBIAN/control: Нет такого файла или каталога
11:21:18
#ls ./ipvsadm
config_stream.c  dynamic_array.h    ipvsadm-save     Makefile
config_stream.h  ipvsadm.8          ipvsadm-save.8   README
contrib          ipvsadm.c          ipvsadm.sh       SCHEDULERS
debian           ipvsadm-restore    ipvsadm.spec.in  VERSION
dynamic_array.c  ipvsadm-restore.8  libipvs
11:21:26
#ln -s ./ipvsadm/debian ./ipvsadm/DEBIAN

11:21:51
#ls ./ipvsadm/DEBIAN
./ipvsadm/DEBIAN
11:22:04
#ls ./ipvsadm/DEBIAN/
ls: невозможно получить доступ к ./ipvsadm/DEBIAN/: Нет такого файла или каталога
11:22:17
#ls ./ipvsadm/debian/
changelog  copyright  ipvsadm.dirs   ipvsadm.substvars
control    files      ipvsadm.files  rules
11:22:34
#rm ./ipvsadm/DEBIAN

11:22:42
#ls ./ipvsadm/DEBIAN
./ipvsadm/DEBIAN
11:22:44
#ls -al ./ipvsadm/DEBIAN
lrwxrwxrwx 1 root root 17 Мар 10 10:22 ./ipvsadm/DEBIAN -> ./ipvsadm/debian/
11:23:15
#pwd
/var/downloads/ipvs
11:23:48
#cd ipvsadm

11:23:58
#ls
config_stream.c  dynamic_array.c  ipvsadm-restore.8  libipvs
config_stream.h  dynamic_array.h  ipvsadm-save       Makefile
contrib          ipvsadm.8        ipvsadm-save.8     README
debian           ipvsadm.c        ipvsadm.sh         SCHEDULERS
DEBIAN           ipvsadm-restore  ipvsadm.spec.in    VERSION
11:23:59
#make
make -C libipvs
make[1]: Entering directory `/var/downloads/ipvs/ipvsadm/libipvs'
gcc -Wall -Wunused -Wstrict-prototypes -g -fPIC -DLIBIPVS_USE_NL  -DHAVE_NET_IP_VS_H -c -o libipvs.o libipvs.c
In file included from libipvs.h:13,
                 from libipvs.c:23:
ip_vs.h:15:29: error: netlink/netlink.h: Нет такого файла или каталога
ip_vs.h:16:31: error: netlink/genl/genl.h: Нет такого файла или каталога
ip_vs.h:17:31: error: netlink/genl/ctrl.h: Нет такого файла или каталога
In file included from libipvs.h:13,
                 from libipvs.c:23:
...
libipvs.c:1005: warning: initialization makes pointer from integer without a cast
libipvs.c:1030: warning: passing argument 2 of ‘strncpy’ makes pointer from integer without a cast
libipvs.c:1033: error: ‘NL_OK’ undeclared (first use in this function)
libipvs.c:1034: warning: control reaches end of non-void function
libipvs.c: In function ‘ipvs_get_daemon’:
libipvs.c:1053: error: ‘NLM_F_DUMP’ undeclared (first use in this function)
libipvs.c:1054: error: too many arguments to function ‘ipvs_nl_send_message’
make[1]: *** [libipvs.o] Ошибка 1
make[1]: Leaving directory `/var/downloads/ipvs/ipvsadm/libipvs'
make: *** [libs] Ошибка 2
11:24:07
#find . -name netlink.h

11:24:39
#find /usr/src/linux-2.6.32 -name netlink.h
linux-2.6.32.1.tar.bz2           linux-2.6.32-imq-test2.diff
linux-2.6.32.3/                  linux-2.6.32-imq-test2.diff.1
linux-2.6.32.3.tar.bz2           linux-2.6.32-imq-test2.diff.bz2

Статистика

Время первой команды журнала18:50:21 2010- 3- 9
Время последней команды журнала11:24:39 2010- 3-10
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, %10.89
Процент синтаксически неверно набранных команд, % 0.99
Суммарное время работы с терминалом *, час 1.13
Количество командных строк в единицу времени, команда/мин 1.49
Частота использования команд
ipvsadm16|==============| 14.81%
ls10|=========| 9.26%
as9|========| 8.33%
keepalived7|======| 6.48%
tail7|======| 6.48%
grep7|======| 6.48%
ai6|=====| 5.56%
ps5|====| 4.63%
/etc/init.d/keepalived5|====| 4.63%
cd5|====| 4.63%
configure4|===| 3.70%
pkill3|==| 2.78%
make3|==| 2.78%
nc3|==| 2.78%
vim2|=| 1.85%
dpkg-deb2|=| 1.85%
less2|=| 1.85%
find2|=| 1.85%
ip2|=| 1.85%
ifconfig1|| 0.93%
pwd1|| 0.93%
dpkg-1|| 0.93%
rm1|| 0.93%
help1|| 0.93%
~1|| 0.93%
ln1|| 0.93%
ifc1|| 0.93%
____
*) Интервалы неактивности длительностью 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$