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

Содержание

Журнал

Пятница (06/24/11)

/dev/tty2
16:44:29
#vim /etc/asterisk/iax.conf
--- /tmp/l3-saved-2317.5636.6895	2011-06-24 17:45:03.000000000 +0300
+++ /etc/asterisk/iax.conf	2011-06-24 17:47:52.000000000 +0300
@@ -564,7 +564,7 @@
 ;context=number-please ; we start at the s extension in this context
 ;
 
-register => msk:password@192.168.105.1/ny:5656
+register => msk:password@192.168.105.1:5656
 ;register => joe@remotehost:5656
 
 [ny]
16:47:52
#vim /etc/init.d/asterisk restart
16:48:05
### END INIT INFO
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
/dev/tty1
16:48:09
#asterisk -rvvv
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 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.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux1 (pid = 3675)
...
---------------------
Outstanding frames: 0 (0 ingress, 0 egress)
0 timed and 0 untimed transmits; MTU 0/0/1240
Packets in transmit queue: 0 dead, 0 final, 0 total
    -- Remote UNIX connection
Executing last minute cleanups
  == Destroying musiconhold processes
linux1*CLI> iax2 show stats
Disconnected from Asterisk server
Executing last minute cleanups
16:51:27
#asterisk -rvvv
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 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.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux1 (pid = 3766)
...
ny/msk           192.168.105.1   (S)  255.255.255.255  4569          Unmonitored
1 iax2 peers [0 online, 0 offline, 1 unmonitored]
linux1*CLI>
[Jun 24 18:11:21] NOTICE[3802]: chan_iax2.c:10523 socket_process: Rejected connect attempt from 192.168.105.1, request '1101@default' does not exist
    -- Remote UNIX connection
Executing last minute cleanups
  == Destroying musiconhold processes
linux1*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
/dev/pts/2
16:52:49
#vim /etc/asterisk/iax
16:52:49
#vim /etc/asterisk/iax.conf
--- /tmp/l3-saved-3876.14919.4796	2011-06-24 17:52:59.000000000 +0300
+++ /etc/asterisk/iax.conf	2011-06-24 17:54:01.000000000 +0300
@@ -10,8 +10,8 @@
 ; local addresses).
 ;
 [general]
-register => msk:password@192.168.105.1:5656
-;register => joe@remotehost:5656
+
+
 ;bindport=4569			; bindport and bindaddr may be specified
 ;                               ; NOTE: bindport must be specified BEFORE
 				; bindaddr or may be specified on a specific
@@ -222,6 +222,8 @@
 ; Register joe at remote host with no password
 ;
 ;register => joe@remotehost:5656
+register => msk:password@192.168.105.1:5656
+;register => joe@remotehost:5656
 ;
 ; Register marko at tormenta.linux-support.net using RSA key "torkey"
 ;
@@ -401,6 +403,7 @@
 context=default
 callerid="Guest IAX User"
 
+
 ;
 ; Trust Caller*ID Coming from iaxtel.com
 ;
16:54:14
#[ny]
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 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.
=========================================================================
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux1 (pid = 3766)
Verbosity is at least 3
linux1*CLI> iax2 reload
  == Parsing '/etc/asterisk/iax.conf':   == Found
  == Parsing '/etc/asterisk/users.conf':   == Found
linux1*CLI>
linux1*CLI>
linux1*CLI> iax2 show peers
Name/Username    Host                 Mask             Port          Status
ny/msk           (Unspecified)   (D)  255.255.255.255  0             Unmonitored
demo/asterisk    216.207.245.47  (S)  255.255.255.255  4569          Unmonitored
2 iax2 peers [0 online, 0 offline, 2 unmonitored]
linux1*CLI> quit
Executing last minute cleanups
16:54:51
#vim /etc/asterisk/iax.conf
--- /tmp/l3-saved-3876.4126.18402	2011-06-24 17:54:53.000000000 +0300
+++ /etc/asterisk/iax.conf	2011-06-24 17:59:42.000000000 +0300
@@ -491,11 +491,11 @@
 ; Peers may also be specified, with a secret and
 ; a remote hostname.
 ;
-[demo]
-type=peer
-username=asterisk
-secret=supersecret
-host=216.207.245.47
+;[demo]
+;type=peer
+;username=asterisk
+;secret=supersecret
+;host=216.207.245.47
 ;sendani=no
 ;host=asterisk.linux-support.net
 ;port=5036
@@ -572,7 +572,7 @@
 [ny]
 type=friend
 secret=password
-canreinvite=no
-host=dynamic
+;canreinvite=no
+host=192.168.105.1
 username=msk
-context=default
+;context=default
/dev/tty2
16:55:20
#vim /etc/asterisk/iax.conf
--- /tmp/l3-saved-2317.31025.3431	2011-06-24 17:55:58.000000000 +0300
+++ /etc/asterisk/iax.conf	2011-06-24 17:57:39.000000000 +0300
@@ -572,7 +572,7 @@
 [ny]
 type=friend
 secret=password
-canreinvite=no
+;canreinvite=no
 host=dynamic
 username=msk
-context=default
+;context=default
прошло 13 минут
/dev/pts/2
17:08:23
#; not in the global scope.
; the dialed number.  For most installations, leaving this as 'unknown' (the
; default) works in the most cases.  In some very unusual circumstances, you
; may need to set this to 'dynamic' or 'redundant'.  Note that if you set one
; of the others, you will be unable to dial another class of numbers.  For
; example, if you set 'national', you will be unable to dial local or
; international numbers.
;
; PRI Local Dialplan:  Only RARELY used for PRI (sets the calling number's
; numbering plan).  In North America, the typical use is sending the 10 digit
; callerID number and setting the prilocaldialplan to 'national' (the default).
...
; Ring groups (a.k.a. call groups) and pickup groups.  If a phone is ringing
; and it is a member of a group which is one of your pickup groups, then
; Specify whether the channel should be answered immediately or if the simple
; switch should provide dialtone, read digits, etc. 63.
; Note: If immediate=yes the dialplan execution will always start at extension
; 's' priority 1 regardless of the dialed number!
;ickupgroup=1
; Channel variable to be set for all calls from this channel
;setvar=CHANNEL=42
;setvar=ATTENDED_TRANSFER_COMPLETE_SOUND=beep   ; This channel variable will
17:09:09
#;immediate=yes
context = gr3
channel => 1-15,17-31
"/etc/asterisk/dahdi-channels.conf" 34L, 830C
group = 63
; Span 2: TE2/0/2 "T2XXP (PCI) Card 0 Span 2" (MASTER) HDB3/CCS/CRC4 RED
group=1
;group=0,12
;context=from-pstn
switchtype = euroisdn
signalling = pri_net
context = gr3
channel => 32-46,48-62
;------------------------------------
group = 63
/dev/tty2
17:11:44
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
/dev/tty1
17:11:59
#asterisk -rvvv
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 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.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux1 (pid = 4096)
...
    -- IAX2/ny-5038 requested special control 20, passing it to SIP/1101-00000001
    -- IAX2/ny-5038 requested special control 20, passing it to SIP/1101-00000001
  == Spawn extension (gr3, 1101, 4) exited non-zero on 'IAX2/ny-5038'
    -- Hungup 'IAX2/ny-5038'
    -- Remote UNIX connection
Executing last minute cleanups
  == Destroying musiconhold processes
linux1*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
17:12:43
#asterisk -rvvv
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 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.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux1 (pid = 4197)
...
[Jun 24 18:12:55] WARNING[4247]: channel.c:4201 ast_request: No channel type registered for 'IAX22'
[Jun 24 18:12:55] WARNING[4247]: app_dial.c:1747 dial_exec_full: Unable to create channel of type 'IAX22' (cause 66 - Channel not implemented)
  == Everyone is busy/congested at this time (1:0/0/1)
   -- Auto fallthrough, channel 'SIP/1101-00000001' status is 'CHANUNAVAIL'
    -- Remote UNIX connection
Executing last minute cleanups
  == Destroying musiconhold processes
linux1*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
/dev/tty2
17:12:43
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
/dev/tty1
17:13:02
#asterisk -rvvv
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 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.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux1 (pid = 4370)
...
    -- Executing [2102@gr3:1] Dial("SIP/1101-00000000", "IAX2/ny/2102,5") in new stack
    -- Called ny/2102
    -- Call accepted by 192.168.105.1 (format gsm)
    -- Format for call is gsm
    -- IAX2/ny-4077 answered SIP/1101-00000000
    -- Hungup 'IAX2/ny-4077'
  == Spawn extension (gr3, 2102, 1) exited non-zero on 'SIP/1101-00000000'
linux1*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
/dev/tty2
17:13:15
#vim /etc/asterisk/extensions.conf

Статистика

Время первой команды журнала16:44:29 2011- 6-24
Время последней команды журнала17:13:15 2011- 6-24
Количество командных строк в журнале18
Процент команд с ненулевым кодом завершения, % 0.00
Процент синтаксически неверно набранных команд, % 0.00
Суммарное время работы с терминалом *, час 0.48
Количество командных строк в единицу времени, команда/мин 0.63
Частота использования команд
vim7|======================================| 38.89%
asterisk5|===========================| 27.78%
/etc/init.d/asterisk2|===========| 11.11%
[ny]1|=====| 5.56%
not1|=====| 5.56%
immediate=yes1|=====| 5.56%
##1|=====| 5.56%
____
*) Интервалы неактивности длительностью 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$