/l3/users/serg/nt-voip/linux9.unix.nt/root :1 :2 :3 :4 :5 :6 :7 |
|
#cat /etc/asterisk/extensions.conf
[default] exten => 3199,1,Playback(demo-thanks) exten => 3199,n,Playback(demo-thanks) exten => 3199,n,Playback(demo-thanks) exten => 3198,1,Record(recorded-voice:gsm,2) exten => 3198,n,Playback(recorded-voice) exten => _310X,1,Dial(SIP/${EXTEN}) |
#ls /var/spool/asterisk/
dictate meetme monitor outgoing system tmp voicemail |
#ls -l /var/spool/asterisk/
итого 28 drwxr-x--- 2 asterisk asterisk 4096 Июл 7 12:28 dictate drwxr-x--- 2 asterisk asterisk 4096 Июл 7 12:28 meetme drwxr-x--- 2 asterisk asterisk 4096 Июл 7 12:28 monitor drwxr-x--- 2 asterisk asterisk 4096 Июл 7 12:28 outgoing drwxr-x--- 2 asterisk asterisk 4096 Июл 7 12:28 system drwxr-x--- 2 asterisk asterisk 4096 Июл 7 12:28 tmp drwxr-x--- 2 asterisk asterisk 4096 Июл 7 12:28 voicemail |
#ps aux | grep aster
asterisk 11213 0.0 0.2 49244 18700 ? Ssl Oct17 0:32 /usr/sbin/asterisk -p -U asterisk asterisk 11214 0.0 0.0 2936 564 ? S Oct17 0:00 astcanary /var/run/asterisk/alt.asterisk.canary.tweet.tweet.tweet 11213 root 14358 0.0 0.0 6712 2220 pts/3 S+ Oct17 0:00 rasterisk rvv root 15323 0.0 0.0 3372 724 pts/7 S+ 10:16 0:00 grep aster |
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-15223.19406.26625 2011-10-18 10:17:45.000000000 +0300 +++ /etc/asterisk/extensions.conf 2011-10-18 10:18:00.000000000 +0300 @@ -4,8 +4,8 @@ exten => 3199,n,Playback(demo-thanks) exten => 3199,n,Playback(demo-thanks) -exten => 3198,1,Record(recorded-voice:gsm,2) -exten => 3198,n,Playback(recorded-voice) +exten => 3198,1,Record(/var/lib/asterisk/sounds/recorded-voice:gsm,2) +exten => 3198,n,Playback(/var/lib/asterisk/sounds/recorded-voice) exten => _310X,1,Dial(SIP/${EXTEN}) |
#ls /var/lib/asterisk/sounds/
custom |
#cat /etc/asterisk/extensions.conf
[default] exten => 3199,1,Playback(demo-thanks) exten => 3199,n,Playback(demo-thanks) exten => 3199,n,Playback(demo-thanks) exten => 3198,1,Record(/var/lib/asterisk/sounds/recorded-voice:gsm,2) exten => 3198,n,Playback(/var/lib/asterisk/sounds/recorded-voice) exten => _310X,1,Dial(SIP/${EXTEN}) |
#vim /etc/asterisk/sip.conf
--- /tmp/l3-saved-15223.19096.20849 2011-10-18 11:39:35.000000000 +0300 +++ /etc/asterisk/sip.conf 2011-10-18 11:39:44.000000000 +0300 @@ -28,7 +28,7 @@ ;------------------ ; spb (piter) ; -;register => spb:1234@192.168.80.1/kln +;register => spb:1234@192.168.90.1/kln ; ;[kln] ;type=friend ; friend, user, peer |
#asterisk -rvvvvv
Asterisk 1.6.2.9-2+squeeze3, 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+squeeze3 currently running on linux9 (pid = 11213) ... Reloading SIP == Parsing '/etc/asterisk/sip.conf': == Found == Parsing '/etc/asterisk/users.conf': == Found [Oct 18 11:40:13] NOTICE[11250]: chan_sip.c:24170 build_peer: The 'username' field for sip peers has been deprecated in favor of the term 'defaultuser' == Parsing '/etc/asterisk/sip_notify.conf': == Found [Oct 18 11:40:14] WARNING[11250]: chan_sip.c:18282 handle_response_register: Got 404 Not found on SIP register to service kln@192.168.80.1, giving up -- Registered SIP 'spb' at 192.168.80.1 port 5060 > Saved useragent "Asterisk PBX 1.6.2.9-2+squeeze3" for peer spb linux9*CLI> exit Executing last minute cleanups |
#vim /etc/asterisk/sip.conf
|
#cat /etc/asterisk/extensions.conf
[default] exten => 3199,1,Playback(demo-thanks) exten => 3199,n,Playback(demo-thanks) exten => 3199,n,Playback(demo-thanks) exten => 3198,1,Record(/var/lib/asterisk/sounds/recorded-voice:gsm,2) exten => 3198,n,Playback(/var/lib/asterisk/sounds/recorded-voice) exten => _310X,1,Dial(SIP/${EXTEN}) exten => _24XX,1,Dial(SIP/spb/${EXTEN}) |
#asterisk -rvv
![]() Asterisk 1.6.2.9-2+squeeze3, 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+squeeze3 currently running on linux9 (pid = 11213) ... -- Called spb/2401 -- SIP/spb-0000002a is ringing -- SIP/spb-0000002a answered SIP/3101-00000029 -- Packet2Packet bridging SIP/3101-00000029 and SIP/spb-0000002a == Spawn extension (default, 2401, 1) exited non-zero on 'SIP/3101-00000029' linux9*CLI> cat etc asterisk sip.config No such command 'cat etc asterisk sip.config' (type 'core show help cat etc' for other possible commands) [Oct 18 12:11:28] NOTICE[11250]: chan_sip.c:21763 handle_request_register: Registration from '<sip:msk@192.168.90.1>' failed for '192.168.70.1' - No matching peer found linux9*CLI> exit Executing last minute cleanups |
#asterisk -rvv
Asterisk 1.6.2.9-2+squeeze3, 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+squeeze3 currently running on linux9 (pid = 11213) ... -- Called spb/2401 -- SIP/spb-0000002a is ringing -- SIP/spb-0000002a answered SIP/3101-00000029 -- Packet2Packet bridging SIP/3101-00000029 and SIP/spb-0000002a == Spawn extension (default, 2401, 1) exited non-zero on 'SIP/3101-00000029' linux9*CLI> cat etc asterisk sip.config No such command 'cat etc asterisk sip.config' (type 'core show help cat etc' for other possible commands) [Oct 18 12:11:28] NOTICE[11250]: chan_sip.c:21763 handle_request_register: Registration from '<sip:msk@192.168.90.1>' failed for '192.168.70.1' - No matching peer found linux9*CLI> exit Executing last minute cleanups |
#vim /etc/asterisk/extensions.conf
|
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-15726.7701.30956 2011-10-18 12:18:59.000000000 +0300 +++ /etc/asterisk/extensions.conf 2011-10-18 12:19:24.000000000 +0300 @@ -10,4 +10,5 @@ exten => _310X,1,Dial(SIP/${EXTEN}) exten => _24XX,1,Dial(SIP/spb/${EXTEN}) +exten => _[123]XXX,1,Dial(SIP/spb/${EXTEN}) |
#asterisk -rvvvvv
Asterisk 1.6.2.9-2+squeeze3, 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+squeeze3 currently running on linux9 (pid = 11213) ... -- Registered extension context 'parkedcalls' (0xb490f5c0) in local table 0xa268330; registrar: features -- merging incls/swits/igpats from old(parkedcalls) to new(parkedcalls) context, registrar = pbx_config -- Added extension '700' priority 1 to parkedcalls (0xb490f5c0) -- Time to scan old dialplan and merge leftovers back into the new: 0.000535 sec -- Time to restore hints and swap in new dialplan: 0.000000 sec -- Time to delete the old dialplan: 0.000036 sec -- Total time merge_contexts_delete: 0.000571 sec linux9*CLI> linux9*CLI> quit Executing last minute cleanups |
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-15726.385.17629 2011-10-18 12:19:48.000000000 +0300 +++ /etc/asterisk/extensions.conf 2011-10-18 14:05:13.000000000 +0300 @@ -1,14 +1,55 @@ [default] +; ------------------------------- +; RESOURCES +; ------------------------------- + +[internal] + +exten => 3198,1,Record(/var/lib/asterisk/sounds/recorded-voice:gsm,2) +exten => 3198,n,Playback(/var/lib/asterisk/sounds/recorded-voice) + exten => 3199,1,Playback(demo-thanks) exten => 3199,n,Playback(demo-thanks) exten => 3199,n,Playback(demo-thanks) -exten => 3198,1,Record(/var/lib/asterisk/sounds/recorded-voice:gsm,2) -exten => 3198,n,Playback(/var/lib/asterisk/sounds/recorded-voice) +[local] exten => _310X,1,Dial(SIP/${EXTEN}) -exten => _24XX,1,Dial(SIP/spb/${EXTEN}) +[national] + +exten => _2[34]XX,1,Dial(SIP/spb/${EXTEN}) + +[international] + exten => _[123]XXX,1,Dial(SIP/spb/${EXTEN}) +; ------------------------------- +; USERS +; ------------------------------- + +[gr1] + +include => internal +include => local + +[gr2] + +include => internal +include => local +include => national + +[gr3] + +include => internal +include => local +include => national +include => international + +[gr4] + +include => local +include => national +include => international + |
#vim /etc/asterisk/sip.conf
--- /tmp/l3-saved-15726.17480.29914 2011-10-18 14:05:16.000000000 +0300 +++ /etc/asterisk/sip.conf 2011-10-18 14:05:29.000000000 +0300 @@ -23,7 +23,7 @@ secret=1234 host=dynamic username=kln - +context=gr4 ;------------------ ; spb (piter) |
#vim /etc/asterisk/extensions.conf
|
#include => international
[ ] "/etc/asterisk/extensions.conf" 55L, 867C [international] [ ] [xten => ][123]XXX,1,Dial(SIP/spb/${EXTEN}) ; ------------------------------- ; USERS ; ------------------------------- [gr1] include => internal include => local [gr2] include => internal include => local include => national [gr3] include => internal 15,0-1 Наверху |
#[local]
secret=1234 host=dynamic [spb] [3101] [3101]riend ; friend, user, peer secret=1234 context=gr3 "/etc/asterisk/sip.conf" 38L, 648C [3102]ynamic [3102] ... ;register => spb:1234@192.168.90.1/kln ; ;[kln] ;type=friend ; friend, user, peer ;secret=1234 ~ ~ ~ ~ "/etc/asterisk/sip.conf" 40L, 672C записано |
#vim /etc/asterisk/extensions.conf
|
#[spb]
![]() Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово Некоторые пакеты невозможно установить. Возможно, вы просите невозможного, или же используете нестабильную версию дистрибутива, где запрошенные вами пакеты ещё не созданы или были удалены из Incoming. Следующая информация, возможно, поможет вам: Пакеты, имеющие неудовлетворённые зависимости: sendmail : Зависит: sendmail-bin но он не будет установлен E: Сломанные пакеты |
#apt-get install sendmail sendmail-bin sensible-mda
![]() ЧÑение ÑпиÑков пакеÑов... ÐоÑово ÐоÑÑÑоение деÑева завиÑимоÑÑей ЧÑение инÑоÑмаÑии о ÑоÑÑоÑнии... ÐоÑово СледÑÑÑие пакеÑÑ ÑÑÑанавливалиÑÑ Ð°Ð²ÑомаÑиÑеÑки и болÑÑе не ÑÑебÑÑÑÑÑ: mysql-common libmysqlclient16 ÐÐ»Ñ Ð¸Ñ ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¸ÑполÑзÑйÑе 'apt-get autoremove'. ÐÑдÑÑ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ ÑледÑÑÑие дополниÑелÑнÑе пакеÑÑ: libmysqlclient16 mysql-common sendmail-base sendmail-cf ÐÑедлагаемÑе пакеÑÑ: sendmail-doc rmail logcheck resolvconf sasl2-bin ÐакеÑÑ, коÑоÑÑе бÑдÑÑ Ð£ÐÐÐ xim4 exim4-base exim4-config exim4-daemon-light ÐÐÐЫРпакеÑÑ, коÑоÑÑе бÑдÑÑ ÑÑÑановленÑ: libmysqlclient16 mysql-common sendmail sendmail-base sendmail-bin sendmail-cf sensible-mda обновлено 0, ÑÑÑановлено 7 новÑÑ Ð¿Ð°ÐºÐµÑов, Ð´Ð»Ñ ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¾ÑмеÑено 4 пакеÑов, и 0 пакеÑов не обновлено. ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑкаÑаÑÑ 4.020 kРаÑÑ Ð¸Ð²Ð¾Ð². ÐоÑле данной опеÑаÑии, обÑÑм занÑÑого диÑкового пÑоÑÑÑанÑÑва возÑаÑÑÑÑ Ð½Ð° 5.403 kB. ХоÑиÑе пÑодолжиÑÑ [Ð/н]? ^C |
#apt-get install sendmail sendmail-bin sensible-mda
ЧÑение ÑпиÑков пакеÑов... ÐоÑово ÐоÑÑÑоение деÑева завиÑимоÑÑей ЧÑение инÑоÑмаÑии о ÑоÑÑоÑнии... ÐоÑово СледÑÑÑие пакеÑÑ ÑÑÑанавливалиÑÑ Ð°Ð²ÑомаÑиÑеÑки и болÑÑе не ÑÑебÑÑÑÑÑ: mysql-common libmysqlclient16 ÐÐ»Ñ Ð¸Ñ ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¸ÑполÑзÑйÑе 'apt-get autoremove'. ÐÑдÑÑ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ ÑледÑÑÑие дополниÑелÑнÑе пакеÑÑ: libmysqlclient16 mysql-common sendmail-base sendmail-cf ÐÑедлагаемÑе пакеÑÑ: sendmail-doc rmail logcheck resolvconf sasl2-bin ... РаÑпаковÑваеÑÑÑ Ð¿Ð°ÐºÐµÑ libmysqlclient16 (из Ñайла .../libmysqlclient16_5.1.49-3_i386.deb)... ÐÑÐ±Ð¾Ñ Ñанее не вÑбÑанного пакеÑа sensible-mda. РаÑпаковÑваеÑÑÑ Ð¿Ð°ÐºÐµÑ sensible-mda (из Ñайла .../sensible-mda_8.14.3-9.4_i386.deb)... ÐÑÐ±Ð¾Ñ Ñанее не вÑбÑанного пакеÑа sendmail. РаÑпаковÑваеÑÑÑ Ð¿Ð°ÐºÐµÑ sendmail (из Ñайла .../sendmail_8.14.3-9.4_all.deb)... ÐбÑабаÑÑваÑÑÑÑ ÑÑиггеÑÑ Ð´Ð»Ñ man-db ... ÐаÑÑÑаиваеÑÑÑ Ð¿Ð°ÐºÐµÑ mysql-common (5.1.49-3) ... ÐаÑÑÑаиваеÑÑÑ Ð¿Ð°ÐºÐµÑ libmysqlclient16 (5.1.49-3) ... ÐаÑÑÑаиваеÑÑÑ Ð¿Ð°ÐºÐµÑ sensible-mda (8.14.3-9.4) ... ÐаÑÑÑаиваеÑÑÑ Ð¿Ð°ÐºÐµÑ sendmail (8.14.3-9.4) ... |
#vim /etc/mail/sendmail.mc
--- /tmp/l3-saved-15726.3587.26960 2011-10-18 14:17:26.000000000 +0300 +++ /etc/mail/sendmail.mc 2011-10-18 14:17:57.000000000 +0300 @@ -96,14 +96,14 @@ dnl # include(`/etc/mail/m4/dialup.m4')dnl include(`/etc/mail/m4/provider.m4')dnl +dnl # Masquerading options +FEATURE(`always_add_domain')dnl +MASQUERADE_AS(`linux9.unix.nt')dnl +FEATURE(`allmasquerade')dnl +FEATURE(`masquerade_envelope')dnl dnl # dnl # Default Mailer setup MAILER_DEFINITIONS MAILER(`local')dnl MAILER(`smtp')dnl -dnl # Masquerading options -FEATURE(`always_add_domain')dnl -MASQUERADE_AS(`linux9.unix.nt')dnl -FEATURE(`allmasquerade')dnl -FEATURE(`masquerade_envelope')dnl |
#vim /etc/mail/local-host-names
|
#~
localhost linux9.unix.nt |
#vim /etc/mail/sendmail.mc
|
#vim /etc/mail/access
--- /tmp/l3-saved-18915.18993.28046 2011-10-18 14:30:00.000000000 +0300 +++ /etc/mail/access 2011-10-18 14:30:15.000000000 +0300 @@ -97,7 +97,7 @@ #Connect:172.29 RELAY #Connect:172.30 RELAY #Connect:172.31 RELAY -#Connect:192.168 RELAY +Connect:192.168.90 RELAY #GreetPause:192.168 0 #ClientRate:192.168 0 #ClientConn:192.168 0 |
#Spam:postmaster@ FRIEND
Restarting Mail Transport Agent (MTA): sendmail. |
#netstat lnp | grep :25
![]() ^C |
#netstat -lnp | grep :25
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 19052/sendmail: MTA |
#apt-get install qpopper
Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово Следующие пакеты устанавливались автоматически и больше не требуются: mysql-common libmysqlclient16 Для их удаления используйте 'apt-get autoremove'. Будут установлены следующие дополнительные пакеты: openbsd-inetd НОВЫЕ пакеты, которые будут установлены: openbsd-inetd qpopper ... Выбор ранее не выбранного пакета openbsd-inetd. (Чтение базы данных ... на данный момент установлено 130287 файлов и каталогов.) Распаковывается пакет openbsd-inetd (из файла .../openbsd-inetd_0.20080125-6_i386.deb)... Выбор ранее не выбранного пакета qpopper. Распаковывается пакет qpopper (из файла .../qpopper_4.0.9.dfsg-1.2_i386.deb)... Обрабатываются триггеры для man-db ... Настраивается пакет openbsd-inetd (0.20080125-6) ... Stopping internet superserver: inetd. Not starting internet superserver: no services enabled. Настраивается пакет qpopper (4.0.9.dfsg-1.2) ... |
#echo test | mail password
|
#passwd password
Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: пароль успешно обновлён |
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-19598.13609.20788 2011-10-18 15:07:30.000000000 +0300 +++ /etc/asterisk/extensions.conf 2011-10-18 15:09:29.000000000 +0300 @@ -15,7 +15,8 @@ [local] -exten => _310X,1,Dial(SIP/${EXTEN}) +exten => _310X,1,Dial(SIP/${EXTEN},10) +exten => _310X,n,Voicemail(${EXTEN}@default) [national] |
#vim /etc/asterisk/voicemail.conf
|
#;4325 => 2392,Andrew Dufresne,andy@dufresne.info,,imapuser=adufresne|imappassword=rockh@mmer
[ ] exten => _2[34]XX,1,Dial(SIP/spb/${EXTEN}) "/etc/asterisk/extensions.conf" 56L, 915C [ ] [internat]onal] exten => _[123]XXX,1,Dial(SIP/spb/${EXTEN}) ; ------------------------------- ; USERS ; ------------------------------- [gr1] include => internal include => local [gr2] include => internal include => local include => national [gr3] 15,0-1 Наверху |
#[local]
[other] ;The intro can be customized on a per-context basis 3101 => 1234,Imya Familiya,user@linux9.unix.nt ;directoryintro=dir-company2 ;1234 => 4242,Example Mailbox,root@localhost 1234 => 5678,Company2 User,root@localhost ; example for our acme compartmentalized company ; ; Pete telecommutes from Chicago, so we'll customize timestamps for him. ; ... ;112 => 6262,Nancy,nancy@acme-widgets.com ; ; ; When using IMAP storage, imapuser and imappassword can be used to specify the ; user's credentials. ; ;[imapvm] ;4324 => 7764,Ellis Redding,red@buxton.us,,imapuser=eredding|imappassword=g3tbusy ;4325 => 2392,Andrew Dufresne,andy@dufresne.info,,imapuser=adufresne|imappassword=rockh@mmer 366,1 Внизу "/etc/asterisk/voicemail.conf" 367L, 18009C записано |
#vim /etc/asterisk/voicemail.conf
|
#[gr3]
exten => _2[34]XX,1,Dial(SIP/spb/${EXTEN}) "/etc/asterisk/extensions.conf" 56L, 915C [ ] exten => 31 [internat]197,1,VoicemailMain() exten => _[123]XXX,1,Dial(SIP/spb/${EXTEN}) ; ------------------------------- ; USERS ; ------------------------------- [gr1] include => internal include => local [gr2] include => internal include => local include => national "/etc/asterisk/extensions.conf" 58L, 948C записано |
#asterisk -rvvvvv
Asterisk 1.6.2.9-2+squeeze3, 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+squeeze3 currently running on linux9 (pid = 19735) ... -- 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.000555 sec -- Time to restore hints and swap in new dialplan: 0.000000 sec -- Time to delete the old dialplan: 0.000060 sec -- Total time merge_contexts_delete: 0.000615 sec linux9*CLI> linux9*CLI> linux9*CLI> quit Executing last minute cleanups |
#vim /etc/asterisk/extensions.conf
|
#include => national
|
#wget http://www.ivrvoice.ru/downloader/download/file/11
--2011-10-18 15:58:55-- http://www.ivrvoice.ru/downloader/download/file/11 Распознаётся www.ivrvoice.ru... 195.242.215.39 Устанавливается соединение с www.ivrvoice.ru|195.242.215.39|:80... соединение установлено. Запрос HTTP послан, ожидается ответ... 302 Found Адрес: http://www.ivrvoice.ru/downloader/download/file/11/asterisk-sounds-ru-gsm-2010-04-28.tar.gz [переход] --2011-10-18 15:58:55-- http://www.ivrvoice.ru/downloader/download/file/11/asterisk-sounds-ru-gsm-2010-04-28.tar.gz Повторное использование соединения с www.ivrvoice.ru:80. Запрос HTTP послан, ожидается ответ... 200 Ok Длина: 2452777 (2,3M) [application/octet-stream] Saving to: «11» 100%[=====================================================================================================================>] 2.452.777 2,89M/s в 0,8s 2011-10-18 15:58:57 (2,89 MB/s) - «11» saved [2452777/2452777] |
#file 11
11: gzip compressed data, from Unix, last modified: Wed Apr 28 11:47:04 2010 |
#pwd
/root |
#tar tvf 11 | less
|
#ls /usr/share/asterisk/sounds/
1-for-am-2-for-pm.gsm helpdesk.gsm privacy-to-whitelist-last-caller.gsm 1-yes-2-no.gsm hertz.gsm privacy-to-whitelist-this-number.gsm abandon-all-hope.gsm high.gsm privacy-whitelisted.gsm abandons.gsm highway.gsm privacy-you-are-blacklisted.gsm academic-support.gsm hit.gsm privacy-you-are-calling-from.gsm access-code.gsm hold-or-dial-0.gsm privacy-your-callerid-is.gsm access-denied.gsm home.gsm product.gsm access-granted.gsm honolulu.gsm production.gsm accessible-through-system.gsm housekeeping.gsm projects.gsm account-balance-is.gsm houston.gsm protocol.gsm ... has-issued-a.gsm privacy-please-dial.gsm your-msg-is-too-short.gsm has-not-been-seen-for.gsm privacy-please-stay-on-line-to-be-connected.gsm your-notifications.gsm hawaii.gsm privacy-restricted-by-req.gsm your-req-notification.gsm headed-towards.gsm privacy-screening-unidentified-calls.gsm your-temp-greeting.gsm heading.gsm privacy-stop-calling-not-welcome2.gsm you-seem-impatient.gsm health-center.gsm privacy-stop-calling-not-welcome.gsm you-sound-cute.gsm hear-odd-noise.gsm privacy-this-number-is.gsm you-wish-to-join.gsm hear-toilet-flush.gsm privacy-to-blacklist-last-caller.gsm zip-code.gsm hectopascal.gsm privacy-to-blacklist-this-number.gsm hello.gsm privacy-to-hear-our-contact-details.gsm |
#mv ru
![]() ru/ ru.txt |
#mv ru /usr/share/asterisk/sounds/
|
#Ñapt-cache search asterisk voice
asterisk-prompt-de - German voice prompts for the Asterisk PBX asterisk-prompt-es-co - Colombian Spanish voice prompts for Asterisk asterisk-prompt-fr-armelle - French voice prompts for Asterisk by Armelle Desjardins asterisk-prompt-fr-proformatique - French voice prompts for Asterisk asterisk-prompt-it - Italian voice prompts for the Asterisk PBX asterisk-prompt-se - Swedish voice prompts for Asterisk asterisk-sounds-extra - Additional sound files for the Asterisk PBX asterisk - ÑелеÑÐ¾Ð½Ð½Ð°Ñ ÑÑанÑÐ¸Ñ Ð´Ð»Ñ ÑÑÑеждений (PBX) |
#apt-get install asterisk-prompt-de asterisk-prompt-fr-armelle asterisk-prompt-it
Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово Следующие пакеты устанавливались автоматически и больше не требуются: mysql-common libmysqlclient16 Для их удаления используйте 'apt-get autoremove'. НОВЫЕ пакеты, которые будут установлены: asterisk-prompt-de asterisk-prompt-fr-armelle asterisk-prompt-it обновлено 0, установлено 3 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено. Необходимо скачать 4.843 kБ архивов. ... Выбор ранее не выбранного пакета asterisk-prompt-de. (Чтение базы данных ... на данный момент установлено 130310 файлов и каталогов.) Распаковывается пакет asterisk-prompt-de (из файла .../asterisk-prompt-de_2.0-1_all.deb)... Выбор ранее не выбранного пакета asterisk-prompt-fr-armelle. Распаковывается пакет asterisk-prompt-fr-armelle (из файла .../asterisk-prompt-fr-armelle_20070613-2_all.deb)... Выбор ранее не выбранного пакета asterisk-prompt-it. Распаковывается пакет asterisk-prompt-it (из файла .../asterisk-prompt-it_20060510-3_all.deb)... Настраивается пакет asterisk-prompt-de (2.0-1) ... Настраивается пакет asterisk-prompt-fr-armelle (20070613-2) ... Настраивается пакет asterisk-prompt-it (20060510-3) ... |
#ls /usr/share/asterisk/sounds/
1-for-am-2-for-pm.gsm hectopascal.gsm privacy-to-blacklist-last-caller.gsm 1-yes-2-no.gsm hello.gsm privacy-to-blacklist-this-number.gsm abandon-all-hope.gsm helpdesk.gsm privacy-to-hear-our-contact-details.gsm abandons.gsm hertz.gsm privacy-to-whitelist-last-caller.gsm academic-support.gsm high.gsm privacy-to-whitelist-this-number.gsm access-code.gsm highway.gsm privacy-whitelisted.gsm access-denied.gsm hit.gsm privacy-you-are-blacklisted.gsm access-granted.gsm hold-or-dial-0.gsm privacy-you-are-calling-from.gsm accessible-through-system.gsm home.gsm privacy-your-callerid-is.gsm account-balance-is.gsm honolulu.gsm product.gsm ... has.gsm privacy-if-sales-call-contact-in-writing.gsm your.gsm hash.gsm privacy-last-caller-was.gsm your-msg-has-been-saved.gsm has-issued-a.gsm privacy-not.gsm your-msg-is-too-short.gsm has-not-been-seen-for.gsm privacy-please-dial.gsm your-notifications.gsm hawaii.gsm privacy-please-stay-on-line-to-be-connected.gsm your-req-notification.gsm headed-towards.gsm privacy-restricted-by-req.gsm your-temp-greeting.gsm heading.gsm privacy-screening-unidentified-calls.gsm you-seem-impatient.gsm health-center.gsm privacy-stop-calling-not-welcome2.gsm you-sound-cute.gsm hear-odd-noise.gsm privacy-stop-calling-not-welcome.gsm you-wish-to-join.gsm hear-toilet-flush.gsm privacy-this-number-is.gsm zip-code.gsm |
#ls /usr/share/asterisk/sounds/ -l | grep ^d
drwxr-xr-x 2 root root 12288 Окт 18 16:02 de drwxr-xr-x 3 root root 4096 Окт 18 16:02 dictate drwxr-xr-x 4 root root 4096 Окт 18 16:02 digits drwxr-xr-x 8 root root 20480 Окт 17 14:23 en_US_f_Allison drwxr-xr-x 6 root root 12288 Окт 18 16:02 fr drwxr-xr-x 2 root root 4096 Окт 17 14:23 ha drwxr-xr-x 2 root root 12288 Окт 18 16:02 it drwxr-xr-x 4 root root 4096 Окт 18 16:02 letters drwxr-xr-x 4 root root 4096 Окт 18 16:02 phonetic drwxr-xr-x 9 password password 20480 Апр 28 2010 ru drwxr-xr-x 2 root root 4096 Окт 17 14:23 wx |
#vim /etc/asterisk/sip.conf
--- /tmp/l3-saved-20436.167.26244 2011-10-18 16:05:10.000000000 +0300 +++ /etc/asterisk/sip.conf 2011-10-18 16:05:27.000000000 +0300 @@ -13,12 +13,14 @@ secret=1234 host=dynamic context=gr3 +language=de [3102] type=friend ; friend, user, peer secret=1234 host=dynamic context=gr1 +language=ru [spb] type=friend ; friend, user, peer |
#asterisk -rx 'dialplan reload'
Dialplan reloaded. |
#grep voicemail /etc/asterisk/extensions.conf
|
#ÑÑhistory
1 exit 2 apt-get install locales ntpdate ssh sudo bash-completion build-essential console-cyrillic 3 screen-x 4 dpkg-reconfigure tzdata 5 ntpdate ntp.lucky.net 6 dpkg-reconfigure console-cyrillic 7 cd tmp 8 cd /tmp 9 wget http://xgu.ru/lilalo/install 10 vim http://xgu.ru/lilalo/install ... 233 apt-get install asterisk-prompt-de asterisk-prompt-fr-armelle asterisk-prompt-it 234 ls /usr/share/asterisk/sounds/ 235 ls /usr/share/asterisk/sounds/ -l | grep ^d 236 ls /usr/share/asterisk/sounds/ -l | grep ^d 237 vim /etc/asterisk/sip.conf 238 asterisk -rx 'sip reload' 239 asterisk -rx 'dialplan reload' 240 grep voicemail /etc/asterisk/extensions.conf 241 grep -i voicemail /etc/asterisk/extensions.conf 242 history |
#vim /etc/asterisk/sip.conf
--- /tmp/l3-saved-20436.4506.15110 2011-10-18 16:15:27.000000000 +0300 +++ /etc/asterisk/sip.conf 2011-10-18 16:15:45.000000000 +0300 @@ -14,6 +14,7 @@ host=dynamic context=gr3 language=de +mailbox=3101@default [3102] type=friend ; friend, user, peer |
#vim /etc/asterisk/sip.conf
|
#[ ]
[national] "/etc/asterisk/extensions.conf" 58L, 948C [ ] [xten => ]2[34]XX,1,Dial(SIP/spb/${EXTEN}) exten => _318X,1,GotoIf($[ "${CALLERID(num)}" != "310${EXTEN:3}" ]?password) exten => _318X,n,VoicemailMain(310${EXTEN:3},s) exten => _318X,n,Hangup exten => _318X,n(password),VoicemailMain(310${EXTEN:3}) exten => _318X,n,Hangup [international] exten => _[123]XXX,1,Dial(SIP/spb/${EXTEN}) [local] [local] ; ------------------------------- ; USERS ; ------------------------------- [gr1] include => internal include => local [gr2] "/etc/asterisk/extensions.conf" 64L, 1178C записано |
#asterisk -rvvvvv
Asterisk 1.6.2.9-2+squeeze3, 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+squeeze3 currently running on linux9 (pid = 19735) ... == Spawn extension (gr3, 3181, 2) exited non-zero on 'SIP/3101-0000001c' == Using SIP RTP CoS mark 5 -- Executing [3182@gr3:1] GotoIf("SIP/3101-0000001d", "1?password") in new stack -- Goto (gr3,3182,4) -- Executing [3182@gr3:4] VoiceMailMain("SIP/3101-0000001d", "3102") in new stack -- <SIP/3101-0000001d> Playing 'vm-login.gsm' (language 'de') -- <SIP/3101-0000001d> Playing 'vm-password.gsm' (language 'de') [Oct 18 16:53:36] WARNING[21198]: app_voicemail.c:9102 vm_authenticate: Unable to read password linux9*CLI> quit Executing last minute cleanups |
#vim /etc/asterisk/extensions.conf
|
#[ ]
|
#vim /etc/asterisk/voicemail.conf
--- /tmp/l3-saved-20436.18382.24629 2011-10-18 16:55:41.000000000 +0300 +++ /etc/asterisk/voicemail.conf 2011-10-18 16:55:51.000000000 +0300 @@ -328,6 +328,7 @@ [default] 3101 => 1234,Imya Familiya,user@linux9.unix.nt +3102 => 1234,Imya Familiya,user@linux9.unix.nt ;1234 => 4242,Example Mailbox,root@localhost ;4200 => 9855,Mark Spencer,markster@linux-support.net,mypager@digium.com,attach=no|serveremail=myaddy@digium.com|tz=central|maxmsg=10 |
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk. Starting Asterisk PBX: asterisk. |
#vim /etc/asterisk/voicemail.conf
--- /tmp/l3-saved-21640.29353.24505 2011-10-18 17:26:10.000000000 +0300 +++ /etc/asterisk/voicemail.conf 2011-10-18 17:27:41.000000000 +0300 @@ -93,6 +93,7 @@ ;directoryintro=dir-intro ; The character set for voicemail messages can be specified here ;charset=ISO-8859-1 +charset=UTF-8 ; The ADSI feature descriptor number to download to ;adsifdn=0000000F ; The ADSI security lock code @@ -122,11 +123,12 @@ ; ; Note: The emailbody config row can only be up to 512 characters due to a ; limitation in the Asterisk configuration subsystem. -;emailsubject=[PBX]: New message ${VM_MSGNUM} in mailbox ${VM_MAILBOX} +;emailsubject=[PBX]: New message ${VM_MSGNUM} in mailbox ${VM_MAILBOX ; The following definition is very close to the default, but the default shows ; just the CIDNAME, if it is not null, otherwise just the CIDNUM, or "an unknown ; caller", if they are both null. ;emailbody=Dear ${VM_NAME}:\n\n\tjust wanted to let you know you were just left a ${VM_DUR} long message (number ${VM_MSGNUM})\nin mailbox ${VM_MAILBOX} from ${VM_CALLERID}, on ${VM_DATE}, so you might\nwant to check it when you get a chance. Thanks!\n\n\t\t\t\t--Asterisk\n +emailbody=Уважаемый ${VM_NAME}:\n\n\tхотим сообщить вам, что вам было оставлено голосове сообщение длительностью ${VM_DUR} (номер ${VM_MSGNUM})\nв ящике ${VM_MAILBOX} from ${VM_CALLERID}, on ${VM_DATE}, so you might\nwant to check it when you get a chance. Thanks!\n\n\t\t\t\t--Asterisk\n ; ; Note: ${IF()} strips spacing at the beginning and end of its true and false ; values, so a newline cannot be placed at either location. The word 'so' is |
#; VM_NAME, VM_DUR, VM_MSGNUM, VM_MAILBOX, VM_CALLERID, VM_CIDNUM,
|
#/etc/init.d/asterisk restart\
> Stopping Asterisk PBX: asterisk. Starting Asterisk PBX: asterisk. |
#;4325 => 2392,Andrew Dufresne,andy@dufresne.info,,imapuser=adufresne|imappassword=rockh@mmer
Oct 18 17:32:15 linux9 sendmail[21866]: p9IEWFkp021866: to="Imya Familiya" <user@linux9.unix.nt>, ctladdr=asterisk (110/117), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=38698, relay=[127.0.0.1] [127.0.0.1], dsn=5.1.1, stat=User unknown Oct 18 17:32:15 linux9 sm-mta[21868]: p9IEWFcc021868: from=<asterisk@linux9.unix.nt>, size=8698, class=0, nrcpts=0, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1] Oct 18 17:32:42 linux9 in.qpopper[21870]: (v4.0.9) Unable to get canonical name of client 192.168.90.200: Name or service not known (-2) [pop_init.c:1250] Oct 18 17:32:42 linux9 in.qpopper[21870]: (v4.0.9) Servicing request from "192.168.90.200" at 192.168.90.200 [pop_init.c:1408] Oct 18 17:32:42 linux9 in.qpopper[21870]: Unable to open bulletin directory '/var/spool/popbull': No such file or directory (2) [pop_bull.c:386] Oct 18 17:32:42 linux9 in.qpopper[21870]: (v4.0.9) POP login by user "password" at (192.168.90.200) 192.168.90.200 [pop_log.c:244] Oct 18 17:33:07 linux9 in.qpopper[21871]: (v4.0.9) Unable to get canonical name of client 192.168.90.200: Name or service not known (-2) [pop_init.c:1250] Oct 18 17:33:07 linux9 in.qpopper[21871]: (v4.0.9) Servicing request from "192.168.90.200" at 192.168.90.200 [pop_init.c:1408] Oct 18 17:33:08 linux9 in.qpopper[21871]: Unable to open bulletin directory '/var/spool/popbull': No such file or directory (2) [pop_bull.c:386] Oct 18 17:33:08 linux9 in.qpopper[21871]: (v4.0.9) POP login by user "password" at (192.168.90.200) 192.168.90.200 [pop_log.c:244] |
#less /var/log/mail.log
|
#less /var/log/asterisk/
![]() |
#less /var/log/asterisk/messages
|
#/etc/init.d/asterisk restart\
> Stopping Asterisk PBX: asterisk. Starting Asterisk PBX: asterisk. |
#;pagerfromstring=The Asterisk PBX
![]() cdr-csv/ cdr-custom/ event_log messages queue_log |
#less /var/log/asterisk/messages
|
#less /var/log/mail.log
|
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk. Starting Asterisk PBX: asterisk. |
#echo test | mail user
![]() Can't send mail: sendmail process failed with error code 67 |
#echo test | mail user
Can't send mail: sendmail process failed with error code 67 |
#echo test | mail -s test user
![]() Can't send mail: sendmail process failed with error code 67 |
#echo test | mail -s test user
Can't send mail: sendmail process failed with error code 67 |
#mailq
![]() MSP Queue status... /var/spool/mqueue-client is empty Total requests: 0 MTA Queue status... /var/spool/mqueue is empty Total requests: 0 |
#mailq
MSP Queue status... /var/spool/mqueue-client is empty Total requests: 0 MTA Queue status... /var/spool/mqueue is empty Total requests: 0 |
[default] exten => 3199,1,Playback(demo-thanks) exten => 3199,n,Playback(demo-thanks) exten => 3199,n,Playback(demo-thanks) exten => 3198,1,Record(/var/lib/asterisk/sounds/recorded-voice:gsm,2) exten => 3198,n,Playback(/var/lib/asterisk/sounds/recorded-voice) exten => _310X,1,Dial(SIP/${EXTEN}) exten => _24XX,1,Dial(SIP/spb/${EXTEN})
Время первой команды журнала | 09:12:20 2011-10-18 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 16:45:41 2011-10-18 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 0.99 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 0.00 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 3.56 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 0.47 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.
Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
$ l s-l bash: l: command not found |
Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
$ test 5 -lt 4 |
Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
$ 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 |
Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
# id uid=0(root) gid=0(root) Gruppen=0(root) |
Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
$ vi ~/.bashrc
|
Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
$ patch ~/.bashrc |
Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.
Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.
Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.
Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора
Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.
Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.
Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:
$ whoami
user
$ #^ Интересно, кто я?в журнале это будет выглядеть так:
$ whoami
user
Интересно, кто я? |
Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:
$ whoami
user
$ cat > /dev/null #^ Интересно, кто я?
Программа whoami выводит имя пользователя, под которым мы зарегистрировались в системе. - Она не может ответить на вопрос о нашем назначении в этом мире.В журнале это будет выглядеть так:
$ whoami user
|
Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=
1 2 3 4Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.
LiLaLo (L3) расшифровывается как Live Lab Log.
Программа разработана для повышения эффективности обучения Unix/Linux-системам.
(c) Игорь Чубин, 2004-2008