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

Содержание

Журнал

Понедельник (03/22/10)

/dev/pts/5
14:16:54
#cat /proc/partitions
major minor  #blocks  name
   8     0  488386584 sda
   8     1    4883728 sda1
   8     2   19535040 sda2
   8     3   19535040 sda3
   7     1    2098176 loop1
   7     2    2098176 loop2
   7     3    2098176 loop3
   7     4    2098176 loop4
   9     0    6294336 md0
14:18:52
#mdadm --stop /dev/md0
mdadm: stopped /dev/md0
14:19:53
#mdadm -A --scan
/dev/md0: File exists
mdadm: /dev/md/0 has been started with 4 drives.
14:19:55
#cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid5 loop1[0] loop2[3] loop3[2] loop4[1]
      6294336 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
unused devices: <none>
14:20:00
#cat /proc/partitions
major minor  #blocks  name
   8     0  488386584 sda
   8     1    4883728 sda1
   8     2   19535040 sda2
   8     3   19535040 sda3
   7     1    2098176 loop1
   7     2    2098176 loop2
   7     3    2098176 loop3
   7     4    2098176 loop4
   9     0    6294336 md0
14:20:50
#mdadm --stop /dev/md0
mdadm: stopped /dev/md0
прошло 35 минут
14:56:46
#kpartx -d /dev/md0
read error, sector 0
llseek error
llseek error
llseek error
14:57:19
#kpartx -d /dev/lo
log    loop0  loop1  loop2  loop3  loop4  loop5  loop6  loop7
14:57:19
#kpartx -d /dev/loop1

14:57:31
#kpartx -d /dev/loop2

14:57:33
#kpartx -d /dev/loop3

14:57:35
#kpartx -d /dev/loop4

14:57:38
#mdadm --zero-superblock /dev/loop1

14:58:34
#mdadm --zero-superblock /dev/loop2

14:58:35
#mdadm --zero-superblock /dev/loop3

14:58:37
#mdadm --zero-superblock /dev/loop4

14:58:39
#losetup /dev/loop1 disk1.img

14:58:53
#losetup /dev/loop2 disk2.img

14:58:58
#losetup /dev/loop3 disk3.img

14:59:46
#kpartx -a /dev/md0

15:00:18
#ls /dev/mapper/
control  md0p1
15:00:26
#watch cat /proc/mdstat

15:02:24
#mdadm --stop /dev/md0
mdadm: fail to stop array /dev/md0: Device or resource busy
15:03:15
#mdadm --stop /dev/md0
mdadm: fail to stop array /dev/md0: Device or resource busy
15:03:28
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G   12G  6.3G  65% /
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
udev                   10M  744K  9.3M   8% /dev
tmpfs                 1.5G     0  1.5G   0% /dev/shm
15:03:34
#mdadm --stop /dev/md0
mdadm: fail to stop array /dev/md0: Device or resource busy
15:04:17
#cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid5 loop3[2] loop2[1] loop1[0]
      4196224 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
15:04:27
#kpartx -d /dev/md0

15:04:50
#mdadm --stop /dev/md0
mdadm: stopped /dev/md0
15:05:30
#fdisk /dev/md0
.bash_history        disk2.img            .gnome2/             .local/              .tsclient/
.bash_logout         disk3.img            .gnome2_private/     .metacity/           .update-notifier/
.bash_profile        disk4.img            .gnupg/              .mozilla/            .Xauthority
.bashrc              .dmrc                .gstreamer-0.10/     .nautilus/           .xsession-errors
.dbus/               .gconf/              .ICEauthority        .profile
Desktop/             .gconfd/             .l3rc                .recently-used.xbel
disk1.img            .gnome/              .lilalo/             .ssh/
15:05:30
#fdisk /dev/md0
The number of cylinders for this disk is set to 1049056.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/md0: 4296 MB, 4296933376 bytes
2 heads, 4 sectors/track, 1049056 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x4ea1c8bc
    Device Boot      Start         End      Blocks   Id  System
/dev/md0p1               1      524528     2098110   83  Linux
Command (m for help): q
15:06:50
#file -s /dev/md0p1
/dev/md0p1: ERROR: cannot open `/dev/md0p1' (No such file or directory)
15:07:04
#file -s /dev/md0
/dev/md0: x86 boot sector; partition 1: ID=0x83, starthead 1, startsector 4, 4196220 sectors
15:07:06
#ls /dev/mapper/
control
15:07:27
#kpartx /dev/md0
md0p1 : 0 4196220 /dev/md0 4
15:07:40
#ls /dev/mapper/
control
15:07:42
#ls /dev/mapper/
control
15:07:44
#mdadm --stop /dev/md0
mdadm: stopped /dev/md0
15:08:28
#file -s /dev/mapper/md0p1
/dev/mapper/md0p1: Linux rev 1.0 ext3 filesystem data, UUID=48512c8a-17ef-49ec-8618-6b59c173293f (needs journal recovery) (large files)
15:08:43
#mount /dev/md0 /mnt/
mount: /dev/md0 already mounted or /mnt/ busy
15:08:54
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G   12G  6.3G  65% /
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
udev                   10M  744K  9.3M   8% /dev
tmpfs                 1.5G     0  1.5G   0% /dev/shm
15:09:00
#mount /dev/mapper/md0p1 /mnt/
mount: wrong fs type, bad option, bad superblock on /dev/mapper/md0p1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so
15:09:12
#fdisk /dev/md
md/  md0
15:09:12
#fdisk /dev/md0
The number of cylinders for this disk is set to 1049056.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/md0: 4296 MB, 4296933376 bytes
2 heads, 4 sectors/track, 1049056 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
...
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1049056, default 1049056):
Using default value 1049056
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
15:10:00
#mkfs.ext3 /dev/m
mapper/ md/     md0     mem
15:10:00
#mkfs.ext3 /dev/md0
mke2fs 1.41.3 (12-Oct-2008)
/dev/md0 is apparently in use by the system; will not make a filesystem here!
15:10:15
#mkfs.ext3 /dev/mapper/md0p1
mke2fs 1.41.3 (12-Oct-2008)
warning: 239 blocks unused.
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
131328 inodes, 524288 blocks
26226 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8208 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
15:10:29
#mount /dev/md0 /mnt/
mount: /dev/md0 already mounted or /mnt/ busy
15:10:37
#mount /dev/mapper/md0p1 /mnt/

15:10:48
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G   12G  6.3G  65% /
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
udev                   10M  744K  9.3M   8% /dev
tmpfs                 1.5G     0  1.5G   0% /dev/shm
/dev/mapper/md0p1     2.0G   68M  1.9G   4% /mnt
15:10:51
#ls /mnt/\
>
15:11:04
#ls /mnt/
lost+found
15:11:06
#ls /usr/
bin  games  include  lib  local  sbin  share  src  X11R6
15:11:15
#cp -R /usr/games/ /mnt/

15:11:33
#ls /m
media/ mnt/
15:11:33
#ls /mnt/
games  lost+found
15:11:39
#kpartx -d /dev/md0
device-mapper: remove ioctl failed: Device or resource busy
15:11:58
#umount /mnt

15:12:05
#kpartx -d /dev/md0

15:12:06
#mdadm --stop /dev/md
md/  md0
15:12:06
#mdadm --stop /dev/md0
mdadm: stopped /dev/md0
15:12:25
#cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
unused devices: <none>
15:12:35
#kpartx -a /dev/md0
read error, sector 0
llseek error
llseek error
llseek error
15:13:47
#cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid5 loop1[0] loop3[2] loop2[1]
      4196224 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
15:13:50
#kpartx -a /dev/md0

15:13:55
#mount /dev/mapper/md0p1 /mnt/
mount: you must specify the filesystem type
15:14:07
#cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid5 loop1[0] loop3[2] loop2[1]
      4196224 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
15:14:33
#file -s /dev/mapper/md0p1
/dev/mapper/md0p1: data
15:14:45
#file -s /dev/md0
/dev/md0: x86 boot sector; partition 1: ID=0x83, starthead 0, startsector 1, 8392447 sectors
15:15:26
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G   12G  6.3G  65% /
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
udev                   10M  744K  9.3M   8% /dev
tmpfs                 1.5G     0  1.5G   0% /dev/shm
15:16:24
#file -s /dev/md0
/dev/md0: x86 boot sector; partition 1: ID=0x83, starthead 0, startsector 1, 8392447 sectors
15:24:27
#mdadm --stop /dev/md0
mdadm: stopped /dev/md0
15:24:29
#mdadm -A --scan
mdadm: /dev/md/0 has been started with 3 drives.
15:24:52
#kpartx -a /dev/md0

15:25:00
#fdisk /dev/m
mapper/ md/     md0     mem
15:25:00
#fdisk /dev/mapper/md0p1
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xe8ea50cc.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): d
No partition is defined yet!
Command (m for help): q
15:25:17
#fdisk /dev/md0
The number of cylinders for this disk is set to 1049056.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): d
Selected partition 1
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
15:25:31
#mkfs.ext3 /dev/mapper/md0p1
mke2fs 1.41.3 (12-Oct-2008)
warning: 479 blocks unused.
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
262656 inodes, 1048576 blocks
52452 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
8208 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 27 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
15:25:56
#mount /dev/mapper/md0p1 /mnt/

15:26:59
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G   12G  6.3G  65% /
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
udev                   10M  744K  9.3M   8% /dev
tmpfs                 1.5G     0  1.5G   0% /dev/shm
/dev/mapper/md0p1     4.0G  137M  3.7G   4% /mnt
15:27:01
#ls /mnt/
lost+found
15:27:04
#cp -R /usr/games/ /mnt/

15:27:14
#kpartx -d /dev/md0

15:27:21
#mdadm --stop /dev/md0
mdadm: fail to stop array /dev/md0: Device or resource busy
15:27:30
#mdadm --stop /dev/md0
mdadm: fail to stop array /dev/md0: Device or resource busy
15:27:36
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G   12G  6.3G  65% /
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
udev                   10M  744K  9.3M   8% /dev
tmpfs                 1.5G     0  1.5G   0% /dev/shm
/dev/mapper/md0p1     4.0G  139M  3.7G   4% /mnt
15:27:43
#umount /mnt

15:27:49
#mdadm --stop /dev/md0
mdadm: fail to stop array /dev/md0: Device or resource busy
15:27:52
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G   12G  6.3G  65% /
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
udev                   10M  744K  9.3M   8% /dev
tmpfs                 1.5G     0  1.5G   0% /dev/shm
15:27:58
#mdadm --stop /dev/md0
mdadm: fail to stop array /dev/md0: Device or resource busy
15:28:06
#mdadm --stop /dev/md0
mdadm: fail to stop array /dev/md0: Device or resource busy
15:28:08
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G   12G  6.3G  65% /
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
udev                   10M  744K  9.3M   8% /dev
tmpfs                 1.5G     0  1.5G   0% /dev/shm
15:28:24
#cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid5 loop1[0] loop3[2] loop2[1]
      4196224 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
15:28:54
#mdadm --stop /dev/md
mdadm: error opening /dev/md: Is a directory
15:28:56
#mdadm --stop /dev/md0
mdadm: fail to stop array /dev/md0: Device or resource busy
15:28:58
#pwd
/home/user
15:29:18
#mdadm --stop /dev/md0
mdadm: fail to stop array /dev/md0: Device or resource busy
15:30:56
#cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid5 loop1[0] loop3[2] loop2[1]
      4196224 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
15:31:30
#kpartx -d /dev/m
mapper/ md/     md0     mem
15:31:30
#kpartx -d /dev/md0

15:31:55
#mdadm --stop /dev/md0
mdadm: fail to stop array /dev/md0: Device or resource busy

Файлы

  • /proc/mdstat
  • /proc/partitions
  • /proc/mdstat
    >
    Personalities : [raid1] [raid6] [raid5] [raid4]
    md0 : active raid5 loop1[0] loop3[2] loop2[1]
          4196224 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
    unused devices: <none>
    
    /proc/partitions
    >
    major minor  #blocks  name
       8     0  488386584 sda
       8     1    4883728 sda1
       8     2   19535040 sda2
       8     3   19535040 sda3
       7     1    2098176 loop1
       7     2    2098176 loop2
       7     3    2098176 loop3
       7     4    2098176 loop4
       9     0    6294336 md0
    

    Статистика

    Время первой команды журнала14:16:54 2010- 3-22
    Время последней команды журнала15:31:55 2010- 3-22
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %21.78
    Процент синтаксически неверно набранных команд, % 0.00
    Суммарное время работы с терминалом *, час 0.65
    Количество командных строк в единицу времени, команда/мин 2.58
    Частота использования команд
    mdadm25|========================| 24.75%
    kpartx17|================| 16.83%
    ls10|=========| 9.90%
    cat9|========| 8.91%
    df8|=======| 7.92%
    fdisk7|======| 6.93%
    mount6|=====| 5.94%
    file6|=====| 5.94%
    mkfs.ext34|===| 3.96%
    losetup3|==| 2.97%
    umount2|=| 1.98%
    cp2|=| 1.98%
    watch1|| 0.99%
    pwd1|| 0.99%
    ____
    *) Интервалы неактивности длительностью 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$