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

Содержание

Журнал

Понедельник (02/20/12)

/dev/pts/4
11:57:56
$nano install
прошла 71 минута
13:09:08
$cd ..

13:09:12
$ls
user
13:09:13
$cd ..

13:09:14
$cd /tmp

13:09:18
$ls
install         mc-root           orbit-user       ssh-ddcXz27929
keyring-7mmdyU  orbit-Debian-gdm  seahorse-GQ1xti  virtual-user.9ksimD
13:09:19
$nano install
--- /tmp/l3-saved-587.25905.32200	2012-02-20 14:10:45.000000000 +0200
+++ install	2012-02-20 14:11:30.000000000 +0200
@@ -174,7 +174,7 @@
 step "Downloading l3prompt" ${wget} ${url_l3prompt} 
 step "Downloading l3-agent" '${wget} ${url_l3agent}; ${wget} ${url_l3config_pm}; ${wget} ${url_l3config}'
 step "Downloading perl modules for l3-agent" '{ for i in ${perl_modules}; do ${wget} ${url_perl_modules}/$i.tar.gz; done; }'
-step "Installing perl modules for l3-agent" '{ for i in ${perl_modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
+step "Installing perl modules for l3-agent" '{ for i in ${perl_modules}; do tar xvf $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
 cd ${temp_dir}
 step "Installing l3bashrc to users home directories" install_to_users_homes $install_l3bashrc_for_this_users
 step "Adding l3bashrc invocation to ~/.bashrc " install_to_users_bashrc $install_l3bashrc_for_this_users
13:11:30
${temp_dir}
Installing dependencies...
Ok
Downloading l3bashrc...
|   --2012-02-20 14:11:37--  http://xgu.ru/lilalo/l3bashrc
|   Resolving xgu.ru... 91.205.16.235
|   Connecting to xgu.ru|91.205.16.235|:80... connected.
|   HTTP request sent, awaiting response... 200 OK
|   Length: 7857 (7.7K) [text/plain]
|   Saving to: `l3bashrc'
|
...
If you use xgu.ru backend, your labs will be available at
http://xgu.ru/l3//users/max-public/nt-scale/debian3.unix.nt
Use commands
 $ l3cd /users/max-public/MY-NEW-CONTEXT/debian3.unix.nt/USER
 $ l3pwd
to change and to know your current context.
For further information see http://xgu.ru/lilalo/ (in Russian).
Thank you gor using LiLaLo.
Happy Labbing!
(don't forget to restart bash or relogin)
13:11:44
$l3-agent
Can't locate Term/VT102.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /usr/local/bin/l3-agent line 9.
BEGIN failed--compilation aborted at /usr/local/bin/l3-agent line 9.
13:12:40
$nano install
13:14:36
${temp_dir}
[sudo] password for user:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libmozjs2d xulrunner-1.9.1
Suggested packages:
  xfonts-mathml ttf-mathematica4.1 xprint mozplugger
The following NEW packages will be installed:
  iceweasel libmozjs2d xulrunner-1.9.1
...
Processing triggers for man-db ...
Processing triggers for desktop-file-utils ...
Processing triggers for gnome-menus ...
Processing triggers for menu ...
Processing triggers for hicolor-icon-theme ...
Setting up libmozjs2d (1.9.1.16-12) ...
Setting up xulrunner-1.9.1 (1.9.1.16-12) ...
update-alternatives: using /usr/lib/xulrunner-1.9.1/xulrunner-stub to provide /usr/bin/xulrunner-stub (xulrunner-stub) in auto mode.
Setting up iceweasel (3.5.16-12) ...
Processing triggers for menu ...
13:15:17
$ping ya.ru
PING ya.ru (87.250.250.3) 56(84) bytes of data.
^C
--- ya.ru ping statistics ---
12 packets transmitted, 0 received, 100% packet loss, time 11088ms
13:18:44
$ping ukr.net
PING ukr.net (195.214.195.105) 56(84) bytes of data.
^C
--- ukr.net ping statistics ---
17 packets transmitted, 0 received, 100% packet loss, time 16128ms
13:19:05
$nslookup
> ukr.net
Server:         10.0.1.7
Address:        10.0.1.7#53
Non-authoritative answer:
Name:   ukr.net
Address: 195.214.195.105
> ladylike.com.ua
Server:         10.0.1.7
Address:        10.0.1.7#53
Non-authoritative answer:
Name:   ladylike.com.ua
Address: 62.149.2.16
> exit
13:19:31
$ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
^C
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 3999ms
13:19:42
$traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  * medusa.tech.inc (10.0.1.1)  1.197 ms *
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
...
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *^C
13:21:23
$route
bash: route: command not found
13:23:20
$route -n
bash: route: command not found
13:32:29
$ls /proc/sys/net/ipv4/conf
all  default  eth0  eth1  lo  pan0
13:33:52
$echo 0 > /proc/sys/net/ipv4/all/accept_redirects
bash: /proc/sys/net/ipv4/all/accept_redirects: No such file or directory
13:34:19
$echo 0 > /proc/sys/net/ipv4/eth0/accept_redirects
bash: /proc/sys/net/ipv4/eth0/accept_redirects: No such file or directory
13:39:57
$ls /proc/sys/net/ipv4/eth0
ls: cannot access /proc/sys/net/ipv4/eth0: No such file or directory
13:40:00
$ls /proc/sys/net/ipv4
conf                               tcp_fin_timeout
icmp_echo_ignore_all               tcp_frto
icmp_echo_ignore_broadcasts        tcp_frto_response
icmp_errors_use_inbound_ifaddr     tcp_keepalive_intvl
icmp_ignore_bogus_error_responses  tcp_keepalive_probes
icmp_ratelimit                     tcp_keepalive_time
icmp_ratemask                      tcp_low_latency
igmp_max_memberships               tcp_max_orphans
igmp_max_msf                       tcp_max_ssthresh
inet_peer_gc_maxtime               tcp_max_syn_backlog
...
tcp_allowed_congestion_control     tcp_tw_recycle
tcp_app_win                        tcp_tw_reuse
tcp_available_congestion_control   tcp_window_scaling
tcp_base_mss                       tcp_wmem
tcp_congestion_control             tcp_workaround_signed_windows
tcp_cookie_size                    udp_mem
tcp_dma_copybreak                  udp_rmem_min
tcp_dsack                          udp_wmem_min
tcp_ecn                            xfrm4_gc_thresh
tcp_fack
13:40:02
$ls /proc/sys/net/ipv4/
conf                               tcp_fin_timeout
icmp_echo_ignore_all               tcp_frto
icmp_echo_ignore_broadcasts        tcp_frto_response
icmp_errors_use_inbound_ifaddr     tcp_keepalive_intvl
icmp_ignore_bogus_error_responses  tcp_keepalive_probes
icmp_ratelimit                     tcp_keepalive_time
icmp_ratemask                      tcp_low_latency
igmp_max_memberships               tcp_max_orphans
igmp_max_msf                       tcp_max_ssthresh
inet_peer_gc_maxtime               tcp_max_syn_backlog
...
tcp_allowed_congestion_control     tcp_tw_recycle
tcp_app_win                        tcp_tw_reuse
tcp_available_congestion_control   tcp_window_scaling
tcp_base_mss                       tcp_wmem
tcp_congestion_control             tcp_workaround_signed_windows
tcp_cookie_size                    udp_mem
tcp_dma_copybreak                  udp_rmem_min
tcp_dsack                          udp_wmem_min
tcp_ecn                            xfrm4_gc_thresh
tcp_fack
13:40:07
$pkill -1 l3-agent

13:42:13
$l3-agent
l3-agent is already running: pid=2171; pidfile=/home/user/.lilalo/l3-agent.pid
13:43:01
$ping ukr.net
PING ukr.net (195.214.195.105) 56(84) bytes of data.
64 bytes from 195.214.195.105: icmp_req=1 ttl=59 time=1.23 ms
64 bytes from 195.214.195.105: icmp_req=2 ttl=59 time=0.994 ms
64 bytes from 195.214.195.105: icmp_req=3 ttl=59 time=1.49 ms
^C64 bytes from 195.214.195.105: icmp_req=4 ttl=59 time=1.13 ms
--- ukr.net ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 15012ms
rtt min/avg/max/mdev = 0.994/1.215/1.494/0.182 ms
/dev/pts/12
13:45:47
$w
 14:45:49 up  4:10,  8 users,  load average: 0.01, 0.03, 0.05
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1                      02:34    3:03m  2.10s  1.71s ssh user@10.0.35.40
user     tty2                      12:01   12:50   0.48s  0.38s -bash
user     pts/2    :0.0             12:32    6:16   0.40s  0.22s xterm -class UXTerm -title uxterm -u8
user     tty7     :0               12:22   12:11m 11.67s  0.08s x-session-manager
user     pts/3    :0.0             12:24   17:38   0.33s  0.17s ssh user@10.0.35.40
user     pts/4    :0.0             12:57    2:48   0.20s  0.02s script -f -c bash -q /home/user/.lilalo//549126811281418368-1329735451.script
user     pts/6    :0.0             14:31   12:30   0.16s  0.00s script -f -c bash -q /home/user/.lilalo//262359560214878028-1329741114.script
user     pts/12   debian5.local    14:45    0.00s  0.32s  0.00s script -f -c bash -q /home/user/.lilalo//683619411915416668-1329741946.script
13:45:49
$cat /home/user/.l3rc
l3cd=/users/max-public/nt-scale/debian3.unix.nt/user
13:46:45
$ps aux | grep l3-a
user      2171  3.1  0.1  15724 11716 ?        Ss   14:43   0:07 l3-agent
user      2383  0.0  0.0   3908   732 pts/13   S+   14:46   0:00 grep l3-a
13:46:48
$sping ya.ru
PING ya.ru (87.250.251.3) 56(84) bytes of data.
^C
--- ya.ru ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1008ms
13:47:53
$ps aux | grep net
root        15  0.0  0.0      0     0 ?        S<   10:35   0:00 [netns]
user      2407  0.0  0.0   3912   732 pts/13   S+   14:48   0:00 grep net
13:48:03
$sudo route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.1.1        0.0.0.0         UG    0      0        0 eth1
10.0.0.0        0.0.0.0         255.0.0.0       U     1      0        0 eth1
10.0.35.0       0.0.0.0         255.255.255.0   U     0      0        0 eth0
13:48:06
$sudo route add default gw 10.0.35.1

13:48:17
$ping ya.ru
PING ya.ru (93.158.134.3) 56(84) bytes of data.
64 bytes from www.yandex.ru (93.158.134.3): icmp_req=1 ttl=58 time=23.1 ms
^C
--- ya.ru ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 23.119/23.119/23.119/0.000 ms
13:48:20
$pkill -1 l3-agent

13:48:27
$Âsudo cat /root/.bash_profile
l3-agent
. ~/.bashrc
13:48:58
$sudo cat /root/.bash_profile
l3-agent
. ~/.bashrc
/dev/pts/4
13:49:26
$route
bash: route: command not found
13:50:24
$rout
bash: rout: command not found
13:50:26
$route
bash: route: command not found
13:50:30
$prouteprint
bash: prouteprint: command not found
13:50:40
$routeprint
bash: routeprint: command not found
13:50:53
$ifconfig
bash: ifconfig: command not found
13:51:01
$ifconfig
bash: ifconfig: command not found

Файлы

  • /home/user/.l3rc
  • /root/.bash_profile
  • /home/user/.l3rc
    >
    l3cd=/users/max-public/nt-scale/debian3.unix.nt/user
    
    /root/.bash_profile
    >
    l3-agent
    . ~/.bashrc
    

    Статистика

    Время первой команды журнала11:57:56 2012- 2-20
    Время последней команды журнала13:51:01 2012- 2-20
    Количество командных строк в журнале45
    Процент команд с ненулевым кодом завершения, %20.00
    Процент синтаксически неверно набранных команд, %17.78
    Суммарное время работы с терминалом *, час 0.70
    Количество командных строк в единицу времени, команда/мин 1.07
    Частота использования команд
    route6|===========| 11.54%
    ls6|===========| 11.54%
    ping5|=========| 9.62%
    sudo3|=====| 5.77%
    cd3|=====| 5.77%
    nano3|=====| 5.77%
    ifconfig2|===| 3.85%
    ps2|===| 3.85%
    l3-agent2|===| 3.85%
    pkill2|===| 3.85%
    accept_redirects2|===| 3.85%
    echo2|===| 3.85%
    cat2|===| 3.85%
    grep2|===| 3.85%
    {temp_dir}2|===| 3.85%
    Âsudo1|=| 1.92%
    traceroute1|=| 1.92%
    sping1|=| 1.92%
    prouteprint1|=| 1.92%
    nslookup1|=| 1.92%
    routeprint1|=| 1.92%
    rout1|=| 1.92%
    w1|=| 1.92%
    ____
    *) Интервалы неактивности длительностью 30 минут и более не учитываются

    Справка

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    О программе

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

    $Id$