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

Содержание

Журнал

Вторник (04/22/14)

/dev/tty1
13:06:32
#l3pwd
/users/olegGIGA/Asterisk_lab/debian1/root
13:06:39
#nano bashrc
13:13:19
#~/.bashrc: executed by bash(1) for non-login shells.
asterisk-config - Configuration files for Asterisk
asterisk-dahdi - DAHDI devices support for the Asterisk PBX
asterisk-dbg - Debugging symbols for Asterisk
asterisk-dev - Development files for Asterisk
asterisk-doc - Source code documentation for Asterisk
asterisk-mobile - Bluetooth phone support for the Asterisk PBX
asterisk-modules - loadable modules for the Asterisk PBX
asterisk-mp3 - MP3 playback support for the Asterisk PBX
asterisk-mysql - MySQL database protocol support for the Asterisk PBX
asterisk-ooh323 - H.323 protocol support for the Asterisk PBX - ooH323c
...
python-asterisk - Asterisk Manager API interface module for Python
libsipwitch-dev - secure peer-to-peer SIP VoIP server - development files
libsipwitch1 - secure peer-to-peer SIP VoIP server - development files
libsipwitch1-dbg - secure peer-to-peer SIP VoIP server - development files
sipwitch - secure peer-to-peer VoIP server for the SIP protocol
sipwitch-cgi - secure peer-to-peer SIP VoIP server - CGI XML-RPC interface
python-starpy - Asterisk (AMI) protocols for Twisted Python
asterisk - телефонная станция для учреждений (PBX)
asterisk-prompt-es - Spanish prompts for the Asterisk PBX
dahdi-firmware-nonfree - DAHDI non-free firmware
/dev/pts/0
13:14:51
#asterisk -rvvvv
Asterisk 1.8.13.1~dfsg1-3+deb7u3, Copyright (C) 1999 - 2012 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.8.13.1~dfsg1-3+deb7u3 currently running on debian1 (pid = 16010)
Verbosity is at least 7
debian1*CLI> sip reload
 Reloading SIP
  == Parsing '/etc/asterisk/sip.conf':   == Found
[Apr 22 15:51:30] WARNING[16035]: config.c:1291 process_text_line: parse error: No category context for line 1 of /etc/asterisk/sip.conf
[Apr 22 15:51:30] ERROR[16035]: chan_sip.c:28034 reload_config: Contents of sip.conf are invalid and cannot be parsed
debian1*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
/dev/tty1
13:20:19
#apt-get install asterisk
Распаковывается пакет libcurl3:amd64 (из файла …/libcurl3_7.26.0-1+wheezy9_amd64.deb) …
Выбор ранее не выбранного пакета libgettextpo0:amd64.
Распаковывается пакет libgettextpo0:amd64 (из файла …/libgettextpo0_0.18.1.1-9_amd64.deb) …
Выбор ранее не выбранного пакета libodbc1:amd64.
Распаковывается пакет libodbc1:amd64 (из файла …/libodbc1_2.2.14p2-5_amd64.deb) …
Выбор ранее не выбранного пакета libsensors4:amd64.
Распаковывается пакет libsensors4:amd64 (из файла …/libsensors4_1%3a3.3.2-2+deb7u1_amd64.deb) …
Выбор ранее не выбранного пакета freetds-common.
Распаковывается пакет freetds-common (из файла …/freetds-common_0.91-2+deb7u1_all.deb) …
Выбор ранее не выбранного пакета libsybdb5:amd64.
...
Настраивается пакет libmail-sendmail-perl (0.79.16-1) …
Настраивается пакет libsox2 (14.4.0-3) …
Настраивается пакет libsox-fmt-alsa (14.4.0-3) …
Настраивается пакет libsox-fmt-base (14.4.0-3) …
Настраивается пакет module-assistant (0.11.4) …
Настраивается пакет rsync (3.0.9-4) …
update-rc.d: using dependency based boot sequencing
Настраивается пакет sox (14.4.0-3) …
Настраивается пакет vpb-driver-source (4.2.55-1) …
Настраивается пакет asterisk-moh-opsound-gsm (2.03-1) …
13:27:18
#asterisk -rvvvv
Asterisk 1.8.13.1~dfsg1-3+deb7u3, Copyright (C) 1999 - 2012 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.8.13.1~dfsg1-3+deb7u3 currently running on debian1 (pid = 15782)
Verbosity was 0 and is now 4
debian1*CLI> exit
Executing last minute cleanups
13:29:28
#dpkg -L asterisk
/.
/usr
/usr/share
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/asterisk
/usr/share/doc
/usr/share/doc/asterisk
/usr/share/doc/asterisk/NEWS.Debian.gz
/usr/share/doc/asterisk/changelog.gz
...
/etc/init.d/asterisk
/etc/asterisk
/etc/logrotate.d
/etc/logrotate.d/asterisk
/etc/default
/etc/default/asterisk
/usr/share/asterisk/sounds/custom
/usr/share/asterisk/sounds/recordings
/usr/share/man/man8/rasterisk.8.gz
/usr/sbin/rasterisk
13:32:05
#dpkg -L asterisk | less
13:33:15
#asterisk -rvvvv
Asterisk 1.8.13.1~dfsg1-3+deb7u3, Copyright (C) 1999 - 2012 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.8.13.1~dfsg1-3+deb7u3 currently running on debian1 (pid = 15782)
...
  PID file:                    /var/run/asterisk/asterisk.pid
  VarLib directory:            /var/lib/asterisk
  Data directory:              /usr/share/asterisk
  ASTDB:                       /var/lib/asterisk/astdb
  IAX2 Keys directory:         /usr/share/asterisk/keys
  AGI Scripts directory:       /usr/share/asterisk/agi-bin
debian1*CLI> core show version
Asterisk 1.8.13.1~dfsg1-3+deb7u3 built by pbuilder @ pungenday on a x86_64 running Linux on 2014-01-04 01:03:48 UTC
debian1*CLI> exit
Executing last minute cleanups
прошло 25 минут
13:59:13
#/etc/init.d/asterisk stop
Stopping Asterisk PBX: asterisk.
14:00:38
#/etc/init.d/asterisk start
Starting Asterisk PBX: asterisk.
14:04:02
#asterisk -rx core show settings
No such command 'core' (type 'core show help core' for other possible commands)
14:04:40
#asterisk -rx "'core show settings'"
No such command ''core show settings'' (type 'core show help 'core show' for other possible commands)
14:05:08
#asterisk -rx "'core show version'"
No such command ''core show version'' (type 'core show help 'core show' for other possible commands)
14:05:23
#asterisk -rx "`core show version`"
l3script: core: команда не найдена
14:05:33
#asterisk -rx "'core show version'"
No such command ''core show version'' (type 'core show help 'core show' for other possible commands)
14:06:19
#asterisk -rx "core show version"
Asterisk 1.8.13.1~dfsg1-3+deb7u3 built by pbuilder @ pungenday on a x86_64 running Linux on 2014-01-04 01:03:48 UTC
14:06:50
#nano /etc/asterisk/sip
14:06:50
#nano /etc/asterisk/sip
14:06:50
#nano /etc/asterisk/sip.conf
--- /tmp/l3-saved-10858.3730.18066	2014-04-22 15:29:45.134674209 +0300
+++ /etc/asterisk/sip.conf	2014-04-22 15:34:13.866681290 +0300
@@ -1,8 +1,4 @@
-;
-; SIP Configuration example for Asterisk
-;
-; Note: Please read the security documentation for Asterisk in order to
-; 	understand the risks of installing Asterisk with the sample
+risks of installing Asterisk with the sample
 ;	configuration. If your Asterisk is installed on a public
 ;	IP address connected to the Internet, you will want to learn
 ;	about the various security settings BEFORE you start
@@ -1382,3 +1378,9 @@
                                 ; if the nat option is enabled. If a single RTP packet is received Asterisk will know the
                                 ; external IP address of the remote device. If port forwarding is done at the client side
                                 ; then UDPTL will flow to the remote device.
+[100]
+type=friend
+secret=blah
+qualify=200 
+host=dynamic
+
прошло 34 минуты
14:41:36
#nano /etc/asterisk/sip.conf
--- /tmp/l3-saved-10858.24685.19209	2014-04-22 15:41:38.778692952 +0300
+++ /etc/asterisk/sip.conf	2014-04-22 15:43:48.274696349 +0300
@@ -1,6 +1,6 @@
 context=default
 
-[100]
+[1100]
 type=friend
 secret=1234
 host=dynamic
14:45:29
#nano /etc/asterisk/sip.conf
--- /tmp/l3-saved-10858.30015.4182	2014-04-22 15:45:31.526699073 +0300
+++ /etc/asterisk/sip.conf	2014-04-22 15:46:32.258700660 +0300
@@ -1,7 +1,11 @@
 context=default
 
-[1100]
+[1101]
 type=friend
 secret=1234
 host=dynamic
 
+[1102]
+type=friend
+secret=1234
+host=dynamic
/dev/pts/0
14:51:59
#asterisk -rvvvv
Asterisk 1.8.13.1~dfsg1-3+deb7u3, Copyright (C) 1999 - 2012 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.8.13.1~dfsg1-3+deb7u3 currently running on debian1 (pid = 16010)
...
1102                       (Unspecified)                            D   N             0        Unmonitored
2 sip peers [Monitored: 0 online, 0 offline Unmonitored: 0 online, 2 offline]
debian1*CLI> sip show peers
Name/username              Host                                    Dyn Forcerport ACL Port     Status
1101                       (Unspecified)                            D   N             0        Unmonitored
1102                       (Unspecified)                            D   N             0        Unmonitored
2 sip peers [Monitored: 0 online, 0 offline Unmonitored: 0 online, 2 offline]
debian1*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
прошло 19 минут
/dev/tty1
15:11:34
#[general]
eth0      Link encap:Ethernet  HWaddr 2c:27:d7:46:1a:50
          inet addr:192.168.12.1  Bcast:192.168.12.255  Mask:255.255.255.0
          inet6 addr: fe80::2e27:d7ff:fe46:1a50/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:60277 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4495 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:68187616 (65.0 MiB)  TX bytes:606517 (592.3 KiB)
          Interrupt:20 Memory:fe400000-fe420000
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:156 errors:0 dropped:0 overruns:0 frame:0
          TX packets:156 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:9360 (9.1 KiB)  TX bytes:9360 (9.1 KiB)
15:11:39
#ls
111  install
прошло 15 минут
15:27:34
#12
l3script: 12: команда не найдена
15:27:46
#ls
111  dhcpd.conf  install  isc-dhcp-server
15:30:02
#nano /etc/asterisk/sip.conf
прошло 26 минут
15:56:46
#nsipsho [general]

15:59:58
#[general]
  GNU nano 2.2.6                                                             Файл: /etc/asterisk/extensions.conf                                                                                                                   Изменён
; the pbx_config module. This is where you configure all your
; inbound and outbound calls in Asterisk.
;
; This configuration file is reloaded
; - With the "dialplan reload" command in the CLI
; - With the "reload" command (that reloads everything) in the CLI
;
; The "General" category is for certain variables.
;
...
;
; ****This is a new feature! *********************
; The new pattern matcher is for the brave, the bold, and
; the desperate. If you have large dialplans (more than about 50 extensions
; in a context), and/or high call volume, you might consider setting
; this value to "yes" !!
; Please, if you try this out, and are forced to return to the
; old pattern matcher, please report your reasons in a bug report
^G Помощь                         ^O Записать                     ^R ЧитФайл                       ^Y ПредCтр                        ^K Вырезать                     ^C ТекПозиц
^X Выход                           ^J Выровнять                   ^W Поиск                           ^V СледCтр                        ^U ОтмВырезк                   ^T Словарь
прошло 16 минут
16:16:27
#nano /etc/asterisk/extensions.conf
--- /tmp/l3-saved-10858.27238.27775	2014-04-22 17:16:28.958842397 +0300
+++ /etc/asterisk/extensions.conf	2014-04-22 17:17:07.418843413 +0300
@@ -1,6 +1,6 @@
 [default]
 exten => _X.,1,NoOp(ANI: ${EXTEN})
-exten => _X.,n,Dial sip/${EXTEN}
+exten => _X.,n,Dial (SIP/${EXTEN})
 
 
 ; For more information on applications, just type "core show applications" at your
16:18:02
#nano /etc/asterisk/extensions.conf
--- /tmp/l3-saved-10858.9632.14625	2014-04-22 17:18:04.014844899 +0300
+++ /etc/asterisk/extensions.conf	2014-04-22 17:18:27.802845516 +0300
@@ -1,5 +1,5 @@
 [default]
-exten => _X.,1,NoOp(ANI: ${EXTEN})
+exten => _11.,1,NoOp(ANI: ${EXTEN})
 exten => _X.,n,Dial (SIP/${EXTEN})
 
 
16:18:27
#[default]

16:20:46
#nano /etc/asterisk/extensions.conf
--- /tmp/l3-saved-10858.4023.20052	2014-04-22 17:20:47.818849196 +0300
+++ /etc/asterisk/extensions.conf	2014-04-22 17:21:19.174850050 +0300
@@ -1,5 +1,5 @@
 [default]
-exten => _11XX.,1,NoOp(ANI: ${EXTEN})
+exten => _11XX.,1,NoOp()
 exten => _11XX.,n,Dial (SIP/${EXTEN})
 
 
16:25:33
#nano /etc/asterisk/extensions.conf
--- /tmp/l3-saved-10858.10483.2284	2014-04-22 17:25:36.586856778 +0300
+++ /etc/asterisk/extensions.conf	2014-04-22 17:27:17.462859465 +0300
@@ -1,6 +1,6 @@
 [default]
-exten => _11XX.,1,NoOp()
-exten => _11XX.,n,Dial (SIP/${EXTEN})
+;exten => _11XX.,1,NoOp()
+exten => _11XX,1,Dial (SIP/${EXTEN})
 
 
 ; For more information on applications, just type "core show applications" at your

Статистика

Время первой команды журнала13:06:32 2014- 4-22
Время последней команды журнала16:25:33 2014- 4-22
Количество командных строк в журнале35
Процент команд с ненулевым кодом завершения, % 2.86
Процент синтаксически неверно набранных команд, % 2.86
Суммарное время работы с терминалом *, час 2.74
Количество командных строк в единицу времени, команда/мин 0.21
Частота использования команд
nano11|==============================| 30.56%
asterisk10|===========================| 27.78%
dpkg2|=====| 5.56%
[general]2|=====| 5.56%
/etc/init.d/asterisk2|=====| 5.56%
ls2|=====| 5.56%
less1|==| 2.78%
nsipsho1|==| 2.78%
apt-get1|==| 2.78%
121|==| 2.78%
.bashrc:1|==| 2.78%
l3pwd1|==| 2.78%
[default]1|==| 2.78%
____
*) Интервалы неактивности длительностью 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$