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

Содержание

Журнал

Четверг (11/27/14)

/dev/pts/3
14:58:10
#asterisk -rvvv
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 debian5 (pid = 12641)
...
9" = ""
 ^
[Nov 27 15:58:43] WARNING[13079]: ast_expr2.fl:472 ast_yyerror: If you have questions, please refer to https://wiki.asterisk.org/wiki/display/AST/Channel+Variables
    -- Executing [3@menu:5] GotoIf("SIP/2201-0000000b", ""9?unknown_order") in new stack
    -- Goto (menu,3,8)
    -- Executing [3@menu:8] Playback("SIP/2201-0000000b", "/var/tmp/asterisk/record08") in new stack
    -- <SIP/2201-0000000b> Playing '/var/tmp/asterisk/record08.gsm' (language 'ru')
    -- Auto fallthrough, channel 'SIP/2201-0000000b' status is 'UNKNOWN'
debian5*CLI> exit
Executing last minute cleanups
/dev/pts/0
14:58:10
#asterisk -rvvv
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 debian5 (pid = 12641)
...
9" = ""
 ^
[Nov 27 15:58:43] WARNING[13079]: ast_expr2.fl:472 ast_yyerror: If you have questions, please refer to https://wiki.asterisk.org/wiki/display/AST/Channel+Variables
    -- Executing [3@menu:5] GotoIf("SIP/2201-0000000b", ""9?unknown_order") in new stack
    -- Goto (menu,3,8)
    -- Executing [3@menu:8] Playback("SIP/2201-0000000b", "/var/tmp/asterisk/record08") in new stack
    -- <SIP/2201-0000000b> Playing '/var/tmp/asterisk/record08.gsm' (language 'ru')
    -- Auto fallthrough, channel 'SIP/2201-0000000b' status is 'UNKNOWN'
debian5*CLI> exit
Executing last minute cleanups
/dev/pts/4
15:02:03
#{EXTEN},5)
 79
 80 [submenu]
 81
 82 exten => s,1,Background(/var/tmp/asterisk/record11)
 83 exten => s,n,WaitExten(6)
 84 exten => s,n,Background(/var/tmp/asterisk/record03)
 85 exten => s,n,WaitExten(6)
157 ; CALLFILENAME - новая (любая) переменная
158 ; m - микшировать оба звуковых потока
    -%H:%M:%S")})исать в переменную CALLFILENAME, все что после
...
 48 ; dn_name = order в нашем случае
 49 ; key = в нашем случае введённый номер заказа
 50 ; довольно хитрая конструкция:
 51 ; $[ a = b ]? label
 52 exten => 3,n,GotoIf("$[${DB(order/${ORDER})}" = ""]?unknown_order)
 53 exten => 3,n,Playback(/var/tmp/asterisk/record0${DB(order/${ORDER})})
                       ($["${DB(order/${ORDER})}" = ""]?unknown_order)
 54 exten => 3,n,Hangup
 55 exten => 3,n(unknown_order),Playback(/var/tmp/asterisk/record08)
"/etc/asterisk/extensions.conf" 225L, 7399C written
/dev/pts/3
15:02:27
# 48 ; dn_name = order в нашем случае
 11
 12 ; s - это специальный extentsion
 13 ; Playback не обрабатывает нажатия
 14 ; Wait тоже
 15 ; аналоги которые обрабатывают:
 16 ; Background
 17 ; WaitExten
 18 ; проигрываем приветствие и пункты меню (Background)
 19 ; с возможностью выбора (WaitExten)
 20 exten => s,1,Answer
...
 34
 35 ; при нажатии 3 - проигрываем exten => 3 (record05) "введите номер заказа
 40 ; проговариваем record07 "ваш заказ №"
 41 exten => 3,n,Playback(/var/tmp/asterisk/record07)
 42
 43 ; проговариваем переменную ORDER
 44 exten => 3,n,SayDigits(${ORDER})
 45
 46 ; обращение к БД из плана набора:
 47 ; ${DB(db_name/key)}
/dev/pts/0
15:02:27
# 48 ; dn_name = order в нашем случае
  8
  9 ; создаем меню для колл-центра
 10 [menu]
 11
 12 ; s - это специальный extentsion
 13 ; Playback не обрабатывает нажатия
 14 ; Wait тоже
 15 ; аналоги которые обрабатывают:
 16 ; Background
 17 ; WaitExten
...
 38 exten => 3,n,Read(ORDER)
 39
 40 ; проговариваем record07 "ваш заказ №"
 41 exten => 3,n,Playback(/var/tmp/asterisk/record07)
 42
 43 ; проговариваем переменную ORDER
 44 exten => 3,n,SayDigits(${ORDER})
 45
 46 ; обращение к БД из плана набора:
 47 ; ${DB(db_name/key)}
/dev/pts/12
15:03:08
#
bash: xit: command not found
/dev/pts/3
15:05:08
#asterisk -rvvv
 44 exten => 3,n,SayDigits(${ORDER})
 45
 46 ; обращение к БД из плана набора:
 47 ; ${DB(db_name/key)}
 49 ; key = в нашем случае введённый номер заказа
 50 ; довольно хитрая конструкция:
 51 ; $[ a = b ]? label
 52 exten => 3,n,GotoIf($["${DB(order/${ORDER})}" = ""]?unknown_order)
 53 exten => 3,n,Playback(/var/tmp/asterisk/record0${DB(order/${ORDER})})
 54 exten => 3,n,Hangup
...
 59 exten => 4,1,Answer
 60 exten => 4,n,Queue(queue1)
 61
 62 ; при нажатии на 0 на телефоне перейти на (Goto)
 63 ; Goto поддерживает три варианта описания координат:
 64 ; context,extension,label
 65 ; extension,label
 66 ; label
 67 exten => 0,1,Goto(s,start)
                                                           67,1          10%
/dev/pts/0
15:05:08
#asterisk -rvvv
  3
  4 ; Dial приложение (позвонить)
  5 ; SIP/ название канала, куда его нужно перенаправить
  6 ; $ - значение переменной {EXTEN}
  7
  8
  9 ; создаем меню для колл-центра
 10 [menu]
 11
 12 ; s - это специальный extentsion
...
 65 ; extension,label
 66 ; label
 67 exten => 0,1,Goto(s,start)
                                                           67,1          10%
 43 ; проговариваем переменную ORDER
 44 exten => 3,n,SayDigits(${ORDER})
 45
 46 ; обращение к БД из плана набора:
 47 ; ${DB(db_name/key)}
 48 ; dn_name = order в нашем случае
/dev/pts/3
15:08:37
#vim /etc/asterisk/extensions.conf
/dev/pts/0
15:08:37
#vim /etc/asterisk/extensions.conf
/dev/pts/3
15:08:37
#asterisk -rvvv

/dev/pts/0
15:08:37
#asterisk -rvvv

/dev/pts/3
15:09:39
#mv

15:09:39
#vim /etc/asterisk/extensions.conf
/dev/pts/0
15:09:39
#mv

15:09:39
#vim /etc/asterisk/extensions.conf
/dev/pts/3
15:09:39
#asterisk -rvvv
                  ls /var/tmp/asterisk/record9.gsm
/var/tmp/asterisk/record9.gsm
/dev/pts/0
15:09:39
#asterisk -rvvv
                  ls /var/tmp/asterisk/record9.gsm
/var/tmp/asterisk/record9.gsm
/dev/pts/3
15:09:50
#ls /var/tmp/asterisk/
record00.gsm  record03.gsm  record06.gsm  record09.gsm  record9.gsm
record01.gsm  record04.gsm  record07.gsm  record10.gsm
record02.gsm  record05.gsm  record08.gsm  record11.gsm
/dev/pts/0
15:09:50
#ls /var/tmp/asterisk/
record00.gsm  record03.gsm  record06.gsm  record09.gsm  record9.gsm
record01.gsm  record04.gsm  record07.gsm  record10.gsm
record02.gsm  record05.gsm  record08.gsm  record11.gsm
/dev/pts/3
15:10:04
#mv

15:10:04
#vim /etc/asterisk/extensions.conf
15:10:04
#asterisk -rvvv
                  asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/0
15:10:04
#mv

15:10:04
#vim /etc/asterisk/extensions.conf
15:10:04
#asterisk -rvvv
                  asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/3
15:10:13
#mv

15:10:13
#vim /etc/asterisk/extensions.conf
/dev/pts/0
15:10:13
#mv

15:10:13
#vim /etc/asterisk/extensions.conf
/dev/pts/3
15:10:13
#vim /etc/asterisk/extensions.conf
/dev/pts/0
15:10:13
#vim /etc/asterisk/extensions.conf
/dev/pts/3
15:13:24
#asterisk -rvv
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 debian5 (pid = 12641)
...
    -- <SIP/2201-00000011> Playing 'digits/2.gsm' (language 'ru')
    -- Executing [3@menu:5] GotoIf("SIP/2201-00000011", "0?unknown_order") in new stack
    -- Executing [3@menu:6] Playback("SIP/2201-00000011", "/var/tmp/asterisk/record010") in new stack
[Nov 27 16:13:38] WARNING[13444]: file.c:663 ast_openstream_full: File /var/tmp/asterisk/record010 does not exist in any format
[Nov 27 16:13:38] WARNING[13444]: file.c:958 ast_streamfile: Unable to open /var/tmp/asterisk/record010 (format 0x4 (ulaw)): No such file or directory
[Nov 27 16:13:38] WARNING[13444]: app_playback.c:475 playback_exec: ast_streamfile failed on SIP/2201-00000011 for /var/tmp/asterisk/record010
    -- Executing [3@menu:7] Hangup("SIP/2201-00000011", "") in new stack
  == Spawn extension (menu, 3, 7) exited non-zero on 'SIP/2201-00000011'
debian5*CLI> exit
Executing last minute cleanups
/dev/pts/0
15:13:24
#asterisk -rvv
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 debian5 (pid = 12641)
...
    -- <SIP/2201-00000011> Playing 'digits/2.gsm' (language 'ru')
    -- Executing [3@menu:5] GotoIf("SIP/2201-00000011", "0?unknown_order") in new stack
    -- Executing [3@menu:6] Playback("SIP/2201-00000011", "/var/tmp/asterisk/record010") in new stack
[Nov 27 16:13:38] WARNING[13444]: file.c:663 ast_openstream_full: File /var/tmp/asterisk/record010 does not exist in any format
[Nov 27 16:13:38] WARNING[13444]: file.c:958 ast_streamfile: Unable to open /var/tmp/asterisk/record010 (format 0x4 (ulaw)): No such file or directory
[Nov 27 16:13:38] WARNING[13444]: app_playback.c:475 playback_exec: ast_streamfile failed on SIP/2201-00000011 for /var/tmp/asterisk/record010
    -- Executing [3@menu:7] Hangup("SIP/2201-00000011", "") in new stack
  == Spawn extension (menu, 3, 7) exited non-zero on 'SIP/2201-00000011'
debian5*CLI> exit
Executing last minute cleanups
/dev/pts/3
15:15:52
#{DB(order/${ORDER})})
  1 ; контекст плана звонков default
  2 [default]
  3
  4 ; Dial приложение (позвонить)
  5 ; SIP/ название канала, куда его нужно перенаправить
  6 ; $ - значение переменной {EXTEN}
  7
  8
  9 ; создаем меню для колл-центра
 10 [menu]
...
 93
 94
 95
 84 exten => s,n,Background(/var/tmp/asterisk/record03)    95,0-1        26%
 43 ; проговариваем переменную ORDER
 44 exten => 3,n,SayDigits(${ORDER})
 45
 46 ; обращение к БД из плана набора:
 47 ; ${DB(db_name/key)}
 48 ; dn_name = order в нашем случае
/dev/pts/0
15:15:52
#{DB(order/${ORDER})})
 11
 12 ; s - это специальный extentsion
 13 ; Playback не обрабатывает нажатия
 14 ; Wait тоже
 15 ; аналоги которые обрабатывают:
 16 ; Background
 17 ; WaitExten
 18 ; проигрываем приветствие и пункты меню (Background)
 19 ; с возможностью выбора (WaitExten)
 20 exten => s,1,Answer
...
 93
 94
 95
 84 exten => s,n,Background(/var/tmp/asterisk/record03)    95,0-1        26%
 43 ; проговариваем переменную ORDER
 44 exten => 3,n,SayDigits(${ORDER})
 45
 46 ; обращение к БД из плана набора:
 47 ; ${DB(db_name/key)}
 48 ; dn_name = order в нашем случае
/dev/pts/3
15:16:21
#-- INSERT --
asterisk-festival.pl  call-all  l3-agent  l3-config  l3script
/dev/pts/0
15:16:21
#-- INSERT --
asterisk-festival.pl  call-all  l3-agent  l3-config  l3script
прошло 11 минут
/dev/pts/3
15:27:58
#vim /usr/local/bin/call-all
--- /tmp/l3-saved-25685.11586.30833	2014-11-27 16:28:14.395769919 +0200
+++ /usr/local/bin/call-all	2014-11-27 16:32:58.359773277 +0200
@@ -4,7 +4,7 @@
 #и отправить на каждый из них звонок
 
 # сейчас покажу что обозначает констуркция с фигурными скобками
-for CHANNEL in 1201 1202 kiev/{1{1,3},2{1,2,3},3{1,2}}0{1,2}
+for CHANNEL in 2201 2202 london/{1{1,2,3},23,3{1,2}}0{1,2} ny/210{1,2}
 do
 
 # каналы перебираются правильно
/dev/pts/0
15:27:58
#vim /usr/local/bin/call-all
/dev/pts/3
15:32:58
#vim /usr/local/bin/call-all
/dev/pts/0
15:32:58
#vim /usr/local/bin/call-all
/dev/pts/3
15:35:26
#~

/dev/pts/0
15:35:26
#~

/dev/pts/3
15:39:32
#~

/dev/pts/0
15:39:32
#~

Пятница (11/28/14)

/dev/pts/3
08:40:41
#mount /dev/
Display all 160 possibilities? (y or n)
08:40:41
#mount /dev/sd
sda   sda1  sda2  sda3  sdb   sdb1
08:40:41
#mount /dev/sd
sda   sda1  sda2  sda3  sdb   sdb1
/dev/pts/0
08:40:41
#mount /dev/
Display all 160 possibilities? (y or n)
08:40:41
#mount /dev/sd
sda   sda1  sda2  sda3  sdb   sdb1
08:40:41
#mount /dev/sd
sda   sda1  sda2  sda3  sdb   sdb1
/dev/pts/3
08:40:41
#mount /dev/sdb1 /media/hdd/

/dev/pts/0
08:40:41
#mount /dev/sdb1 /media/hdd/

/dev/pts/3
08:41:13
#cp --help
Usage: cp [OPTION]... [-T] SOURCE DEST
  or:  cp [OPTION]... SOURCE... DIRECTORY
  or:  cp [OPTION]... -t DIRECTORY SOURCE...
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
Mandatory arguments to long options are mandatory for short options too.
  -a, --archive                same as -dR --preserve=all
      --attributes-only        don't copy the file data, just the attributes
      --backup[=CONTROL]       make a backup of each existing destination file
  -b                           like --backup but does not accept an argument
      --copy-contents          copy contents of special files when recursive
...
  numbered, t     make numbered backups
  existing, nil   numbered if numbered backups exist, simple otherwise
  simple, never   always make simple backups
As a special case, cp makes a backup of SOURCE when the force and backup
options are given and SOURCE and DEST are the same name for an existing,
regular file.
Report cp bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
For complete documentation, run: info coreutils 'cp invocation'
/dev/pts/0
08:41:13
#cp --help
Usage: cp [OPTION]... [-T] SOURCE DEST
  or:  cp [OPTION]... SOURCE... DIRECTORY
  or:  cp [OPTION]... -t DIRECTORY SOURCE...
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
Mandatory arguments to long options are mandatory for short options too.
  -a, --archive                same as -dR --preserve=all
      --attributes-only        don't copy the file data, just the attributes
      --backup[=CONTROL]       make a backup of each existing destination file
  -b                           like --backup but does not accept an argument
      --copy-contents          copy contents of special files when recursive
...
  numbered, t     make numbered backups
  existing, nil   numbered if numbered backups exist, simple otherwise
  simple, never   always make simple backups
As a special case, cp makes a backup of SOURCE when the force and backup
options are given and SOURCE and DEST are the same name for an existing,
regular file.
Report cp bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
For complete documentation, run: info coreutils 'cp invocation'
/dev/pts/3
08:43:37
#mkdir /media/hdd/asterisk/
ions.conf         cp /etc/asterisk/extensions.conf /media/hdd/asterisk/extensi
/dev/pts/0
08:43:37
#mkdir /media/hdd/asterisk/
ions.conf         cp /etc/asterisk/extensions.conf /media/hdd/asterisk/extensi
/dev/pts/3
08:52:13
#vim /etc/asterisk/ext
/dev/pts/0
08:52:13
#vim /etc/asterisk/ext
/dev/pts/3
08:52:13
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-25685.32695.26601	2014-11-28 10:20:01.155501482 +0200
+++ /etc/asterisk/extensions.conf	2014-11-28 10:23:30.043503953 +0200
@@ -147,6 +147,15 @@
 exten => 8407,1,AgentLogin(007)
 
 
+
+; перенаправлени звонка на мобильный, если не подняли трубку через 5 сек
+; exten => _33XX,1,Dial(SIP/${EXTEN},5)
+; exten => _33XX,n,Dial(SIP/${DB(redirect/${EXTEN})})
+; только сначала нужно прописать мобильные телефоны в базе redirect:
+; asterisk -rx " database put redirect 3301 +380503322117"
+
+
+
 [local]
 
 ;разрешаем трансфер номера, в Dial добавить опцию tT
@@ -223,3 +232,17 @@
 ;exten => _22XX,1,NoOp(Starting call processing)
 ; same =>       n,NoOp(to extension {EXTEN})
 ; same =>       n,Dial(SIP/${EXTEN})
+
+
+
+[gsm-incoming]
+
+; ${DONGLENUMBER}  -- номер на который пришёл звонок
+; как сделать красивый маппинг?
+; +380501234567 => 3301
+; +380502233445 => 3302
+; через базу данных:
+; database set gsm-incoming +380501234567 3301
+; database set gsm-incoming +380502233445 3302
+; и используете в диалплане так:
+; Dial(SIP/${DB(gsm-incoming/${DONGLENUMBER})})
/dev/pts/0
08:52:13
#vim /etc/asterisk/extensions.conf
прошло 32 минуты
/dev/pts/12
09:24:45
#lspci
00:00.0 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Root Complex
00:00.2 IOMMU: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) I/O Memory Management Unit
00:01.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Trinity [Radeon HD 7660D]
00:01.1 Audio device: Advanced Micro Devices [AMD] nee ATI Trinity HDMI Audio Controller
00:10.0 USB controller: Advanced Micro Devices [AMD] FCH USB XHCI Controller (rev 03)
00:10.1 USB controller: Advanced Micro Devices [AMD] FCH USB XHCI Controller (rev 03)
00:11.0 SATA controller: Advanced Micro Devices [AMD] FCH SATA Controller [IDE mode] (rev 40)
00:12.0 USB controller: Advanced Micro Devices [AMD] FCH USB OHCI Controller (rev 11)
00:12.2 USB controller: Advanced Micro Devices [AMD] FCH USB EHCI Controller (rev 11)
00:13.0 USB controller: Advanced Micro Devices [AMD] FCH USB OHCI Controller (rev 11)
...
00:14.5 USB controller: Advanced Micro Devices [AMD] FCH USB OHCI Controller (rev 11)
00:15.0 PCI bridge: Advanced Micro Devices [AMD] Hudson PCI to PCI bridge (PCIE port 0)
00:15.2 PCI bridge: Advanced Micro Devices [AMD] Hudson PCI to PCI bridge (PCIE port 2)
00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 0
00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 1
00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 2
00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 3
00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 4
00:18.5 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 5
03:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5761 Gigabit Ethernet PCIe (rev 10)
/dev/pts/3
09:25:55
#165 ; Monitor - программа записи взонков
ls: cannot access pci: No such file or directory
/dev/pts/0
09:25:55
#165 ; Monitor - программа записи взонков
ls: cannot access pci: No such file or directory
/dev/pts/3
09:25:57
#lspci
00:00.0 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Root Complex
00:00.2 IOMMU: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) I/O Memory Management Unit
00:01.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Trinity [Radeon HD 7660D]
00:01.1 Audio device: Advanced Micro Devices [AMD] nee ATI Trinity HDMI Audio Controller
00:10.0 USB controller: Advanced Micro Devices [AMD] FCH USB XHCI Controller (rev 03)
00:10.1 USB controller: Advanced Micro Devices [AMD] FCH USB XHCI Controller (rev 03)
00:11.0 SATA controller: Advanced Micro Devices [AMD] FCH SATA Controller [IDE mode] (rev 40)
00:12.0 USB controller: Advanced Micro Devices [AMD] FCH USB OHCI Controller (rev 11)
00:12.2 USB controller: Advanced Micro Devices [AMD] FCH USB EHCI Controller (rev 11)
00:13.0 USB controller: Advanced Micro Devices [AMD] FCH USB OHCI Controller (rev 11)
...
00:14.5 USB controller: Advanced Micro Devices [AMD] FCH USB OHCI Controller (rev 11)
00:15.0 PCI bridge: Advanced Micro Devices [AMD] Hudson PCI to PCI bridge (PCIE port 0)
00:15.2 PCI bridge: Advanced Micro Devices [AMD] Hudson PCI to PCI bridge (PCIE port 2)
00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 0
00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 1
00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 2
00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 3
00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 4
00:18.5 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 5
03:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5761 Gigabit Ethernet PCIe (rev 10)
/dev/pts/0
09:25:57
#lspci
00:00.0 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Root Complex
00:00.2 IOMMU: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) I/O Memory Management Unit
00:01.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Trinity [Radeon HD 7660D]
00:01.1 Audio device: Advanced Micro Devices [AMD] nee ATI Trinity HDMI Audio Controller
00:10.0 USB controller: Advanced Micro Devices [AMD] FCH USB XHCI Controller (rev 03)
00:10.1 USB controller: Advanced Micro Devices [AMD] FCH USB XHCI Controller (rev 03)
00:11.0 SATA controller: Advanced Micro Devices [AMD] FCH SATA Controller [IDE mode] (rev 40)
00:12.0 USB controller: Advanced Micro Devices [AMD] FCH USB OHCI Controller (rev 11)
00:12.2 USB controller: Advanced Micro Devices [AMD] FCH USB EHCI Controller (rev 11)
00:13.0 USB controller: Advanced Micro Devices [AMD] FCH USB OHCI Controller (rev 11)
...
00:14.5 USB controller: Advanced Micro Devices [AMD] FCH USB OHCI Controller (rev 11)
00:15.0 PCI bridge: Advanced Micro Devices [AMD] Hudson PCI to PCI bridge (PCIE port 0)
00:15.2 PCI bridge: Advanced Micro Devices [AMD] Hudson PCI to PCI bridge (PCIE port 2)
00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 0
00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 1
00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 2
00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 3
00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 4
00:18.5 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 5
03:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5761 Gigabit Ethernet PCIe (rev 10)
/dev/pts/3
09:26:04
#lspci |grep digium

/dev/pts/0
09:26:04
#lspci |grep digium

/dev/pts/3
09:26:24
#lspci |grep pri

/dev/pts/0
09:26:24
#lspci |grep pri

/dev/pts/0
09:32:52
#pwd --help
bash: pwd: --: invalid option
pwd: usage: pwd [-LP]
/dev/tty1
09:32:52
#pwd --help
bash: pwd: --: invalid option
pwd: usage: pwd [-LP]
/dev/pts/0
09:33:07
#pw
pwck      pwconv    pwd       pwdx      pwunconv
09:33:07
#pw
pwck      pwconv    pwd       pwdx      pwunconv
/dev/tty1
09:33:07
#pw
pwck      pwconv    pwd       pwdx      pwunconv
09:33:07
#pw
pwck      pwconv    pwd       pwdx      pwunconv
/dev/pts/4
09:35:04
#mount --help
Usage: mount -V                 : print version
       mount -h                 : print this help
       mount                    : list mounted filesystems
       mount -l                 : idem, including volume labels
So far the informational part. Next the mounting.
The command is `mount [-t fstype] something somewhere'.
Details found in /etc/fstab may be omitted.
       mount -a [-t|-O] ...     : mount all stuff from /etc/fstab
       mount device             : mount device at the known place
       mount directory          : mount known device here
...
One can change the type of all the mounts in a mount subtree
containing the directory dir:
       mount --make-rshared dir
       mount --make-rslave dir
       mount --make-rprivate dir
       mount --make-runbindable dir
A device can be given by name, say /dev/hda1 or /dev/cdrom,
or by label, using  -L label  or by uuid, using  -U uuid .
Other options: [-nfFrsvw] [-o options] [-p passwdfd].
For many more details, say  man 8 mount .
/dev/pts/3
09:35:04
#mount --help
Usage: mount -V                 : print version
       mount -h                 : print this help
       mount                    : list mounted filesystems
       mount -l                 : idem, including volume labels
So far the informational part. Next the mounting.
The command is `mount [-t fstype] something somewhere'.
Details found in /etc/fstab may be omitted.
       mount -a [-t|-O] ...     : mount all stuff from /etc/fstab
       mount device             : mount device at the known place
       mount directory          : mount known device here
...
One can change the type of all the mounts in a mount subtree
containing the directory dir:
       mount --make-rshared dir
       mount --make-rslave dir
       mount --make-rprivate dir
       mount --make-runbindable dir
A device can be given by name, say /dev/hda1 or /dev/cdrom,
or by label, using  -L label  or by uuid, using  -U uuid .
Other options: [-nfFrsvw] [-o options] [-p passwdfd].
For many more details, say  man 8 mount .
/dev/pts/4
09:40:02
#mount /dev/sdb
sdb   sdb1
09:40:02
#mount /dev/sdb
sdb   sdb1
/dev/pts/3
09:40:02
#mount /dev/sdb
sdb   sdb1
09:40:02
#mount /dev/sdb
sdb   sdb1
/dev/pts/4
09:40:02
#mount /dev/sdb1 /media/hdd/

/dev/pts/3
09:40:02
#mount /dev/sdb1 /media/hdd/

прошло 55 минут
/dev/pts/7
10:35:43
#lspci
00:00.0 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Root Complex
00:00.2 IOMMU: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) I/O Memory Management Unit
00:01.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Trinity [Radeon HD 7660D]
00:01.1 Audio device: Advanced Micro Devices [AMD] nee ATI Trinity HDMI Audio Controller
00:10.0 USB controller: Advanced Micro Devices [AMD] FCH USB XHCI Controller (rev 03)
00:10.1 USB controller: Advanced Micro Devices [AMD] FCH USB XHCI Controller (rev 03)
00:11.0 SATA controller: Advanced Micro Devices [AMD] FCH SATA Controller [IDE mode] (rev 40)
00:12.0 USB controller: Advanced Micro Devices [AMD] FCH USB OHCI Controller (rev 11)
00:12.2 USB controller: Advanced Micro Devices [AMD] FCH USB EHCI Controller (rev 11)
00:13.0 USB controller: Advanced Micro Devices [AMD] FCH USB OHCI Controller (rev 11)
...
00:15.0 PCI bridge: Advanced Micro Devices [AMD] Hudson PCI to PCI bridge (PCIE port 0)
00:15.2 PCI bridge: Advanced Micro Devices [AMD] Hudson PCI to PCI bridge (PCIE port 2)
00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 0
00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 1
00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 2
00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 3
00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 4
00:18.5 Host bridge: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) Processor Function 5
01:00.0 Network controller: Digium, Inc. Device 800b (rev 02)
03:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5761 Gigabit Ethernet PCIe (rev 10)
10:35:56
#find /sys/ -name \*01:00.0\*
/sys/devices/pci0000:00/0000:00:14.4/0000:01:00.0
/sys/bus/pci/devices/0000:01:00.0
10:36:08
## карточка на данный момент никаих драйвером не видится

10:36:28
#â„# потмоу что карточка скорее всего слишком новая

10:37:32
#dpkg -l dahdi-source
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                   Version          Architecture     Description
+++-======================-================-================-=================================================
ii  dahdi-source           1:2.6.1+dfsg2-1  all              DAHDI telephony interface - source code for kerne
10:37:39
## да на этой машине стоит dahdi-source,

10:37:49
## это значит что скорее всего слишком новая карта

10:37:57
## но это и хорошо даже

10:38:13
## если бы карточка старая, достаточно было бы:

10:38:36
#m-a a-i dahdi
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version.
The following packages were automatically installed and are no longer required:
  libgadu3 libmozjs24d xulrunner-24.0
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 15 not upgraded.
Done!
unpack
Extracting the package tarball, /usr/src/dahdi.tar.bz2, please wait...
Target package file /usr/src/dahdi-modules-3.2.0-4-amd64_2.6.1+dfsg2-1+3.2.63-2+deb7u1_amd64.deb already exists,
not rebuilding!
(however, you could use the -f switch to ignore it)
dpkg -Ei /usr/src/dahdi-modules-3.2.0-4-amd64_2.6.1+dfsg2-1+3.2.63-2+deb7u1_amd64.deb
dpkg: version 1:2.6.1+dfsg2-1+3.2.63-2+deb7u1 of dahdi-modules-3.2.0-4-amd64 already installed, skipping
10:38:50
## здесь уже всё было

10:38:57
#cd /usr/src

10:39:05
#apt-get install git-core
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libgadu3 libmozjs24d xulrunner-24.0
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
  git-core
0 upgraded, 1 newly installed, 0 to remove and 15 not upgraded.
Need to get 1,336 B of archives.
After this operation, 21.5 kB of additional disk space will be used.
Get:1 http://192.168.12.254/debian/ wheezy/main git-core all 1:1.7.10.4-1+wheezy1 [1,336 B]
Fetched 1,336 B in 0s (4,491 B/s)
Selecting previously unselected package git-core.
(Reading database ... 145443 files and directories currently installed.)
Unpacking git-core (from .../git-core_1%3a1.7.10.4-1+wheezy1_all.deb) ...
Setting up git-core (1:1.7.10.4-1+wheezy1) ...
10:39:47
#ls
dahdi-modules-3.2.0-4-amd64_2.6.1+dfsg2-1+3.2.63-2+deb7u1_amd64.deb  linux-kbuild-3.2
dahdi.tar.bz2                                                        linux-OLDVERSION.1417167528
linux                                                                modules
linux-headers-3.2.0-4-amd64                                          vpb-driver.tar.bz2
linux-headers-3.2.0-4-common
10:39:49
#git clone git://git.asterisk.org/dahdi/linux dahdi-linux
Cloning into 'dahdi-linux'...
remote: Counting objects: 7754, done.
remote: Compressing objects: 100% (1510/1510), done.
remote: Total 7754 (delta 5067), reused 7754 (delta 5067)
Receiving objects: 100% (7754/7754), 5.17 MiB | 1.82 MiB/s, done.
Resolving deltas: 100% (5067/5067), done.
10:40:01
## это был url dahdi-linux

Статистика

Время первой команды журнала14:58:10 2014-11-27
Время последней команды журнала10:40:01 2014-11-28
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, %24.75
Процент синтаксически неверно набранных команд, % 0.99
Суммарное время работы с терминалом *, час 1.21
Количество командных строк в единицу времени, команда/мин 1.39
Частота использования команд
vim18|================| 16.51%
mount16|==============| 14.68%
asterisk12|===========| 11.01%
lspci8|=======| 7.34%
#7|======| 6.42%
mv6|=====| 5.50%
pw4|===| 3.67%
grep4|===| 3.67%
~4|===| 3.67%
ls3|==| 2.75%
mkdir2|=| 1.83%
${ORDER})})2|=| 1.83%
Monitor2|=| 1.83%
pwd2|=| 1.83%
dn_name2|=| 1.83%
cp2|=| 1.83%
--2|=| 1.83%
482|=| 1.83%
1652|=| 1.83%
dpkg1|| 0.92%
m-a1|| 0.92%
1|| 0.92%
cd1|| 0.92%
apt-get1|| 0.92%
â„#1|| 0.92%
git1|| 0.92%
find1|| 0.92%
{EXTEN},5)1|| 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$