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

Содержание

Журнал

Четверг (04/24/14)

/dev/pts/0
10:31:43
#cat /etc/asterisk/extensions.conf
[default]
[internal]
exten => _80XX,1,Answer
exten => _80XX,n,Record(/var/tmp/asterisk/message${EXTEN:2}:gsm,10)
exten => _80XX,n,Playback(/var/tmp/asterisk/message${EXTEN:2})
exten => _80XX,n,Hangup
; ${VARIABLE:start:length}
[macro-outgoingcall]
; ${ARG1} - outgoing channel + extension
; EPOCH = seconds since 1.01.1970
...
include => fallback
[gr2]
include => internal
include => local
include => national
include => fallback
[gr3]
include => internal
include => local
include => fallback
10:32:32
#cat /etc/asterisk/extensions.conf^C

прошло 18 минут
10:51:28
#^C

10:51:28
#asterisk -rx
asterisk: option requires an argument -- 'x'
10:51:43
#asterisk -rv
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.
=========================================================================
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on debian (pid = 16994)
Verbosity is at least 5
debian*CLI> dialplan reload
...
    -- Registered extension context 'demo'; registrar: pbx_lua
    -- merging incls/swits/igpats from old(demo) to new(demo) context, registrar = pbx_config
    -- Including switch 'Lua/' in context 'demo'
    -- Time to scan old dialplan and merge leftovers back into the new: 0.000840 sec
    -- Time to restore hints and swap in new dialplan: 0.000003 sec
    -- Time to delete the old dialplan: 0.000071 sec
    -- Total time merge_contexts_delete: 0.000914 sec
debian*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
10:53:34
#^C

10:53:34
#ccccc^C

10:53:37
#^C

10:53:37
#^C

10:53:37
#^C

10:53:38
#^C

10:53:38
#^C

10:53:38
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:39
#^C

10:53:40
#^C

10:53:40
#^C

10:53:40
#^C

10:53:40
#^C

10:53:40
#^C

10:53:40
#^C

10:53:40
#^C

10:53:40
#^C

10:53:40
#^C

10:53:40
#^C

10:53:40
#^C

10:53:40
#^C

10:53:40
#^C

10:53:40
#^C

10:53:40
#^C

10:53:40
#^C

10:53:40
#^C

10:53:40
#^C

10:53:40
#^C

10:53:40
#^C

10:53:41
#asterisk -rv
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.
=========================================================================
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on debian (pid = 16994)
Verbosity is at least 5
debian*CLI> quit
Executing last minute cleanups
10:54:06
#apt-get install samba
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  samba-common samba-common-bin tdb-tools
Suggested packages:
  openbsd-inetd inet-superserver smbldap-tools ldb-tools ctdb
The following NEW packages will be installed:
  samba samba-common samba-common-bin tdb-tools
0 upgraded, 4 newly installed, 0 to remove and 1 not upgraded.
...
Adding group `sambashare' (GID 120) ...
Done.
update-alternatives: using /usr/bin/smbstatus.samba3 to provide /usr/bin/smbstatus (smbstatus) in auto mode
Starting Samba daemons: nmbd smbd.
Setting up samba-common-bin (2:3.6.6-6+deb7u2) ...
update-alternatives: using /usr/bin/nmblookup.samba3 to provide /usr/bin/nmblookup (nmblookup) in auto mode
update-alternatives: using /usr/bin/net.samba3 to provide /usr/bin/net (net) in auto mode
update-alternatives: using /usr/bin/testparm.samba3 to provide /usr/bin/testparm (testparm) in auto mode
Setting up tdb-tools (1.2.10-2) ...
update-alternatives: using /usr/bin/tdbbackup.tdbtools to provide /usr/bin/tdbbackup (tdbbackup) in auto mode
10:55:46
#smbpasswd -a user
New SMB password:
Retype new SMB password:
Added user user.
10:57:12
#nano /etc/samba/smb.conf
--- /tmp/l3-saved-24351.18503.20918	2014-04-24 11:57:49.613956466 +0300
+++ /etc/samba/smb.conf	2014-04-24 11:59:29.137958144 +0300
@@ -331,3 +331,10 @@
 ;   preexec = /bin/mount /cdrom
 ;   postexec = /bin/umount /cdrom
 
+[monitor]
+   comment = Aster monitor
+   read only = yes
+   locking = no
+   path = /var/spool/asterisk/monitor
+   guest ok = yes
+
10:59:58
#name --help
l3script: name: command not found
11:00:15
#name
l3script: name: command not found
11:00:18
#hostname
debian
11:00:30
#hostname --help
Usage: hostname [-v] [-b] {hostname|-F file}         set host name (from file)
       hostname [-v] [-a|-A|-d|-f|-i|-I|-s|-y]       display formatted name
       hostname [-v]                                 display host name
       {yp,nis,}domainname [-v] {nisdomain|-F file}  set NIS domain name (from file)
       {yp,nis,}domainname [-v]                      display NIS domain name
       dnsdomainname [-v]                            display dns domain name
       hostname -V|--version|-h|--help               print info and exit
Program name:
       {yp,nis,}domainname=hostname -y
       dnsdomainname=hostname -d
...
    -i, --ip-address       addresses for the host name
    -I, --all-ip-addresses all addresses for the host
    -s, --short            short host name
    -y, --yp, --nis        NIS/YP domain name
Description:
   This command can get or set the host name or the NIS domain name. You can
   also get the DNS domain or the FQDN (fully qualified domain name).
   Unless you are using bind or NIS for host lookups you can change the
   FQDN (Fully Qualified Domain Name) and the DNS domain name (which is
   part of the FQDN) in the /etc/hosts file.
11:00:34
#nano /etc/net
11:00:34
#nano /etc/net
11:00:34
#nano /etc/net
11:00:34
#nano /etc/network/
11:00:34
#nano /etc/network/
11:00:34
#nano /etc/networks
11:03:06
#default 0.0.0.0
network/  networks
11:03:06
#nano /etc/network
11:03:06
#nano /etc/network/
11:03:06
#nano /etc/network/
11:03:06
#ls -l /var/tmp/asterisk/message
message.gsm    message02.gsm  message03.gsm
11:03:06
#ls -l /var/tmp/asterisk/message
message.gsm    message02.gsm  message03.gsm
11:03:06
#ls -l /var/tmp/asterisk/message/
ls: cannot access /var/tmp/asterisk/message/: No such file or directory
11:04:13
#ls -l /var/tmp/asterisk/
total 20
-rw-rw---- 1 asterisk asterisk 5346 Apr 23 16:11 message.gsm
-rw-rw---- 1 asterisk asterisk 4290 Apr 24 10:11 message02.gsm
-rw-rw---- 1 asterisk asterisk 3927 Apr 24 10:10 message03.gsm
11:04:18
#ls -l /var/spool/asterisk/monitor/
total 824
-rw-rw---- 1 asterisk asterisk 193324 Apr 24 10:52 3201-2101-1398325930.wav
-rw-rw---- 1 asterisk asterisk 207084 Apr 24 11:05 3201-2101-1398326736.wav
-rw-rw---- 1 asterisk asterisk 194604 Apr 24 10:52 3201-3101-1398325951.wav
-rw-rw---- 1 asterisk asterisk 241324 Apr 24 11:04 monitor.wav
11:04:45
#nano /etc/gro
11:04:45
#nano /etc/gro
11:04:45
#nano /etc/group
--- /tmp/l3-saved-24351.14980.0	2014-04-24 12:07:56.041966710 +0300
+++ /etc/group	2014-04-24 12:08:06.901966890 +0300
@@ -57,4 +57,4 @@
 Debian-gdm:x:118:
 user:x:1000:
 asterisk:x:119:
-sambashare:x:120:
+sambashare:x:120:user
11:08:06
#netdev:x:109:user
Stopping Samba daemons: nmbd smbd.
Starting Samba daemons: nmbd smbd.
11:08:20
#nano /etc/host
11:08:57
#127.0.0.1 localhost
netconfig  network/   networks
11:08:57
#nano /etc/net
11:08:57
#nano /etc/net
11:08:57
#nano /etc/network
11:08:57
#nano /etc/networks
11:09:23
#default 0.0.0.0

11:10:20
#^C

11:10:20
#/etc/init.d/samba restart
Stopping Samba daemons: nmbd smbd.
Starting Samba daemons: nmbd smbd.
11:10:25
#nano /etc/s
11:10:25
#nano /etc/s
11:10:25
#nano /etc/samba/
11:10:25
#nano /etc/samba/smb.conf
--- /tmp/l3-saved-24351.9041.29172	2014-04-24 12:12:09.805970998 +0300
+++ /etc/samba/smb.conf	2014-04-24 12:12:22.129971206 +0300
@@ -336,5 +336,5 @@
    read only = yes
    locking = no
    path = /var/spool/asterisk/monitor
-   guest ok = yes
+   guest ok = no
 
11:12:27
#nano /etc/group
--- /tmp/l3-saved-24351.28314.7675	2014-04-24 12:13:52.509972733 +0300
+++ /etc/group	2014-04-24 12:14:04.001972927 +0300
@@ -56,5 +56,5 @@
 saned:x:117:
 Debian-gdm:x:118:
 user:x:1000:
-asterisk:x:119:
+asterisk:x:119:user
 sambashare:x:120:user
11:14:04
#operator:x:37:
Stopping Samba daemons: nmbd smbd.
Starting Samba daemons: nmbd smbd.

Файлы

  • /etc/asterisk/extensions.conf
  • /etc/asterisk/extensions.conf
    >
    [default]
    [internal]
    exten => _80XX,1,Answer
    exten => _80XX,n,Record(/var/tmp/asterisk/message${EXTEN:2}:gsm,10)
    exten => _80XX,n,Playback(/var/tmp/asterisk/message${EXTEN:2})
    exten => _80XX,n,Hangup
    ; ${VARIABLE:start:length}
    [macro-outgoingcall]
    ; ${ARG1} - outgoing channel + extension
    ; EPOCH = seconds since 1.01.1970
    exten => s,1,Answer
    exten => s,n,Set(CALLFILENAME=${MACRO_EXTEN}-${CALLERID(num)}-${EPOCH})
    exten => s,n,Monitor(wav,${CALLFILENAME},m)
    exten => s,n,Dial(${ARG1})
    [macro-localcall]
    ; ${ARG1}
    ; ${ARG2}
    exten => s,1,Answer
    exten => s,n,Monitor(wav,monitor,m)
    exten => s,n,Dial(SIP/${ARG1},10)
    exten => s,n,NoOp(Dial Status: ${DIALSTATUS})
    exten => s,n,Goto(s-${DIALSTATUS},1)
    exten => s-NOANSWER,1,Dial(SIP/3102)
    exten => s-CONGESTION,1,Dial(SIP/3102)
    exten => s-ANSWER,1,Hangup
    exten => s-BUSY,1,Busy
    #include "/etc/asterisk/extensions.conf.local"
    [national]
    ;exten => _32XX,1,Dial(SIP/santiago/${EXTEN})
    exten => _32XX,1,Macro(outgoingcall,SIP/santiago/${EXTEN})
    [international]
    exten => _[12]XXX,1,Macro(outgoingcall,SIP/kiev/${EXTEN})
    exten => _[12]3XX,1,Macro(outgoingcall,SIP/kiev/${EXTEN})
    exten => _2[12]XX,1,Macro(outgoingcall,SIP/kiev/${EXTEN})
    exten => _33XX,1,Macro(outgoingcall,SIP/kiev/${EXTEN})
    exten => _14XX,1,Macro(outgoingcall,SIP/kiev/${EXTEN})
    [fallback]
    ;exten => _.,1,Playback(/var/tmp/asterisk/message)
    [gr_relay]
    include => internal
    include => local
    include => national
    include => international
    include => fallback
    [gr1]
    include => internal
    include => local
    include => national
    include => international
    include => fallback
    [gr2]
    include => internal
    include => local
    include => national
    include => fallback
    [gr3]
    include => internal
    include => local
    include => fallback
    

    Статистика

    Время первой команды журнала10:31:43 2014- 4-24
    Время последней команды журнала11:14:04 2014- 4-24
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, % 8.91
    Процент синтаксически неверно набранных команд, % 1.98
    Суммарное время работы с терминалом *, час 0.71
    Количество командных строк в единицу времени, команда/мин 2.38
    Частота использования команд
    ^C55|======================================================| 54.46%
    nano23|======================| 22.77%
    ls5|====| 4.95%
    asterisk3|==| 2.97%
    cat2|=| 1.98%
    default2|=| 1.98%
    hostname2|=| 1.98%
    name2|=| 1.98%
    operator:x:37:1|| 0.99%
    smbpasswd1|| 0.99%
    127.0.0.11|| 0.99%
    apt-get1|| 0.99%
    /etc/init.d/samba1|| 0.99%
    netdev:x:109:user1|| 0.99%
    ccccc^C1|| 0.99%
    ____
    *) Интервалы неактивности длительностью 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$