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

Содержание

Журнал

Понедельник (06/01/09)

/dev/pts/6
10:13:52
#man losetup
10:15:36
#fdisk 0lu /dev/sda
Usage: fdisk [-b SSZ] [-u] DISK     Change partition table
       fdisk -l [-b SSZ] [-u] DISK  List partition table(s)
       fdisk -s PARTITION           Give partition size(s) in blocks
       fdisk -v                     Give fdisk version
Here DISK is something like /dev/hdb or /dev/sda
and PARTITION is something like /dev/hda7
-u: give Start and End in sector (instead of cylinder) units
-b 2048: (for certain MO disks) use 2048-byte sectors
10:18:56
#fdisk -lu /dev/sda
Disk /dev/sda: 81.9 GB, 81964302336 bytes
255 heads, 63 sectors/track, 9964 cylinders, total 160086528 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0xcfd8cd69
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63    39070079    19535008+  83  Linux
/dev/sda2        39070080    78156224    19543072+  83  Linux
10:19:01
#apt-get install mksofs
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
E: Не удалось найти пакет mksofs
10:20:31
#apt-get install mkisofs
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  liblash2 libfreebob0 libartsc0 libmtp8 rox-filer libneon27 audacious
  libdjvulibre21 libwmf0.2-7 libbinio1ldbl libilmbase6 libaudclient1
  libbeecrypt6 libresid-builder0c2a unzip libjack0 liblircclient0
  gtk2-engines-pixbuf habak libgomp1 libcddb2 audacious-plugins
  libcurl3-gnutls libcdio7 liblqr-1-0 libxosd2 trayer libcdio-cdda0 librpm4.4
  libgif4 libopenexr6 libaudid3tag1 mpc xdg-utils libxnconfig9.0.3
...
Получено:2 http://10.0.35.1 sid/main mkisofs 9:1.1.9-1 [994B]
Получено 577kБ за 0s (10,8MБ/c)
Выбор ранее не выбранного пакета genisoimage.
(Чтение базы данных ... на данный момент установлено 63084 файлов и каталогов.)
Распаковывается пакет genisoimage (из файла .../genisoimage_9%3a1.1.9-1_i386.deb)...
Выбор ранее не выбранного пакета mkisofs.
Распаковывается пакет mkisofs (из файла .../mkisofs_9%3a1.1.9-1_all.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет genisoimage (9:1.1.9-1) ...
Настраивается пакет mkisofs (9:1.1.9-1) ...
10:20:46
#mkisofs -JR -o /root/etc.iso /etc
Using GRUPP00K.VG;1 for  /etc/lvm/archive/GRUPPATOMOV_00004.vg (GRUPPATOMOV_00020.vg)
Using GRUPP00L.VG;1 for  /etc/lvm/archive/GRUPPATOMOV_00020.vg (GRUPPATOMOV_00003.vg)
Using GRUPP00M.VG;1 for  /etc/lvm/archive/GRUPPATOMOV_00003.vg (GRUPPATOMOV_00010.vg)
Using GRUPP00N.VG;1 for  /etc/lvm/archive/GRUPPATOMOV_00010.vg (GRUPPATOMOV_00027.vg)
Using GRUPP00O.VG;1 for  /etc/lvm/archive/GRUPPATOMOV_00027.vg (GRUPPATOMOV_00001.vg)
Using GRUPP00P.VG;1 for  /etc/lvm/archive/GRUPPATOMOV_00001.vg (GRUPPATOMOV_00015.vg)
Using GRUPP00Q.VG;1 for  /etc/lvm/archive/GRUPPATOMOV_00015.vg (GRUPPATOMOV_00025.vg)
Using GRUPP00R.VG;1 for  /etc/lvm/archive/GRUPPATOMOV_00025.vg (GRUPPATOMOV_00028.vg)
Using GRUPP00S.VG;1 for  /etc/lvm/archive/GRUPPATOMOV_00028.vg (GRUPPATOMOV_00016.vg)
Using LAUNC000.RC;1 for  /etc/xdg/xfce4/panel/launcher-7.rc (launcher-10.rc)
...
Using EQUIF002.PEM;1 for  /etc/ssl/certs/Equifax_Secure_CA.pem (Equifax_Secure_eBusiness_CA_2.pem)
Using AMERI000.PEM;1 for  /etc/ssl/certs/America_Online_Root_Certification_Authority_2.pem (America_Online_Root_Certification_Authority_1.pem)
Using GEOTR003.PEM;1 for  /etc/ssl/certs/GeoTrust_Universal_CA_2.pem (GeoTrust_Universal_CA.pem)
Using BETRU002.PEM;1 for  /etc/ssl/certs/beTRUSTed_Root_CA-Baltimore_Implementation.pem (beTRUSTed_Root_CA_-_RSA_Implementation.pem)
Total translation table size: 0
Total rockridge attributes bytes: 186009
Total directory bytes: 550912
Path table size(bytes): 2974
Max brk space used 126000
2358 extents written (4 MB)
10:21:58
#growisofs -Z /dec/cdrom=/root/etc.iso
:-( "/dec/cdrom=/root/etc.iso": unexpected errno:No such file or directory
10:24:11
#ls -l /dev/cd*
lrwxrwxrwx 1 root root 3 Июн  1 09:32 /dev/cdrom -> hda
10:24:30
#mount -o loop /root/etc.iso /mnt

10:25:06
#ls /mnt
a2ps.cfg                fonts                 login.defs      python
a2ps-site.cfg           fstab                 logrotate.conf  python2.5
adduser.conf            gai.conf              logrotate.d     qemu-ifup
adjtime                 gamin                 lsb-base        rc0.d
aliases                 gconf                 lvm             rc1.d
alternatives            gdm                   magic           rc2.d
approx                  gnome-vfs-2.0         magic.mime      rc3.d
apt                     gnome-vfs-mime-magic  mailcap         rc4.d
aumixrc                 gre.d                 mailcap.order   rc5.d
aumixrc1                groff                 mailname        rc6.d
...
dhcp3                   ld.so.cache           passwd-         ucf.conf
dictionaries-common     ld.so.conf            perl            udev
dm                      ld.so.conf.d          pm              vde2
doc-base                libaudit.conf         PolicyKit       vga
dpkg                    libpaper.d            ppp             vim
emacs                   lilalo                printcap        wgetrc
email-addresses         locale.alias          profile         X11
environment             locale.gen            protocols       xdg
esound                  localtime             pulse           xml
exim4                   logcheck              purple          xneur
10:25:10
#umount /mnt

10:25:21
#mdadm --create --help
Usage:  mdadm --create device -chunk=X --level=Y --raid-devices=Z devices
 This usage will initialise a new md array, associate some
 devices with it, and activate the array.   In order to create an
 array with some devices missing, use the special word 'missing' in
 place of the relevant device name.
 Before devices are added, they are checked to see if they already contain
 raid superblocks or filesystems.  They are also checked to see if
 the variance in device size exceeds 1%.
 If any discrepancy is found, the user will be prompted for confirmation
 before the array is created.  The presence of a '--run' can override this
...
  --spare-devices= -x: number of spares (eXtras) devices in initial array
  --size=       -z   : Size (in K) of each drive in RAID1/4/5/6/10 - optional
  --force       -f   : Honour devices as listed on command line.  Don't
                     : insert a missing drive for RAID5.
  --run         -R   : insist of running the array even if not all
                     : devices are present or some look odd.
  --readonly    -o   : start the array readonly - not supported yet.
  --name=       -N   : Textual name for array - max 32 characters
  --bitmap-chunk=    : bitmap chunksize in Kilobytes.
  --delay=      -d   : bitmap update delay in seconds.
прошло 44 минуты
11:10:20
#part
parted     partprobe  partx

Статистика

Время первой команды журнала10:13:52 2009- 6- 1
Время последней команды журнала11:10:20 2009- 6- 1
Количество командных строк в журнале13
Процент команд с ненулевым кодом завершения, %23.08
Процент синтаксически неверно набранных команд, % 0.00
Суммарное время работы с терминалом *, час 0.19
Количество командных строк в единицу времени, команда/мин 1.13
Частота использования команд
fdisk2|===============| 15.38%
apt-get2|===============| 15.38%
ls2|===============| 15.38%
man1|=======| 7.69%
umount1|=======| 7.69%
part1|=======| 7.69%
mdadm1|=======| 7.69%
mount1|=======| 7.69%
mkisofs1|=======| 7.69%
growisofs1|=======| 7.69%
____
*) Интервалы неактивности длительностью 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$