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

Содержание

Журнал

Пятница (10/29/10)

/dev/pts/7
13:27:00
#host 192.168.104.254
Host 254.104.168.192.in-addr.arpa. not found: 3(NXDOMAIN)
13:27:05
#vim /etc/hosts
--- /tmp/l3-saved-3367.14021.6373	2010-10-29 14:27:21.000000000 +0300
+++ /etc/hosts	2010-10-29 14:27:41.000000000 +0300
@@ -1,5 +1,6 @@
 127.0.0.1	localhost
-192.168.104.24	linux4.unix.nt	linux4
+192.168.104.1	linux4.unix.nt	linux4
+192.168.104.254	gw.unix.nt	gw
 
 # The following lines are desirable for IPv6 capable hosts
 ::1     localhost ip6-localhost ip6-loopback
13:27:41
#asterisk -rvvv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
linux4*CLI>
linux4*CLI>
  == Parsing '/etc/asterisk/manager.conf': Found
  == Parsing '/etc/asterisk/manager.d/README.conf': Found
[Oct 29 17:00:20] NOTICE[9568]: manager.c:1039 authenticate: 127.0.0.1 failed to authenticate as 'voix'
  == Connect attempt from '127.0.0.1' unable to authenticate
linux4*CLI> restart now
linux4*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
/dev/pts/3
13:27:46
#dpkg-reconfigure ejabberd
            ┌───────────┤ Настраивается пакет ejabberd ├───────────┐
            │ Введите пароль администратора ещё раз для проверки.  │
            │                                                      │
            │ Повторный ввод пароля администратора для проверки:   │
            │                                                      │
            â”***___________________________________________________ │
            │                                                      │
            │                        <Ok>                          │
            │                                                      │
            └──────────────────────────────────────────────────────┘
Starting jabber server: ejabberd.
Waiting for ejabberd to register admin user..
Admin user "user@vn.unix.nt" is registered successfully.
13:28:16
#netstat -lnp|grep 80
tcp        0      0 0.0.0.0:5280            0.0.0.0:*               LISTEN      7431/beam
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      2480/cupsd
tcp6       0      0 ::1:631                 :::*                    LISTEN      2480/cupsd
udp        0      0 0.0.0.0:631             0.0.0.0:*                           2480/cupsd
unix  2      [ ACC ]     STREAM     LISTENING     9884     2993/epiphany-brows /tmp/orbit-user/linc-bb1-0-25c1e8d85c80
unix  2      [ ACC ]     STREAM     LISTENING     7457     2480/cupsd          /var/run/cups/cups.sock
unix  2      [ ACC ]     STREAM     LISTENING     8170     2680/hcid           @/org/bluez/audio
unix  2      [ ACC ]     STREAM     LISTENING     7800     2608/sendmail: MTA: /var/run/sendmail/mta/smcontrol
unix  2      [ ACC ]     STREAM     LISTENING     8165     2680/hcid           /var/run/sdp
13:28:33
#pidgin
^Z
[1]+  Stopped                 pidgin
прошло 20 минут
13:48:47
#bg
[1]+ pidgin &
13:48:49
#ssh linux111
ssh: Could not resolve hostname linux111: Name or service not known
13:48:56
#ssh linux11
.++ expr 1 + 1
+ cnt=2
+ '[' 2 -ge 60 ']'
+ sleep 1
+ ctl status
+ action=status
+ su ejabberd -c '/usr/sbin/ejabberdctl status'
+ test 3 = 1
+ echo -n .
.++ expr 2 + 1
...
Завершено
root@linux11:~# netstat -lnp|grep 80
udp        0      0 0.0.0.0:880             0.0.0.0:*                           1976/rpc.statd
unix  2      [ ACC ]     STREAM     LISTENING     8034     2635/winbindd       /tmp/.winbindd/pipe
unix  2      [ ACC ]     STREAM     LISTENING     8722     2806/X              /tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     8721     2806/X              @/tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     8036     2635/winbindd       /var/run/samba/winbindd_privileged/pipe
root@linux11:~# exit
logout
Connection to linux11 closed.
13:50:42
#pidgin &
[2] 7735
[1]   Done                    pidgin
прошло 10 минут
14:00:48
#ejabberdctl
Usage: ejabberdctl [--node nodename] command [options]
Available commands in this ejabberd node:
  status                                                      get ejabberd status
  stop                                                        stop ejabberd
  restart                                                     restart ejabberd
  reopen-log                                                  reopen log file
  register user server password                               register a user
  unregister user server                                      unregister a user
  backup file                                                 store a database backup to file
  restore file                                                restore a database backup from file
...
  rem-rosteritem user1 server1 user2 server2                  Remove user2@server2 from user1@server1's roster
  compile file                                                recompile and reload file
  status-num status                                           number of logged users with status
  push-alltoall server group                                  adds all the users to all the users in Group
  srg-user-del user server group host                         delete user@server from group on host
  connected-users                                             list all established sessions
Examples:
  ejabberdctl restart
  ejabberdctl --node ejabberd@host restart
  ejabberdctl vhost jabber.example.org ...
прошло 37 минут
14:38:38
#ejabberdctl |grep user
  register user server password                               register a user
  unregister user server                                      unregister a user
  import-file file                                            import user data from jabberd 1.4 spool file
  import-dir dir                                              import user data from jabberd 1.4 spool directory
  vcard-set user host data [data2] content                    set data to content on the vCard
  vcard-get user host data [data2]                            get data from the vCard of the user
  status-list status                                          list the logged users with status
  stats onlineusers                                           number of logged users
  stats registeredusers                                       number of registered users
  pushroster-all file                                         push template roster in file to all those users
...
  user-resources user server                                  print user's connected resources
  connected-users-number                                      print a number of established sessions
  srg-user-add user server group host                         add user@server to group on host
  set-password user server password                           set password to user@server
  delete-older-users days                                     delete users that have not logged in the last 'days'
  rem-rosteritem user1 server1 user2 server2                  Remove user2@server2 from user1@server1's roster
  status-num status                                           number of logged users with status
  push-alltoall server group                                  adds all the users to all the users in Group
  srg-user-del user server group host                         delete user@server from group on host
  connected-users                                             list all established sessions
14:38:49
#ejabberdctl |grep roster
  srg-list-groups host                                        list the shared roster groups from host
  pushroster-all file                                         push template roster in file to all those users
  rosteritem-purge [options]                                  Purge all rosteritems that match filtering options
  add-rosteritem user1 server1 user2 server2 nick group subs  Add user2@server2 to user1@server1's roster
  pushroster file user server                                 push template roster in file to user@server
  rem-rosteritem user1 server1 user2 server2                  Remove user2@server2 from user1@server1's roster
14:39:10
#ejabberdctl add-rosteritem user vn.unix.nt user bb.unix.nt
Usage: ejabberdctl [--node nodename] command [options]
Available commands in this ejabberd node:
  status                                                      get ejabberd status
  stop                                                        stop ejabberd
  restart                                                     restart ejabberd
  reopen-log                                                  reopen log file
  register user server password                               register a user
  unregister user server                                      unregister a user
  backup file                                                 store a database backup to file
  restore file                                                restore a database backup from file
...
  rem-rosteritem user1 server1 user2 server2                  Remove user2@server2 from user1@server1's roster
  compile file                                                recompile and reload file
  status-num status                                           number of logged users with status
  push-alltoall server group                                  adds all the users to all the users in Group
  srg-user-del user server group host                         delete user@server from group on host
  connected-users                                             list all established sessions
Examples:
  ejabberdctl restart
  ejabberdctl --node ejabberd@host restart
  ejabberdctl vhost jabber.example.org ...
14:41:49
#jobs
[2]+  Running                 pidgin &
14:43:12
#jobs
[2]+  Done                    pidgin
14:51:31
#altvnk kzn.unix.nt altvnk

14:51:54
#vim /etc/ejabberd/
14:51:54
#vim /etc/ejabberd/ejabberd.cfg
--- /tmp/l3-saved-3281.14873.1215	2010-10-29 15:53:05.000000000 +0300
+++ /etc/ejabberd/ejabberd.cfg	2010-10-29 15:53:15.000000000 +0300
@@ -499,7 +499,7 @@
 		 ]},
   {mod_roster,   []},
   %%{mod_service_log,[]},
-  %%{mod_shared_roster,[]},
+  {mod_shared_roster,[]},
   {mod_stats,    []},
   {mod_time,     []},
   {mod_vcard,    []},
14:53:15
#/etc/init.d/ejabberd restart
Restarting jabber server: ejabberd.
прошло 55 минут
15:48:22
#515 %%% vim: set filetype=erlang tabstop=8:
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
  libauthen-sasl-perl libio-socket-ssl-perl libnet-libidn-perl
  libnet-ssleay-perl libnet-xmpp-perl libxml-stream-perl
Предлагаемые пакеты:
  libgssapi-perl
НОВЫЕ пакеты, которые будут установлены:
  libauthen-sasl-perl libio-socket-ssl-perl libnet-libidn-perl
...
Выбор ранее не выбранного пакета sendxmpp.
Распаковывается пакет sendxmpp (из файла .../sendxmpp_1.14-1_all.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет libauthen-sasl-perl (2.12-1) ...
Настраивается пакет libnet-ssleay-perl (1.35-1) ...
Настраивается пакет libio-socket-ssl-perl (1.16-1+lenny1) ...
Настраивается пакет libnet-libidn-perl (0.07-1+b1) ...
Настраивается пакет libxml-stream-perl (1.22-3) ...
Настраивается пакет libnet-xmpp-perl (1.02-1) ...
Настраивается пакет sendxmpp (1.14-1) ...
15:48:39
#sen
sendmail          sendmail-mta      sensible-editor
sendmailconfig    sendxmpp          sensible-mda
sendmail-msp      sensible-browser  sensible-pager
15:48:39
#sen
sendmail          sendmail-mta      sensible-editor
sendmailconfig    sendxmpp          sensible-mda
sendmail-msp      sensible-browser  sensible-pager
15:48:39
#sendxmpp
sendxmpp version 1.14
Copyright (c) 2004 - 2005 Dirk-Jan C. Binnema
Copyright (c) 2006 - 2007 Lubomir Host 'rajo'
usage: sendxmpp [options] <recipient1> [<recipient2> ...]
or refer to the the sendxmpp manpage
15:48:53
#man sendxmpp
15:50:45
#echo "hello chuvak"|sendxmpp -s test user@vn.unix.nt
cannot read /root/.sendxmpprc: Нет такого файла или каталога
15:51:19
#ai apache2
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
  apache2-mpm-worker apache2-utils apache2.2-common libapr1 libaprutil1
Предлагаемые пакеты:
  apache2-doc apache2-suexec apache2-suexec-custom
НОВЫЕ пакеты, которые будут установлены:
  apache2 apache2-mpm-worker apache2-utils apache2.2-common libapr1
  libaprutil1
...
Enabling module auth_basic.
Enabling module deflate.
Enabling module authz_default.
Enabling module authz_user.
Enabling module authz_groupfile.
Enabling module authn_file.
Enabling module authz_host.
Настраивается пакет apache2-mpm-worker (2.2.9-10+lenny8) ...
Starting web server: apache2.
Настраивается пакет apache2 (2.2.9-10+lenny8) ...
15:52:52
#ls /home/user/
\            digits.txt          pbdirectory.txt
2            followme.txt        phonetic.txt
convert.py   install             ru
Desktop      letters.txt         ru.txt
dictate.txt  linux4.unix.nt.pub  VoixManager-1.0.3-Linux-x86-Install
15:53:35
#sh /home/user/VoixManager-1.0.3-Linux-x86-Install
/home/user/VoixManager-1.0.3-Linux-x86-Install: /home/user/VoixManager-1.0.3-Linux-x86-Install: cannot execute binary file
15:53:47
#./VoixManager-1.0.3-Linux-x86-Install

15:55:13
#Qt: Session management error: Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed

/dev/pts/7
16:00:22
#asterisk -rvvv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
  == Parsing '/etc/asterisk/manager.d/README.conf': Found
[Oct 29 17:03:13] NOTICE[9881]: manager.c:1039 authenticate: 127.0.0.1 failed to authenticate as 'voix'
  == Connect attempt from '127.0.0.1' unable to authenticate
  == Parsing '/etc/asterisk/manager.conf': Found
  == Parsing '/etc/asterisk/manager.d/README.conf': Found
  == Manager 'voix' logged on from 127.0.0.1
restart now
linux4*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
/dev/pts/3
16:01:18
#less /usr/share/doc/asterisk/
16:01:18
#less /usr/share/doc/asterisk/
16:01:18
#less /usr/share/doc/asterisk/examples/mana
16:02:05
#ls /usr/share/doc/asterisk/examples/
sample.call  vmail.cgi.gz
16:02:09
#ls /usr/share/doc/asterisk/
BUGS                 CHANGES.gz  examples        README.gz
changelog.Debian.gz  copyright   NEWS.Debian.gz  UPGRADE.txt.gz
changelog.gz         CREDITS.gz  README.Debian
/dev/pts/7
16:03:22
#asterisk -rvvv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
    -- Executing [1801@group2:1] Dial("SIP/1402-0924bca8", "IAX2/kv/1801") in new stack
    -- Called kv/1801
    -- Call accepted by 192.168.103.1 (format ulaw)
    -- Format for call is ulaw
    -- IAX2/kv-7088 answered SIP/1402-0924bca8
    -- Channel 'IAX2/kv-7088' ready to transfer
    -- Hungup 'IAX2/kv-7088'
  == Spawn extension (group2, 1801, 1) exited non-zero on 'SIP/1402-0924bca8'
quit
Executing last minute cleanups

Статистика

Время первой команды журнала13:27:00 2010-10-29
Время последней команды журнала16:03:22 2010-10-29
Количество командных строк в журнале38
Процент команд с ненулевым кодом завершения, %15.79
Процент синтаксически неверно набранных команд, % 0.00
Суммарное время работы с терминалом *, час 1.06
Количество командных строк в единицу времени, команда/мин 0.60
Частота использования команд
ejabberdctl4|=========| 9.52%
asterisk3|=======| 7.14%
vim3|=======| 7.14%
less3|=======| 7.14%
grep3|=======| 7.14%
ls3|=======| 7.14%
sen2|====| 4.76%
pidgin2|====| 4.76%
sendxmpp2|====| 4.76%
jobs2|====| 4.76%
ssh2|====| 4.76%
ai1|==| 2.38%
Qt:1|==| 2.38%
man1|==| 2.38%
/etc/init.d/ejabberd1|==| 2.38%
host1|==| 2.38%
altvnk1|==| 2.38%
dpkg-reconfigure1|==| 2.38%
5151|==| 2.38%
bg1|==| 2.38%
echo1|==| 2.38%
sh1|==| 2.38%
netstat1|==| 2.38%
VoixManager-1.0.3-Linux-x86-Install1|==| 2.38%
____
*) Интервалы неактивности длительностью 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$