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

Содержание

Журнал

Суббота (05/29/10)

/dev/tty3
13:25:16
#man asterisk
13:25:29
#man extension.conf
/dev/pts/7
13:26:50
#vi /tmp/call-queue/702
--- /dev/null	2010-05-28 13:44:02.505126004 +0300
+++ /tmp/call-queue/702	2010-05-29 14:27:44.000000000 +0300
@@ -0,0 +1,3 @@
+301
+302
+201
13:27:44
#cat /usr/local/bin/
callback.sh  l3-agent     l3-config    l3script
13:27:44
#cat /usr/local/bin/callback.sh
#!/bin/sh
CALLERID=$1
EXTENSION=$2
TEMP=`mktemp /tmp/callXXXXXXXXXXXX`.call
cat <<EOF > $TEMP
Channel: Sip/$EXTENSION
Extension: $CALLERID
Context: local
Priority: 1
EOF
chown asterisk:asterisk $TEMP
mv $TEMP /var/spool/asterisk/outgoing/
13:28:11
#cp /usr/local/bin/callback.sh /usr/local/bin/queue.sh

13:28:26
#vi /usr/local/bin/queue.sh
--- /tmp/l3-saved-6777.7315.17745	2010-05-29 14:28:35.000000000 +0300
+++ /usr/local/bin/queue.sh	2010-05-29 14:31:30.000000000 +0300
@@ -1,16 +1,23 @@
 #!/bin/sh
 
-CALLERID=$1
-EXTENSION=$2
-
-TEMP=`mktemp /tmp/callXXXXXXXXXXXX`.call
+EXTEN=$1
+QUEUE=/tmp/call-queue/$EXTEN
+CALL_TO="`head -1 $QUEUE`"
+if [ -n "$CALL_TO" ]
+then
+	sed -i 1d $QUEUE
+	TEMP=`mktemp /tmp/callXXXXXXXXXXXX`.call
 cat <<EOF > $TEMP
-Channel: Sip/$EXTENSION
-Extension: $CALLERID
+Channel: Sip/$EXTEN
+Extension: $CALL_TO
 Context: local
 Priority: 1
 EOF
 
-chown asterisk:asterisk $TEMP
-mv $TEMP /var/spool/asterisk/outgoing/
+	chown asterisk:asterisk $TEMP
+	mv $TEMP /var/spool/asterisk/outgoing/
+fi
+
+
+
 
13:31:58
#chmod +x /usr/local/bin/queue.sh

13:32:16
#cat /tmp/call-queue/701
301
302
201
13:32:18
#/usr/local/bin/queue.sh 701

13:33:15
#fi
302
201
13:33:19
#vi /usr/local/bin/queue.sh
--- /tmp/l3-saved-6777.15497.6161	2010-05-29 14:33:29.000000000 +0300
+++ /usr/local/bin/queue.sh	2010-05-29 14:33:47.000000000 +0300
@@ -14,6 +14,7 @@
 Priority: 1
 EOF
 
+	cat $TEMP
 	chown asterisk:asterisk $TEMP
 	mv $TEMP /var/spool/asterisk/outgoing/
 fi
13:34:47
#vi /tmp/call-queue/701
--- /tmp/l3-saved-6777.23688.3202	2010-05-29 14:34:49.000000000 +0300
+++ /tmp/call-queue/701	2010-05-29 14:34:59.000000000 +0300
@@ -1 +1,3 @@
-201
+3302
+3301
+2201
13:34:59
#/usr/local/bin/queue.sh 701
Channel: Sip/701
Extension: 3302
Context: gr3
Priority: 1
13:35:05
#vi extensions.conf
--- /tmp/l3-saved-6777.9368.10968	2010-05-29 14:36:01.000000000 +0300
+++ extensions.conf	2010-05-29 14:36:37.000000000 +0300
@@ -55,10 +55,10 @@
 exten => _2XXX,n,Dial(Sip/kiev/${EXTEN:1})
 exten => _4XXX,1,Set(CALLERID(number)=5${CALLERID(number)})
 exten => _4XXX,n,Dial(Sip/kharkov/${EXTEN:1})
-;exten => _3XXX,1,Set(CALLERID(number)=5${CALLERID(number)})
-;exten => _3XXX,n,Dial(Sip/odessa/${EXTEN:1})
-;exten => _3XXX,1,Macro(m1,${CALLERID(number)},odessa)
-exten => _3XXX,1,Macro(incoming)
+exten => _3XXX,1,Set(CALLERID(number)=5${CALLERID(number)})
+exten => _3XXX,n,Dial(Sip/odessa/${EXTEN:1})
+exten => _3XXX,1,Macro(m1,${CALLERID(number)},odessa)
+;exten => _3XXX,1,Macro(incoming)
 exten => _5XXX,1,Set(CALLERID(all)=Privet<123>)
 exten => _5XXX,n,Dial(Sip/crimea/${EXTEN:1})
 ;exten => -2323,n,Dial(Sip/sipnet/${EXTEN})
13:36:59
#asterisk -rx 'dialplan reload'
Dialplan reloaded.
13:37:11
#cat /tmp/call-queue/701
2201
13:37:49
#vi /tmp/call-queue/701
--- /tmp/l3-saved-6777.22120.11853	2010-05-29 14:37:54.000000000 +0300
+++ /tmp/call-queue/701	2010-05-29 14:37:57.000000000 +0300
@@ -1 +1,2 @@
+3301
 2201
13:37:57
#cat /tmp/call-queue/701
3301
2201
13:37:59
#/usr/local/bin/queue.sh 701
Channel: Sip/701
Extension: 3301
Context: gr3
Priority: 1
13:38:07
#/usr/local/bin/queue.sh 701
Channel: Sip/701
Extension: 2201
Context: gr3
Priority: 1
13:38:33
#/usr/local/bin/queue.sh 701

13:41:52
#vi extensions.conf
--- /tmp/l3-saved-6777.6124.16533	2010-05-29 14:41:54.000000000 +0300
+++ extensions.conf	2010-05-29 14:42:02.000000000 +0300
@@ -158,7 +158,7 @@
 exten => s,n(busy),Playback(/var/tmp/busy)
 exten => s,n(end),Hangup
 
-exten => h,1,System(/usr/local/bin/queue.sh ${MACRO_EXTEN}
+exten => h,1,System(/usr/local/bin/queue.sh ${MACRO_EXTEN})
 
 [meetme]
 
13:42:02
#asterisk -rvvv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
    -- SIP/701-08219138 is ringing
    -- SIP/701-08219138 is ringing
    -- SIP/701-08219138 is ringing
    -- SIP/701-08219138 answered SIP/dnepr-081deea8
  == Spawn extension (macro-incoming, s, 3) exited non-zero on 'SIP/dnepr-081deea8' in macro 'incoming'
  == Spawn extension (macro-incoming, s, 3) exited non-zero on 'SIP/dnepr-081deea8'
    -- Executing [h@macro-incoming:1] System("SIP/dnepr-081deea8", "/usr/local/bin/queue.sh 701") in new stack
[May 29 14:42:33] NOTICE[10465]: res_monitor.c:339 ast_monitor_stop: monitor executing ( nice -n 19 sox -m "/var/spool/asterisk/monitor/from-301-to-701-2010-05-29-11:42:24-in.wav" "/var/spool/asterisk/monitor/from-301-to-701-2010-05-29-11:42:24-out.wav" "/var/spool/asterisk/monitor/from-301-to-701-2010-05-29-11:42:24.wav"  && rm -f "/var/spool/asterisk/monitor/from-301-to-701-2010-05-29-11:42:24-"
linux1*CLI> quit
Executing last minute cleanups
13:45:49
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
13:48:56
#ls
adsi.conf             features.conf     privacy.conf
adtranvofr.conf       festival.conf     queues.conf
agents.conf           followme.conf     res_odbc.conf
alarmreceiver.conf    func_odbc.conf    res_pgsql.conf
alsa.conf             gtalk.conf        res_snmp.conf
amd.conf              h323.conf         rpt.conf
asterisk.adsi         http.conf         rtp.conf
asterisk.conf         iax.conf          Russian-Tamara-2.0.2-ulaw
cdr.conf              iaxprov.conf      say.conf
cdr_custom.conf       indications.conf  sip.conf
...
cdr_tds.conf          manager.d         sla.conf
codecs.conf           meetme.conf       smdi.conf
dnsmgr.conf           mgcp.conf         telcordia-1.adsi
dundi.conf            misdn.conf        udptl.conf
enum.conf             modules.conf      users.conf
esel.conf             musiconhold.conf  voicemail.conf
extconfig.conf        muted.conf        vpb.conf
extensions.ael        osp.conf          watchdog.conf
extensions.conf       oss.conf          zapata.conf
extensions.conf.save  phone.conf
13:48:58
#ls /usr/local/bin/
callback.sh  l3-agent  l3-config  l3script  queue.sh
13:49:03
#cat /usr/local/bin/queue.sh
#!/bin/sh
EXTEN=$1
QUEUE=/tmp/call-queue/$EXTEN
CALL_TO="`head -1 $QUEUE`"
if [ -n "$CALL_TO" ]
then
        sed -i 1d $QUEUE
        TEMP=`mktemp /tmp/callXXXXXXXXXXXX`.call
cat <<EOF > $TEMP
Channel: Sip/$EXTEN
Extension: $CALL_TO
Context: gr3
Priority: 1
EOF
        cat $TEMP
        chown asterisk:asterisk $TEMP
        mv $TEMP /var/spool/asterisk/outgoing/
fi
13:49:07
#vi /usr/local/bin/queue.sh
--- /tmp/l3-saved-6777.26939.29689	2010-05-29 14:49:18.000000000 +0300
+++ /usr/local/bin/queue.sh	2010-05-29 14:49:30.000000000 +0300
@@ -19,6 +19,3 @@
 	mv $TEMP /var/spool/asterisk/outgoing/
 fi
 
-
-
-
13:49:35
#cat /usr/local/bin/queue.sh
#!/bin/sh
EXTEN=$1
QUEUE=/tmp/call-queue/$EXTEN
CALL_TO="`head -1 $QUEUE`"
if [ -n "$CALL_TO" ]
then
        sed -i 1d $QUEUE
        TEMP=`mktemp /tmp/callXXXXXXXXXXXX`.call
cat <<EOF > $TEMP
Channel: Sip/$EXTEN
Extension: $CALL_TO
Context: gr3
Priority: 1
EOF
        cat $TEMP
        chown asterisk:asterisk $TEMP
        mv $TEMP /var/spool/asterisk/outgoing/
fi
13:49:36
#less extensions.conf
13:55:21
#cat /tmp/call
callbbdqmVNNqIKj  calljBrkPNJwkezz  callNkpXJKQDQtee  callvyMTzoEQOWYR
callByOqaxetQwUx  callKaloQXcZKKAY  callnxpJxyycawjR  callWquvlrgDhWjB
callDRJYeQVGQOeo  callkBecRepiKhSS  callPPMtJBKvjiJl  callXdKpymIiOpRf
callfsSHBRIgpUOR  callKegifZPtVubG  call-queue/       callXoThZWritQHg
callgMIeezQNgnaT  callKjOkdQAUZHdA  callrhOcvtqDnzwz  callXtJVFCQfxHSJ
callIcqHdJrpuUDg  callLkKrILpldfzv  callSTdAHYaUoJVw  callXuEufvTAckNe
callIGMVqyXIlQei  callMEdjSIBPrfVi  callVblWIfZDTCdW  callyoFDHMfgcdfV
calliUWrkpRhRdGt  callNCRaBRisPzrl  callvsLQUSyIrYzQ  callZLFbtiUtZSkE
13:55:21
#cat /tmp/callByOqaxetQwUx

13:55:51
#vi /usr/local/bin/queue.sh
--- /tmp/l3-saved-6777.25119.19332	2010-05-29 14:55:53.000000000 +0300
+++ /usr/local/bin/queue.sh	2010-05-29 14:56:41.000000000 +0300
@@ -6,7 +6,9 @@
 if [ -n "$CALL_TO" ]
 then
 	sed -i 1d $QUEUE
-	TEMP=`mktemp /tmp/callXXXXXXXXXXXX`.call
+	TEMP=`mktemp /tmp/callXXXXXXXXXXXX`
+	mv $TEMP $TEMP.call
+	TEMP=$TEMP.call
 cat <<EOF > $TEMP
 Channel: Sip/$EXTEN
 Extension: $CALL_TO
13:56:41
#ls /tmp/cal*
/tmp/callbbdqmVNNqIKj  /tmp/callKegifZPtVubG  /tmp/callvsLQUSyIrYzQ
/tmp/callByOqaxetQwUx  /tmp/callKjOkdQAUZHdA  /tmp/callvyMTzoEQOWYR
/tmp/callDRJYeQVGQOeo  /tmp/callLkKrILpldfzv  /tmp/callWquvlrgDhWjB
/tmp/callfsSHBRIgpUOR  /tmp/callMEdjSIBPrfVi  /tmp/callXdKpymIiOpRf
/tmp/callgMIeezQNgnaT  /tmp/callNCRaBRisPzrl  /tmp/callXoThZWritQHg
/tmp/callIcqHdJrpuUDg  /tmp/callNkpXJKQDQtee  /tmp/callXtJVFCQfxHSJ
/tmp/callIGMVqyXIlQei  /tmp/callnxpJxyycawjR  /tmp/callXuEufvTAckNe
/tmp/calliUWrkpRhRdGt  /tmp/callPPMtJBKvjiJl  /tmp/callyoFDHMfgcdfV
/tmp/calljBrkPNJwkezz  /tmp/callrhOcvtqDnzwz  /tmp/callZLFbtiUtZSkE
/tmp/callKaloQXcZKKAY  /tmp/callSTdAHYaUoJVw
/tmp/callkBecRepiKhSS  /tmp/callVblWIfZDTCdW
/tmp/call-queue:
701  702
13:57:02
#rm /tmp/cal*
rm: невозможно удалить `/tmp/call-queue': Это каталог
13:57:07
#cat /tmp/call-queue/701
2201
13:57:11
#asterisk -rvvv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
    -- Attempting call on Sip/701 for 2201@gr3:1 (Retry 1)
    -- Executing [2201@gr3:1] Set("SIP/701-081fc6b8", "CALLERID(number)=5") in new stack
    -- Executing [2201@gr3:2] Dial("SIP/701-081fc6b8", "Sip/kiev/201") in new stack
    -- Called kiev/201
    -- SIP/kiev-081e3df0 is ringing
    -- SIP/kiev-081e3df0 answered SIP/701-081fc6b8
  == Spawn extension (gr3, 2201, 2) exited non-zero on 'SIP/701-081fc6b8'
[May 29 14:58:13] NOTICE[10858]: pbx_spool.c:371 attempt_thread: Call completed to Sip/701
linux1*CLI> quit
Executing last minute cleanups
13:58:17
#vi /usr/local/bin/queue.sh
13:58:28
#:q!
sleep: неверный временной интервал `30cat'
sleep: неверный временной интервал `/tmp/call-queue/701'
Попробуйте `sleep --help' для получения более подробного описания.
13:59:03
#cat /tmp/call-queue/701
2201
13:59:10
#ls -l /tmp/call-queue/701
-rw-r--r-- 1 root root 5 Май 29 14:43 /tmp/call-queue/701
13:59:14
#date
Суб Май 29 14:59:16 EEST 2010
13:59:16
#wc -l /tmp/call-queue/701
1 /tmp/call-queue/701
13:59:28
#sed -i 1d /tmp/call-queue/701

13:59:39
#cat /tmp/call-queue/701

14:00:17
#echo 2201 >> /tmp/call-queue/701

14:00:27
#cat /tmp/call-queue/701
2201
14:00:30
#asterisk -rvvv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
    -- SIP/701-081e32b0 is ringing
    -- SIP/701-081e32b0 is ringing
    -- SIP/701-081e32b0 is ringing
    -- SIP/701-081e32b0 answered SIP/dnepr-081e74f0
  == Spawn extension (macro-incoming, s, 3) exited non-zero on 'SIP/dnepr-081e74f0' in macro 'incoming'
  == Spawn extension (macro-incoming, s, 3) exited non-zero on 'SIP/dnepr-081e74f0'
    -- Executing [h@macro-incoming:1] System("SIP/dnepr-081e74f0", "/usr/local/bin/queue.sh 701") in new stack
linux1*CLI>
linux1*CLI> quit
Executing last minute cleanups
14:00:52
#ps axef
  PID TTY      STAT   TIME COMMAND
    2 ?        S<     0:00 [kthreadd]
    3 ?        S<     0:00  \_ [migration/0]
    4 ?        S<     0:01  \_ [ksoftirqd/0]
    5 ?        S<     0:00  \_ [watchdog/0]
    6 ?        S<     0:00  \_ [migration/1]
    7 ?        S<     0:01  \_ [ksoftirqd/1]
    8 ?        S<     0:00  \_ [watchdog/1]
    9 ?        S<     0:18  \_ [events/0]
   10 ?        S<     0:01  \_ [events/1]
...
 4088 pts/6    Ss+    0:00          \_ bash TERM=linux SHELL=/bin/bash L3_PARENT
 2543 tty6     Ss+    0:00 /sbin/getty 38400 tty6 HOME=/ init=/sbin/init TERM=li
 2558 ?        Ss    81:35 l3-agent
 2999 tty1     Ss+    0:00 /bin/login --      HOME=/ init=/sbin/init TERM=linux
 3008 tty1     S+     0:00  \_ script -f -c bash -q /root/.lilalo//2224613527784
 3045 tty1     S+     0:21      \_ script -f -c bash -q /root/.lilalo//222461352
 3046 pts/0    Ss+    0:04          \_ bash TERM=linux SHELL=/bin/bash L3_PARENT
10551 ?        Ssl    0:03 /usr/sbin/asterisk -p -U asterisk TERM=screen SHELL=/
11020 ?        S      0:00  \_ /bin/sh /usr/local/bin/queue.sh 701 SHELL=/bin/ba
11028 ?        S      0:00      \_ sleep 30 TERM=screen SHELL=/bin/bash SSH_CLIE
14:00:59
#chown asterisk:asterisk /tmp/call-queue/701

14:01:13
#ls -l /tmp/call-queue/701
-rw-r--r-- 1 asterisk asterisk 5 Май 29 15:00 /tmp/call-queue/701
14:01:30
#cat /tmp/call-queue/701
2201
14:01:36
#cat /tmp/call-queue/701
2201
14:01:52
#cat /tmp/call-queue/701
2201
14:02:06
#ls -l /tmp/call-queue/701
-rw-r--r-- 1 asterisk asterisk 5 Май 29 15:00 /tmp/call-queue/701
14:03:21
#bash -v -x /usr/local/bin/
callback.sh  l3-agent     l3-config    l3script     queue.sh
14:04:25
#su asterisk -c /usr/local/bin/queue.sh 701'
>
14:04:32
#su asterisk -c '/usr/local/bin/queue.sh 701'

14:04:36
#su -c '/usr/local/bin/queue.sh 701' asterisk

14:05:01
#bg
[1]+ /usr/local/bin/queue.sh 701 &
14:05:03
#cat /tmp/call-queue/701

14:05:09
#+ mv /tmp/callkYFgteWJKMdF.call /var/spool/asterisk/outgoing/
[1]+  Done                    /usr/local/bin/queue.sh 701
14:05:38
#getent asterisk
Неизвестная база данных: asterisk
Попробуйте `getent --help' или `getent --usage' для
получения более подробного описания.
14:05:47
#getent passwd asterisk
asterisk:x:104:106:Asterisk PBX daemon,,,:/var/lib/asterisk:/bin/false
14:05:50
#usermod -s /bin/bash asterisk

14:05:58
#echo 2201 >> /tmp/call-queue/701

14:06:03
#chown asterisk:asterisk /tmp/call-queue/701

14:06:06
#su asterisk
asterisk@linux1:/etc/asterisk$ /usr/local/bin/queue.sh 701
+ EXTEN=701
+ QUEUE=/tmp/call-queue/701
++ head -1 /tmp/call-queue/701
+ CALL_TO=2201
+ '[' -n 2201 ']'
+ sed -i 1d /tmp/call-queue/701
sed: невозможно открыть временный файл /tmp/call-queue//sedGNjNHq: Отказано в доступе
++ mktemp /tmp/callXXXXXXXXXXXX
+ TEMP=/tmp/callcrIeQRXjSVXQ
...
+ cat /tmp/callcrIeQRXjSVXQ.call
Channel: Sip/701
Extension: 2201
Context: gr3
Priority: 1
+ chown asterisk:asterisk /tmp/callcrIeQRXjSVXQ.call
+ sleep 30
^C
asterisk@linux1:/etc/asterisk$ exit
exit
14:06:25
#chown asterisk:asterisk -R /tmp/call-queue

14:06:39
#cat /tmp/call-queue/701
2201
14:06:55
#cat /tmp/call-queue/701

14:07:40
#free -m
             total       used       free     shared    buffers     cached
Mem:          3027        216       2810          0         63         79
-/+ buffers/cache:         73       2953
Swap:         2588          0       2588
14:08:37
#ps axef
  PID TTY      STAT   TIME COMMAND
    2 ?        S<     0:00 [kthreadd]
    3 ?        S<     0:00  \_ [migration/0]
    4 ?        S<     0:01  \_ [ksoftirqd/0]
    5 ?        S<     0:00  \_ [watchdog/0]
    6 ?        S<     0:00  \_ [migration/1]
    7 ?        S<     0:01  \_ [ksoftirqd/1]
    8 ?        S<     0:00  \_ [watchdog/1]
    9 ?        S<     0:19  \_ [events/0]
   10 ?        S<     0:01  \_ [events/1]
...
 4050 tty5     S+     0:00  \_ script -f -c bash -q /root/.lilalo//1933093271577
 4087 tty5     S+     0:00      \_ script -f -c bash -q /root/.lilalo//193309327
 4088 pts/6    Ss+    0:00          \_ bash TERM=linux SHELL=/bin/bash L3_PARENT
 2543 tty6     Ss+    0:00 /sbin/getty 38400 tty6 HOME=/ init=/sbin/init TERM=li
 2558 ?        Rs    87:09 l3-agent
 2999 tty1     Ss+    0:00 /bin/login --      HOME=/ init=/sbin/init TERM=linux
 3008 tty1     S+     0:00  \_ script -f -c bash -q /root/.lilalo//2224613527784
 3045 tty1     S+     0:21      \_ script -f -c bash -q /root/.lilalo//222461352
 3046 pts/0    Ss+    0:04          \_ bash TERM=linux SHELL=/bin/bash L3_PARENT
10551 ?        Ssl    0:04 /usr/sbin/asterisk -p -U asterisk TERM=screen SHELL=/
14:08:52
#ps axef|less
14:09:17
#ls
adsi.conf             features.conf     privacy.conf
adtranvofr.conf       festival.conf     queues.conf
agents.conf           followme.conf     res_odbc.conf
alarmreceiver.conf    func_odbc.conf    res_pgsql.conf
alsa.conf             gtalk.conf        res_snmp.conf
amd.conf              h323.conf         rpt.conf
asterisk.adsi         http.conf         rtp.conf
asterisk.conf         iax.conf          Russian-Tamara-2.0.2-ulaw
cdr.conf              iaxprov.conf      say.conf
cdr_custom.conf       indications.conf  sip.conf
...
cdr_tds.conf          manager.d         sla.conf
codecs.conf           meetme.conf       smdi.conf
dnsmgr.conf           mgcp.conf         telcordia-1.adsi
dundi.conf            misdn.conf        udptl.conf
enum.conf             modules.conf      users.conf
esel.conf             musiconhold.conf  voicemail.conf
extconfig.conf        muted.conf        vpb.conf
extensions.ael        osp.conf          watchdog.conf
extensions.conf       oss.conf          zapata.conf
extensions.conf.save  phone.conf
14:09:19
#ls -l
итого 320
-rw-r----- 1 asterisk asterisk   140 Дек 14 21:08 adsi.conf
-rw-r----- 1 asterisk asterisk   840 Дек 14 21:08 adtranvofr.conf
-rw-r----- 1 asterisk asterisk  2724 Дек 14 21:08 agents.conf
-rw-r----- 1 asterisk asterisk  2227 Дек 14 21:08 alarmreceiver.conf
-rw-r----- 1 asterisk asterisk  2675 Дек 14 21:08 alsa.conf
-rw-r----- 1 asterisk asterisk   767 Дек 14 21:08 amd.conf
-rw-r----- 1 asterisk asterisk  3260 Дек 14 21:08 asterisk.adsi
-rw-r----- 1 asterisk asterisk   247 Дек 14 20:58 asterisk.conf
-rw-r----- 1 asterisk asterisk  7324 Дек 14 21:08 cdr.conf
...
-rw-r----- 1 asterisk asterisk  4044 Дек 14 21:08 skinny.conf
-rw-r----- 1 asterisk asterisk  6691 Дек 14 21:08 sla.conf
-rw-r----- 1 asterisk asterisk  2665 Дек 14 21:08 smdi.conf
-rw-r----- 1 asterisk asterisk  1384 Дек 14 21:08 telcordia-1.adsi
-rw-r----- 1 asterisk asterisk   598 Дек 14 21:08 udptl.conf
-rw-r----- 1 asterisk asterisk  1804 Дек 14 21:08 users.conf
-rw-r----- 1 asterisk asterisk 11725 Май 27 12:23 voicemail.conf
-rw-r----- 1 asterisk asterisk  2772 Дек 14 21:08 vpb.conf
-rw-r----- 1 asterisk asterisk   393 Дек 14 21:08 watchdog.conf
-rw-r----- 1 asterisk asterisk 24194 Май 28 17:17 zapata.conf
14:09:22
#ls
adsi.conf             features.conf     privacy.conf
adtranvofr.conf       festival.conf     queues.conf
agents.conf           followme.conf     res_odbc.conf
alarmreceiver.conf    func_odbc.conf    res_pgsql.conf
alsa.conf             gtalk.conf        res_snmp.conf
amd.conf              h323.conf         rpt.conf
asterisk.adsi         http.conf         rtp.conf
asterisk.conf         iax.conf          Russian-Tamara-2.0.2-ulaw
cdr.conf              iaxprov.conf      say.conf
cdr_custom.conf       indications.conf  sip.conf
...
cdr_tds.conf          manager.d         sla.conf
codecs.conf           meetme.conf       smdi.conf
dnsmgr.conf           mgcp.conf         telcordia-1.adsi
dundi.conf            misdn.conf        udptl.conf
enum.conf             modules.conf      users.conf
esel.conf             musiconhold.conf  voicemail.conf
extconfig.conf        muted.conf        vpb.conf
extensions.ael        osp.conf          watchdog.conf
extensions.conf       oss.conf          zapata.conf
extensions.conf.save  phone.conf
14:09:37
#ls
adsi.conf             features.conf     privacy.conf
adtranvofr.conf       festival.conf     queues.conf
agents.conf           followme.conf     res_odbc.conf
alarmreceiver.conf    func_odbc.conf    res_pgsql.conf
alsa.conf             gtalk.conf        res_snmp.conf
amd.conf              h323.conf         rpt.conf
asterisk.adsi         http.conf         rtp.conf
asterisk.conf         iax.conf          Russian-Tamara-2.0.2-ulaw
cdr.conf              iaxprov.conf      say.conf
cdr_custom.conf       indications.conf  sip.conf
...
cdr_tds.conf          manager.d         sla.conf
codecs.conf           meetme.conf       smdi.conf
dnsmgr.conf           mgcp.conf         telcordia-1.adsi
dundi.conf            misdn.conf        udptl.conf
enum.conf             modules.conf      users.conf
esel.conf             musiconhold.conf  voicemail.conf
extconfig.conf        muted.conf        vpb.conf
extensions.ael        osp.conf          watchdog.conf
extensions.conf       oss.conf          zapata.conf
extensions.conf.save  phone.conf
14:10:05
#apt-get install ejabberd
Display all 29303 possibilities? (y or n)
14:10:05
#apt-get install ejabberd
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
  erlang-base erlang-nox libexpat1 libsctp1 lksctp-tools
Предлагаемые пакеты:
  libunix-syslog-perl erlang-x11 erlang erlang-manpages erlang-doc-html
НОВЫЕ пакеты, которые будут установлены:
  ejabberd erlang-base erlang-nox libexpat1 libsctp1 lksctp-tools
обновлено 0, установлено 6 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
...
Generating SSL certificate /etc/ejabberd/ejabberd.pem...
Creating config file /etc/ejabberd/ejabberd.cfg with new version
Starting jabber server: ejabberd.
................................^Cdpkg: не удалось обработать параметр ejabberd (--configure):
 подпроцесс post-installation script убит по сигналу (Прерывание)
Настраивается пакет lksctp-tools (1.0.9.dfsg-1) ...
.
При обработке следующих пакетов произошли ошибки:
 ejabberd
E: Sub-process /usr/bin/dpkg returned an error code (1)
14:16:28
#vi /etc/bind/db.
14:16:28
#vi /etc/bind/db.dnepr.unix.nt
--- /tmp/l3-saved-6777.4262.7128	2010-05-29 15:16:43.000000000 +0300
+++ /etc/bind/db.dnepr.unix.nt	2010-05-29 15:17:02.000000000 +0300
@@ -3,3 +3,4 @@
            MX        10 mail
 ns         A         192.168.1.1 	
 mail       A         192.168.1.1
+jabber     A         192.168.1.1
14:17:02
#/etc/init.d/bind9 restart
Stopping domain name service...: bind9 waiting for pid 2336 to die.
Starting domain name service...: bind9.
14:17:10
#host jabber.dnepr.unix.nt
jabber.dnepr.unix.nt has address 192.168.1.1
14:17:16
#dpkg-reconfigure ejabberd
/usr/sbin/dpkg-reconfigure: Пакет ejabberd сломан или установлен не полностью
14:17:29
#apt-get install ejabberd
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Уже установлена самая новая версия ejabberd.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
не установлено до конца или удалено 1 пакетов.
После данной операции, объём занятого дискового пространства возрастёт на 0B.
Настраивается пакет ejabberd (2.0.1-6+lenny2) ...
Starting jabber server: ejabberd.c^Cdpkg: не удалось обработать параметр ejabberd (--configure):
 подпроцесс post-installation script убит по сигналу (Прерывание)
.
При обработке следующих пакетов произошли ошибки:
 ejabberd
E: Sub-process /usr/bin/dpkg returned an error code (1)
14:17:51
#hostname
linux1.unix.nt
14:17:56
#cat /etc/hostname
linux1.unix.nt
14:18:06
#cat /etc/hosts
127.0.0.1       localhost
192.168.15.1    linux1.unix.nt  linux1
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
14:18:08
#vi /etc/hosts
--- /tmp/l3-saved-6777.15602.16047	2010-05-29 15:18:15.000000000 +0300
+++ /etc/hosts	2010-05-29 15:18:18.000000000 +0300
@@ -1,5 +1,5 @@
 127.0.0.1	localhost
-192.168.15.1	linux1.unix.nt	linux1
+192.168.1.1	linux1.unix.nt	linux1
 
 # The following lines are desirable for IPv6 capable hosts
 ::1     localhost ip6-localhost ip6-loopback
14:18:18
#apt-get install ejabberd
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Уже установлена самая новая версия ejabberd.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
не установлено до конца или удалено 1 пакетов.
После данной операции, объём занятого дискового пространства возрастёт на 0B.
Настраивается пакет ejabberd (2.0.1-6+lenny2) ...
Starting jabber server: ejabberd already running.
14:18:22
#cat /etc/hosts
127.0.0.1       localhost
192.168.1.1     linux1.unix.nt  linux1
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
14:18:26
#dpkg-reconfigure ejabberd
            │ Введите пароль администратора ещё раз для проверки.  │
            │                                                      │
            │ Повторный ввод пароля администратора для проверки:   │
            │                                                      │
            â”********______________________________________________ │
            │                                                      │
            │                        <Ok>                          │
            │                                                      │
            └──────────────────────────────────────────────────────┘
Replacing config file /etc/ejabberd/ejabberd.cfg with new version
Starting jabber server: ejabberd.
Waiting for ejabberd to register admin user
Admin user "admin@jabber.dnepr.unix.nt" is registered successfully.
14:22:18
#netstat -lnp | less
14:23:06
#netstat -lnp | grep beam
tcp        0      0 0.0.0.0:5280            0.0.0.0:*               LISTEN      13316/beam
tcp        0      0 192.168.1.1:7777        0.0.0.0:*               LISTEN      13316/beam
tcp        0      0 0.0.0.0:59269           0.0.0.0:*               LISTEN      13316/beam
tcp        0      0 0.0.0.0:5222            0.0.0.0:*               LISTEN      13316/beam
tcp        0      0 0.0.0.0:5269            0.0.0.0:*               LISTEN      13316/beam
14:23:09
#apt-get install sendxmpp
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
  libauthen-sasl-perl libio-socket-ssl-perl libnet-libidn-perl
  libnet-ssleay-perl libnet-xmpp-perl libxml-stream-perl
Предлагаемые пакеты:
  libgssapi-perl
НОВЫЕ пакеты, которые будут установлены:
  libauthen-sasl-perl libio-socket-ssl-perl libnet-libidn-perl
...
Выбор ранее не выбранного пакета sendxmpp.
Распаковывается пакет sendxmpp (из файла .../sendxmpp_1.14-1_all.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет libauthen-sasl-perl (2.12-1) ...
Настраивается пакет libnet-ssleay-perl (1.35-1) ...
Настраивается пакет libio-socket-ssl-perl (1.16-1+lenny1) ...
Настраивается пакет libnet-libidn-perl (0.07-1+b1) ...
Настраивается пакет libxml-stream-perl (1.22-3) ...
Настраивается пакет libnet-xmpp-perl (1.02-1) ...
Настраивается пакет sendxmpp (1.14-1) ...
прошло 39 минут
15:02:39
#apt-get install sendxmpp
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Уже установлена самая новая версия sendxmpp.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
15:02:49
#vi ~/.sendxmpprc
--- /dev/null	2010-05-28 13:44:02.505126004 +0300
+++ /root/.sendxmpprc	2010-05-29 16:03:40.000000000 +0300
@@ -0,0 +1,2 @@
+asterisk@jabber.dnepr.unix.nt password
+
15:05:36
#chmod 600 ~/.sendxmpprc

15:05:41
#echo test | sendxmpp user@jabber.dnepr.unix.nt

Файлы

  • /etc/hostname
  • /etc/hosts
  • /tmp/call
  • /tmp/call-queue/701
  • /tmp/callByOqaxetQwUx
  • /usr/local/bin/callback.sh
  • /usr/local/bin/queue.sh
  • /etc/hostname
    >
    linux1.unix.nt
    
    /etc/hosts
    >
    127.0.0.1       localhost
    192.168.1.1     linux1.unix.nt  linux1
    # The following lines are desirable for IPv6 capable hosts
    ::1     localhost ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
    ff02::3 ip6-allhosts
    
    /tmp/call
    >
    callbbdqmVNNqIKj  calljBrkPNJwkezz  callNkpXJKQDQtee  callvyMTzoEQOWYR
    callByOqaxetQwUx  callKaloQXcZKKAY  callnxpJxyycawjR  callWquvlrgDhWjB
    callDRJYeQVGQOeo  callkBecRepiKhSS  callPPMtJBKvjiJl  callXdKpymIiOpRf
    callfsSHBRIgpUOR  callKegifZPtVubG  call-queue/       callXoThZWritQHg
    callgMIeezQNgnaT  callKjOkdQAUZHdA  callrhOcvtqDnzwz  callXtJVFCQfxHSJ
    callIcqHdJrpuUDg  callLkKrILpldfzv  callSTdAHYaUoJVw  callXuEufvTAckNe
    callIGMVqyXIlQei  callMEdjSIBPrfVi  callVblWIfZDTCdW  callyoFDHMfgcdfV
    calliUWrkpRhRdGt  callNCRaBRisPzrl  callvsLQUSyIrYzQ  callZLFbtiUtZSkE
    
    /tmp/call-queue/701
    >
    /tmp/callByOqaxetQwUx
    >
    /usr/local/bin/callback.sh
    >
    #!/bin/sh
    CALLERID=$1
    EXTENSION=$2
    TEMP=`mktemp /tmp/callXXXXXXXXXXXX`.call
    cat <<EOF > $TEMP
    Channel: Sip/$EXTENSION
    Extension: $CALLERID
    Context: local
    Priority: 1
    EOF
    chown asterisk:asterisk $TEMP
    mv $TEMP /var/spool/asterisk/outgoing/
    
    /usr/local/bin/queue.sh
    >
    #!/bin/sh
    EXTEN=$1
    QUEUE=/tmp/call-queue/$EXTEN
    CALL_TO="`head -1 $QUEUE`"
    if [ -n "$CALL_TO" ]
    then
            sed -i 1d $QUEUE
            TEMP=`mktemp /tmp/callXXXXXXXXXXXX`.call
    cat <<EOF > $TEMP
    Channel: Sip/$EXTEN
    Extension: $CALL_TO
    Context: gr3
    Priority: 1
    EOF
            cat $TEMP
            chown asterisk:asterisk $TEMP
            mv $TEMP /var/spool/asterisk/outgoing/
    fi
    

    Статистика

    Время первой команды журнала13:25:16 2010- 5-29
    Время последней команды журнала15:05:41 2010- 5-29
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %11.88
    Процент синтаксически неверно набранных команд, % 0.00
    Суммарное время работы с терминалом *, час 1.02
    Количество командных строк в единицу времени, команда/мин 1.66
    Частота использования команд
    cat22|====================| 20.18%
    vi14|============| 12.84%
    ls10|=========| 9.17%
    apt-get6|=====| 5.50%
    queue.sh5|====| 4.59%
    asterisk4|===| 3.67%
    su4|===| 3.67%
    echo3|==| 2.75%
    ps3|==| 2.75%
    chown3|==| 2.75%
    less3|==| 2.75%
    man2|=| 1.83%
    chmod2|=| 1.83%
    dpkg-reconfigure2|=| 1.83%
    netstat2|=| 1.83%
    7012|=| 1.83%
    >2|=| 1.83%
    getent2|=| 1.83%
    /etc/init.d/bind91|| 0.92%
    +1|| 0.92%
    host1|| 0.92%
    /etc/init.d/asterisk1|| 0.92%
    cp1|| 0.92%
    :q!1|| 0.92%
    rm1|| 0.92%
    bg1|| 0.92%
    wc1|| 0.92%
    free1|| 0.92%
    sed1|| 0.92%
    fi1|| 0.92%
    sendxmpp1|| 0.92%
    bash1|| 0.92%
    grep1|| 0.92%
    hostname1|| 0.92%
    date1|| 0.92%
    usermod1|| 0.92%
    ____
    *) Интервалы неактивности длительностью 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$