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

Содержание

Журнал

Понедельник (03/28/16)

/dev/pts/0
15:44:19
#vim ~/.bash_profile
--- /tmp/l3-saved-28834.2707.29112	2016-03-28 16:45:21.498897049 +0300
+++ /root/.bash_profile	2016-03-28 16:45:41.670896961 +0300
@@ -1,2 +1,2 @@
 l3-agent
-
+.~/.bashrc
/dev/pts/2
15:46:37
#su - user
user@asterisk7:~$
user@asterisk7:~$
user@asterisk7:~$ cat ~/.bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
...
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi
. /home/user/.lilalo/l3bashrc && _l3_start
".bashrc" 114L, 3558C written/user/.lilalo/l3bashrc && _l3_sta
user@asterisk7:~$ exit
logout
15:46:58
#su - user
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
".bash_profile" 3L, 22C written
user@asterisk7:~$ exit
logout
15:47:09
#su - user
l3-agent is already running: pid=28982; pidfile=/home/user/.lilalo/l3-agent.pid
Password:
^Csu: Authentication failure
15:47:12
#su - user
l3-agent is already running: pid=28982; pidfile=/home/user/.lilalo/l3-agent.pid
Password:
^C
^C^Csu: Authentication failure
15:47:23
#^C

/dev/pts/2
15:47:56
#su - user
l3-agent is already running: pid=28982; pidfile=/home/user/.lilalo/l3-agent.pid
Password:
su: Authentication failure
15:48:03
#vim /home/user/
--- /tmp/l3-saved-29262.3720.12919	2016-03-28 16:48:10.530896308 +0300
+++ /home/user/.bashrc	2016-03-28 16:48:17.934896275 +0300
@@ -111,4 +111,5 @@
     . /etc/bash_completion
   fi
 fi
+
 . /home/user/.lilalo/l3bashrc && _l3_start
15:48:03
#vim /home/user/.bashrc
15:48:17
#vim /home/user/.bash_profile
15:48:28
#~

15:48:29
#su

15:48:32
#exit
exit
15:48:33
#su user

15:48:36
$exit
exit
15:48:41
#su -l user
Removing stale pidfile
Password:
su: Authentication failure
15:48:46
#cat ~/.bash_profile
l3-agent
. ~/.bashrc

Вторник (03/29/16)

/dev/pts/4
10:25:01
#. /etc/bash_completion

10:25:10
#apt-get install is
isag                  isdnlog               isomaster
isatapd               isdnlog-data          isomd5sum
isc-dhcp-client       isdnutils-base        isoqlog
isc-dhcp-client-dbg   isdnutils-doc         isoquery
isc-dhcp-common       isdnutils-xtools      ispanish
isc-dhcp-dbg          isdnvbox              ispell
isc-dhcp-dev          isdnvboxclient        isrcsubmit
isc-dhcp-relay        isdnvboxserver        istanbul
isc-dhcp-relay-dbg    iselect               istgt
isc-dhcp-server       isenkram              iswedish
isc-dhcp-server-dbg   isenkram-cli          iswiss
isc-dhcp-server-ldap  islamic-menus         isync
iscsitarget           iso-codes
iscsitarget-dkms      isolinux
10:25:10
#cat ~/.bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# Note: PS1 and umask are already set in /etc/profile. You should not
# need this unless you want different defaults for root.
# PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '
# umask 022
# You may uncomment the following lines if you want `ls' to be colorized:
# export LS_OPTIONS='--color=auto'
# eval "`dircolors`"
# alias ls='ls $LS_OPTIONS'
# alias ll='ls $LS_OPTIONS -l'
# alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'
 . /root/.lilalo/l3bashrc && _l3_start
10:26:51
#-- INSERT --
# alias mv='mv -i'
. /etc/bash_completion
. /root/.lilalo/l3bashrc && _l3_start
10:31:37
#vim /etc/lilalo/l3config.pm
10:32:02
#}
our $System_Config_File = "/etc/lilalo.conf";
our $User_Config_File = "$ENV{HOME}/.l3rc";
$ENV{HOME} ||= "/tmp";
our %Config = (
    "skip_empty"        => "yes",
    "skip_interrupted"  => "no",
    "skip_wrong"        => "no",
    "editors"           => ["vi", "pico", "ee", "vim", "nano"],
10:32:19
# "pagers" => ["more", "less", "zmore", "zless", "info",
                s/#.*//;
                next if /^\s*$/;
                my ($var, $val) =  split /\s*=\s*/, $_, 2;
                $var =~ s/\s*//;
                $config->{$var} = $val;
        }
        close(CONFIG);
}
{
        my %argv_config;
...
        %Config = (%Config, %file_config, %argv_config);
   # for my $key (keys %Config) {
   #     utf8::decode($Config{$key});
    }   utf8::decode($Config{$key});
}  # }
    #####       %Config = (%Config, %file_config, %argv_config);
"/etc/lilalo/l3config.pm" 183L, 5833C written
#########     for my $key (keys %Config) {
#########         utf8::decode($Config{$key});
#########     }
10:34:58
#l3-agent
Removing stale pidfile
10:35:01
#l3-agent
l3-agent is already running: pid=2688; pidfile=/root/.lilalo/l3-agent.pid
10:35:04
#su user

10:35:23
$l3-agent
Removing stale pidfile
10:35:25
$l3-agent
l3-agent is already running: pid=2774; pidfile=/home/user/.lilalo/l3-agent.pid
10:35:26
$exit
exit
прошло >5 часов
/dev/pts/8
16:25:07
#ps aux | grep l3
root      2688  0.0  0.2  51936 17592 ?        Ss   11:35   0:08 l3-agent
user      2774 40.4  0.3  63916 25636 ?        Rs   11:35 141:36 l3-agent
root      8002  0.0  0.0  12732  2276 pts/9    S+   17:25   0:00 grep l3
16:25:12
#kill 2774

16:25:28
#ps aux | grep l3
root      2688  0.0  0.2  51936 17592 ?        Ss   11:35   0:08 l3-agent
user      2774 40.5  0.3  63916 25636 ?        Rs   11:35 141:54 l3-agent
root      8029  0.0  0.0  12732  2272 pts/9    S+   17:25   0:00 grep l3
16:25:29
#kill 2774

16:25:32
#ps aux | grep l3
root      2688  0.0  0.2  51936 17592 ?        Ss   11:35   0:08 l3-agent
user      2774 40.5  0.3  63916 25636 ?        Rs   11:35 141:58 l3-agent
root      8045  0.0  0.0  12732  2152 pts/9    S+   17:25   0:00 grep l3
16:25:35
#ps aux | grep l3
root      2688  0.0  0.2  51936 17592 ?        Ss   11:35   0:08 l3-agent
user      2774 40.5  0.3  63916 25636 ?        Rs   11:35 142:03 l3-agent
root      8061  0.0  0.0  12732  2152 pts/9    S+   17:25   0:00 grep l3
16:25:39
#kill -9 2774

16:25:49
#ps aux | grep l3
root      2688  0.0  0.2  51936 17592 ?        Ss   11:35   0:08 l3-agent
root      8105  0.0  0.0  12732  2268 pts/9    S+   17:25   0:00 grep l3
16:25:50
#l3-agent
l3-agent is already running: pid=2688; pidfile=/root/.lilalo/l3-agent.pid
16:25:55
#ps aux | grep l3
root      2688  0.0  0.2  51936 17592 ?        Ss   11:35   0:09 l3-agent
root      8133  0.0  0.0  12732  2100 pts/9    S+   17:25   0:00 grep l3
16:25:56
#su user

16:26:02
$l3-agent
Removing stale pidfile
16:26:05
$ps aux | grep l3
root      2688  0.0  0.2  51936 17592 ?        Ss   11:35   0:09 l3-agent
user      8204 84.6  0.1  42032 13116 ?        Rs   17:26   0:04 l3-agent
user      8227  0.0  0.0  12732  2152 pts/10   S+   17:26   0:00 grep l3
16:26:09
$exit
exit

Среда (03/30/16)

/dev/pts/10
09:53:57
#vim /etc/asterisk/extensions.conf
09:54:32
#{EXTEN})
host=dynamic
qualify=yeid
[lviv]
[ype=]riend/etc/asterisk/.sip.conf.swp" already exists!
host=dynamic
;canreintive=no
directmedia=no
defaultuser=kiev
[minsk]
[minsk]
type=friend                                                   30,1          26%
/dev/pts/10
09:58:23
#vim /etc/asterisk/sip.conf
09:59:12
#type=friend

/dev/pts/10
10:00:36
#vim /etc/asterisk/sip.conf
прошло 10 минут
/dev/pts/10
10:10:37
#asterisk -rvvv
Asterisk 11.13.1~dfsg-2+b1, Copyright (C) 1999 - 2013 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 11.13.1~dfsg-2+b1 currently running on asterisk7 (pid = 458)
asterisk7*CLI> sip show peers
Name/username             Host                                    Dyn Forcerport Comedia    ACL Port     Status      Description
...
5 sip peers [Monitored: 2 online, 0 offline Unmonitored: 3 online, 0 offline]
  == Using SIP RTP CoS mark 5
    -- Executing [2301@gr1:1] Dial("SIP/192.168.80.2-000001c7", "SIP/2301") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/2301
    -- SIP/2301-000001c8 is ringing
  == Spawn extension (gr1, 2301, 1) exited non-zero on 'SIP/192.168.80.2-000001c7'
asterisk7*CLI> quit
Asterisk cleanly ending (0).
Executing last minute cleanups

Четверг (03/31/16)

/dev/pts/10
14:39:28
#asterisk -rvvv
Asterisk 11.13.1~dfsg-2+b1, Copyright (C) 1999 - 2013 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 11.13.1~dfsg-2+b1 currently running on asterisk7 (pid = 688)
asterisk7*CLI>
asterisk7*CLI>
  == Using SIP RTP CoS mark 5
[Mar 31 15:39:33] NOTICE[757][C-0000004f]: chan_sip.c:25628 handle_request_invite: Call from '' (192.168.60.2:5060) to extension '2401' rejected because extension not found in context 'gr1'.
asterisk7*CLI> quit
Asterisk cleanly ending (0).
Executing last minute cleanups
14:39:48
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3217.30396.20751	2016-03-31 15:39:54.920162636 +0300
+++ /etc/asterisk/extensions.conf	2016-03-31 15:40:36.296162455 +0300
@@ -51,6 +51,8 @@
 exten=>_1[34]XX,1,Dial(SIP/minsk/${EXTEN})
 exten=>_2[12]XX,1,Dial(SIP/warsaw/${EXTEN})
 exten=>_1[12]XX,1,Dial(SIP/warsaw/${EXTEN})
+exten=>_24XX,1,Dial(SIP/lviv/${EXTEN})
+
 exten=> 4203,1,VoicemailMain()
 
 
прошло 16 минут
/dev/pts/10
14:56:13
#asterisk -rvvv
Asterisk 11.13.1~dfsg-2+b1, Copyright (C) 1999 - 2013 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 11.13.1~dfsg-2+b1 currently running on asterisk7 (pid = 688)
asterisk7*CLI>
  == Using SIP RTP CoS mark 5
[Mar 31 15:56:18] NOTICE[757][C-0000005f]: chan_sip.c:25628 handle_request_invite: Call from '' (192.168.60.2:5060) to extension '2401' rejected because extension not found in context 'gr1'.
  == Using SIP RTP CoS mark 5
[Mar 31 15:56:20] NOTICE[757][C-00000060]: chan_sip.c:25628 handle_request_invite: Call from '' (192.168.30.2:5060) to extension '2401' rejected because extension not found in context 'gr1'.
asterisk7*CLI> q
No such command 'q' (type 'core show help q' for other possible commands)
asterisk7*CLI> quit
Asterisk cleanly ending (0).
Executing last minute cleanups
14:56:32
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3400.9305.22245	2016-03-31 15:56:34.720158251 +0300
+++ /etc/asterisk/extensions.conf	2016-03-31 15:57:16.808158067 +0300
@@ -55,6 +55,8 @@
 exten=>_1[34]XX,1,Dial(SIP/minsk/${EXTEN})
 exten=>_2[12]XX,1,Dial(SIP/warsaw/${EXTEN})
 exten=>_1[12]XX,1,Dial(SIP/warsaw/${EXTEN})
+exten=>_24XX,1,Dial(SIP/lviv/${EXTEN})
+
 exten=> 4203,1,VoicemailMain()
 
 

Файлы

  • ~/.bash_profile
  • ~/.bashrc
  • ~/.bash_profile
    >
    l3-agent
    . ~/.bashrc
    
    ~/.bashrc
    >
    # ~/.bashrc: executed by bash(1) for non-login shells.
    # Note: PS1 and umask are already set in /etc/profile. You should not
    # need this unless you want different defaults for root.
    # PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '
    # umask 022
    # You may uncomment the following lines if you want `ls' to be colorized:
    # export LS_OPTIONS='--color=auto'
    # eval "`dircolors`"
    # alias ls='ls $LS_OPTIONS'
    # alias ll='ls $LS_OPTIONS -l'
    # alias l='ls $LS_OPTIONS -lA'
    #
    # Some more alias to avoid making mistakes:
    # alias rm='rm -i'
    # alias cp='cp -i'
    # alias mv='mv -i'
     . /root/.lilalo/l3bashrc && _l3_start
    

    Статистика

    Время первой команды журнала15:44:19 2016- 3-28
    Время последней команды журнала14:56:32 2016- 3-31
    Количество командных строк в журнале54
    Процент команд с ненулевым кодом завершения, % 0.00
    Процент синтаксически неверно набранных команд, % 0.00
    Суммарное время работы с терминалом *, час 0.83
    Количество командных строк в единицу времени, команда/мин 1.09
    Частота использования команд
    vim10|================| 16.13%
    su10|================| 16.13%
    ps7|===========| 11.29%
    grep7|===========| 11.29%
    l3-agent6|=========| 9.68%
    exit4|======| 6.45%
    asterisk3|====| 4.84%
    kill3|====| 4.84%
    cat2|===| 3.23%
    {EXTEN})1|=| 1.61%
    }1|=| 1.61%
    type=friend1|=| 1.61%
    .1|=| 1.61%
    --1|=| 1.61%
    apt-get1|=| 1.61%
    ~1|=| 1.61%
    ^C1|=| 1.61%
    "pagers"1|=| 1.61%
    ["more",1|=| 1.61%
    ____
    *) Интервалы неактивности длительностью 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$