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

Содержание

Журнал

Суббота (05/30/09)

/dev/pts/1
11:55:40
#apt-get install parted
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Уже установлена самая новая версия parted.
Следующие пакеты устанавливались автоматически и больше не требуются:
  portmap
Для их удаления используйте 'apt-get autoremove'.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
11:59:44
#part
parted     partprobe  partx
11:59:44
#man partprobe
12:00:11
#partprobe

12:00:15
#man partprobe
12:00:32
#partprobe -h
Usage: partprobe [OPTION] [DEVICE]...
Inform the operating system about partition table changes.
  -d, --dry-run    do not actually inform the operating system
  -s, --summary    print a summary of contents
  -h, --help       display this help and exit
  -v, --version    output version information and exit
When no DEVICE is given, probe all partitions.
Report bugs to <bug-parted@gnu.org>.
12:00:35
#partprobe -s
/dev/sda: msdos partitions 1
/dev/sdb: msdos partitions 1 2 3 4 <5 6>
12:00:42
#file -s /dev/sdb
/dev/sdb: x86 boot sector, Microsoft Windows XP MBR, Serial 0xbcb3237f; partition 1: ID=0x83, active, starthead 1, startsector 63, 39070017 sectors; partition 2: ID=0x83, starthead 254, startsector 39070080, 39070080 sectors; partition 3: ID=0x83, starthead 254, startsector 78140160, 39070080 sectors; partition 4: ID=0x5, starthead 254, startsector 117210240, 371181825 sectors, code offset 0xc0
12:06:44
#file -s /dev/sdb1
/dev/sdb1: x86 boot sector, code offset 0x52, OEM-ID "NTFS    ", sectors/cluster 8, reserved sectors 0, Media descriptor 0xf8, heads 255, hidden sectors 63, dos < 4.0 BootSector (0x80)
12:07:41
#fdisk -l
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x8368247b
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        2432    19535008+  83  Linux
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xbcb3237f
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        2432    19535008+  83  Linux
/dev/sdb2            2433        4864    19535040   83  Linux
/dev/sdb3            4865        7296    19535040   83  Linux
/dev/sdb4            7297       30401   185590912+   5  Extended
/dev/sdb5            7297       19454    97659103+  83  Linux
/dev/sdb6           19455       30401    87931746   83  Linux
12:08:12
#mkfs.ext3 /dev/sdb1
mke2fs 1.41.5 (23-Apr-2009)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1221600 inodes, 4883752 blocks
244187 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
150 block groups
32768 blocks per group, 32768 fragments per group
8144 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 39 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
12:09:25
#tune2fs /dev/sda1 -U `uuidgen`
bash: uuidgen: команда не найдена
tune2fs 1.41.5 (23-Apr-2009)
tune2fs: option requires an argument -- 'U'
Usage: tune2fs [-c max_mounts_count] [-e errors_behavior] [-g group]
        [-i interval[d|m|w]] [-j] [-J journal_options] [-l]
        [-m reserved_blocks_percent] [-o [^]mount_options[,...]]
        [-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]
        [-M last_mounted_dir] [-O [^]feature[,...]]
        [-E extended-option[,...]] [-T last_check_time] [-U UUID]
        [ -I new_inode_size ] device
12:12:32
#tune2fs /dev/sdb1 -U `uuidgen`
bash: uuidgen: команда не найдена
tune2fs 1.41.5 (23-Apr-2009)
tune2fs: option requires an argument -- 'U'
Usage: tune2fs [-c max_mounts_count] [-e errors_behavior] [-g group]
        [-i interval[d|m|w]] [-j] [-J journal_options] [-l]
        [-m reserved_blocks_percent] [-o [^]mount_options[,...]]
        [-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]
        [-M last_mounted_dir] [-O [^]feature[,...]]
        [-E extended-option[,...]] [-T last_check_time] [-U UUID]
        [ -I new_inode_size ] device
12:12:38
#e2label /dev/sdb1 dviyka

12:14:43
#mount -L dviyka
mount: no such partition found
12:14:59
#fdisk -l
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x8368247b
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        2432    19535008+  83  Linux
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xbcb3237f
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        2432    19535008+  83  Linux
/dev/sdb2            2433        4864    19535040   83  Linux
/dev/sdb3            4865        7296    19535040   83  Linux
/dev/sdb4            7297       30401   185590912+   5  Extended
/dev/sdb5            7297       19454    97659103+  83  Linux
/dev/sdb6           19455       30401    87931746   83  Linux
12:15:46
#mount -L dviyka /mnt

12:16:12
#mount
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
rootfs on / type rootfs (rw)
/dev/sdb1 on /mnt type ext3 (rw)
12:16:17
#df -l
Файловая система     1K-блоков      Исп  Доступно  Исп% смонтирована на
tmpfs                  1553824         0   1553824   0% /lib/init/rw
udev                     10240       128     10112   2% /dev
tmpfs                  1553824         4   1553820   1% /dev/shm
rootfs                19228276   1606820  16644708   9% /
/dev/sdb1             19228276    176196  18075332   1% /mnt
12:16:53
#cd mnt

12:17:09
#umount dviyka
umount: dviyka: not found
12:17:22
#umount /mnt
umount: /mnt: device is busy
umount: /mnt: device is busy
12:17:30
#apt-get install ls
lsat                   lsb-core               lsbdev-cc              lsb-pkgchk3            lsdvd                  lsmbox
lsb                    lsb-core-ia32          lsb-graphics           lsb-printing           lsh-client             lsnipes
lsb-appchk             lsb-core-noarch        lsb-graphics-ia32      lsb-printing-ia32      lsh-doc                lsof
lsb-appchk3            lsb-cxx                lsb-graphics-noarch    lsb-printing-noarch    lsh-server             lsof-2.0.35
lsb-base               lsb-cxx-ia32           lsb-languages          lsb-qt4                lsh-utils              lsof-2.0.36
lsb-build-base         lsb-cxx-noarch         lsb-languages-ia32     lsb-qt4-ia32           lsh-utils-doc          lsof-2.0.38
lsb-build-base3        lsb-desktop            lsb-languages-noarch   lsb-qt4-noarch         lshw                   lsof-2.2
lsb-build-cc           lsb-desktop-ia32       lsb-multimedia         lsb-release            lshw-gtk               lsscsi
lsb-build-cc3          lsb-desktop-noarch     lsb-multimedia-ia32    lsb-rpm                lskat                  lsw
lsb-build-desktop3     lsbdev-base            lsb-multimedia-noarch  lsdb                   lslk                   lswm
12:17:30
#apt-get install lsof
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  portmap
Для их удаления используйте 'apt-get autoremove'.
НОВЫЕ пакеты, которые будут установлены:
  lsof
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 275kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 451kB.
Получено:1 http://192.168.15.7 sid/main lsof 4.81.dfsg.1-1 [275kB]
Получено 275kБ за 0s (3492kБ/c)
Выбор ранее не выбранного пакета lsof.
(Чтение базы данных ... на данный момент установлено 54780 файлов и каталогов.)
Распаковывается пакет lsof (из файла .../lsof_4.81.dfsg.1-1_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет lsof (4.81.dfsg.1-1) ...
12:18:06
#lsof +D /mnt
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    3408 root  cwd    DIR   8,17     4096    2 /mnt
lsof    7300 root  cwd    DIR   8,17     4096    2 /mnt
lsof    7301 root  cwd    DIR   8,17     4096    2 /mnt
12:18:25
#ps 3408
  PID TTY      STAT   TIME COMMAND
 3408 pts/3    Ss     0:00 bash
12:20:59
#vi /etc/fstab
12:23:18
#vi /etc/fstab
12:24:02
#vi /etc/fstab
12:25:31
#~ +q436f+q6b75+q6b64+q6b72+q6b6c+q2332+q2334+q2569+q2a37+q6b31
/dev/sdb1: Linux rev 1.0 ext3 filesystem data, UUID=c2e3462e-49cd-4f85-9c60-3185273d103e, volume name "dviyka" (needs journal recovery) (large files)
12:26:00
#e2label "" /dev/sdb1
e2label: Нет такого файла или каталога while trying to open
Couldn't find valid filesystem superblock.
12:26:23
#e2label /dev/sdb1
dviyka
12:26:50
#e2label /dev/sdb1 ""

12:26:56
#file -s /dev/sdb1
/dev/sdb1: Linux rev 1.0 ext3 filesystem data, UUID=c2e3462e-49cd-4f85-9c60-3185273d103e (needs journal recovery) (large files)
12:26:59
#e2label /dev/sdb1 dviyka

12:27:13
#cfdisk
12:27:43
#cfdisk /dev/sdb
12:35:16
#umount /mnt
umount: /mnt: device is busy
umount: /mnt: device is busy
12:35:35
#cd /

12:35:40
#umount /mnt

12:35:41
#mount -a

12:35:45
#mount
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
rootfs on / type rootfs (rw)
/dev/sdb1 on /mnt type ext3 (rw)
12:35:49
#dd if=/dev/zero of=harddisk.img count=200 bs=1024
200+0 записей считано
200+0 записей написано
 скопировано 204800 байт (205 kB), 0,00100796 c, 203 MB/c
прошло 88 минут
14:04:34
#ls -l
итого 288
drwxr-xr-x   2 root root   4096 Май 29 12:50 bin
drwxr-xr-x   3 root root   4096 Май 25 03:08 boot
drwxr-xr-x  15 root root   3700 Май 30 12:38 dev
drwxr-xr-x  87 root root   4096 Май 30 12:38 etc
-rw-r--r--   1 root root 204800 Май 30 14:04 harddisk.img
drwxr-xr-x   3 root root   4096 Май 28 14:58 home
lrwxrwxrwx   1 root root     28 Май 24 17:23 initrd.img -> boot/initrd.img-2.6.29-2-686
drwxr-xr-x  13 root root  12288 Май 30 09:59 lib
drwx------   2 root root  16384 Май 24 16:56 lost+found
...
dr-xr-xr-x 126 root root      0 Май 30 09:37 proc
drwxr-xr-x  13 root root   4096 Май 30 12:35 root
drwxr-xr-x   2 root root   4096 Май 30 10:34 sbin
drwxr-xr-x   2 root root   4096 Фев 21 16:55 selinux
drwxr-xr-x   2 root root   4096 Май 24 13:15 srv
drwxr-xr-x  12 root root      0 Май 30 09:37 sys
drwxrwxrwt   7 root root   4096 Май 30 12:38 tmp
drwxr-xr-x  11 root root   4096 Май 24 13:22 usr
drwxr-xr-x  13 root root   4096 Май 24 13:15 var
lrwxrwxrwx   1 root root     25 Май 24 17:23 vmlinuz -> boot/vmlinuz-2.6.29-2-686
14:05:48
#rm harddisk.img

14:06:06
#dd if=/dev/zero of=~/harddisk.img count=200 bs=1024
200+0 записей считано
200+0 записей написано
 скопировано 204800 байт (205 kB), 0,00100316 c, 204 MB/c
14:06:19
#~
bash: /root: является директорией

Статистика

Время первой команды журнала11:55:40 2009- 5-30
Время последней команды журнала14:06:19 2009- 5-30
Количество командных строк в журнале47
Процент команд с ненулевым кодом завершения, %21.28
Процент синтаксически неверно набранных команд, % 0.00
Суммарное время работы с терминалом *, час 0.70
Количество командных строк в единицу времени, команда/мин 1.12
Частота использования команд
mount5|==========| 10.64%
e2label5|==========| 10.64%
umount4|========| 8.51%
vi3|======| 6.38%
partprobe3|======| 6.38%
apt-get3|======| 6.38%
file3|======| 6.38%
cfdisk2|====| 4.26%
fdisk2|====| 4.26%
man2|====| 4.26%
tune2fs2|====| 4.26%
dd2|====| 4.26%
cd2|====| 4.26%
~2|====| 4.26%
ps1|==| 2.13%
mkfs.ext31|==| 2.13%
part1|==| 2.13%
rm1|==| 2.13%
df1|==| 2.13%
lsof1|==| 2.13%
ls1|==| 2.13%
____
*) Интервалы неактивности длительностью 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$