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

Содержание

Журнал

Вторник (06/02/09)

/dev/pts/3
13:50:57
#ping ya.ru
c^C
13:51:03
#netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.106.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         192.168.106.1   0.0.0.0         UG        0 0          0 eth0
13:51:06
#ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1b:fc:7d:bc:f0
          inet addr:192.168.106.2  Bcast:192.168.106.255  Mask:255.255.255.0
          inet6 addr: fe80::21b:fcff:fe7d:bcf0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28 errors:0 dropped:0 overruns:0 frame:0
          TX packets:65 errors:0 dropped:0 overruns:0 carrier:1
          collisions:0 txqueuelen:1000
          RX bytes:2554 (2.4 KiB)  TX bytes:5405 (5.2 KiB)
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
13:51:24
#ping 217.24.167.30
PING 217.24.167.30 (217.24.167.30) 56(84) bytes of data.
^C
--- 217.24.167.30 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 4032ms
13:51:46
#ping 10.0.35.100
PING 10.0.35.100 (10.0.35.100) 56(84) bytes of data.
^C
--- 10.0.35.100 ping statistics ---
237 packets transmitted, 0 received, 100% packet loss, time 237878ms
13:56:51
#mdadm --detail /dev/md0
/dev/md0:
        Version : 0.90
  Creation Time : Mon Jun  1 10:33:09 2009
     Raid Level : raid1
     Array Size : 14659200 (13.98 GiB 15.01 GB)
  Used Dev Size : 14659200 (13.98 GiB 15.01 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent
    Update Time : Mon Jun  1 11:33:08 2009
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0
           UUID : 07e95896:2253f41a:41412d3c:28a278a7
         Events : 0.20
    Number   Major   Minor   RaidDevice State
       0       8        2        0      active sync   /dev/sda2
       1       8       18        1      active sync   /dev/sdb2
13:57:08
#mdadm --help
mdadm is used for building, managing, and monitoring
Linux md devices (aka RAID arrays)
Usage: mdadm --create device options...
            Create a new array from unused devices.
       mdadm --assemble device options...
            Assemble a previously created array.
       mdadm --build device options...
            Create or assemble an array without metadata.
       mdadm --manage device options...
            make changes to an existing array.
...
            Shorthand for --manage.
Any parameter that does not start with '-' is treated as a device name
or, for --examine-bitmap, a file name.
The first such name is often the name of an md device.  Subsequent
names are often names of component devices.
 For detailed help on the above major modes use --help after the mode
 e.g.
         mdadm --assemble --help
 For general help on options use
         mdadm --help-options
13:58:10
#mdadm -f /dev/sdb2
mdadm: /dev/sdb2 does not appear to be an md device
13:58:23
#mdadm /dev/md0 -f /dev/sdb2
mdadm: set /dev/sdb2 faulty in /dev/md0
13:58:37
#/cat/proc/mdadm
bash: /cat/proc/mdadm: No such file or directory
13:58:50
#cat /proc/md
cat: /proc/md: No such file or directory
13:58:57
#cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : active raid1 sda1[0] sdb1[1]
      19542976 blocks [2/2] [UU]
md0 : active raid1 sda2[0] sdb2[2](F)
      14659200 blocks [2/1] [U_]
unused devices: <none>
13:58:59
#mdadm /dev/md0 -r /dev/sdb2
mdadm: hot removed /dev/sdb2
13:59:09
#mdadm /dev/md0 -f /dev/sda2
mdadm: set /dev/sda2 faulty in /dev/md0
13:59:21
#mdadm /dev/md0 -r /dev/sda2
mdadm: hot remove failed for /dev/sda2: Device or resource busy
13:59:27
#/etc/init.d/mdadm restart
Stopping MD monitoring service: mdadm --monitor.
Starting MD monitoring service: mdadm --monitor.
14:00:08
#init 6

Файлы

  • /proc/mdstat
  • /proc/mdstat
    >
    Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
    md1 : active raid1 sda1[0] sdb1[1]
          19542976 blocks [2/2] [UU]
    md0 : active raid1 sda2[0] sdb2[2](F)
          14659200 blocks [2/1] [U_]
    unused devices: <none>
    

    Статистика

    Время первой команды журнала13:50:57 2009- 6- 2
    Время последней команды журнала14:00:08 2009- 6- 2
    Количество командных строк в журнале17
    Процент команд с ненулевым кодом завершения, %29.41
    Процент синтаксически неверно набранных команд, % 5.88
    Суммарное время работы с терминалом *, час 0.15
    Количество командных строк в единицу времени, команда/мин 1.85
    Частота использования команд
    mdadm8|===============================================| 47.06%
    ping3|=================| 17.65%
    cat2|===========| 11.76%
    init1|=====| 5.88%
    ifconfig1|=====| 5.88%
    /etc/init.d/mdadm1|=====| 5.88%
    netstat1|=====| 5.88%
    ____
    *) Интервалы неактивности длительностью 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$