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

Содержание

Журнал

Понедельник (04/04/11)

/dev/pts/5
11:07:28
#touch /mnt/test

11:07:31
#quot
quota           quotaoff        quotastats      quote_readline
quotacheck      quotaon         quote
11:07:31
#quotaon /dev/sda
quotaon: Can't find mountpoint for device /dev/sda
quotaon: No correct mountpoint specified.
11:09:00
#quotaon /dev/sda1
quotaon: Can't find mountpoint for device /dev/sda1
quotaon: No correct mountpoint specified.
11:09:01
#mount
/dev/sda1 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda7 on /tmp type ext3 (rw)
/dev/sda5 on /var type ext3 (rw)
/dev/sda3 on /home type ext3 (rw)
/dev/sda2 on /usr type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sda9 on /data9 type ext3 (rw)
/dev/mapper/VG1-vol1 on /vol1 type ext3 (rw)
/dev/mapper/VG0-v0l0 on /vol0 type ext3 (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
192.168.15.5:/tmp/share on /mnt type nfs (rw,addr=192.168.15.5)
192.168.15.5:/tmp/share on /tmp type nfs (rw,addr=192.168.15.5)
11:09:03
#umount /tmp

11:09:24
#umount /mnt

11:09:27
#man quotaon
11:09:47
#ls
033_Unit1.html                          GRUB
111.txt                                 install.log
?%97аглавна?%8F_?%81?%82?%80ани?%86а    install.log.syslog
?%97аглавна?%8F_?%81?%82?%80ани?%86а.1  Mail
abc                                     mbox
anaconda-ks.cfg                         my-swap
backup                                  rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
backups                                 rpmforge-release-0.5.2-2.el6.rf.i686.rpm
bin                                     swapfile
cats                                    t
Desktop                                 Tue Mar 29 17:50:26 ALMT 2011
disk1.img                               xgu.ru
epel-release-5-4.noarch.rpm
11:10:16
#mkdir /tmp/disk1

11:10:21
#mount -o bind / /tmp/disk1/

11:10:31
#ls /tmp/disk1/
bin     data9  home   lost+found  mnt  proc  selinux  tmp  vol0      vol1snap
boot    dev    lib    media       net  root  srv      usr  vol0snap
data10  etc    lib64  misc        opt  sbin  sys      var  vol1
11:10:35
#umount /tmp/disk1/

11:10:47
#mkdir -p /tmp/disk1/{bin,sbin,lib,usr,root}

11:11:16
#mount -o bind /bin/ /tmp/disk1/bin/

11:11:25
#mount -o bind /sbin/ /tmp/disk1/sbin/

11:11:29
#mount -o bind /lib/ /tmp/disk1/lib/

11:11:35
#mount -o bind /usr/ /tmp/disk1/usr/

11:11:41
#chroot /tmp/disk1
chroot: cannot run command `/bin/bash': No such file or directory
11:11:46
#ls -l /tmp/disk1
total 44
drwxr-xr-x  2 root root  4096 Apr  4 11:17 bin
drwxr-xr-x 11 root root  4096 Apr  1 16:24 lib
drwxr-xr-x  2 root root  4096 Apr  4 15:11 root
drwxr-xr-x  2 root root 12288 Apr  4 11:18 sbin
drwxr-xr-x 16 root root  4096 Mar 27 21:15 usr
11:11:55
#ls -l /tmp/disk1/bin/
total 8696
-rwxr-xr-x 1 root root    8992 Jan 21  2009 alsacard
-rwxr-xr-x 1 root root   21248 Jan 21  2009 alsaunmute
-rwxr-xr-x 1 root root    7440 Jan 20  2010 arch
lrwxrwxrwx 1 root root       4 Mar 27 21:08 awk -> gawk
-rwxr-xr-x 1 root root   20984 Mar  1  2010 basename
-rwxr-xr-x 1 root root  801512 Jan 22  2009 bash
-rwxr-xr-x 1 root root   25216 Mar  1  2010 cat
-rwxr-xr-x 1 root root   42944 Mar  1  2010 chgrp
-rwxr-xr-x 1 root root   40024 Mar  1  2010 chmod
...
-rwxr-xr-x 1 root root   22336 Mar  1  2010 uname
-rwxr-xr-x 1 root root    1273 Jan 21  2009 unicode_start
-rwxr-xr-x 1 root root      79 Jan 21  2009 unicode_stop
-rwxr-xr-x 1 root root   20576 Mar  1  2010 unlink
-rwxr-xr-x 1 root root   31280 Sep 29  2009 usleep
-rwxr-xr-x 1 root root  632912 Sep 20  2009 vi
lrwxrwxrwx 1 root root       2 Mar 27 21:09 view -> vi
lrwxrwxrwx 1 root root       8 Mar 27 21:09 ypdomainname -> hostname
-rwxr-xr-x 3 root root   62872 Jan 20  2010 zcat
-rwxr-xr-x 1 root root  596208 Sep 22  2009 zsh
11:12:00
#ls -l /tmp/disk1/bin/bash
-rwxr-xr-x 1 root root 801512 Jan 22  2009 /tmp/disk1/bin/bash
11:15:52
#history
    1  ls /boot/grub/menu.lst
    2  cat /boot/grub/menu.lst
    3  cat /boot/grub/menu.lst
    4  cat /boot/grub/menu.lst
    5  man dig
    6  dig @alb.kz
    7  man dig
    8  dig @www.alb.kz
    9  dig www.ru
   10  dig www.alb.kz
...
  377  chroot /tmp/disk1
  378  ls -l /tmp/disk1
  379  ls -l /tmp/disk1/bin/
  380  ls -l /tmp/disk1/bin/bash
  381  ldd /tmp/disk1/bin/bash
  382  mkdir -p /tmp/disk1/lib64
  383  mount -o bind /lib64/ /tmp/disk1/lib64/
  384  chroot /tmp/disk1
  385  partprobe
  386  history
11:16:02
#quotacheck -avug
quotacheck: Can't find filesystem to check or filesystem not mounted with quota option.
11:16:23
#mount -o usrquota,grpquota /tmp
mount: /dev/sda7 already mounted or /tmp busy
mount: according to mtab, /dev/sda7 is already mounted on /tmp
11:16:40
#mount -o usrquota,grpquota,remount /tmp

11:16:50
#quotacheck /tmp
quotacheck: Cannot remount filesystem mounted on /tmp read-only so counted values might not be right.
Please stop all programs writing to filesystem or use -m flag to force checking.
11:17:03
#cd /tmp/

прошло 27 минут
11:44:56
#tar cvf /tmp/etc.tar /etc
tar: Removing leading `/' from member names
/etc/
/etc/samba/
/etc/samba/smb.conf
/etc/samba/lmhosts
/etc/libuser.conf
/etc/httpd/
/etc/httpd/conf/
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
...
/etc/setuptool.d/99system-config-network-tui
/etc/setuptool.d/98system-config-display
/etc/setuptool.d/99lokkit
/etc/setuptool.d/98system-config-authentication
/etc/setuptool.d/99sndconfig
/etc/setuptool.d/99printconf-tui
/etc/setuptool.d/99authconfig
/etc/setuptool.d/99timeconfig
/etc/stunnel/
/etc/Muttrc.local
11:45:34
#tar cf /tmp/etc.tar /etc
tar: Removing leading `/' from member names
tar: Removing leading `/' from hard link targets
11:46:17
#tar c /etc > /tmp/etc.tar
tar: Removing leading `/' from member names
tar: Removing leading `/' from hard link targets

Статистика

Время первой команды журнала11:07:28 2011- 4- 4
Время последней команды журнала11:46:17 2011- 4- 4
Количество командных строк в журнале31
Процент команд с ненулевым кодом завершения, % 9.68
Процент синтаксически неверно набранных команд, % 3.23
Суммарное время работы с терминалом *, час 0.65
Количество командных строк в единицу времени, команда/мин 0.80
Частота использования команд
mount8|=========================| 25.00%
ls5|===============| 15.62%
umount3|=========| 9.38%
tar3|=========| 9.38%
mkdir2|======| 6.25%
quotacheck2|======| 6.25%
quotaon2|======| 6.25%
touch1|===| 3.12%
quot1|===| 3.12%
man1|===| 3.12%
etc.tar1|===| 3.12%
chroot1|===| 3.12%
cd1|===| 3.12%
history1|===| 3.12%
____
*) Интервалы неактивности длительностью 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$