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

Содержание

Журнал

Среда (06/03/09)

/dev/pts/3
11:37:32
#all date
192.168.15.1:22    Срд Июн  3 11:37:43 EEST 2009
192.168.15.2:22    Срд Июн  3 11:37:14 UTC 2009
11:37:42
#exit
exit
Connection to 192.168.15.3 closed.
/dev/pts/8
11:37:42
#exit
exit
Connection to 192.168.15.3 closed.
/dev/pts/3
11:39:37
#all date
192.168.15.1:22    Срд Июн  3 11:39:47 EEST 2009
/dev/pts/8
11:39:37
#all date
192.168.15.1:22    Срд Июн  3 11:39:47 EEST 2009
/dev/pts/3
11:46:45
#all 1
192.168.15.1 22
192.168.15.2 22
192.168.15.3 20022
192.168.15.4 4001
192.168.15.5 22
192.168.15.6 22
192.168.15.7 22
192.168.15.9 22
192.168.15.10 22
192.168.15.11 22
192.168.15.12 22
192.168.15.13 22
192.168.15.14 22
192.168.15.16 22
/dev/pts/8
11:46:45
#all 1
192.168.15.1 22
192.168.15.2 22
192.168.15.3 20022
192.168.15.4 4001
192.168.15.5 22
192.168.15.6 22
192.168.15.7 22
192.168.15.9 22
192.168.15.10 22
192.168.15.11 22
192.168.15.12 22
192.168.15.13 22
192.168.15.14 22
192.168.15.16 22
/dev/pts/3
11:46:48
#vi /usr/local/bin/all
/dev/pts/8
11:46:48
#vi /usr/local/bin/all
--- /tmp/l3-saved-3594.13929.27384	2009-06-03 11:48:53.000000000 +0300
+++ /usr/local/bin/all	2009-06-03 11:50:14.000000000 +0300
@@ -4,6 +4,6 @@
 do
  rh=`echo $cstr | awk '{print $1}'`
  rp=`echo $cstr | awk '{print $2}'`
- echo $rh $rp
-# ssh $rh -p $rp "$@" | sed "s/^/$rh:$rp    /"
+# echo $rh $rp
+ ssh $rh -p $rp "$@" | sed "s/^/$rh:$rp    /"
 done
/dev/pts/3
11:50:18
#ssh 192.168.15.2
Linux linux2 2.6.29-2-686 #1 SMP Sun May 17 17:56:29 UTC 2009 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.
Last login: Wed Jun  3 11:47:25 2009 from linux1.unix.nt
l3-agent is already running: pid=8287; pidfile=/root/.lilalo/l3-agent.pid
/dev/pts/8
11:50:18
#ssh 192.168.15.2
Linux linux2 2.6.29-2-686 #1 SMP Sun May 17 17:56:29 UTC 2009 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.
Last login: Wed Jun  3 11:47:25 2009 from linux1.unix.nt
l3-agent is already running: pid=8287; pidfile=/root/.lilalo/l3-agent.pid
11:50:42
#vi /usr/local/bin/all
--- /tmp/l3-saved-3594.20612.14131	2009-06-03 11:52:57.000000000 +0300
+++ /usr/local/bin/all	2009-06-03 12:04:14.000000000 +0300
@@ -5,5 +5,5 @@
  rh=`echo $cstr | awk '{print $1}'`
  rp=`echo $cstr | awk '{print $2}'`
 # echo $rh $rp
- ssh $rh -p $rp "$@" | sed "s/^/$rh:$rp    /"
+ ssh $rh "$@" | sed "s/^/$rh:$rp    /"
 done
/dev/pts/3
11:50:42
#vi /usr/local/bin/all
прошло 13 минут
12:04:17
#vi /usr/local/bin/all
/dev/pts/8
12:04:17
#vi /usr/local/bin/all
/dev/pts/3
12:08:25
#all date
192.168.15.1 22
Срд Июн  3 12:08:32 EEST 2009
/dev/pts/8
12:08:25
#all date
192.168.15.1 22
Срд Июн  3 12:08:32 EEST 2009
12:08:31
#vi /usr/local/bin/all
--- /tmp/l3-saved-3594.26006.28877	2009-06-03 12:10:41.000000000 +0300
+++ /usr/local/bin/all	2009-06-03 12:11:14.000000000 +0300
@@ -5,5 +5,5 @@
  rh=`echo $cstr | awk '{print $1}'`
  rp=`echo $cstr | awk '{print $2}'`
  echo $rh $rp
- ssh $rh -p $rp "$@"
+ ssh -p $rp $rh "$@"
 done
/dev/pts/3
12:08:31
#vi /usr/local/bin/all
12:11:16
#vi /usr/local/bin/all
/dev/pts/8
12:11:16
#vi /usr/local/bin/all
--- /tmp/l3-saved-3594.29815.23616	2009-06-03 12:11:45.000000000 +0300
+++ /usr/local/bin/all	2009-06-03 12:12:37.000000000 +0300
@@ -5,5 +5,5 @@
  rh=`echo $cstr | awk '{print $1}'`
  rp=`echo $cstr | awk '{print $2}'`
  echo $rh $rp
- ssh -p $rp $rh "$@"
+ ssh -p $rp $rh "$@" | sed 's/^/$rh:$rp   /'
 done
/dev/pts/3
12:12:39
#vi /usr/local/bin/all
/dev/pts/8
12:12:39
#vi /usr/local/bin/all
/dev/pts/3
12:13:13
#~
cat /root/remote_ssh_config | while read cstr
do
                           "s/^/$rh:$rp   /"
 rh=`echo $cstr | awk '{print $1}'`
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
~
"/usr/local/bin/all" 9L, 196C written
/dev/pts/8
12:13:13
#~
cat /root/remote_ssh_config | while read cstr
do
                           "s/^/$rh:$rp   /"
 rh=`echo $cstr | awk '{print $1}'`
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
~
"/usr/local/bin/all" 9L, 196C written
/dev/pts/3
12:13:58
#vi remote_ssh_config
/dev/pts/8
12:13:58
#vi remote_ssh_config
--- /tmp/l3-saved-3594.25088.23263	2009-06-03 12:14:16.000000000 +0300
+++ remote_ssh_config	2009-06-03 12:14:37.000000000 +0300
@@ -1,6 +1,7 @@
 192.168.15.1	22
 192.168.15.2	22
 192.168.15.3	20022
+192.168.15.3	20022
 192.168.15.4	4001
 192.168.15.5	22
 192.168.15.6	22
/dev/pts/3
12:16:37
#cat remote_ssh_config
192.168.15.1    22
192.168.15.2    22
192.168.15.3    20022
192.168.15.3    20022
192.168.15.4    4001
192.168.15.5    22
192.168.15.6    22
192.168.15.7    22
192.168.15.9    22
192.168.15.10   22
192.168.15.11   22
192.168.15.12   22
192.168.15.13   22
192.168.15.14   22
192.168.15.16   22
/dev/pts/8
12:16:37
#cat remote_ssh_config
192.168.15.1    22
192.168.15.2    22
192.168.15.3    20022
192.168.15.3    20022
192.168.15.4    4001
192.168.15.5    22
192.168.15.6    22
192.168.15.7    22
192.168.15.9    22
192.168.15.10   22
192.168.15.11   22
192.168.15.12   22
192.168.15.13   22
192.168.15.14   22
192.168.15.16   22
/dev/pts/3
12:17:08
#which all
/usr/local/bin/all
/dev/pts/8
12:17:08
#which all
/usr/local/bin/all
/dev/pts/3
12:17:43
#cat `!!`
cat `which all`
#!/bin/sh
cat /root/remote_ssh_config | while read cstr
do
 rh=`echo $cstr | awk '{print $1}'`
 rp=`echo $cstr | awk '{print $2}'`
 ssh -p $rp $rh "$@" | sed "s/^/$rh:$rp   /"
 unset rh rp
done
/dev/pts/8
12:17:43
#cat `!!`
cat `which all`
#!/bin/sh
cat /root/remote_ssh_config | while read cstr
do
 rh=`echo $cstr | awk '{print $1}'`
 rp=`echo $cstr | awk '{print $2}'`
 ssh -p $rp $rh "$@" | sed "s/^/$rh:$rp   /"
 unset rh rp
done
/dev/pts/3
12:17:55
#ssh -p 22 192.168.15.1 date
Срд Июн  3 12:18:58 EEST 2009
/dev/pts/8
12:17:55
#ssh -p 22 192.168.15.1 date
Срд Июн  3 12:18:58 EEST 2009
/dev/pts/3
12:18:56
#ssh -p 22 192.168.15.2 date
Срд Июн  3 12:18:32 UTC 2009
/dev/pts/8
12:18:56
#ssh -p 22 192.168.15.2 date
Срд Июн  3 12:18:32 UTC 2009
/dev/pts/3
12:19:00
#ssh -p 20022 192.168.15.3 date
Wed Jun  3 12:19:06 EEST 2009
/dev/pts/8
12:19:00
#ssh -p 20022 192.168.15.3 date
Wed Jun  3 12:19:06 EEST 2009
/dev/pts/3
12:20:59
#vi remote_ssh_config
/dev/pts/8
12:20:59
#vi remote_ssh_config
--- /tmp/l3-saved-3594.24910.13507	2009-06-03 12:21:08.000000000 +0300
+++ remote_ssh_config	2009-06-03 12:21:13.000000000 +0300
@@ -1,7 +1,6 @@
 192.168.15.1	22
 192.168.15.2	22
 192.168.15.3	20022
-192.168.15.3	20022
 192.168.15.4	4001
 192.168.15.5	22
 192.168.15.6	22
/dev/pts/3
12:27:01
#vi remote_ssh_config
/dev/pts/8
12:27:01
#vi remote_ssh_config
/dev/pts/3
12:27:51
#all date
192.168.15.1  Срд Июн  3 12:27:56 EEST 2009
192.168.15.2  Срд Июн  3 12:27:26 UTC 2009
/dev/pts/8
12:27:51
#all date
192.168.15.1  Срд Июн  3 12:27:56 EEST 2009
192.168.15.2  Срд Июн  3 12:27:26 UTC 2009
12:27:54
#all 'echo 1'
192.168.15.1  1
192.168.15.2  1
/dev/pts/3
12:27:54
#all 'echo 1'
192.168.15.1  1
192.168.15.2  1
12:29:17
#vi /usr/local/bin/all
/dev/pts/8
12:29:17
#vi /usr/local/bin/all
--- /tmp/l3-saved-3594.15436.27741	2009-06-03 12:30:22.000000000 +0300
+++ /usr/local/bin/all	2009-06-03 12:31:26.000000000 +0300
@@ -1,9 +1,9 @@
 #!/bin/sh
 
-cat /root/remote_ssh_config | while read cstr
+cat /root/remote_ssh_config | while read cs
 do
- rh=`echo $cstr | awk '{print $1}'`
-# rp=`echo $cstr | awk '{print $2}'`
+ rh=`echo $cs | awk '{print $1}'`
+# rp=`echo $cs | awk '{print $2}'`
 # ssh -p $rp $rh "$@" | sed "s/^/$rh:$rp   /"
  ssh $rh "$@" | sed "s/^/$rh  /"
 done
/dev/pts/3
12:31:29
#vi /usr/local/bin/all
/dev/pts/8
12:31:29
#vi /usr/local/bin/all
--- /tmp/l3-saved-3594.29898.29646	2009-06-03 12:33:18.000000000 +0300
+++ /usr/local/bin/all	2009-06-03 12:36:05.000000000 +0300
@@ -3,8 +3,7 @@
 cat /root/remote_ssh_config | while read cs
 do
  rh=`echo $cs | awk '{print $1}'`
-# rp=`echo $cs | awk '{print $2}'`
-# ssh -p $rp $rh "$@" | sed "s/^/$rh:$rp   /"
- ssh $rh "$@" | sed "s/^/$rh  /"
+ rp=`echo $cs | awk '{print $2}'`
+ ssh -p $rp $rh "$@" | sed "s/^/$rh:$rp   /"
 done
 
/dev/pts/6
12:33:37
#ssh -N -f -L 11000:192.168.15.1:110 192.168.15.6

/dev/pts/5
12:33:37
#ssh -N -f -L 11000:192.168.15.1:110 192.168.15.6

/dev/pts/3
12:36:05
#vi /usr/local/bin/all
/dev/pts/8
12:36:05
#vi /usr/local/bin/all
--- /tmp/l3-saved-3594.12358.28486	2009-06-03 12:36:08.000000000 +0300
+++ /usr/local/bin/all	2009-06-03 12:57:00.000000000 +0300
@@ -1,9 +1,9 @@
 #!/bin/sh
 
-cat /root/remote_ssh_config | while read cs
+for cs in /root/remote_ssh_config
 do
- rh=`echo $cs | awk '{print $1}'`
- rp=`echo $cs | awk '{print $2}'`
+ rh=`echo $cs | awk 'BEGIN {FS=":"}{print $1}'`
+ rp=`echo $cs | awk 'BEGIN {FS=":"}{print $2}'`
  ssh -p $rp $rh "$@" | sed "s/^/$rh:$rp   /"
 done
 
прошло 14 минут
/dev/pts/6
12:50:18
#pkill ssh

/dev/pts/5
12:50:18
#pkill ssh

/dev/pts/3
12:57:00
#sed -i remote_ssh_config "s/\t/:/"
sed: can't read s/\t/:/: No such file or directory
/dev/pts/8
12:57:00
#sed -i remote_ssh_config "s/\t/:/"
sed: can't read s/\t/:/: No such file or directory
/dev/pts/6
12:57:22
#netstat -nlp -A inet
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:9999            0.0.0.0:*               LISTEN      2619/inetd
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      2058/portmap
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2603/exim4
udp        0      0 0.0.0.0:111             0.0.0.0:*                           2058/portmap
/dev/pts/5
12:57:22
#netstat -nlp -A inet
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:9999            0.0.0.0:*               LISTEN      2619/inetd
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      2058/portmap
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2603/exim4
udp        0      0 0.0.0.0:111             0.0.0.0:*                           2058/portmap
/dev/pts/6
12:57:24
#ssh -N -f -L 12000:192.168.15.1:110 192.168.15.4:4001
ssh: Could not resolve hostname 192.168.15.4:4001: Name or service not known
/dev/pts/5
12:57:24
#ssh -N -f -L 12000:192.168.15.1:110 192.168.15.4:4001
ssh: Could not resolve hostname 192.168.15.4:4001: Name or service not known
/dev/pts/6
12:58:25
#ssh -p 4001 -N -f -L 12000:192.168.15.1:110 192.168.15.4

/dev/pts/5
12:58:25
#ssh -p 4001 -N -f -L 12000:192.168.15.1:110 192.168.15.4

/dev/pts/6
12:59:01
#nc 127.0.0.1 12000
+OK Qpopper (version 4.0.9) at linux1.unix.nt starting.  <8830.1244023160@linux1.unix.nt>
QUIT
+OK Pop server at linux1.unix.nt signing off.
/dev/pts/5
12:59:01
#nc 127.0.0.1 12000
+OK Qpopper (version 4.0.9) at linux1.unix.nt starting.  <8830.1244023160@linux1.unix.nt>
QUIT
+OK Pop server at linux1.unix.nt signing off.
/dev/pts/6
13:00:25
#pkill ssh

/dev/pts/5
13:00:25
#pkill ssh

/dev/pts/6
13:00:35
#/etc/init.d/ssh restart
Restarting OpenBSD Secure Shell server: sshd.
/dev/pts/5
13:00:35
#/etc/init.d/ssh restart
Restarting OpenBSD Secure Shell server: sshd.
/dev/pts/6
13:00:44
#ьфт man bash
       not supplied, no startup files are read, shell functions are not inherited from the environment, the  SHELLOPTS  vari‐
       able,  if  it appears in the environment, is ignored, and the effective user id is set to the real user id.  If the -p
       option is supplied at invocation, the startup behavior is the same, but the effective user id is not reset.
DEFINITIONS
       The following definitions are used throughout the rest of this document.
       blank  A space or tab.
       word   A sequence of characters considered as a single unit by the shell.  Also known as a token.
       name   A word consisting only of alphanumeric characters and underscores, and beginning with an  alphabetic  character
              or an underscore.  Also referred to as an identifier.
       metacharacter
...
              tus of the last command that executes.  If the expansion of the items following in results in an empty list, no
              commands are executed, and the return status is 0.
       for (( expr1 ; expr2 ; expr3 )) ; do list ; done
              First, the arithmetic expression expr1 is evaluated according to the rules  described  below  under  ARITHMETIC
              EVALUATION.   The  arithmetic  expression  expr2 is then evaluated repeatedly until it evaluates to zero.  Each
              time expr2 evaluates to a non-zero value, list is executed and the arithmetic expression  expr3  is  evaluated.
              If  any  expression is omitted, it behaves as if it evaluates to 1.  The return value is the exit status of the
              last command in list that is executed, or false if any of the expressions is invalid.
       select name [ in word ] ; do list ; done
              The list of words following in is expanded, generating a list of items.  The set of expanded words  is  printed
/dev/pts/5
13:00:44
#ьфт man bash
       not supplied, no startup files are read, shell functions are not inherited from the environment, the  SHELLOPTS  vari‐
       able,  if  it appears in the environment, is ignored, and the effective user id is set to the real user id.  If the -p
       option is supplied at invocation, the startup behavior is the same, but the effective user id is not reset.
DEFINITIONS
       The following definitions are used throughout the rest of this document.
       blank  A space or tab.
       word   A sequence of characters considered as a single unit by the shell.  Also known as a token.
       name   A word consisting only of alphanumeric characters and underscores, and beginning with an  alphabetic  character
              or an underscore.  Also referred to as an identifier.
       metacharacter
...
              tus of the last command that executes.  If the expansion of the items following in results in an empty list, no
              commands are executed, and the return status is 0.
       for (( expr1 ; expr2 ; expr3 )) ; do list ; done
              First, the arithmetic expression expr1 is evaluated according to the rules  described  below  under  ARITHMETIC
              EVALUATION.   The  arithmetic  expression  expr2 is then evaluated repeatedly until it evaluates to zero.  Each
              time expr2 evaluates to a non-zero value, list is executed and the arithmetic expression  expr3  is  evaluated.
              If  any  expression is omitted, it behaves as if it evaluates to 1.  The return value is the exit status of the
              last command in list that is executed, or false if any of the expressions is invalid.
       select name [ in word ] ; do list ; done
              The list of words following in is expanded, generating a list of items.  The set of expanded words  is  printed
/dev/pts/3
13:02:35
#sed "s/\t/:/" -i remote_ssh_config

/dev/pts/8
13:02:35
#sed "s/\t/:/" -i remote_ssh_config

/dev/pts/3
13:03:05
#cat remote_ssh_config
192.168.15.1:22
192.168.15.2:22
192.168.15.3:20022
192.168.15.4:4001
192.168.15.5:22
192.168.15.6:22
192.168.15.7:22
192.168.15.9:22
192.168.15.10:22
192.168.15.11:22
192.168.15.12:22
192.168.15.13:22
192.168.15.14:22
192.168.15.16:22
/dev/pts/8
13:03:05
#cat remote_ssh_config
192.168.15.1:22
192.168.15.2:22
192.168.15.3:20022
192.168.15.4:4001
192.168.15.5:22
192.168.15.6:22
192.168.15.7:22
192.168.15.9:22
192.168.15.10:22
192.168.15.11:22
192.168.15.12:22
192.168.15.13:22
192.168.15.14:22
192.168.15.16:22
/dev/pts/3
13:03:10
#all date
Bad port '/root/remote_ssh_config'
sed: -e expression #1, char 6: unknown option to `s'
/dev/pts/8
13:03:10
#all date
Bad port '/root/remote_ssh_config'
sed: -e expression #1, char 6: unknown option to `s'
прошло 52 минуты
13:56:00
#vi /usr/local/bin/all
--- /tmp/l3-saved-3594.10203.5479	2009-06-03 13:56:16.000000000 +0300
+++ /usr/local/bin/all	2009-06-03 14:01:05.000000000 +0300
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-for cs in /root/remote_ssh_config
+for cs in `cat /root/remote_ssh_config`
 do
  rh=`echo $cs | awk 'BEGIN {FS=":"}{print $1}'`
  rp=`echo $cs | awk 'BEGIN {FS=":"}{print $2}'`
/dev/pts/3
13:56:00
#vi /usr/local/bin/all
14:01:07
#vi /usr/local/bin/all
/dev/pts/8
14:01:07
#vi /usr/local/bin/all
--- /tmp/l3-saved-3594.28312.10301	2009-06-03 14:01:11.000000000 +0300
+++ /usr/local/bin/all	2009-06-03 14:01:23.000000000 +0300
@@ -4,7 +4,7 @@
 do
  rh=`echo $cs | awk 'BEGIN {FS=":"}{print $1}'`
  rp=`echo $cs | awk 'BEGIN {FS=":"}{print $2}'`
- echo $rh $rp
-# ssh -p $rp $rh "$@" | sed "s/^/$rh:$rp   /"
+# echo $rh $rp
+ ssh -p $rp $rh "$@" | sed "s/^/$rh:$rp   /"
 done
 
/dev/pts/3
14:03:00
#vi /usr/local/bin/all
/dev/pts/8
14:03:00
#vi /usr/local/bin/all
/dev/pts/3
14:03:54
#vi remote_ssh_config
/dev/pts/8
14:03:54
#vi remote_ssh_config
--- /tmp/l3-saved-3594.7933.20396	2009-06-03 14:04:02.000000000 +0300
+++ remote_ssh_config	2009-06-03 14:04:12.000000000 +0300
@@ -7,8 +7,8 @@
 #192.168.15.7:22
 192.168.15.9:22
 192.168.15.10:22
-192.168.15.11:22
-#192.168.15.12:22
+#192.168.15.11:22
+192.168.15.12:22
 192.168.15.13:22
 192.168.15.14:22
-#192.168.15.16:22
+192.168.15.16:22
/dev/pts/3
14:04:16
#vi remote_ssh_config
/dev/pts/8
14:04:16
#vi remote_ssh_config
--- /tmp/l3-saved-3594.30809.17888	2009-06-03 14:04:22.000000000 +0300
+++ remote_ssh_config	2009-06-03 14:04:34.000000000 +0300
@@ -8,7 +8,7 @@
 192.168.15.9:22
 192.168.15.10:22
 #192.168.15.11:22
-192.168.15.12:22
+#192.168.15.12:22
 192.168.15.13:22
 192.168.15.14:22
-192.168.15.16:22
+#192.168.15.16:22
/dev/pts/6
14:05:11
#rsync --version
rsync  version 3.0.5  protocol version 30
Copyright (C) 1996-2008 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, xattrs, iconv, symtimes
rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
are welcome to redistribute it under certain conditions.  See the GNU
General Public Licence for details.
/dev/pts/5
14:05:11
#rsync --version
rsync  version 3.0.5  protocol version 30
Copyright (C) 1996-2008 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, xattrs, iconv, symtimes
rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
are welcome to redistribute it under certain conditions.  See the GNU
General Public Licence for details.
прошло 40 минут
/dev/pts/6
14:45:45
#apt-get install openvpn
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  portmap
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  libpkcs11-helper1 openssl-blacklist openvpn-blacklist
Suggested packages:
  resolvconf
...
Selecting previously deselected package openvpn-blacklist.
Unpacking openvpn-blacklist (from .../openvpn-blacklist_0.3_all.deb) ...
Selecting previously deselected package openvpn.
Unpacking openvpn (from .../openvpn_2.1~rc15-1_i386.deb) ...
Processing triggers for man-db ...
Setting up openssl-blacklist (0.5-2) ...
Setting up libpkcs11-helper1 (1.07-1) ...
Setting up openvpn-blacklist (0.3) ...
Setting up openvpn (2.1~rc15-1) ...
Restarting virtual private network daemon.:.
/dev/pts/5
14:45:45
#apt-get install openvpn
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  portmap
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  libpkcs11-helper1 openssl-blacklist openvpn-blacklist
Suggested packages:
  resolvconf
...
Selecting previously deselected package openvpn-blacklist.
Unpacking openvpn-blacklist (from .../openvpn-blacklist_0.3_all.deb) ...
Selecting previously deselected package openvpn.
Unpacking openvpn (from .../openvpn_2.1~rc15-1_i386.deb) ...
Processing triggers for man-db ...
Setting up openssl-blacklist (0.5-2) ...
Setting up libpkcs11-helper1 (1.07-1) ...
Setting up openvpn-blacklist (0.3) ...
Setting up openvpn (2.1~rc15-1) ...
Restarting virtual private network daemon.:.
/dev/pts/6
14:48:30
#ls -l /etc/openvpn/
total 4
-rwxr-xr-x 1 root root 1352 2009-05-01 15:25 update-resolv-conf
/dev/pts/5
14:48:30
#ls -l /etc/openvpn/
total 4
-rwxr-xr-x 1 root root 1352 2009-05-01 15:25 update-resolv-conf
/dev/pts/6
14:49:39
#openvpn --help
                  as well as pushes it to connecting clients.
--learn-address cmd : Run script cmd to validate client virtual addresses.
--connect-freq n s : Allow a maximum of n new connections per s seconds.
--max-clients n : Allow a maximum of n simultaneously connected clients.
--max-routes-per-client n : Allow a maximum of n internal routes per client.
--port-share host port : When run in TCP mode, proxy incoming HTTPS sessions
                  to a web server at host:port.
Client options (when connecting to a multi-client server):
--client         : Helper option to easily configure client mode.
--auth-user-pass [up] : Authenticate with server using username/password.
...
Tun/tap config mode (available with linux 2.4+):
--mktun         : Create a persistent tunnel.
--rmtun         : Remove a persistent tunnel.
--dev tunX|tapX : tun/tap device
--dev-type dt   : Device type.  See tunnel options above for details.
--user user     : User to set privilege to.
--group group   : Group to set privilege to.
PKCS#11 standalone options:
--show-pkcs11-ids provider [cert_private] : Show PKCS#11 available ids.
                                            --verb option can be added *BEFORE* this.
/dev/pts/5
14:49:39
#openvpn --help
                  as well as pushes it to connecting clients.
--learn-address cmd : Run script cmd to validate client virtual addresses.
--connect-freq n s : Allow a maximum of n new connections per s seconds.
--max-clients n : Allow a maximum of n simultaneously connected clients.
--max-routes-per-client n : Allow a maximum of n internal routes per client.
--port-share host port : When run in TCP mode, proxy incoming HTTPS sessions
                  to a web server at host:port.
Client options (when connecting to a multi-client server):
--client         : Helper option to easily configure client mode.
--auth-user-pass [up] : Authenticate with server using username/password.
...
Tun/tap config mode (available with linux 2.4+):
--mktun         : Create a persistent tunnel.
--rmtun         : Remove a persistent tunnel.
--dev tunX|tapX : tun/tap device
--dev-type dt   : Device type.  See tunnel options above for details.
--user user     : User to set privilege to.
--group group   : Group to set privilege to.
PKCS#11 standalone options:
--show-pkcs11-ids provider [cert_private] : Show PKCS#11 available ids.
                                            --verb option can be added *BEFORE* this.
/dev/pts/6
14:49:58
#man openvpn | wc -l
2922
/dev/pts/5
14:49:58
#man openvpn | wc -l
2922
/dev/pts/3
14:50:11
#exit
exit
Connection to 192.168.15.2 closed.
/dev/pts/8
14:50:11
#exit
exit
Connection to 192.168.15.2 closed.

Файлы

  • `!!`
  • remote_ssh_config
  • `!!`
    >
    cat `which all`
    #!/bin/sh
    cat /root/remote_ssh_config | while read cstr
    do
     rh=`echo $cstr | awk '{print $1}'`
     rp=`echo $cstr | awk '{print $2}'`
     ssh -p $rp $rh "$@" | sed "s/^/$rh:$rp   /"
     unset rh rp
    done
    
    remote_ssh_config
    >
    192.168.15.1:22
    192.168.15.2:22
    192.168.15.3:20022
    192.168.15.4:4001
    192.168.15.5:22
    192.168.15.6:22
    192.168.15.7:22
    192.168.15.9:22
    192.168.15.10:22
    192.168.15.11:22
    192.168.15.12:22
    192.168.15.13:22
    192.168.15.14:22
    192.168.15.16:22
    

    Статистика

    Время первой команды журнала11:37:32 2009- 6- 3
    Время последней команды журнала14:50:11 2009- 6- 3
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, % 7.92
    Процент синтаксически неверно набранных команд, % 0.00
    Суммарное время работы с терминалом *, час 1.65
    Количество командных строк в единицу времени, команда/мин 1.02
    Частота использования команд
    vi34|=================================| 33.01%
    ssh14|=============| 13.59%
    all13|============| 12.62%
    cat6|=====| 5.83%
    pkill4|===| 3.88%
    sed4|===| 3.88%
    exit4|===| 3.88%
    man2|=| 1.94%
    ьфт2|=| 1.94%
    openvpn2|=| 1.94%
    wc2|=| 1.94%
    nc2|=| 1.94%
    netstat2|=| 1.94%
    rsync2|=| 1.94%
    apt-get2|=| 1.94%
    ~2|=| 1.94%
    ls2|=| 1.94%
    /etc/init.d/ssh2|=| 1.94%
    which2|=| 1.94%
    ____
    *) Интервалы неактивности длительностью 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$