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

Содержание

Журнал

Четверг (10/25/12)

/dev/pts/1
15:36:31
#Channel:SIP:1401

15:36:49
#Channel:SIP/1401

15:36:52
#touch -d "sun 15:00" /var/tmp/l.call

15:38:22
#ls -l l.call
-rw-r--r-- 1 asterisk asterisk 49 Окт 28  2012 l.call
15:45:10
#nano script
прошло 13 минут
15:58:53
#mkdir -p /tmp/calls/

прошло 12 минут
16:11:49
#cat /etc/hosts
127.0.0.1       localhost
192.168.40.1    linux4.unix.nt  linux4
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
16:11:52
#cat /etc/hostname
linux4
16:12:06
#hostname -f
linux4.unix.nt
16:12:25
#vim /etc/hostname
16:14:06
#~
Host 1.90.168.192.in-addr.arpa. not found: 3(NXDOMAIN)
16:16:37
#host 192.168.50.1
Host 1.50.168.192.in-addr.arpa. not found: 3(NXDOMAIN)
16:16:46
#ping ya.ru
PING ya.ru (77.88.21.3) 56(84) bytes of data.
64 bytes from www.yandex.ru (77.88.21.3): icmp_req=1 ttl=56 time=19.6 ms
64 bytes from www.yandex.ru (77.88.21.3): icmp_req=2 ttl=56 time=19.2 ms
64 bytes from www.yandex.ru (77.88.21.3): icmp_req=3 ttl=56 time=19.5 ms
64 bytes from www.yandex.ru (77.88.21.3): icmp_req=4 ttl=56 time=19.7 ms
64 bytes from www.yandex.ru (77.88.21.3): icmp_req=5 ttl=56 time=19.9 ms
^C
--- ya.ru ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 19.259/19.617/19.919/0.279 ms
16:16:59
#apt-get install ejabberd
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  mysql-common libmysqlclient16
Для их удаления используйте 'apt-get autoremove'.
Будут установлены следующие дополнительные пакеты:
  erlang-asn1 erlang-base erlang-crypto erlang-inets erlang-mnesia erlang-odbc erlang-public-key erlang-runtime-tools
  erlang-ssl erlang-syntax-tools libsctp1 lksctp-tools
Предлагаемые пакеты:
...
Настраивается пакет erlang-inets (1:14.a-dfsg-3squeeze1) ...
Настраивается пакет erlang-odbc (1:14.a-dfsg-3squeeze1) ...
Настраивается пакет ejabberd (2.1.5-3+squeeze1) ...
adduser: Предупреждение: домашний каталог «/var/lib/ejabberd» не принадлежит пользователю, который сейчас создаётся.
Generating SSL certificate /etc/ejabberd/ejabberd.pem...
Creating config file /etc/ejabberd/ejabberd.cfg with new version
Starting jabber server: ejabberd.
Настраивается пакет libsctp1 (1.0.11+dfsg-1) ...
Настраивается пакет lksctp-tools (1.0.11+dfsg-1) ...
Обрабатываются триггеры для menu ...
16:19:15
#dpkg-reconfigure ejabberd
Настройка пакета
                                  ┌───────────┤ Настраивается пакет ejabberd ├───────────┐
                                  │ Введите пароль администратора ещё раз для проверки.  │
                                  │                                                      │
                                  │ Повторный ввод пароля администратора для проверки:   │
                                  │                                                      │
                                  â”*****_________________________________________________ │
                                  │                                                      │
                                  │                        <Ok>                          │
                                  │                                                      │
                                  └──────────────────────────────────────────────────────┘
Replacing config file /etc/ejabberd/ejabberd.cfg with new version
Starting jabber server: ejabberd.
Waiting for ejabberd to register admin user.
Admin user "admin@linux4.unix.nt" is registered successfully.
16:20:24
#ejabberdctl register user linux9.unix.nt password
Can't register user user@linux9.unix.nt at node ejabberd@linux4: not_allowed
16:24:46
#ejabberdctl register user linux4.unix.nt password
User user@linux4.unix.nt already registered at node ejabberd@linux4
16:25:03
#ejabberdctl register asterisk linux9.unix.nt password
Can't register user asterisk@linux9.unix.nt at node ejabberd@linux4: not_allowed

Пятница (10/26/12)

09:07:03
#ejabberdctl register asterisk linux4.unix.nt password
User asterisk@linux4.unix.nt successfully registered
09:07:20
#echo message | sendxmpp -f /var/lib/asterisk/.sendxmpprc user@linux9.unix.nt
bash: sendxmpp: команда не найдена
09:13:05
#echo message | sendxmpp -f /var/lib/asterisk/.sendxmpprc user@linux4.unix.nt
bash: sendxmpp: команда не найдена
09:13:15
#ls pci
ls: невозможно получить доступ к pci: Нет такого файла или каталога
прошло 40 минут
09:53:23
#lspci
00:00.0 Host bridge: Intel Corporation Sandy Bridge DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Sandy Bridge Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation Cougar Point HECI Controller #1 (rev 04)
00:16.3 Serial controller: Intel Corporation Cougar Point KT Controller (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)
00:1a.0 USB Controller: Intel Corporation Cougar Point USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation Cougar Point High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation Cougar Point PCI Express Root Port 1 (rev b4)
00:1c.4 PCI bridge: Intel Corporation Cougar Point PCI Express Root Port 5 (rev b4)
00:1c.6 PCI bridge: Intel Corporation Cougar Point PCI Express Root Port 7 (rev b4)
00:1c.7 PCI bridge: Intel Corporation Cougar Point PCI Express Root Port 8 (rev b4)
00:1d.0 USB Controller: Intel Corporation Cougar Point USB Enhanced Host Controller #1 (rev 04)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a4)
00:1f.0 ISA bridge: Intel Corporation Cougar Point LPC Controller (rev 04)
00:1f.2 RAID bus controller: Intel Corporation 82801 SATA RAID Controller (rev 04)
00:1f.3 SMBus: Intel Corporation Cougar Point SMBus Controller (rev 04)
09:54:09
#ls /sys
block  bus  class  dev  devices  firmware  fs  hypervisor  kernel  module  power
09:54:56
#find /sys -name
find: отсутствует аргумент у `-name'
прошло 86 минут
11:20:59
#apt-get install asterisk-dev
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  mysql-common libmysqlclient16
Для их удаления используйте 'apt-get autoremove'.
НОВЫЕ пакеты, которые будут установлены:
  asterisk-dev
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 5 пакетов не обновлено.
Необходимо скачать 636 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 1.729 kB.
ВНИМАНИЕ: Следующие пакеты невозможно аутентифицировать!
  asterisk-dev
Установить эти пакеты без проверки [y/N]? y
Получено:1 http://192.168.15.254/debian/ squeeze/main asterisk-dev all 1:1.6.2.9-2+squeeze6 [636 kB]
Получено 636 kБ за 0с (8.906 kБ/c)
Выбор ранее не выбранного пакета asterisk-dev.
(Чтение базы данных ... на данный момент установлено 146839 файлов и каталогов.)
Распаковывается пакет asterisk-dev (из файла .../asterisk-dev_1%3a1.6.2.9-2+squeeze6_all.deb)...
Настраивается пакет asterisk-dev (1:1.6.2.9-2+squeeze6) ...
прошло 84 минуты
12:45:27
#apt-get install subversion
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  mysql-common libmysqlclient16
Для их удаления используйте 'apt-get autoremove'.
Будут установлены следующие дополнительные пакеты:
  libserf-0-0 libsvn1
Предлагаемые пакеты:
  subversion-tools db4.8-util
...
(Чтение базы данных ... на данный момент установлено 146959 файлов и каталогов.)
Распаковывается пакет libserf-0-0 (из файла .../libserf-0-0_0.3.1-1_i386.deb)...
Выбор ранее не выбранного пакета libsvn1.
Распаковывается пакет libsvn1 (из файла .../libsvn1_1.6.12dfsg-6_i386.deb)...
Выбор ранее не выбранного пакета subversion.
Распаковывается пакет subversion (из файла .../subversion_1.6.12dfsg-6_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет libserf-0-0 (0.3.1-1) ...
Настраивается пакет libsvn1 (1.6.12dfsg-6) ...
Настраивается пакет subversion (1.6.12dfsg-6) ...
12:53:50
#svn checkout http://chan-datacard.googlecode.com/svn/trunk/ chan-datacard-read-only
A    chan-datacard-read-only/__helpers.c
A    chan-datacard-read-only/__char_conv.c
A    chan-datacard-read-only/configure
A    chan-datacard-read-only/chan_datacard.h
A    chan-datacard-read-only/Makefile.in
A    chan-datacard-read-only/__cli.c
A    chan-datacard-read-only/COPYRIGHT.txt
A    chan-datacard-read-only/__channel.c
A    chan-datacard-read-only/__manager.c
A    chan-datacard-read-only/__at_fifo_queue.c
...
A    chan-datacard-read-only/__at_response.c
A    chan-datacard-read-only/__ringbuffer.c
A    chan-datacard-read-only/README.txt
A    chan-datacard-read-only/etc
A    chan-datacard-read-only/etc/datacard.conf
A    chan-datacard-read-only/__ringbuffer.h
A    chan-datacard-read-only/chan_datacard.c
A    chan-datacard-read-only/__at_parse.c
A    chan-datacard-read-only/__at_read.c
Checked out revision 191.
12:55:24
#./configure
bash: ./configure: Нет такого файла или каталога
12:55:36
#d chan-datacard-read-only/
bash: d: команда не найдена
12:56:08
#cd chan-datacard-read-only/

12:56:13
#./configure
configure complete, now type 'make'
12:56:17
#make install
gcc -Wextra -fPIC -DAST_MODULE=\"chan_datacard\" -D_THREAD_SAFE -I. -I/usr/include -O2 -DICONV_CONST="" -D__DEBUG__ -D__MANAGER__ -D__APP__ -c chan_datacard.c
gcc  -shared -Xlinker -x chan_datacard.o  -o chan_datacard.so
chmod 755 chan_datacard.so
install -d                /usr/lib/asterisk/modules/
install -m 755 chan_datacard.so /usr/lib/asterisk/modules/
12:56:24
#cp etc/datacard.conf /etc/asterisk/

12:57:38
#nano /etc/asterisk/datacard.conf
12:59:50
#[general]
Oct 26 13:48:45 linux4 dhcpd: DHCPACK on 192.168.40.101 to 00:1a:6c:31:0b:81 (SEP001A6C310B81) via eth0
Oct 26 13:53:45 linux4 dhcpd: DHCPREQUEST for 192.168.40.100 from 00:1b:38:b2:ac:a8 (AdmiN) via eth0
Oct 26 13:53:45 linux4 dhcpd: DHCPACK on 192.168.40.100 to 00:1b:38:b2:ac:a8 (AdmiN) via eth0
Oct 26 13:53:45 linux4 dhcpd: DHCPREQUEST for 192.168.40.101 from 00:1a:6c:31:0b:81 (SEP001A6C310B81) via eth0
Oct 26 13:53:45 linux4 dhcpd: DHCPACK on 192.168.40.101 to 00:1a:6c:31:0b:81 (SEP001A6C310B81) via eth0
Oct 26 13:58:45 linux4 dhcpd: Wrote 2 leases to leases file.
Oct 26 13:58:45 linux4 dhcpd: DHCPREQUEST for 192.168.40.100 from 00:1b:38:b2:ac:a8 (AdmiN) via eth0
Oct 26 13:58:45 linux4 dhcpd: DHCPACK on 192.168.40.100 to 00:1b:38:b2:ac:a8 (AdmiN) via eth0
Oct 26 13:58:46 linux4 dhcpd: DHCPREQUEST for 192.168.40.101 from 00:1a:6c:31:0b:81 (SEP001A6C310B81) via eth0
Oct 26 13:58:46 linux4 dhcpd: DHCPACK on 192.168.40.101 to 00:1a:6c:31:0b:81 (SEP001A6C310B81) via eth0
12:59:54
#nano /etc/asterisk/datacard.conf
--- /tmp/l3-saved-10154.19059.25435	2012-10-26 14:02:55.000000000 +0300
+++ /etc/asterisk/datacard.conf	2012-10-26 14:04:48.000000000 +0300
@@ -54,18 +54,18 @@
 
 
 [datacard1]
-context=incoming-datacard	; context for incoming calls
+; context=incoming-datacard	; context for incoming calls
 ;language=de			; Use German as default language
-audio=/dev/ttyUSB4		; tty port for audio connection
-data=/dev/ttyUSB5		; tty port for AT commands
-group=2				; calling group
-rxgain=10			; increase the incoming volume
-txgain=10			; increase the outgoint volume
-autodeletesms=yes		; auto delete incoming sms
-resetdatacard=yes		; reset datacard during initialization
-u2diag=0			; set U2DIAG parameter (0 = disable everything except modem function)
-usecallingpres=yes		; use the caller ID presentation or not
-callingpres=allowed_passed_screen ; set caller ID presentation
-disablesms=yes			; chan_datacard has currently a bug with SMS reception. When a SMS gets in during a
+;audio=/dev/ttyUSB4		; tty port for audio connection
+; data=/dev/ttyUSB5		; tty port for AT commands
+; group=2				; calling group
+;rxgain=10			; increase the incoming volume
+;txgain=10			; increase the outgoint volume
+;autodeletesms=yes		; auto delete incoming sms
+;resetdatacard=yes		; reset datacard during initialization
+;u2diag=0			; set U2DIAG parameter (0 = disable everything except modem function)
+;usecallingpres=yes		; use the caller ID presentation or not
+;callingpres=allowed_passed_screen ; set caller ID presentation
+;disablesms=yes			; chan_datacard has currently a bug with SMS reception. When a SMS gets in during a
 				; call chan_datacard might crash. Enable this option to disable sms reception.
 				; Default = no

Файлы

  • /etc/hostname
  • /etc/hosts
  • /etc/hostname
    >
    linux4
    
    /etc/hosts
    >
    127.0.0.1       localhost
    192.168.40.1    linux4.unix.nt  linux4
    # The following lines are desirable for IPv6 capable hosts
    ::1     ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
    

    Статистика

    Время первой команды журнала15:36:31 2012-10-25
    Время последней команды журнала12:59:54 2012-10-26
    Количество командных строк в журнале37
    Процент команд с ненулевым кодом завершения, %21.62
    Процент синтаксически неверно набранных команд, %10.81
    Суммарное время работы с терминалом *, час 1.18
    Количество командных строк в единицу времени, команда/мин 0.52
    Частота использования команд
    ejabberdctl4|==========| 10.26%
    nano3|=======| 7.69%
    apt-get3|=======| 7.69%
    ls3|=======| 7.69%
    configure2|=====| 5.13%
    sendxmpp2|=====| 5.13%
    echo2|=====| 5.13%
    cat2|=====| 5.13%
    mkdir1|==| 2.56%
    touch1|==| 2.56%
    14011|==| 2.56%
    ping1|==| 2.56%
    host1|==| 2.56%
    cp1|==| 2.56%
    vim1|==| 2.56%
    cd1|==| 2.56%
    make1|==| 2.56%
    dpkg-reconfigure1|==| 2.56%
    lspci1|==| 2.56%
    [general]1|==| 2.56%
    ~1|==| 2.56%
    find1|==| 2.56%
    d1|==| 2.56%
    hostname1|==| 2.56%
    svn1|==| 2.56%
    Channel:SIP:14011|==| 2.56%
    ____
    *) Интервалы неактивности длительностью 30 минут и более не учитываются

    Справка

    Для того чтобы использовать LiLaLo, не нужно знать ничего особенного: всё происходит само собой. Однако, чтобы ведение и последующее использование журналов было как можно более эффективным, желательно иметь в виду следующее:
    1. В журнал автоматически попадают все команды, данные в любом терминале системы.

    2. Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.

    3. Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
      $ l s-l
      bash: l: command not found
      

    4. Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
      $ test 5 -lt 4
      Обратите внимание на то, что код завершения команды может быть отличен от нуля не только в тех случаях, когда команда была выполнена с ошибкой. Многие команды используют код завершения, например, для того чтобы показать результаты проверки

    5. Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
      $ find / -name abc
      find: /home/devi-orig/.gnome2: Keine Berechtigung
      find: /home/devi-orig/.gnome2_private: Keine Berechtigung
      find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung
      find: /home/devi-orig/.metacity: Keine Berechtigung
      find: /home/devi-orig/.inkscape: Keine Berechtigung
      ^C
      

    6. Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
      # id
      uid=0(root) gid=0(root) Gruppen=0(root)
      

    7. Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
      $ vi ~/.bashrc
      2a3,5
      >    if [ -f /usr/local/etc/bash_completion ]; then
      >         . /usr/local/etc/bash_completion
      >        fi
      

    8. Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
      $ patch ~/.bashrc
      В данном случае изменения применяются к файлу ~/.bashrc

    9. Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.

      Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.

    10. Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.

    11. Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора

    12. Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.

    13. Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.

    14. Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:

      $ whoami
      
      user
      
      $ #^ Интересно, кто я?
      
      в журнале это будет выглядеть так:
      $ whoami
      
      user
      
      Интересно, кто я?

    15. Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:

      $ whoami
      
      user
      
      $ cat > /dev/null #^ Интересно, кто я?
      
      Программа whoami выводит имя пользователя, под которым 
      мы зарегистрировались в системе.
      -
      Она не может ответить на вопрос о нашем назначении 
      в этом мире.
      
      В журнале это будет выглядеть так:
      $ whoami
      user
      
      Интересно, кто я?
      Программа whoami выводит имя пользователя, под которым
      мы зарегистрировались в системе.

      Она не может ответить на вопрос о нашем назначении
      в этом мире.
      Для разделения нескольких абзацев между собой используйте символ "-", один в строке.

    16. Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=

    17. Содержимое файла может быть показано в журнале. Для этого его нужно вывести с помощью программы cat. Если вывод команды отметить симоволами #!, содержимое файла будет показано в журнале в специально отведённой для этого секции.
    18. Для того чтобы вставить скриншот интересующего вас окна в журнал, нужно воспользоваться командой l3shot. После того как команда вызвана, нужно с помощью мыши выбрать окно, которое должно быть в журнале.
    19. Команды в журнале расположены в хронологическом порядке. Если две команды давались одна за другой, но на разных терминалах, в журнале они будут рядом, даже если они не имеют друг к другу никакого отношения.
      1
          2
      3   
          4
      
      Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.

    О программе

    LiLaLo (L3) расшифровывается как Live Lab Log.
    Программа разработана для повышения эффективности обучения Unix/Linux-системам.
    (c) Игорь Чубин, 2004-2008

    $Id$