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

Содержание

Журнал

Среда (01/24/07)

/dev/ttyp0
15:08:34
#vim /etc/X11/
15:08:34
#chroot /opt/ltsp/i386/
Section "InputDevice"
        Identifier      "Generic Keyboard"
        Driver          "kbd"
        Option          "CoreKeyboard"
        Option          "XkbRules"      "xorg"
        Option          "XkbModel"      "pc104"
        Option          "XkbLayout"     "us,ru(winkeys)"
        Option          "XkbOptions"    "grp:shifts_toggle,grp_led:scroll"
EndSection
Section "InputDevice"
...
                Modes           "1280x1024" "1152x864" "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           16
                Modes           "1280x1024" "1152x864" "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           24
                Modes   "1280x1024" "1152x864" "1024x768" "800x600" "640x480"
ltsp0:/# exit
прошло 46 минут
15:54:37
#vim /etc/exports
15:55:05
#vim /etc/t
15:55:05
#vim /etc/inetd.conf
16:03:55
#vim /etc/default/tftpd-hpa
16:05:27
#grep boot /etc/services
bootps          67/tcp                          # BOOTP server
bootps          67/udp
bootpc          68/tcp                          # BOOTP client
bootpc          68/udp
16:06:08
#netstat -lnp | grep :69
udp        0      0 0.0.0.0:69              0.0.0.0:*                          1146/inetd
16:06:23
#netstat -lnp | grep :67
udp        0      0 0.0.0.0:67              0.0.0.0:*                          1099/dhcpd
16:06:34
#grep 69 /etc/services
tftp            69/udp
rpc2portmap     369/tcp
rpc2portmap     369/udp                         # Coda portmapper
svn             3690/tcp        subversion      # Subversion protocol
svn             3690/udp        subversion
iax             4569/tcp                        # Inter-Asterisk eXchange
iax             4569/udp
xmpp-server     5269/tcp        jabber-server   # Jabber Server Connection
xmpp-server     5269/udp        jabber-server
16:06:44
#vim /etc/dhcpd.conf
16:07:21
#vim /etc/dhcpd.conf.orig
16:07:37
#vim /etc/dhcpd.conf
16:09:53
#ls -l /var/lib/tftpboot/ltsp/i386/
total 12508
-rw-r--r-- 1 root root  714765 Dec  5 00:21 System.map-2.6.18-3-486
-rw-r--r-- 1 root root     202 Jan 21 21:48 boot.msg
-rw-r--r-- 1 root root   72400 Dec  4 17:52 config-2.6.18-3-486
lrwxrwxrwx 1 root root      23 Jan 20 22:30 initrd.img -> initrd.img-2.6.18-3-486
-rw-r--r-- 1 root root 3083185 Jan 20 22:30 initrd.img-2.6.18-3-486
-rw-r--r-- 1 root root    9519 Jan 21 19:44 logo.16_1
lrwxrwxrwx 1 root root      20 Jan 20 22:30 nbi.img -> nbi.img-2.6.18-3-486
-rw-r--r-- 1 root root 4307968 Jan 20 22:30 nbi.img-2.6.18-3-486
-rw-r--r-- 1 root root   13324 Jan 20 22:30 pxelinux.0
drwxr-xr-x 2 root root    4096 Jan 21 21:53 pxelinux.cfg
lrwxrwxrwx 1 root root      20 Jan 20 22:30 vmlinuz -> vmlinuz-2.6.18-3-486
-rw-r--r-- 1 root root 1605403 Jan 21 19:45 vmlinuz-2.4.34.lan
-rw-r--r-- 1 root root 1218196 Dec  5 00:21 vmlinuz-2.6.18-3-486
-rw-r--r-- 1 root root 1722162 Jan 21 19:45 vmlinuz-2.6.19.2
16:10:33
#vim /var/lib/tftpboot/ltsp/i386/boot.msg
16:11:06
#ls -f /var/lib/tftpboot/ltsp/i386/
vmlinuz-2.6.19.2         initrd.img-2.6.18-3-486  vmlinuz-2.6.18-3-486  logo.16_1             initrd.img  .
pxelinux.cfg             ..                       vmlinuz-2.4.34.lan    nbi.img-2.6.18-3-486  pxelinux.0
System.map-2.6.18-3-486  boot.msg                 config-2.6.18-3-486   nbi.img               vmlinuz
16:11:44
#ls -l /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/
total 8
-rw-r--r-- 1 root root 256 Jan 21 21:53 default
-rw-r--r-- 1 root root  59 Jan 20 22:30 default.orig
16:12:03
#vim /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default
16:13:11
#vim /etc/dhcpd.conf
16:14:48
#dig @192.168.15.254 mail.ru
bash: dig: command not found
16:15:07
#apt-cache search dig
libsha-ocaml - SHA cryptographic hash functions for OCaml
libsha-ocaml-dev - SHA cryptographic hash functions for OCaml
libsoup2.2-8 - an HTTP library implementation in C -- Shared library
libsoup2.2-dev - an HTTP library implementation in C -- Development files
libsoup2.2-doc - an HTTP library implementation in C -- API Reference
libstring-koremutake-perl - Convert to/from Koremutake Memorable Random Strings
libstring-mkpasswd-perl - random password generator
libstruts1.2-java - Java Framework for MVC web applications
libtest-unit-perl - a unit testing framework for Perl
libtime-format-perl - CPAN's Time::Format module for easy date/time formatting
...
xfonts-intl-arabic - International fonts for X -- Arabic
xmms-dbmix - XMMS output interface to the DBMix audio system
xmms2-plugin-daap - XMMS2 - daap plugin
xmorph - digital image warp and morph (x11)
xoscope - digital oscilloscope
xscavenger - A lode-runner-like platform game for X
xsensors - A hardware health information viewer
xserver-xorg-input-digitaledge - X.Org X server -- DigitalEdge input driver
zope-photo - zope product for managing digital images
zoph - Web based digital image presentation and management system
16:15:23
#apt-cache search dnsutils
dnsutils - Clients provided with BIND
host - utility for querying DNS servers
16:17:05
#apt-get install dnsutils
Reading package lists... Done
Building dependency tree... Done
Suggested packages:
  rblcheck
The following NEW packages will be installed:
  dnsutils
0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded.
Need to get 174kB of archives.
After unpacking 381kB of additional disk space will be used.
Get:1 http://192.168.15.251 etch/main dnsutils 1:9.3.2-P1.0-1 [174kB]
Fetched 174kB in 0s (2237kB/s)
Selecting previously deselected package dnsutils.
(Reading database ... 17831 files and directories currently installed.)
Unpacking dnsutils (from .../dnsutils_1%3a9.3.2-P1.0-1_i386.deb) ...
Setting up dnsutils (9.3.2-P1.0-1) ...
16:17:19
#dig @192.168.15.254 mail.ru
; <<>> DiG 9.3.2-P1 <<>> @192.168.15.254 mail.ru
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54967
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 6, ADDITIONAL: 0
;; QUESTION SECTION:
;mail.ru.                       IN      A
;; ANSWER SECTION:
mail.ru.                18941   IN      A       194.67.57.26
;; AUTHORITY SECTION:
mail.ru.                18941   IN      NS      ns4.mail.ru.
mail.ru.                18941   IN      NS      ns5.mail.ru.
mail.ru.                18941   IN      NS      ns.mail.ru.
mail.ru.                18941   IN      NS      ns1.mail.ru.
mail.ru.                18941   IN      NS      ns2.mail.ru.
mail.ru.                18941   IN      NS      ns3.mail.ru.
;; Query time: 2 msec
;; SERVER: 192.168.15.254#53(192.168.15.254)
;; WHEN: Wed Jan 24 16:17:24 2007
;; MSG SIZE  rcvd: 148
16:17:24
#showmount -e
Export list for ltsp0.unix.nt:
/opt/ltsp/i386 *

Статистика

Время первой команды журнала15:08:34 2007- 1-24
Время последней команды журнала16:17:24 2007- 1-24
Количество командных строк в журнале25
Процент команд с ненулевым кодом завершения, % 0.00
Процент синтаксически неверно набранных команд, % 4.00
Суммарное время работы с терминалом *, час 0.38
Количество командных строк в единицу времени, команда/мин 1.10
Частота использования команд
vim11|========================================| 40.74%
grep4|==============| 14.81%
ls3|===========| 11.11%
dig2|=======| 7.41%
netstat2|=======| 7.41%
apt-cache2|=======| 7.41%
apt-get1|===| 3.70%
chroot1|===| 3.70%
showmount1|===| 3.70%
____
*) Интервалы неактивности длительностью 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$