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

Содержание

Журнал

Среда (07/09/08)

/dev/pts/5
21:19:46
#chroot /mnt
linux0:/#
linux0:/#
linux0:/# apt-get install libc6-xen
Reading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed:
  libc6-xen
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 1268kB of archives.
After this operation, 2789kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
  libc6-xen
Install these packages without verification [y/N]? Y
Get:1 http://192.168.15.254 sid/main libc6-xen 2.7-12 [1268kB]
Fetched 1268kB in 0s (5310kB/s)
Selecting previously deselected package libc6-xen.
(Reading database ... 7366 files and directories currently installed.)
Unpacking libc6-xen (from .../libc6-xen_2.7-12_i386.deb) ...
Setting up libc6-xen (2.7-12) ...
linux0:/# exit
exit
21:20:21
#chroot /mnt
linux0:/#
linux0:/#
linux0:/# exit
exit
21:24:35
#cp /etc/network/interfaces /mnt/etc/network/

21:24:50
#vi /mnt/etc/network/
21:24:55
#~
if-down.d/      if-pre-up.d/    interfaces
if-post-down.d/ if-up.d/        run
21:24:55
#cp /etc/network/interfaces /mnt/etc/network/interfaces

21:25:01
#vi /mnt/etc/network/interfaces
--- /tmp/l3-saved-2333.28139.25306	2008-07-09 18:25:05.000000000 +0000
+++ /mnt/etc/network/interfaces	2008-07-09 18:25:43.000000000 +0000
@@ -1,11 +1,9 @@
 auto lo eth0
 iface lo inet loopback
 iface eth0 inet static
-	address 192.168.15.250
+	address 192.168.15.54
 	network 192.168.15.0
 	netmask 255.255.255.0
 	broadcast 192.168.15.255
-	up /etc/xen/scripts/network-bridge start bridge=br0 netdev=eth0
-	up ifconfig br0 up
-	up route add default gw 192.168.15.254
+	gateway 192.168.15.254
 
21:25:43
#vi /mnt/etc/fstab
--- /tmp/l3-saved-2333.30184.23159	2008-07-09 18:26:04.000000000 +0000
+++ /mnt/etc/fstab	2008-07-09 18:27:36.000000000 +0000
@@ -1 +1,3 @@
-# UNCONFIGURED FSTAB FOR BASE SYSTEM
+proc 		/proc 	proc defaults 0 0 
+/dev/hda1 	/ 	ext3 defaults 0 0
+
/dev/pts/9
21:26:14
#cat /etc/fstab
# UNCONFIGURED FSTAB FOR BASE SYSTEM
/dev/pts/5
21:27:36
#cat /mnt/etc/fstab
proc            /proc   proc defaults 0 0
/dev/hda1       /       ext3 defaults 0 0
21:27:37
#chroot /mnt
linux0:/# apt-get install udev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libvolume-id0
The following NEW packages will be installed:
  libvolume-id0 udev
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 326kB of archives.
...
(Reading database ... 7417 files and directories currently installed.)
Unpacking libvolume-id0 (from .../libvolume-id0_0.124-2_i386.deb) ...
Selecting previously deselected package udev.
Unpacking udev (from .../archives/udev_0.124-2_i386.deb) ...
Processing triggers for man-db ...
Setting up libvolume-id0 (0.124-2) ...
Setting up udev (0.124-2) ...
A chroot environment has been detected, udev not started.
linux0:/# exit
exit
21:28:47
#cat /mnt/etc/fstab
proc            /proc   proc defaults 0 0
/dev/hda1       /       ext3 defaults 0 0
21:29:01
#umount /mnt
umount: /mnt: device is busy
umount: /mnt: device is busy
21:31:56
#umount /mnt/proc

21:32:01
#umount /mnt/dev

21:32:03
#umount /mnt/sys

21:32:09
#umount /mnt

21:32:11
#ls /etc/xen/
scripts                 xend-config.sxp          xend-pci-quirks.sxp
xend-config-xenapi.sxp  xend-pci-permissive.sxp
21:32:18
#ls /usr/share/doc/xen
xen-hypervisor-3.2-1-i386/ xen-utils-common/
xen-utils-3.2-1/           xenstore-utils/
21:32:18
#ls /usr/share/doc/xen
xen-hypervisor-3.2-1-i386/ xen-utils-common/
xen-utils-3.2-1/           xenstore-utils/
21:32:18
#ls /usr/share/doc/xen-utils-
xen-utils-3.2-1/  xen-utils-common/
21:32:18
#ls /usr/share/doc/xen-utils-
xen-utils-3.2-1/  xen-utils-common/
21:32:18
#ls /usr/share/doc/xen-utils-3.2-1/
NEWS.gz              changelog.Debian.gz
README.Debian.gz     copyright
21:32:18
#ls /usr/share/doc/xen-
xen-hypervisor-3.2-1-i386/ xen-utils-common/
xen-utils-3.2-1/
21:32:18
#ls /usr/share/doc/xen-utils-
xen-utils-3.2-1/  xen-utils-common/
21:32:18
#ls /usr/share/doc/xen-utils-common/
changelog.Debian.gz  copyright            examples/
21:32:18
#ls /usr/share/doc/xen-utils-common/
changelog.Debian.gz  copyright            examples/
21:32:18
#ls /usr/share/doc/xen-utils-common/examples/xm
xm-config-xenapi.xml  xmexample.hvm.gz      xmexample1.gz
xm-config.xml         xmexample.vti.gz      xmexample2.gz
21:32:18
#zless /usr/share/doc/xen-utils-common/examples/xmexample1.gz
21:33:36
#vi /etc/xen/vm2
21:34:31
#vi /etc/xen/vm2
21:34:31
#vi /etc/xen/vm2
21:34:31
#fg
#----------------------------------------------------------------------------
# Define frame buffer device.
#
# By default, no frame buffer device is configured.
#
# To create one using the SDL backend and sensible defaults:
#
# vfb = [ 'type=sdl' ]
#
# This uses environment variables XAUTHORITY and DISPLAY.  You
"/etc/xen/vm2" 182 lines, 6444 characters written
21:41:26
#grep -v ^# /etc/xen/vm2 | grep -x ''

21:41:35
#grep -v ^# /etc/xen/vm2 | grep -x v''

21:41:37
#grep -v ^# /etc/xen/vm2 | grep -xv ''
kernel = "/boot/vmlinuz-2.6.18-6-xen-686"
ramdisk = "/boot/initrd.img-2.6.18-6-xen-686"
builder='linux'
memory = 64
name = "vm2"
vif = [ 'mac=00:16:3e:00:00:04, bridge=br0' ]
disk = [ 'phy:XEN/vol2,hda1,w' ]
root = "/dev/hda1 ro"
extra = ""
21:41:41
#grep -v ^# /etc/xen/vm2 | grep -xv ''
kernel = "/boot/vmlinuz-2.6.18-6-xen-686"
ramdisk = "/boot/initrd.img-2.6.18-6-xen-686"
builder='linux'
memory = 64
name = "vm2"
vif = [ 'mac=00:16:3e:00:00:04, bridge=br0' ]
disk = [ 'phy:XEN/vol2,hda1,w' ]
root = "/dev/hda1 ro"
extra = ""
21:41:44
#xm create -c vm2
NX (Execute Disable) protection: active
ACPI in unprivileged domain disabled
Built 1 zonelists.  Total pages: 18432
Kernel command line: root=/dev/hda1 ro
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
PID hash table entries: 512 (order: 9, 2048 bytes)
Xen reported: 2327.498 MHz processor.
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
...
Setting kernel variables (/etc/sysctl.conf)...done.
Mounting local filesystems...done.
Activating swapfile swap...done.
Setting up networking....
Configuring network interfaces...done.
INIT: Entering runlevel: 2
Starting system log daemon....
Starting kernel log daemon....
Starting periodic command scheduler: crond.
Debian GNU/Linux lenny/sid linux0 tty1
21:42:02
#grep -v ^# /etc/xen/vm2 | grep -xv ''
kernel = "/boot/vmlinuz-2.6.18-6-xen-686"
ramdisk = "/boot/initrd.img-2.6.18-6-xen-686"
builder='linux'
memory = 64
name = "vm2"
vif = [ 'mac=00:16:3e:00:00:04, bridge=br0' ]
disk = [ 'phy:XEN/vol2,hda1,w' ]
root = "/dev/hda1 ro"
extra = ""
21:42:54
#xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   250     2     r-----    782.0
vm2                                          1    64     1     -b----      4.4

Четверг (07/10/08)

/dev/tty1
13:40:49
#screen
/dev/pts/1
13:41:05
#apt-cache search vncserver
libvncserver-dev - API to write one's own vnc server - development files
libvncserver0 - API to write one's own vnc server
libvncserver0-dbg - debugging symbols for libvncserver
tightvncserver - virtual network computing server software
vnc4server - Virtual network computing server software
xtightvncviewer - virtual network computing client software for X
xvnc4viewer - Virtual network computing client software for X
svncviewer - virtual network computing client software for SVGA
vncserver - Virtual network computing server software
xvncviewer - Virtual network computing client software for X
13:41:19
#xm list
WARING!  Can't find hypervisor information in sysfs!
Error: Unable to connect to xend: No such file or directory. Is xend running?
/dev/pts/3
13:41:34
#screen -x
/dev/pts/5
13:44:09
#screen -x
прошло 58 минут
/dev/pts/7
14:42:58
#ls
\e1000-8.0.3.1.tar.gz
14:43:00
#tar xvfz e1000-8.0.3.1.tar.gz
e1000-8.0.3.1/
e1000-8.0.3.1/src/
e1000-8.0.3.1/src/Makefile
e1000-8.0.3.1/src/e1000.h
e1000-8.0.3.1/src/e1000_82540.c
e1000-8.0.3.1/src/e1000_82541.c
e1000-8.0.3.1/src/e1000_82541.h
e1000-8.0.3.1/src/e1000_82542.c
e1000-8.0.3.1/src/e1000_82543.c
e1000-8.0.3.1/src/e1000_82543.h
...
e1000-8.0.3.1/src/e1000_regs.h
e1000-8.0.3.1/src/kcompat.c
e1000-8.0.3.1/src/kcompat.h
e1000-8.0.3.1/src/kcompat_ethtool.c
e1000-8.0.3.1/COPYING
e1000-8.0.3.1/README
e1000-8.0.3.1/pci.updates
e1000-8.0.3.1/e1000.7
e1000-8.0.3.1/e1000.spec
e1000-8.0.3.1/SUMS
14:43:05
#cd e1000-8.0.3.1

14:43:08
#less README
14:43:17
#make install
make: *** No rule to make target `install'.  Stop.
14:43:20
#make
make: *** No targets specified and no makefile found.  Stop.
14:43:21
#ls
COPYING  README  SUMS  e1000.7  e1000.spec  pci.updates  src
14:43:22
#cd src

14:43:26
#make install
make -C /lib/modules/2.6.25-2-686/build SUBDIRS=/root/e1000-8.0.3.1/src modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.25-2-686'
  CC [M]  /root/e1000-8.0.3.1/src/e1000_main.o
  CC [M]  /root/e1000-8.0.3.1/src/e1000_82540.o
  CC [M]  /root/e1000-8.0.3.1/src/e1000_82542.o
  CC [M]  /root/e1000-8.0.3.1/src/e1000_82541.o
  CC [M]  /root/e1000-8.0.3.1/src/e1000_82543.o
  CC [M]  /root/e1000-8.0.3.1/src/e1000_mac.o
  CC [M]  /root/e1000-8.0.3.1/src/e1000_nvm.o
  CC [M]  /root/e1000-8.0.3.1/src/e1000_phy.o
...
make[1]: Leaving directory `/usr/src/linux-headers-2.6.25-2-686'
gzip -c ../e1000.7 > e1000.7.gz
# remove all old versions of the driver
find /lib/modules/2.6.25-2-686 -name e1000.ko -exec rm -f {} \; || true
find /lib/modules/2.6.25-2-686 -name e1000.ko.gz -exec rm -f {} \; || true
install -D -m 644 e1000.ko /lib/modules/2.6.25-2-686/kernel/drivers/net/e1000/e1000.ko
/sbin/depmod -a || true
install -D -m 644 e1000.7.gz /usr/share/man/man7/e1000.7.gz
man -c -P'cat > /dev/null' e1000 || true
e1000.
14:43:46
#reboot

прошло 66 минут
/dev/pts/0
15:50:15
#screen -x
/dev/tty1
15:56:58
#ssh 192.168.15.52
vm2:~#
vm2:~#
vm2:~# /etc/init.d/gdm restart
Stopping GNOME Display Manager: gdm.
Starting GNOME Display Manager: gdm.
vm2:~#
Broadcast message from root@vm2 (Thu Jul 10 13:14:30 2008):
Rebooted via gdm.
The system is going down for reboot NOW!
Connection to 192.168.15.52 closed by remote host.
Connection to 192.168.15.52 closed.
прошло >2 часов
18:10:05
#xm list
WARING!  Can't find hypervisor information in sysfs!
Error: Unable to connect to xend: No such file or directory. Is xend running?
прошло 13 минут
/dev/tty1
18:23:17
#route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.15.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
10.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 br0
0.0.0.0         10.0.1.1        0.0.0.0         UG    0      0        0 br0
18:23:19
#ping ya.ru
PING ya.ru (213.180.204.8) 56(84) bytes of data.
64 bytes from ya.ru (213.180.204.8): icmp_seq=1 ttl=55 time=40.5 ms
--- ya.ru ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 40.570/40.570/40.570/0.000 ms
18:23:23
#vgdisplay | less
18:24:53
#ssh 192.168.15.3
root@192.168.15.3's password:
Last login: Thu Jul 10 15:18:21 2008
Linux host3 2.6.18-6-xen-686 #1 SMP Sun Feb 10 22:43:13 UTC 2008 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
host3:~# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
...
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2
  --- Logical volume ---
  LV Name                /dev/turbo/vol3
  VG Name                turbo
host3:~# exit
logout
Connection to 192.168.15.3 closed.
18:26:32
#vgdisplay
  --- Volume group ---
  VG Name               polygon
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  188
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                4
...
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               27.93 GB
  PE Size               4.00 MB
  Total PE              7151
  Alloc PE / Size       1536 / 6.00 GB
  Free  PE / Size       5615 / 21.93 GB
  VG UUID               Eq5fqb-du58-es3V-svu6-58Bo-D7El-Sfl6rP
18:29:18
#lvcreate -L4G -n vl2 /dev/XEN/
  Volume group name expected (no slash)
  Run `lvcreate --help' for more information.
18:30:08
#lvcreate -L4G -n vl2 XEN
  Logical volume "vl2" created
18:30:12
#ssh 192.168.15.3 cat /dev/turbo/vol2 > /dev/XEN/vl2
root@192.168.15.3's password:
/dev/pts/1
18:30:58
#screen -x
18:31:01
#screen -x
18:31:04
#screen -x
18:31:05
#screen -x
18:31:06
#screen -x
18:31:07
#screen -x
18:31:08
#screen -x
/dev/tty1
18:31:12
#screen
/dev/pts/3
18:31:18
#ssh 192.168.15.53

18:31:30
#ssh 192.168.15.3
root@192.168.15.3's password:
18:31:32
#ssh 192.168.15.3 cat /dev/turbo/vol2 > /dev/XEN/vl2
root@192.168.15.3's password:
/dev/pts/5
18:36:45
#ping 192.168.15.1
PING 192.168.15.1 (192.168.15.1) 56(84) bytes of data.
64 bytes from 192.168.15.1: icmp_seq=1 ttl=64 time=8.15 ms
--- 192.168.15.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 8.152/8.152/8.152/0.000 ms
18:36:51
#ping 192.168.15.2
PING 192.168.15.2 (192.168.15.2) 56(84) bytes of data.
64 bytes from 192.168.15.2: icmp_seq=1 ttl=64 time=12.0 ms
--- 192.168.15.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 12.093/12.093/12.093/0.000 ms
18:36:52
#ping 192.168.15.3
PING 192.168.15.3 (192.168.15.3) 56(84) bytes of data.
64 bytes from 192.168.15.3: icmp_seq=1 ttl=64 time=28.4 ms
--- 192.168.15.3 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 28.499/28.499/28.499/0.000 ms
18:36:53
#ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
52:7e:44:c0:df:37:e7:0c:a1:58:41:03:6f:87:92:78 root@linux0
18:37:00
#for i in 1 2 3
> do
> cat ~/.ssh/id_dsa.pub| ssh 192.168.15.$i 'cat >> ~/.ssh/authorized_keys '
> done
The authenticity of host '192.168.15.1 (192.168.15.1)' can't be established.
RSA key fingerprint is 5b:38:85:d4:44:57:b4:74:50:5f:17:bf:fb:1f:70:20.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.15.1' (RSA) to the list of known hosts.
root@192.168.15.1's password:
root@192.168.15.2's password:
root@192.168.15.3's password:
/dev/pts/7
18:37:49
#screen -x
/dev/pts/9
18:38:28
#screen -x
/dev/pts/5
18:39:12
#for i in 1 2 3; do cat ~/.ssh/id_dsa.pub| ssh 192.168.15

18:39:12
#for i in 1 2 3; do ssh 192.168.15.$i hostname
Knoppix-JR
romix
host3
/dev/pts/9
18:39:31
#screen -x
/dev/pts/5
18:39:36
#for i in 1 2 3; do ssh 192.168.15.$i hostname; done
Knoppix-JR
romix
host3
18:40:01
#vi migrate-to-the-next
--- /dev/null	2008-07-10 15:22:51.336083500 +0000
+++ migrate-to-the-next	2008-07-10 15:42:21.000000000 +0000
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+IP
+cat <<table | grep $IP | awk '{print $2}'
+table
+
+xm --live migrate $FURTHER
+
18:42:21
#ifconfig br0
br0       Link encap:Ethernet  HWaddr 00:07:e9:0b:2b:1d
          inet addr:10.0.35.1  Bcast:10.255.255.255  Mask:255.0.0.0
          inet6 addr: fe80::207:e9ff:fe0b:2b1d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:38404 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33126 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:4074775 (3.8 MiB)  TX bytes:18119029 (17.2 MiB)
18:42:24
#ifconfig br0 | grep 'inet addr'
          inet addr:10.0.35.1  Bcast:10.255.255.255  Mask:255.0.0.0
18:42:34
#ifconfig br0 | grep 'inet addr' | awk '{print $2}'
addr:10.0.35.1
18:42:52
#echo "
s/.*://" >> migrate-to-the-next
18:43:08
#vi migrate-to-the-next
--- /tmp/l3-saved-2554.21134.5237	2008-07-10 15:43:11.000000000 +0000
+++ migrate-to-the-next	2008-07-10 15:44:49.000000000 +0000
@@ -1,9 +1,11 @@
 #!/bin/sh
 
-IP
-cat <<table | grep $IP | awk '{print $2}'
-table
+IP="$(ifconfig br0 | grep 'inet addr' | awk '{print }' | sed s/.*://)"
+FURTHER=$(cat <<TABLE | grep $IP | awk '{print $2}')
+192.168.15.1 192.168.15.2
+192.168.15.2 192.168.15.3
+192.168.15.3 192.168.15.1
+TABLE
 
 xm --live migrate $FURTHER
 
-ifconfig br0 | grep 'inet addr' | awk '{print }' | sed s/.*://
18:44:49
#vi migrate-to-the-next
--- /tmp/l3-saved-2554.18706.2726	2008-07-10 15:45:00.000000000 +0000
+++ migrate-to-the-next	2008-07-10 15:45:14.000000000 +0000
@@ -7,5 +7,5 @@
 192.168.15.3 192.168.15.1
 TABLE
 
-xm --live migrate $FURTHER
+echo xm --live migrate vl2 $FURTHER
 
18:45:14
#ifconfig br0 | grep 'inet addr' | awk '{print $2}'

18:46:02
#for i in 1 2 3; do scp migrate-to-the-next 192.168.15.$i:/root

18:46:02
#for i in 1 2 3; do scp migrate-to-the-next 192.168.15.$i:/root

18:46:02
#for i in 1 2 3; do scp migrate-to-the-nex 192.168.15.$i

18:46:02
#for i in 1 2 3; do ssh 192.168.15.$i /root/migrate-to-the-next
bash: /root/migrate-to-the-next: Permission denied
bash: /root/migrate-to-the-next: Permission denied
bash: /root/migrate-to-the-next: Permission denied
18:46:59
#for i in 1 2 3; do ssh 192.168.15.$i sh
/root/migrate-to-the-next: line 5: 192.168.15.1: command not found
/root/migrate-to-the-next: line 6: 192.168.15.2: command not found
/root/migrate-to-the-next: line 7: 192.168.15.3: command not found
/root/migrate-to-the-next: line 8: TABLE: command not found
xm --live migrate vl2
/root/migrate-to-the-next: line 5: 192.168.15.1: command not found
/root/migrate-to-the-next: line 6: 192.168.15.2: command not found
/root/migrate-to-the-next: line 7: 192.168.15.3: command not found
/root/migrate-to-the-next: line 8: TABLE: command not found
xm --live migrate vl2
/root/migrate-to-the-next: line 5: 192.168.15.1: command not found
/root/migrate-to-the-next: line 6: 192.168.15.2: command not found
/root/migrate-to-the-next: line 7: 192.168.15.3: command not found
/root/migrate-to-the-next: line 8: TABLE: command not found
xm --live migrate vl2

Файлы

  • /etc/fstab
  • /mnt/etc/fstab
  • /etc/fstab
    >
    # UNCONFIGURED FSTAB FOR BASE SYSTEM
    
    /mnt/etc/fstab
    >
    proc            /proc   proc defaults 0 0
    /dev/hda1       /       ext3 defaults 0 0
    

    Статистика

    Время первой команды журнала21:19:46 2008- 7- 9
    Время последней команды журнала18:46:59 2008- 7-10
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %19.80
    Процент синтаксически неверно набранных команд, % 0.00
    Суммарное время работы с терминалом *, час 1.18
    Количество командных строк в единицу времени, команда/мин 1.42
    Частота использования команд
    screen15|============| 12.61%
    ls13|==========| 10.92%
    for9|=======| 7.56%
    vi9|=======| 7.56%
    grep8|======| 6.72%
    do8|======| 6.72%
    ssh7|=====| 5.88%
    umount5|====| 4.20%
    ifconfig4|===| 3.36%
    ping4|===| 3.36%
    xm4|===| 3.36%
    chroot3|==| 2.52%
    make3|==| 2.52%
    cat3|==| 2.52%
    awk2|=| 1.68%
    cp2|=| 1.68%
    cd2|=| 1.68%
    less2|=| 1.68%
    vl22|=| 1.68%
    lvcreate2|=| 1.68%
    vgdisplay2|=| 1.68%
    zless1|| 0.84%
    fg1|| 0.84%
    route1|| 0.84%
    reboot1|| 0.84%
    ssh-keygen1|| 0.84%
    echo1|| 0.84%
    ~1|| 0.84%
    apt-cache1|| 0.84%
    done1|| 0.84%
    tar1|| 0.84%
    ____
    *) Интервалы неактивности длительностью 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$