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

Содержание

Журнал

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

/dev/ttyp0
09:19:42
#l3 pwd
/users/NT-FBSDnet/12.12.11/fbsd.net.nt/root
09:19:46
#vim install
--- /tmp/l3-saved-1309.29233.9525	2011-12-12 10:20:15.000000000 +0200
+++ install	2011-12-12 10:20:43.000000000 +0200
@@ -7,8 +7,8 @@
 #
 # Set this variables before installation:
 
-lilalo_user=${lilalo_user:-NT-FBSDnet}
-lab=${lab:-12.12.11}
+lilalo_user=${lilalo_user:-12.12.2011}
+lab=${lab:-NT-FBSDnet}
 install_l3bashrc_for_this_users=${users:-"root user"}  # users who will use l3agent and l3script
 lilalo_context="/users/${lilalo_user}/${lab}/${hostname}"
 
09:20:43
#vim install
--- /tmp/l3-saved-1309.22875.28486	2011-12-12 10:20:57.000000000 +0200
+++ install	2011-12-12 10:21:09.000000000 +0200
@@ -7,7 +7,7 @@
 #
 # Set this variables before installation:
 
-lilalo_user=${lilalo_user:-12.12.2011}
+lilalo_user=${lilalo_user:-12-12-2011}
 lab=${lab:-NT-FBSDnet}
 install_l3bashrc_for_this_users=${users:-"root user"}  # users who will use l3agent and l3script
 lilalo_context="/users/${lilalo_user}/${lab}/${hostname}"
09:21:09
#bash install
Installing dependencies...
Ok
Downloading l3bashrc...
|   l3bashrc                                              7821  B 6317 kBps
Ok
Downloading l3prompt...
|   l3prompt                                               234  B 1409 kBps
Ok
Downloading l3-agent...
|   l3-agent                                                32 kB 6666 kBps
...
If you use xgu.ru backend, your labs will be available at
http://xgu.ru/l3//users/12-12-2011/NT-FBSDnet/fbsd.net.nt
Use commands
 $ l3cd /users/12-12-2011/MY-NEW-CONTEXT/fbsd.net.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)
/dev/ttyp0
09:21:24
#l3 pwd
/users/12-12-2011/NT-FBSDnet/fbsd.net.nt/root
09:21:27
#vim /home/user/.bashrc
--- /tmp/l3-saved-1728.13308.27223	2011-12-12 10:21:38.000000000 +0200
+++ /home/user/.bashrc	2011-12-12 10:22:00.000000000 +0200
@@ -1 +1,2 @@
-[ $0 == l3script ] && . /home/user/.lilalo/l3bashrc && _l3_start
+#[ $0 == l3script ] && . /home/user/.lilalo/l3bashrc && _l3_start
+. /home/user/.lilalo/l3bashrc && _l3_start
09:22:00
#vim /home/user/.bash_profile
--- /tmp/l3-saved-1728.5816.8622	2011-12-12 10:22:04.000000000 +0200
+++ /home/user/.bash_profile	2011-12-12 10:22:25.000000000 +0200
@@ -1,2 +1,2 @@
+. ~/.bashrc
 l3-agent
-
09:22:25
#su user -

/dev/ttyp0
09:23:00
#vim .bashrc
09:23:04
#~
. ~/.bashrc
l3-agent
".bash_profile" 3L, 22C
09:23:11
#~

09:23:13
#ls
.bash_history   .cache          .l3rc           .viminfo
.bash_profile   .cshrc          .lilalo         .vimrc
.bash_profile~  .history        .login          install
.bashrc         .k5login        .profile        install~
09:23:14
#rm install~

/dev/ttyp0
09:31:12
#ls
.bash_history   .bashrc         .history        .lilalo         .viminfo
.bash_profile   .cache          .k5login        .login          .vimrc
.bash_profile~  .cshrc          .l3rc           .profile
09:31:15
#vim .l3rc

Вторник (12/13/11)

/dev/ttyp0
09:20:39
#locate l3-bashrc

09:20:47
#locate l3-agent
/root/.lilalo/l3-agent.pid
/usr/home/user/.lilalo/l3-agent.pid
/usr/local/bin/l3-agent
09:20:53
#vim .bash_profile
--- /tmp/l3-saved-934.26453.32243	2011-12-13 10:21:07.000000000 +0200
+++ .bash_profile	2011-12-13 10:21:15.000000000 +0200
@@ -1,3 +1,2 @@
 . ~/.bashrc
-l3-agent
-
+. /usr/local/bin/l3-agent
09:21:15
#vim /home/user/.bash_profile
--- /tmp/l3-saved-934.2525.18582	2011-12-13 10:21:23.000000000 +0200
+++ /home/user/.bash_profile	2011-12-13 10:21:32.000000000 +0200
@@ -1,2 +1,2 @@
 . ~/.bashrc
-l3-agent
+. /usr/local/bin/l3-agent
прошло 49 минут
/dev/ttyp0
10:10:15
#ps aux|grep l3

10:10:21
#vim .bash_profile
--- /tmp/l3-saved-950.3028.5614	2011-12-13 11:10:26.000000000 +0200
+++ .bash_profile	2011-12-13 11:10:30.000000000 +0200
@@ -1,2 +1 @@
 . ~/.bashrc
-. /usr/local/bin/l3-agent
10:10:30
#vim .bashrc
--- /tmp/l3-saved-950.20264.24500	2011-12-13 11:10:35.000000000 +0200
+++ .bashrc	2011-12-13 11:10:41.000000000 +0200
@@ -1 +1,2 @@
 . /root/.lilalo/l3bashrc && _l3_start
+l3-agent
10:10:41
#vim /home/user/.bash_profile
--- /tmp/l3-saved-950.12112.15733	2011-12-13 11:10:53.000000000 +0200
+++ /home/user/.bash_profile	2011-12-13 11:10:57.000000000 +0200
@@ -1,2 +1 @@
 . ~/.bashrc
-. /usr/local/bin/l3-agent
10:10:57
#vim /home/user/.bashrc
--- /tmp/l3-saved-950.26736.17380	2011-12-13 11:11:00.000000000 +0200
+++ /home/user/.bashrc	2011-12-13 11:11:09.000000000 +0200
@@ -1,2 +1,3 @@
 #[ $0 == l3script ] && . /home/user/.lilalo/l3bashrc && _l3_start
 . /home/user/.lilalo/l3bashrc && _l3_start
+l3-agent

Среда (12/14/11)

/dev/ttyp0
11:25:28
#whereis netcat
netcat: /usr/ports/net/netcat
11:25:45
#cd /usr/ports/net/netc
netcat/     netclasses/
11:25:45
#cd /usr/ports/net/netc
netcat/     netclasses/
11:25:45
#cd /usr/ports/net/netcat/

11:26:00
#make install clean
netcat.c: In function 'doexec':
netcat.c:724: warning: incompatible implicit declaration of built-in function 'execl'
===>  Installing for netcat-1.10_3
===>   Generating temporary packing list
===>  Checking if net/netcat already installed
install  -s -o root -g wheel -m 555 /usr/ports/net/netcat/work/nc /usr/local/bin/netcat
install  -o root -g wheel -m 444 /usr/ports/net/netcat/work/netcat.1 /usr/local/man/man1
install  -o root -g wheel -m 444 /usr/ports/net/netcat/work/README /usr/local/share/doc/netcat
===>   Compressing manual pages for netcat-1.10_3
===>   Registering installation for netcat-1.10_3
===>  Cleaning for netcat-1.10_3
11:26:23
#nc
usage: nc [-46DdEhklnrStUuvz] [-e policy] [-I length] [-i interval] [-O length]
          [-P proxy_username] [-p source_port] [-s source_ip_address] [-T ToS]
          [-V rtable] [-w timeout] [-X proxy_protocol]
          [-x proxy_address[:port]] [hostname] [port]
11:26:50
#nc -l -p 3500 &
[1] 4821
usage: nc [-46DdEhklnrStUuvz] [-e policy] [-I length] [-i interval] [-O length]
          [-P proxy_username] [-p source_port] [-s source_ip_address] [-T ToS]
          [-V rtable] [-w timeout] [-X proxy_protocol]
          [-x proxy_address[:port]] [hostname] [port]
[1]+  Exit 1                  nc -l -p 3500
11:26:58
#net
netcat   netstat
11:26:58
#net
netcat   netstat
11:26:58
#netcat -l -p 3500
^C punt!
11:27:27
#^C

11:27:27
#cat /dev/urandom|netcat -l -p 24
ÿþÉÿþžÿþÿüÝÿü(ÿüìÿü§ÿþTÿürÿüÈÿþYÿþ ÿü¾ÿþ¡ÿü>ÿþÿþ>ÿþëÿüOÿü
ÿü®ÿýÿþœÿû'ÿþbGÿBdÿþ²ÿþœÿü–ÿþÜÿü(ÿþ¼ÿüÿþ×ÿüÊÿü§ÿüÙÿüü ÿü—ÿüÿþžÿþÅÿôÿýÿûÿü:ÿümÿü
прошло 14 минут
/dev/ttyp0
11:41:54
#man netcat
11:42:44
#netcat -l -p 3000
^C punt!
11:42:44
#netcat -l -p 3000
^C punt!
/dev/ttyp0
11:51:08
#netstat -l -A inet6
Active Internet connections
Tcpcb    Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
c3498910 tcp4       0      0 freebsd2.ssh           fobos.53259            ESTABLISHED
Active UNIX domain sockets
Address  Type   Recv-Q Send-Q    Inode     Conn     Refs  Nextref Addr
c3418d20 stream      0      0 c340b564        0        0        0 /var/run/devd.pipe
c34182a0 dgram       0      0        0 c34185e8        0 c34183f0
c3418348 dgram       0      0        0 c3418690        0        0
c34183f0 dgram       0      0        0 c34185e8        0        0
c34185e8 dgram       0      0 c3470000        0 c34182a0        0 /var/run/logpriv
c3418690 dgram       0      0 c3470114        0 c3418348        0 /var/run/log
11:51:15
#netstat -ln -A inet6
Active Internet connections
Tcpcb    Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
c3498910 tcp4       0      0 192.168.16.22.22       192.168.16.254.53259   ESTABLISHED
Active UNIX domain sockets
Address  Type   Recv-Q Send-Q    Inode     Conn     Refs  Nextref Addr
c3418d20 stream      0      0 c340b564        0        0        0 /var/run/devd.pipe
c34182a0 dgram       0      0        0 c34185e8        0 c34183f0
c3418348 dgram       0      0        0 c3418690        0        0
c34183f0 dgram       0      0        0 c34185e8        0        0
c34185e8 dgram       0      0 c3470000        0 c34182a0        0 /var/run/logpriv
c3418690 dgram       0      0 c3470114        0 c3418348        0 /var/run/log
11:51:21
#netstat -ln -A inet
Active Internet connections
Tcpcb    Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
c3498910 tcp4       0      0 192.168.16.22.22       192.168.16.254.53259   ESTABLISHED
Active UNIX domain sockets
Address  Type   Recv-Q Send-Q    Inode     Conn     Refs  Nextref Addr
c3418d20 stream      0      0 c340b564        0        0        0 /var/run/devd.pipe
c34182a0 dgram       0      0        0 c34185e8        0 c34183f0
c3418348 dgram       0      0        0 c3418690        0        0
c34183f0 dgram       0      0        0 c34185e8        0        0
c34185e8 dgram       0      0 c3470000        0 c34182a0        0 /var/run/logpriv
c3418690 dgram       0      0 c3470114        0 c3418348        0 /var/run/log
/dev/ttyp0
11:56:05
#whereis trafshow
trafshow: /usr/ports/net/trafshow
11:56:08
#cd /usr/ports/net/trafshow

11:56:08
#cd /usr/ports/net/trafshow

11:56:08
#cd /usr/ports/net/trafshow

11:56:18
#make install clean
===>  Vulnerability check disabled, database not found
===>  License check disabled, port has not defined LICENSE
=> trafshow-5.2.3.tgz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch ftp://renatasystems.org/pub/FreeBSD/ports/distfiles//trafshow-5.2.3.tgz
trafshow-5.2.3.tgz                            100% of  139 kB  476 kBps
===>  Extracting for trafshow-5.2.3,1
=> SHA256 Checksum OK for trafshow-5.2.3.tgz.
===>  Patching for trafshow-5.2.3,1
===>  Applying FreeBSD patches for trafshow-5.2.3,1
===>  Configuring for trafshow-5.2.3,1
...
      servers and may therefore pose a remote security risk to the system.
/usr/local/bin/trafshow
      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.
      For more information, and contact details about the security
      status of this software, see the following webpage:
http://soft.risp.ru/trafshow/index_en.shtml
===>  Cleaning for trafshow-5.2.3,1
11:56:45
#cd

11:56:47
#trafshow
11:56:57
#re0 0:16:4e:0:0:2 192.168.16.22 Ethernet

Статистика

Время первой команды журнала09:19:42 2011-12-12
Время последней команды журнала11:56:57 2011-12-14
Количество командных строк в журнале50
Процент команд с ненулевым кодом завершения, %14.00
Процент синтаксически неверно набранных команд, % 0.00
Суммарное время работы с терминалом *, час 0.74
Количество командных строк в единицу времени, команда/мин 1.13
Частота использования команд
vim12|=======================| 23.08%
cd7|=============| 13.46%
netcat4|=======| 7.69%
netstat3|=====| 5.77%
l32|===| 3.85%
whereis2|===| 3.85%
make2|===| 3.85%
nc2|===| 3.85%
locate2|===| 3.85%
~2|===| 3.85%
net2|===| 3.85%
ls2|===| 3.85%
ps1|=| 1.92%
re01|=| 1.92%
man1|=| 1.92%
trafshow1|=| 1.92%
rm1|=| 1.92%
bash1|=| 1.92%
cat1|=| 1.92%
grep1|=| 1.92%
^C1|=| 1.92%
su1|=| 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$