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

Содержание

Журнал

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

/dev/pts/2
11:18:00
#less /etc/kde/kdm/kdmrc
11:20:23
#less /etc/xinetd.conf
11:20:53
#less /etc/services
11:22:41
#vim /etc/services
580c580,582
< 
---
> vnc-800x600x16	5950/tcp
> vnc-1024x768x16	5951/tcp
> vnc-1024x768x8	5952/tcp
11:24:33
#vim /etc/xinetd.conf
14a15,24
> vnc-800x600x16
> {
> 	disable	= no
> 	socket_type	= stream
> 	protocol	= tcp
> 	wait	= no
> 	user	= nobody
> 	server	= /usr/bin/Xvnc
> 	server_args	= -inetd -query localhost -once -geometry 800x600 -depth 16
> }
11:33:49
#/etc/init.d/xinetd restart
Останавливается xinetd:                     [  ОК  ]
Запускается xinetd:                             [  ОК  ]
11:33:59
#netstat -lnp | grep 59
unix  2      [ ACC ]     STREAM     LISTENING     8478   2717/wnck-applet    /tmp/orbit-user/linc-a9d-0-424dea1c7759d
unix  2      [ ACC ]     STREAM     LISTENING     9592   2886/vmware-vmx     /var/run/vmware/user_500/1197276217627085_2886/testAutomation-fd
unix  2      [ ACC ]     STREAM     LISTENING     9594   2886/vmware-vmx     /var/run/vmware/user_500/1197276217627085_2886/control-fd
unix  2      [ ACC ]     STREAM     LISTENING     9598   2886/vmware-vmx     /var/run/vmware/user_500/1197276217627085_2886/mks-fd
11:34:23
#less /etc/services
11:34:42
#vim /etc/xinetd.conf
11:36:25
#/etc/init.d/xinetd restart
Dec 10 11:32:20 linux3 kernel: ReiserFS: warning: is_leaf: free space seems wrong: level=1, nr_items=49, free_space=48 rdkey
Dec 10 11:32:20 linux3 kernel: ReiserFS: sda7: warning: vs-5150: search_by_key: invalid format found in block 1572977. Fsck?
Dec 10 11:32:20 linux3 kernel: ReiserFS: sda7: warning: vs-13050: reiserfs_update_sd: i/o failure occurred trying to update [19 65392 0x0 SD] stat data
Dec 10 11:32:20 linux3 kernel: ReiserFS: sda1: warning: vs-13060: reiserfs_update_sd: stat data of object [2 214 0x0 SD] (nlink == 1) not found (pos 0)
Dec 10 11:33:59 linux3 xinetd[2160]: Exiting...
Dec 10 11:33:59 linux3 xinetd[4852]: missing service keyword [file=/etc/xinetd.conf] [line=15]
Dec 10 11:33:59 linux3 xinetd[4852]: xinetd Version 2.3.13 started with libwrap loadavg options compiled in.
Dec 10 11:33:59 linux3 xinetd[4852]: Started working: 0 available services
Dec 10 11:35:01 linux3 crond(pam_unix)[4898]: session opened for user root by (uid=0)
Dec 10 11:35:02 linux3 crond(pam_unix)[4898]: session closed for user root
Dec 10 11:36:41 linux3 xinetd[4852]: Exiting...
Dec 10 11:36:42 linux3 xinetd[4983]: missing service keyword [file=/etc/xinetd.conf] [line=15]
Dec 10 11:36:42 linux3 xinetd[4983]: xinetd Version 2.3.13 started with libwrap loadavg options compiled in.
Dec 10 11:36:42 linux3 xinetd[4983]: Started working: 0 available services
Останавливается xinetd:                     [  ОК  ]
Запускается xinetd:                             [  ОК  ]
11:36:42
#vim /etc/xinetd.conf
15c15
< vnc-800x600x16
---
> service vnc-800x600x16
11:37:17
#/etc/init.d/xinetd restart
Останавливается xinetd:                     [  ОК  ]
Запускается xinetd:                             [  ОК  ]
11:37:18
#netstat -lnp | grep 59
Dec 10 11:32:20 linux3 kernel: ReiserFS: warning: is_leaf: free space seems wrong: level=1, nr_items=49, free_space=48 rdkey
Dec 10 11:32:20 linux3 kernel: ReiserFS: sda7: warning: vs-5150: search_by_key: invalid format found in block 1572977. Fsck?
Dec 10 11:32:20 linux3 kernel: ReiserFS: sda7: warning: vs-13050: reiserfs_update_sd: i/o failure occurred trying to update [19 65392 0x0 SD] stat data
Dec 10 11:32:20 linux3 kernel: ReiserFS: sda1: warning: vs-13060: reiserfs_update_sd: stat data of object [2 214 0x0 SD] (nlink == 1) not found (pos 0)
Dec 10 11:33:59 linux3 xinetd[2160]: Exiting...
Dec 10 11:33:59 linux3 xinetd[4852]: missing service keyword [file=/etc/xinetd.conf] [line=15]
Dec 10 11:33:59 linux3 xinetd[4852]: xinetd Version 2.3.13 started with libwrap loadavg options compiled in.
Dec 10 11:33:59 linux3 xinetd[4852]: Started working: 0 available services
Dec 10 11:35:01 linux3 crond(pam_unix)[4898]: session opened for user root by (uid=0)
Dec 10 11:35:02 linux3 crond(pam_unix)[4898]: session closed for user root
...
Dec 10 11:36:42 linux3 xinetd[4983]: xinetd Version 2.3.13 started with libwrap loadavg options compiled in.
Dec 10 11:36:42 linux3 xinetd[4983]: Started working: 0 available services
Dec 10 11:37:18 linux3 xinetd[4983]: Exiting...
Dec 10 11:37:18 linux3 xinetd[5023]: xinetd Version 2.3.13 started with libwrap loadavg options compiled in.
Dec 10 11:37:18 linux3 xinetd[5023]: Started working: 1 available service
tcp        0      0 0.0.0.0:5950                0.0.0.0:*                   LISTEN      5023/xinetd
unix  2      [ ACC ]     STREAM     LISTENING     8478   2717/wnck-applet    /tmp/orbit-user/linc-a9d-0-424dea1c7759d
unix  2      [ ACC ]     STREAM     LISTENING     9592   2886/vmware-vmx     /var/run/vmware/user_500/1197276217627085_2886/testAutomation-fd
unix  2      [ ACC ]     STREAM     LISTENING     9594   2886/vmware-vmx     /var/run/vmware/user_500/1197276217627085_2886/control-fd
unix  2      [ ACC ]     STREAM     LISTENING     9598   2886/vmware-vmx     /var/run/vmware/user_500/1197276217627085_2886/mks-fd
11:37:30
#vncpasswd
Password:
Verify:
11:38:14
#less /etc/host
11:38:14
#less /etc/host
11:38:14
#less /etc/hosts.allow
11:39:07
#vim /etc/ho
11:39:07
#vim /etc/ho
11:39:07
#vim /etc/hosts.allow
6c6
< 
---
> all : all
11:39:52
#cat /etc/xinetd.conf
#
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/
defaults
{
        instances               = 60
        log_type                = SYSLOG authpriv
        log_on_success          = HOST PID
        log_on_failure          = HOST
...
{
        disable = no
        socket_type     = stream
        protocol        = tcp
        wait    = no
        user    = nobody
        server  = /usr/bin/Xvnc
        server_args     = -inetd -query localhost -once -geometry 800x600 -depth 16
}
includedir /etc/xinetd.d

Файлы

  • /etc/xinetd.conf
  • /etc/xinetd.conf
    >
    #
    # Simple configuration file for xinetd
    #
    # Some defaults, and include /etc/xinetd.d/
    defaults
    {
            instances               = 60
            log_type                = SYSLOG authpriv
            log_on_success          = HOST PID
            log_on_failure          = HOST
            cps                     = 25 30
    }
    service vnc-800x600x16
    {
            disable = no
            socket_type     = stream
            protocol        = tcp
            wait    = no
            user    = nobody
            server  = /usr/bin/Xvnc
            server_args     = -inetd -query localhost -once -geometry 800x600 -depth 16
    }
    includedir /etc/xinetd.d
    

    Статистика

    Время первой команды журнала11:18:00 2007-12-10
    Время последней команды журнала11:39:52 2007-12-10
    Количество командных строк в журнале21
    Процент команд с ненулевым кодом завершения, % 0.00
    Процент синтаксически неверно набранных команд, % 0.00
    Суммарное время работы с терминалом *, час 0.36
    Количество командных строк в единицу времени, команда/мин 0.96
    Частота использования команд
    vim7|==============================| 30.43%
    less7|==============================| 30.43%
    /etc/init.d/xinetd3|=============| 13.04%
    netstat2|========| 8.70%
    grep2|========| 8.70%
    vncpasswd1|====| 4.35%
    cat1|====| 4.35%
    ____
    *) Интервалы неактивности длительностью 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$