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

Содержание

Журнал

Среда (04/19/06)

17:34:22
#vi mkdir /var/qmail/supervise/qmail-pop3d/log
17:34:42
#mkdir /var/log/qmail/pop3d

17:34:52
# chown qmaill /var/log/qmail/pop3d

17:34:52
# chmod 755 /var/qmail/supervise/qmail-pop3d/run

17:34:52
# chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
chmod: невозможно получить доступ к `/var/qmail/supervise/qmail-pop3d/log/run': Нет такого файла или каталога
17:34:52
# ln -s /var/qmail/supervise/qmail-pop3d /service

17:34:57
#mkdir /var/qmail/supervise/qmail-pop3d/log

17:35:21
#mv mkdir /var/qmail/supervise/qmail-pop3d/log

17:35:40
# chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
chmod: невозможно получить доступ к `/var/qmail/supervise/qmail-pop3d/log/run': Нет такого файла или каталога
17:35:46
#vi /var/qmail/supervise/qmail-pop3d/log
17:36:16
#mv /var/qmail/supervise/qmail-pop3d/log/{mkdir,run}

17:36:30
# chmod 755 /var/qmail/supervise/qmail-pop3d/log/run

17:36:33
#ls -l /service/
итого 0
lrwxrwxrwx  1 root root 32 Апр 19 17:34 qmail-pop3d -> /var/qmail/supervise/qmail-pop3d
lrwxrwxrwx  1 root root 31 Апр 19 17:22 qmail-send -> /var/qmail/supervise/qmail-send
lrwxrwxrwx  1 root root 32 Апр 19 17:22 qmail-smtpd -> /var/qmail/supervise/qmail-smtpd
17:36:39
#which qmailctl
/usr/bin/qmailctl
17:36:57
#vi `!!`
17:37:23
#qmailctl ctop
Usage: /usr/bin/qmailctl {start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help}
17:37:27
#qmailctl stop
Stopping qmail...
 qmail-smtpd
 qmail-send
 qmail-pop3d
svc: warning: unable to control /service/qmail-pop3d/log: file does not exist
17:37:28
#qmailctl start
Starting qmail...
Starting qmail-send
Starting qmail-smtpd
svc: warning: unable to control /service/qmail-pop3d/log: file does not exist
Starting qmail-pop3d
17:37:32
#ls /service/qmail-pop3d/
log  run  supervise
17:37:46
#ls /service/qmail-pop3d/log/
run
17:37:49
#vi `which qmailctl`
17:39:07
#qmailctl start
Starting qmail...
Starting qmail-send
Starting qmail-smtpd
svc: warning: unable to control /service/qmail-pop3d/log: file does not exist
Starting qmail-pop3d
17:39:10
#ls /service/
qmail-pop3d  qmail-send  qmail-smtpd
17:39:17
#ls /service/qmail-send/
log  run  supervise
17:39:21
#ls /service/qmail-send/log/
run  supervise
17:39:23
#ls /service/qmail-pop3d/log/
run
17:39:32
#ls -l /service/qmail-send/log/
итого 8
-rwxr-xr-x  1 root root   89 Апр 19 17:20 run
drwx------  2 root root 4096 Апр 19 17:39 supervise
17:39:38
#mkdir /service/qmail-pop3d/log/supervise

17:39:46
#chmod 700 /service/qmail-pop3d/log/supervise

17:39:49
#qmailctl stop
Stopping qmail...
 qmail-smtpd
 qmail-send
 qmail-pop3d
svc: warning: unable to control /service/qmail-pop3d/log: file does not exist
17:39:53
#qmailctl start
Starting qmail...
Starting qmail-send
Starting qmail-smtpd
svc: warning: unable to control /service/qmail-pop3d/log: file does not exist
Starting qmail-pop3d
17:39:56
#ls -l /service/qmail-pop3d/
итого 12
drwxr-xr-x  3 root root 4096 Апр 19 17:39 log
-rwxr-xr-x  1 root root  205 Апр 19 17:34 run
drwx------  2 root root 4096 Апр 19 17:39 supervise
17:43:13
#ls -l /service/qmail-pop3d/log/
итого 8
-rwxr-xr-x  1 root root  101 Апр 19 17:34 run
drwx------  2 root root 4096 Апр 19 17:39 supervise
17:43:17
#chmod +t /var/qmail/supervise/qmail-pop3d

17:44:07
#qmailctl stop
Stopping qmail...
 qmail-smtpd
 qmail-send
 qmail-pop3d
svc: warning: unable to control /service/qmail-pop3d/log: file does not exist
17:44:13
#qmailctl start
Starting qmail...
Starting qmail-send
Starting qmail-smtpd
svc: warning: unable to control /service/qmail-pop3d/log: file does not exist
Starting qmail-pop3d
17:44:16
#ls /var/qmail/supervise/
qmail-pop3d  qmail-send  qmail-smtpd
17:46:41
#ls -l /var/qmail/supervise/
итого 12
drwxr-xr-t  4 root root 4096 Апр 19 17:35 qmail-pop3d
drwxr-xr-x  4 root root 4096 Апр 19 17:22 qmail-send
drwxr-xr-x  4 root root 4096 Апр 19 17:22 qmail-smtpd
17:46:45
#ls -l /service/qmail-pop3d/log
итого 8
-rwxr-xr-x  1 root root  101 Апр 19 17:34 run
drwx------  2 root root 4096 Апр 19 17:39 supervise
17:47:37
#ls -ld /service/qmail-pop3d/log
drwxr-xr-x  3 root root 4096 Апр 19 17:39 /service/qmail-pop3d/log
17:47:47
#mkdir mkdir /var/qmail/supervise/qmail-pop3d/log
mkdir: невозможно создать каталог `/var/qmail/supervise/qmail-pop3d/log': Файл существует
17:48:30
#vi /var/qmail/supervise/qmail-pop3d/log/run
17:48:49
#vi /var/qmail/supervise/qmail-pop3d/run

Четверг (04/20/06)

09:36:06
$w
exit
 09:36:07 up 37 days, 21:59,  1 user,  load average: 0,17, 0,04, 0,01
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
gabzya   pts/1    gabzya.hq.tbih-s 09:36    0.00s  0.03s  0.03s script -f -q /h
09:36:19
$su
Password:
09:36:29
#history
   26  ifconfig | grep eth
   27  uname -a
   28  netstat
   29  ifconfig
   30  man ifconfig
   31  clear
   32  history
   33  reboot --help
   34  reboot -p
   35  vi /etc/sudoers
...
  165  qmailctl start
  166  ls /var/qmail/supervise/
  167  ls -l /var/qmail/supervise/
  168  ls -l /service/qmail-pop3d/log
  169  ls -ld /service/qmail-pop3d/log
  170  mkdir mkdir /var/qmail/supervise/qmail-pop3d/log
  171  vi /var/qmail/supervise/qmail-pop3d/log/run
  172  vi /var/qmail/supervise/qmail-pop3d/run
  173  vi /var/qmail/supervise/qmail-pop3d/run
  174  history
09:36:56
#exit
exit
09:37:26
$history
  853  sudo /usr/sbin/squid -k reconfigure
  854  ping 192.168.1.21
  855  sudo find mane acces.log
  856  sudo find name acces.log
  857  sudo find  acces.log
  858  cd /etc/
  859  ls
  860  cd
  861  ls
  862  ll
...
  992  cudo chmod 700 /var/log/qmail
  993  sudo chmod 700 /var/log/qmail
  994  sudo mv ~/qmailctl /var/qmail/bin/qmailctl
  995  sudo chown 755 /var/qmail/bin/qmailctl
  996  sudo ln -s /var/qmail/bin/qmailctl /usr/bin
  997  ls /var/qmail/
  998  su
  999  sudo su
 1000  su
 1001  history
09:37:40
$w
 09:59:48 up 37 days, 22:22,  3 users,  load average: 0,00, 0,02, 0,00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
gabzya   pts/1    gabzya.hq.tbih-s 09:36   13.00s  0.03s  0.03s script -f -q /home/gabzya/.lilalo//22597149177165173-1145514966.script
gabzya   pts/3    gabzya.hq.tbih-s 09:36    0.00s  0.02s  0.02s script -f -q /home/gabzya/.lilalo//2205624521211704332-1145514979.script
gabzya   pts/5    192.168.2.254    09:38   21.00s  0.04s  0.02s script -f -q /home/gabzya/.lilalo//28667244162197320915-1145515118.script
прошло 10 минут
/dev/pts/7
09:48:05
$sudo su
exit
Password:
09:48:12
#groupadd -g 89 vchkpw
bash: groupadd: command not found
09:48:18
#/usr/sbin/groupadd -g 89 vchkpw

09:48:22
#PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin

09:48:33
#useradd -g vchkpw -u 89 vpopmail

09:48:41
#cd /usr/src/vpopmail-5.4.13

09:48:58
#./configure
checking dependency style of gcc... none
checking for a BSD-compatible install... /usr/bin/install -c
checking for ranlib... ranlib
checking for strerror in -lcposix... no
checking for crypt in -lcrypt... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
...
 user dir hashing  = ON  --enable-users-big-dir (default)
address extensions = OFF --disable-qmail-ext (default)
          ip alias = OFF --disable-ip-alias-domains (default)
       auth module = cdb  --enable-auth-module=cdb (default)
          auth inc = -Icdb
          auth lib =
  system passwords = OFF --disable-passwd (default)
        pop syslog = show only failed attempts
                     --enable-logging=e (default)
      auth logging = ON  --enable-auth-logging (default)
09:49:17
#make
echo CC=\'`head -1 conf-cc`\'; \
echo LD=\'`head -1 conf-ld`\'; \
cat find-systype.sh; \
) | sh > systype
( cat warn-auto.sh; \
echo 'main="$1"; shift'; \
echo 'rm -f "$main"'; \
echo 'ar cr "$main" ${1+"$@"}'; \
case "`cat systype`" in \
sunos-5.*) ;; \
...
gcc -I. -Icdb  -I. -I. -I.     -g -O2 -Wall -c `test -f 'vkill.c' || echo './'`vkill.c
gcc  -g -O2 -Wall   -o vkill  vkill.o libvpopmail.a  -lcrypt
gcc -I. -Icdb  -I. -I. -I.     -g -O2 -Wall -c `test -f 'vmoddomlimits.c' || echo './'`vmoddomlimits.c
gcc  -g -O2 -Wall   -o vmoddomlimits  vmoddomlimits.o libvpopmail.a   -lcrypt
gcc -I. -Icdb  -I. -I. -I.     -g -O2 -Wall -c `test -f 'vchangepw.c' || echo './'`vchangepw.c
gcc  -g -O2 -Wall   -o vchangepw  vchangepw.o libvpopmail.a  -lcrypt
gcc -I. -Icdb  -I. -I. -I.     -g -O2 -Wall -c `test -f 'dotqmail2valias.c' || echo './'`dotqmail2valias.c
gcc  -g -O2 -Wall   -o dotqmail2valias  dotqmail2valias.o libvpopmail.a  -lcrypt
make[2]: Leaving directory `/usr/src/vpopmail-5.4.13'
make[1]: Leaving directory `/usr/src/vpopmail-5.4.13'
09:50:22
#make install-strip
make  INSTALL_PROGRAM="/usr/bin/install -c -o vpopmail -m 711 -g vchkpw  -s" \
  INSTALL_STRIP_FLAG=-s \
  `test -z '' || \
    echo "INSTALL_PROGRAM_ENV=STRIPPROG=''"` install
make[1]: Entering directory `/usr/src/vpopmail-5.4.13'
Making install in cdb
make[2]: Entering directory `/usr/src/vpopmail-5.4.13/cdb'
make[2]: Цель `install' не требует выполнения команд.
make[2]: Leaving directory `/usr/src/vpopmail-5.4.13/cdb'
make[2]: Entering directory `/usr/src/vpopmail-5.4.13'
...
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  -s vipmap /home/vpopmail/bin/vipmap
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  -s vdominfo /home/vpopmail/bin/vdominfo
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  -s vconvert /home/vpopmail/bin/vconvert
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  -s vkill /home/vpopmail/bin/vkill
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  -s vmoddomlimits /home/vpopmail/bin/vmoddomlimits
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  -s vchangepw /home/vpopmail/bin/vchangepw
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  -s dotqmail2valias /home/vpopmail/bin/dotqmail2valias
make[3]: Leaving directory `/usr/src/vpopmail-5.4.13'
make[2]: Leaving directory `/usr/src/vpopmail-5.4.13'
make[1]: Leaving directory `/usr/src/vpopmail-5.4.13'
09:51:00
#exit
exit
09:59:48
$w
w                   wbmptopbm           whatis              who@                wish8.4             wmxmms              wvdial
wacdump             wc                  whereis             whoami              wmf2eps             word-list-compress  wvdialconf
wait                weather             which               whois               wmf2fig             workman2cddb.pl
wall                weave               while               winicontoppm        wmf2gd              write
watch               wftopfa             whiptail            wipe                wmf2svg             wrjpgcom
wbinfo              wget                who                 wish                wmf2x               wtpt
09:59:48
$weave
weave: Need one or two file arguments.
Try `weave --help' for more information.
10:00:16
$weave --help
Usage: weave [OPTION]... WEBFILE[.web] [CHANGEFILE[.ch]]
  Weave WEBFILE with CHANGEFILE into a TeX document.
  Default CHANGEFILE is /dev/null;
  TeX output goes to the basename of WEBFILE extended with `.tex'.
-x          omit cross-reference information
-help       display this help and exit
-version    output version information and exit
Email bug reports to tex-k@mail.tug.org.
10:00:26
$v
v4rcp             vboxctrl          vboxtoau          vi                vimdiff           vmstat            vptovf
vbox              vboxmail          vcut              view              vimtutor          vncviewer
vboxbeep          vboxmode          vdir              viewres           vimx              volname
vboxcnvt          vboxplay          vftovp            vim               vino-preferences  vorbiscomment
10:00:26
$while
> privet
10:01:08
$while
> privet
> kak dela
> while
> '
> ''
> while  privet; kak dela; while '
'q'
>
>
>
> ""
> "
>
10:01:58
$while privet; kak dela; while '
''

Статистика

Время первой команды журнала17:34:22 2006- 4-19
Время последней команды журнала10:01:58 2006- 4-20
Количество командных строк в журнале66
Процент команд с ненулевым кодом завершения, %12.12
Процент синтаксически неверно набранных команд, % 1.52
Суммарное время работы с терминалом *, час 0.67
Количество командных строк в единицу времени, команда/мин 1.64
Частота использования команд
ls14|====================| 20.59%
qmailctl8|===========| 11.76%
chmod6|========| 8.82%
vi6|========| 8.82%
mkdir4|=====| 5.88%
while3|====| 4.41%
w3|====| 4.41%
groupadd2|==| 2.94%
history2|==| 2.94%
make2|==| 2.94%
weave2|==| 2.94%
mv2|==| 2.94%
exit2|==| 2.94%
su2|==| 2.94%
kak1|=| 1.47%
sudo1|=| 1.47%
configure1|=| 1.47%
chown1|=| 1.47%
v1|=| 1.47%
useradd1|=| 1.47%
cd1|=| 1.47%
sbin1|=| 1.47%
ln1|=| 1.47%
which1|=| 1.47%
____
*) Интервалы неактивности длительностью 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$