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

Содержание

Журнал

Пятница (11/07/08)

/dev/tty1
17:27:38
#ping ya.ru
PING ya.ru (213.180.204.8) 56(84) bytes of data.
64 bytes from ya.ru (213.180.204.8): icmp_seq=1 ttl=56 time=106 ms
--- ya.ru ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 106.115/106.115/106.115/0.000 ms

Вторник (11/11/08)

/dev/ttyp0
12:44:48
#apt-get install xinetd
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
НОВЫЕ пакеты, которые будут установлены:
  xinetd
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 52 пакетов не обновлено.
Необходимо скачать 137kБ архивов.
После распаковки объем занятого дискового пространства возрастёт на 369kB.
0% [Ожидание заголовков]^[[B
12:47:07
#ping ya.ru
PING ya.ru (213.180.204.8) 56(84) bytes of data.
64 bytes from ya.ru (213.180.204.8): icmp_seq=1 ttl=53 time=43.4 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=2 ttl=53 time=46.5 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=3 ttl=53 time=41.1 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=4 ttl=53 time=56.0 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=5 ttl=53 time=44.6 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=6 ttl=53 time=48.7 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=7 ttl=53 time=44.7 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=8 ttl=53 time=49.9 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=9 ttl=53 time=50.2 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=10 ttl=53 time=44.1 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=11 ttl=53 time=44.5 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=12 ttl=53 time=48.0 ms
--- ya.ru ping statistics ---
12 packets transmitted, 12 received, 0% packet loss, time 11002ms
rtt min/avg/max/mdev = 41.190/46.855/56.095/3.848 ms
/dev/ttyp4
12:48:03
#screen -x
/dev/ttyp2
12:48:21
#vim /etc/apt/sources.list
--- /tmp/l3-saved-2119.3274.20872	2008-11-11 12:48:42.000000000 +0200
+++ /etc/apt/sources.list	2008-11-11 12:48:53.000000000 +0200
@@ -1 +1 @@
-deb http://debian.org.ua/debian etch main 
+deb http://10.0.35.1:9999/debian etch main 
12:48:53
#apt-get update
0% [Соединение с 10.0.35.1 (10.0.35.1)]
12:49:03
#ping 10.0.35.1
PING 10.0.35.1 (10.0.35.1) 56(84) bytes of data.
64 bytes from 10.0.35.1: icmp_seq=1 ttl=62 time=0.472 ms
64 bytes from 10.0.35.1: icmp_seq=2 ttl=62 time=0.390 ms
--- 10.0.35.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.390/0.431/0.472/0.041 ms
12:49:07
#apt-get update
0% [Соединение с 10.0.35.1 (10.0.35.1)]
12:49:12
#vim /etc/apt/sources.list
12:49:19
#apt-get update
0% [Соединение с 10.0.35.1 (10.0.35.1)]
12:49:28
#traceroute -n 10.0.35.1
traceroute to 10.0.35.1 (10.0.35.1), 30 hops max, 40 byte packets
 1  192.168.16.254  0.187 ms  0.144 ms  0.106 ms
12:49:40
#sudo route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.71.0    0.0.0.0         255.255.255.0   U     0      0        0 eth2
192.168.16.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.77.0    192.168.71.254  255.255.255.0   UG    0      0        0 eth2
192.168.78.0    192.168.71.254  255.255.255.0   UG    0      0        0 eth2
192.168.72.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.75.0    192.168.71.254  255.255.255.0   UG    0      0        0 eth2
0.0.0.0         192.168.72.1    0.0.0.0         UG    0      0        0 eth1
0.0.0.0         192.168.16.254  0.0.0.0         UG    0      0        0 eth0
12:49:43
#sudo route delete default gw 192.168.16.254

12:50:00
#sudo route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.71.0    0.0.0.0         255.255.255.0   U     0      0        0 eth2
192.168.16.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.77.0    192.168.71.254  255.255.255.0   UG    0      0        0 eth2
192.168.78.0    192.168.71.254  255.255.255.0   UG    0      0        0 eth2
192.168.72.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.75.0    192.168.71.254  255.255.255.0   UG    0      0        0 eth2
0.0.0.0         192.168.72.1    0.0.0.0         UG    0      0        0 eth1
12:50:01
#apt-get update
Получено:1 http://10.0.35.1 etch Release.gpg [386B]
Получено:2 http://10.0.35.1 etch Release [58,2kB]
Ign http://10.0.35.1 etch/main Packages
Получено:3 http://10.0.35.1 etch/main Packages [5624kB]
Получено 5683kB за 2s (2236kB/c)
Чтение списков пакетов... Готово
12:50:11
#vim /etc/network/interfaces
--- /tmp/l3-saved-2119.27793.9145	2008-11-11 12:50:18.000000000 +0200
+++ /etc/network/interfaces	2008-11-11 12:50:26.000000000 +0200
@@ -8,7 +8,7 @@
 iface  eth0 inet static
         address 192.168.16.2
         netmask 255.255.255.0
-	gateway 192.168.16.254
+#	gateway 192.168.16.254
 
 iface  eth1 inet static
         address 192.168.72.254
12:50:27
#apt-get install xinetd
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
НОВЫЕ пакеты, которые будут установлены:
  xinetd
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 52 пакетов не обновлено.
Необходимо скачать 137kБ архивов.
После распаковки объем занятого дискового пространства возрастёт на 369kB.
Получено:1 http://10.0.35.1 etch/main xinetd 1:2.3.14-1 [137kB]
Получено 137kB за 0s (8260kB/c)
Выбор ранее не выбранного пакета xinetd.
(Чтение базы данных... на данный момент установлено 24600 файлов и каталогов.)
Распаковывается пакет xinetd (из файла .../xinetd_1%3a2.3.14-1_i386.deb)...
Настраивается пакет xinetd (2.3.14-1) ...
Stopping internet superserver: xinetd.
Добавляется `diversion of /etc/init.d/inetd to /etc/init.d/inetd.real by xinetd'
Starting internet superserver: xinetd.
12:50:37
#ls -l /etc/rc2.d/
итого 4
-rw-r--r-- 1 root root 556 2007-01-31 00:27 README
lrwxrwxrwx 1 root root  18 2008-07-04 20:09 S10sysklogd -> ../init.d/sysklogd
lrwxrwxrwx 1 root root  15 2008-07-04 20:09 S11klogd -> ../init.d/klogd
lrwxrwxrwx 1 root root  17 2008-07-04 20:09 S20makedev -> ../init.d/makedev
lrwxrwxrwx 1 root root  23 2008-07-04 20:09 S20openbsd-inetd -> ../init.d/openbsd-inetd
lrwxrwxrwx 1 root root  13 2008-07-04 20:09 S20ssh -> ../init.d/ssh
lrwxrwxrwx 1 root root  16 2008-11-11 12:50 S20xinetd -> ../init.d/xinetd
lrwxrwxrwx 1 root root  13 2008-07-04 20:09 S21gdm -> ../init.d/gdm
lrwxrwxrwx 1 root root  14 2008-07-04 20:09 S89cron -> ../init.d/cron
lrwxrwxrwx 1 root root  18 2008-07-04 20:09 S99rc.local -> ../init.d/rc.local
lrwxrwxrwx 1 root root  19 2008-07-04 20:09 S99rmnologin -> ../init.d/rmnologin
lrwxrwxrwx 1 root root  23 2008-07-04 20:09 S99stop-bootlogd -> ../init.d/stop-bootlogd
12:50:49
#vim /etc/init.d/openbsd-inetd
12:51:57
#ls -l /etc/rc2.d/
итого 4
-rw-r--r-- 1 root root 556 2007-01-31 00:27 README
lrwxrwxrwx 1 root root  18 2008-07-04 20:09 S10sysklogd -> ../init.d/sysklogd
lrwxrwxrwx 1 root root  15 2008-07-04 20:09 S11klogd -> ../init.d/klogd
lrwxrwxrwx 1 root root  17 2008-07-04 20:09 S20makedev -> ../init.d/makedev
lrwxrwxrwx 1 root root  23 2008-07-04 20:09 S20openbsd-inetd -> ../init.d/openbsd-inetd
lrwxrwxrwx 1 root root  13 2008-07-04 20:09 S20ssh -> ../init.d/ssh
lrwxrwxrwx 1 root root  16 2008-11-11 12:50 S20xinetd -> ../init.d/xinetd
lrwxrwxrwx 1 root root  13 2008-07-04 20:09 S21gdm -> ../init.d/gdm
lrwxrwxrwx 1 root root  14 2008-07-04 20:09 S89cron -> ../init.d/cron
lrwxrwxrwx 1 root root  18 2008-07-04 20:09 S99rc.local -> ../init.d/rc.local
lrwxrwxrwx 1 root root  19 2008-07-04 20:09 S99rmnologin -> ../init.d/rmnologin
lrwxrwxrwx 1 root root  23 2008-07-04 20:09 S99stop-bootlogd -> ../init.d/stop-bootlogd
12:51:58
#apt-cache search sys-V

12:52:24
#apt-cache search sys
gconf2 - GNOME configuration database system (support tools)
gconf2-common - GNOME configuration database system (common files)
gcrontab - GTK bases crontab editor
gdesklets-data - Applets for gdesklets
gdis - molecular display
gedit - official text editor of the GNOME desktop environment
gedit-dev - official text editor of the GNOME desktop environment (development files)
gem - Graphics Environment for Multimedia - PureData library
gems - Shows a console session in several terminals
genesis - general-purpose neural simulator
...
grub-doc - Documentation for GRand Unified Bootloader
gs-esp - The Ghostscript PostScript interpreter - ESP version
gscanbus - scan IEEE1394 (firewire/i.link) bus
gstreamer0.10-gnomevfs - GStreamer plugin for GnomeVFS
gstreamer0.8-misc - Collection of various GStreamer plugins
gstreamer0.8-oss - OSS plugin for GStreamer
gtamsanalyzer.app - Qualitative Research Software for the Free World for GNUstep
gthumb - an image viewer and browser
gtimelog - minimal timelogging system
gtk-imonc - monitor and control 'fli4l' one-diskette routers
12:52:33
#apt-cache search sysvrc
etherape - graphical network monitor modeled after etherman
ethtool - display or change ethernet card settings
ettercap - Multipurpose sniffer/interceptor/logger for switched LAN
ettercap-common - Common support files and plugins for ettercap
ettercap-gtk - Multipurpose sniffer/interceptor/logger for switched LAN
evince - Document (postscript, pdf) viewer
evms - Enterprise Volume Management System (core)
evms-bootdebug - Enterprise Volume Management System (boot-time debugger)
evms-cli - Enterprise Volume Management System (CLI)
evms-gui - Enterprise Volume Management System (GUI)
...
gambas-gb-eval - The Gambas expression evaluator component
gambas-gb-net - The Gambas networking component
gambas-gb-net-curl - The Gambas advanced networking component
gambas-gb-qt - The Gambas Qt GUI component
gambas-gb-qt-editor - The Gambas source code editor component
gambas-gb-qt-ext - The Gambas extended Qt GUI component
gambas-gb-qt-kde - The Gambas KDE component
gambas-gb-qt-kde-html - The Gambas KHTML component
gambas-gb-sdl - The Gambas SDL component
policyrcd-script-zg2 - policy-compliant interface from invoke-rc.d to local config files
12:52:45
#apt-cache search sys-

12:52:50
#apt-cache search sys
sysv-rc - System-V-like runlevel change mechanism
sysv-rc-conf - SysV init runlevel configuration tool for the terminal
12:52:55
#ls -l /etc/rc2.d/
итого 4
-rw-r--r-- 1 root root 556 2007-01-31 00:27 README
lrwxrwxrwx 1 root root  18 2008-07-04 20:09 S10sysklogd -> ../init.d/sysklogd
lrwxrwxrwx 1 root root  15 2008-07-04 20:09 S11klogd -> ../init.d/klogd
lrwxrwxrwx 1 root root  17 2008-07-04 20:09 S20makedev -> ../init.d/makedev
lrwxrwxrwx 1 root root  23 2008-07-04 20:09 S20openbsd-inetd -> ../init.d/openbsd-inetd
lrwxrwxrwx 1 root root  13 2008-07-04 20:09 S20ssh -> ../init.d/ssh
lrwxrwxrwx 1 root root  16 2008-11-11 12:50 S20xinetd -> ../init.d/xinetd
lrwxrwxrwx 1 root root  13 2008-07-04 20:09 S21gdm -> ../init.d/gdm
lrwxrwxrwx 1 root root  14 2008-07-04 20:09 S89cron -> ../init.d/cron
lrwxrwxrwx 1 root root  18 2008-07-04 20:09 S99rc.local -> ../init.d/rc.local
lrwxrwxrwx 1 root root  19 2008-07-04 20:09 S99rmnologin -> ../init.d/rmnologin
lrwxrwxrwx 1 root root  23 2008-07-04 20:09 S99stop-bootlogd -> ../init.d/stop-bootlogd
12:53:07
#mv /etc/rc2.d/S20openbsd-inetd /etc/rc2.d/DIS_

12:53:30
#ls -l /etc/rc2.d/

12:53:30
#ls -l /etc/rc2.d/
итого 4
lrwxrwxrwx 1 root root  23 2008-07-04 20:09 DIS_S20openbsd-inetd -> ../init.d/openbsd-inetd
-rw-r--r-- 1 root root 556 2007-01-31 00:27 README
lrwxrwxrwx 1 root root  18 2008-07-04 20:09 S10sysklogd -> ../init.d/sysklogd
lrwxrwxrwx 1 root root  15 2008-07-04 20:09 S11klogd -> ../init.d/klogd
lrwxrwxrwx 1 root root  17 2008-07-04 20:09 S20makedev -> ../init.d/makedev
lrwxrwxrwx 1 root root  13 2008-07-04 20:09 S20ssh -> ../init.d/ssh
lrwxrwxrwx 1 root root  16 2008-11-11 12:50 S20xinetd -> ../init.d/xinetd
lrwxrwxrwx 1 root root  13 2008-07-04 20:09 S21gdm -> ../init.d/gdm
lrwxrwxrwx 1 root root  14 2008-07-04 20:09 S89cron -> ../init.d/cron
lrwxrwxrwx 1 root root  18 2008-07-04 20:09 S99rc.local -> ../init.d/rc.local
lrwxrwxrwx 1 root root  19 2008-07-04 20:09 S99rmnologin -> ../init.d/rmnologin
lrwxrwxrwx 1 root root  23 2008-07-04 20:09 S99stop-bootlogd -> ../init.d/stop-bootlogd
12:53:58
#/etc/init.d/openbsd-inetd stop
Stopping internet superserver: inetd.
12:54:04
#/etc/init.d/xinetd start
Starting internet superserver: xinetd.
12:54:11
#ps aux | grep xinetd
root      2567  0.0  0.1   2280   808 ?        Ss   12:50   0:00 /usr/sbin/xinetd -pidfile /var/run/xinetd.pid -stayalive
root      2787  0.0  0.1   4624   744 ttyp3    R+   12:54   0:00 grep xinetd
12:54:22
#vim /usr/local/etc/xinetd.d
12:59:49
#vim /etc/xinetd.
13:00:13
#vim /etc/xinetd.conf

Статистика

Время первой команды журнала17:27:38 2008-11- 7
Время последней команды журнала13:00:13 2008-11-11
Количество командных строк в журнале35
Процент команд с ненулевым кодом завершения, % 5.71
Процент синтаксически неверно набранных команд, % 0.00
Суммарное время работы с терминалом *, час 0.26
Количество командных строк в единицу времени, команда/мин 2.27
Частота использования команд
vim7|=================| 17.95%
apt-get6|===============| 15.38%
ls5|============| 12.82%
apt-cache5|============| 12.82%
sudo3|=======| 7.69%
ping3|=======| 7.69%
route3|=======| 7.69%
ps1|==| 2.56%
/etc/init.d/xinetd1|==| 2.56%
screen1|==| 2.56%
/etc/init.d/openbsd-inetd1|==| 2.56%
grep1|==| 2.56%
mv1|==| 2.56%
traceroute1|==| 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$