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

Содержание

Журнал

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

16:43:44
$sudo tar xvfz ucspi-tcp-0.88.tar.gz
ucspi-tcp-0.88/dns.h
ucspi-tcp-0.88/dns_dfd.c
ucspi-tcp-0.88/dns_domain.c
ucspi-tcp-0.88/dns_dtda.c
ucspi-tcp-0.88/dns_ip.c
ucspi-tcp-0.88/dns_ipq.c
ucspi-tcp-0.88/dns_name.c
ucspi-tcp-0.88/dns_nd.c
ucspi-tcp-0.88/dns_packet.c
ucspi-tcp-0.88/dns_random.c
...
ucspi-tcp-0.88/uint32_pack.c
ucspi-tcp-0.88/uint32_unpack.c
ucspi-tcp-0.88/uint64.h1
ucspi-tcp-0.88/uint64.h2
ucspi-tcp-0.88/wait.h
ucspi-tcp-0.88/wait_nohang.c
ucspi-tcp-0.88/wait_pid.c
ucspi-tcp-0.88/warn-auto.sh
ucspi-tcp-0.88/warn-shsgr
ucspi-tcp-0.88/x86cpuid.c
16:43:46
$cd ucspi-tcp-0.88

16:43:50
$patch < ../
admin/                   daemontools-0.76.tar.gz  netqmail-1.05.tar.gz     redirector-3.2.1.tgz     ucspi-tcp-0.88/
asplinux/                netqmail-1.05/           redirector-3.2.1/        sarg-2.0.1.tar.gz        ucspi-tcp-0.88.tar.gz
16:43:50
$patch < ../netqmail-1.05/
collate.sh           md5sums              netqmail-1.05.patch  other-patches/       README
COPYRIGHTS           netqmail-1.05/       old-patches/         qmail-1.03.tar.gz
16:43:50
$patch < ../netqmail-1.05/other-patches/
checkpassword-0.90.errno.patch     mess822-0.58.errno.patch           README                             ucspi-tcp-0.88.errno.patch
daemontools-0.76.errno.patch       qmailanalog-0.70.errno.patch       ucspi-tcp-0.88.a_record.patch      ucspi-tcp-0.88.nodefaultrbl.patch
16:43:50
$sudo patch < ../netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
patching file error.h
16:44:32
$sudo make
./compile sig.c
./choose cl trysgprm hassgprm.h1 hassgprm.h2 > hassgprm.h
./compile sig_block.c
./choose cl trysgact hassgact.h1 hassgact.h2 > hassgact.h
./compile sig_catch.c
./compile sig_pause.c
./compile socket_accept.c
socket_accept.c: In function ‘socket_accept4’:
socket_accept.c:14: warning: pointer targets in passing argument 3 of ‘accept’ differ in signedness
./compile socket_bind.c
...
./compile install.c
./compile hier.c
./compile auto-str.c
auto-str.c:9: warning: conflicting types for built-in function ‘puts’
./load auto-str unix.a byte.a
./auto-str auto_home `head -1 conf-home` > auto_home.c
./compile auto_home.c
./load install hier.o auto_home.o unix.a byte.a
./compile instcheck.c
./load instcheck hier.o auto_home.o unix.a byte.a
16:44:45
$sudo make setup check
./install
./instcheck
16:44:54
$cd ../admin/

16:45:02
$ls -l
итого 4
drwxr-xr-x  4 root root 4096 Июл 12  2001 daemontools-0.76
16:45:02
$cd daemontools-0.76/

16:45:04
$ls -l
итого 8
drwxr-xr-x  2 root root 4096 Июл 12  2001 package
drwxr-xr-x  2 root root 4096 Июл 12  2001 src
16:45:05
$cd src

16:45:10
$sudo patch < ../../../netqmail-1.05/other-patches/
checkpassword-0.90.errno.patch     mess822-0.58.errno.patch           README                             ucspi-tcp-0.88.errno.patch
daemontools-0.76.errno.patch       qmailanalog-0.70.errno.patch       ucspi-tcp-0.88.a_record.patch      ucspi-tcp-0.88.nodefaultrbl.patch
16:45:10
$sudo patch < ../../../netqmail-1.05/other-patches/
checkpassword-0.90.errno.patch     mess822-0.58.errno.patch           README                             ucspi-tcp-0.88.errno.patch
daemontools-0.76.errno.patch       qmailanalog-0.70.errno.patch       ucspi-tcp-0.88.a_record.patch      ucspi-tcp-0.88.nodefaultrbl.patch
16:45:10
$sudo patch < ../../../netqmail-1.05/other-patches/daemontools-0.76.errno.patch
patching file error.h
16:45:37
$cd ..

16:45:47
$sudo package/install
./compile open_read.c
./compile open_trunc.c
./compile open_write.c
./compile openreadclose.c
./compile pathexec_env.c
./compile pathexec_run.c
pathexec_run.c: In function ‘pathexec_run’:
pathexec_run.c:18: warning: implicit declaration of function ‘execve’
./compile chkshsgr.c
chkshsgr.c: In function ‘main’:
...
grep sysdep hasmkffo.h >> sysdeps
grep sysdep hasflock.h >> sysdeps
grep sysdep hasshsgr.h >> sysdeps
Copying commands into ./command...
Creating symlink daemontools -> daemontools-0.76...
Making command links in /command...
Making compatibility links in /usr/local/bin...
Creating /service...
Adding svscanboot to inittab...
init should start svscan now.
16:46:02
$ps aux | grep svs
root     10479  0.0  0.2   2296  1080 ?        Ss   16:46   0:00 /bin/sh /command/svscanboot
root     10481  0.0  0.0   1572   336 ?        S    16:46   0:00 svscan /service
gabzya   10487  0.0  0.1   3788   752 pts/2    S+   16:46   0:00 grep svs
16:46:16
$sudo sh -c 'echo ./Maildir >/var/qmail/control/defaultdelivery'

16:50:00
$sudo vi /var/qmail/rc
16:50:33
$sudo chmod 755 /var/qmail/rc

16:50:44
$sudo mkdir /var/log/qmail

16:51:17
$cudo chmod 700 /var/log/qmail
bash: cudo: command not found
16:51:24
$sudo chmod 700 /var/log/qmail

16:51:42
$sudo mv ~/qmailctl /var/qmail/bin/qmailctl

16:54:17
$sudo chown 755 /var/qmail/bin/qmailctl

16:54:23
$sudo ln -s /var/qmail/bin/qmailctl /usr/bin

16:54:47
$ls /var/qmail/
alias  bin  boot  control  doc  man  queue  rc  users
прошло 23 минуты
17:18:30
$su
Password:
17:18:49
$sudo su
Password:
17:18:54
#mkdir -p /var/qmail/supervise/qmail-send/log

17:18:57
# mkdir -p /var/qmail/supervise/qmail-smtpd/log

17:18:58
#vi /var/qmail/supervise/qmail-send/run
17:19:21
#vi /var/qmail/supervise/qmail-send/log/run
17:20:02
#vi /var/qmail/supervise/qmail-smtpd/run
17:20:37
#echo 30 > /var/qmail/control/concurrencyincoming

17:21:14
#chmod 644 /var/qmail/control/concurrencyincoming

17:21:18
#vi /var/qmail/supervise/qmail-smtpd/log/run
17:21:41
#chmod 755 /var/qmail/supervise/qmail-send/run

17:21:49
# chmod 755 /var/qmail/supervise/qmail-send/log/run

17:21:49
# chmod 755 /var/qmail/supervise/qmail-smtpd/run

17:21:49
# chmod 755 /var/qmail/supervise/qmail-smtpd/log/run

17:21:53
#mkdir -p /var/log/qmail/smtpd

17:22:01
# chown qmaill /var/log/qmail /var/log/qmail/smtpd

17:22:02
# ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service

17:22:13
#ls -l /service/
итого 0
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:22:23
# echo '127.:allow,RELAYCLIENT=""' >>/etc/tcp.smtp

17:23:01
# qmailctl cdb
Reloaded /etc/tcp.smtp.
17:23:01
#/etc/init.d/sendmail stop
Останавливается sendmail:                   [ СБОЙ ]
17:23:23
#chkconfig sendmail off
bash: chkconfig: command not found
17:23:30
#/usr/sbin/chkconfig sendmail off
bash: /usr/sbin/chkconfig: Нет такого файла или каталога
17:23:34
#/sbin/chkconfig sendmail off

17:23:36
#killall sendmail
sendmail: no process killed
17:23:41
#netstat -a | grep smtp
tcp        0      0 *:smtp                      *:*                         LISTEN
17:23:56
#netstat -ap |
tcp        0      0 *:smtp                      *:*                         LISTEN      10973/tcpserver
17:24:01
#qmailctl stop
Stopping qmail...
 qmail-smtpd
 qmail-send
 qmail-pop3d
svc: warning: unable to chdir to /service/qmail-pop3d: file does not exist
svc: warning: unable to chdir to /service/qmail-pop3d/log: file does not exist
17:24:13
#netstat -ap | grep smtp

17:24:19
#ls -l /usr/sbin/se
seaudit            selinuxenabled     sensors-detect     sesh               setfiles           setsebool
seaudit-report     sendmail           sepcut             sestatus           setpcaps           setup
sediffx            sendmail.sendmail  serviceconf        setenforce         setquota           seuserx
17:24:19
#ls -l /usr/sbin/se
seaudit            selinuxenabled     sensors-detect     sesh               setfiles           setsebool
seaudit-report     sendmail           sepcut             sestatus           setpcaps           setup
sediffx            sendmail.sendmail  serviceconf        setenforce         setquota           seuserx
17:24:19
#ls -l /usr/sbin/sendmail
lrwxrwxrwx  1 root root 21 Мар  2 06:30 /usr/sbin/sendmail -> /etc/alternatives/mta
17:24:43
#ls -l /usr/sbin/sendmail*
lrwxrwxrwx  1 root root      21 Мар  2 06:30 /usr/sbin/sendmail -> /etc/alternatives/mta
-rwxr-sr-x  1 root smmsp 773976 Ноя  1 13:39 /usr/sbin/sendmail.sendmail
17:24:45
#ls -l /etc/alternatives/mta
lrwxrwxrwx  1 root root 27 Мар  2 06:30 /etc/alternatives/mta -> /usr/sbin/sendmail.sendmail
17:24:54
#ls -l /usr/lib/sendmail
lrwxrwxrwx  1 root root 30 Мар  2 06:30 /usr/lib/sendmail -> /etc/alternatives/mta-sendmail
17:25:05
#cd /usr/lib

17:25:14
#ln -sf /etc/alternatives/mta sendmail

17:25:36
#cd /usr/sbin/

17:25:41
#ln -sf /etc/alternatives/mta sendmail

17:25:51
#cd /etc/alternatives/mta
bash: cd: /etc/alternatives/mta: Это не каталог
17:25:56
#cd /etc/alternatives/

17:25:59
#ls -l mta
lrwxrwxrwx  1 root root 27 Мар  2 06:30 mta -> /usr/sbin/sendmail.sendmail
17:26:01
#ln -sf /var/qmail/bin/sendmail mta

17:26:17
#ls -l mta
lrwxrwxrwx  1 root root 23 Апр 19 17:26 mta -> /var/qmail/bin/sendmail
17:26:18
#echo dave > /var/qmail/alias/.qmail-root

17:27:46
# echo dave > /var/qmail/alias/.qmail-postmaster

17:27:46
# ln -s .qmail-postmaster /var/qmail/alias/.qmail-mailer-daemon

17:27:46
# ln -s .qmail-postmaster /var/qmail/alias/.qmail-abuse

17:27:46
#chmod 644 /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-postmaster

17:28:05
#ls -l /var/qmail/alias/
итого 4
drwxr-xr-x  2 alias nofiles 4096 Апр 19 16:32 Templates
17:28:14
#ls -la /var/qmail/alias/
итого 44
drwxr-sr-x   4 alias qmail   4096 Апр 19 17:27 .
drwxr-xr-x  11 root  qmail   4096 Апр 19 17:18 ..
-rw-r--r--   1 alias nofiles   24 Апр 19 16:32 .bash_logout
-rw-r--r--   1 alias nofiles  191 Апр 19 16:32 .bash_profile
-rw-r--r--   1 alias nofiles  124 Апр 19 16:32 .bashrc
-rw-r--r--   1 alias nofiles  438 Апр 19 16:32 .emacs
-rw-r--r--   1 alias nofiles  120 Апр 19 16:32 .gtkrc
drwxr-xr-x   4 alias nofiles 4096 Апр 19 16:32 .kde
lrwxrwxrwx   1 root  qmail     17 Апр 19 17:27 .qmail-abuse -> .qmail-postmaster
lrwxrwxrwx   1 root  qmail     17 Апр 19 17:27 .qmail-mailer-daemon -> .qmail-postmaster
-rw-r--r--   1 root  qmail      5 Апр 19 17:27 .qmail-postmaster
-rw-r--r--   1 root  qmail      5 Апр 19 17:27 .qmail-root
drwxr-xr-x   2 alias nofiles 4096 Апр 19 16:32 Templates
17:28:16
#qmailctl start
Starting qmail...
Starting qmail-send
Starting qmail-smtpd
svok: fatal: unable to chdir to /service/qmail-pop3d: file does not exist
qmail-pop3d supervise not running
17:28:38
#cd /usr/src

17:29:43
#wget http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz
--17:29:46--  http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz
           => `checkpassword-0.90.tar.gz'
Распознаётся cr.yp.to... 131.193.178.175
Устанавливается соединение с cr.yp.to|131.193.178.175|:80... соединение установлено.
Запрос HTTP послан, ожидается ответ... 200 OK
Длина: 15.631 (15K) [application/x-gzip]
100%[=================================================================================================>] 15.631        28.62K/s
17:29:47 (28.56 KB/s) - `checkpassword-0.90.tar.gz' сохранён [15631/15631]
17:29:47
#tar xvfz checkpassword-0.90.tar.gz
checkpassword-0.90
checkpassword-0.90/README
checkpassword-0.90/TODO
checkpassword-0.90/CHANGES
checkpassword-0.90/VERSION
checkpassword-0.90/FILES
checkpassword-0.90/SYSDEPS
checkpassword-0.90/TARGETS
checkpassword-0.90/Makefile
checkpassword-0.90/alloc.c
...
checkpassword-0.90/trycpp.c
checkpassword-0.90/trycrypt.c
checkpassword-0.90/tryshadow.c
checkpassword-0.90/tryshsgr.c
checkpassword-0.90/tryslib.c
checkpassword-0.90/tryspnam.c
checkpassword-0.90/tryuserpw.c
checkpassword-0.90/warn-auto.sh
checkpassword-0.90/warn-shsgr
checkpassword-0.90/x86cpuid.c
17:29:52
#cd checkpassword-0.90

17:29:55
#make
( cat warn-auto.sh; \
echo 'main="$1"; shift'; \
echo exec "`head -1 conf-ld`" \
'-o "$main" "$main".o ${1+"$@"}' \
) > load
chmod 755 load
sh find-systype.sh > systype
sh print-cc.sh > compile
chmod 755 compile
( ( ./compile tryspnam.c && ./load tryspnam ) >/dev/null \
...
( ( ./compile trycrypt.c && \
./load trycrypt -lcrypt ) >/dev/null 2>&1 \
&& echo -lcrypt || exit 0 ) > crypt.lib
rm -f trycrypt.o trycrypt
./load checkpassword prot.o unix.a byte.a  `cat \
shadow.lib` `cat crypt.lib` `cat s.lib`
/usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference in checkpassword.o
/lib/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [checkpassword] Ошибка 1
17:30:01
#ls -l
итого 532
-rw-r--r--  1 root root   833 Дек 23  2000 alloc.c
-rw-r--r--  1 root root   131 Дек 23  2000 alloc.h
-rw-r--r--  1 root root  1096 Апр 19 17:29 alloc.o
-rw-r--r--  1 root root   214 Дек 23  2000 alloc_re.c
-rw-r--r--  1 root root   900 Апр 19 17:29 alloc_re.o
-rw-r--r--  1 root root    80 Дек 23  2000 auto_home.h
-rw-r--r--  1 root root   720 Дек 23  2000 auto-str.c
-rw-r--r--  1 root root   172 Дек 23  2000 buffer_2.c
-rw-r--r--  1 root root   844 Апр 19 17:29 buffer_2.o
...
-rw-r--r--  1 root root    15 Дек 23  2000 tryshadow.c
-rw-r--r--  1 root root   265 Дек 23  2000 tryshsgr.c
-rw-r--r--  1 root root    15 Дек 23  2000 tryslib.c
-rw-r--r--  1 root root   102 Дек 23  2000 tryspnam.c
-rw-r--r--  1 root root   108 Дек 23  2000 tryuserpw.c
-rw-r--r--  1 root root 32790 Апр 19 17:30 unix.a
-rw-r--r--  1 root root    19 Дек 23  2000 VERSION
-rw-r--r--  1 root root    64 Дек 23  2000 warn-auto.sh
-rw-r--r--  1 root root   203 Дек 23  2000 warn-shsgr
-rw-r--r--  1 root root   625 Дек 23  2000 x86cpuid.c
17:30:12
#less README
17:30:19
#less SYSDEPS
17:30:41
#make
./load checkpassword prot.o unix.a byte.a  `cat \
shadow.lib` `cat crypt.lib` `cat s.lib`
/usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference in checkpassword.o
/lib/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [checkpassword] Ошибка 1
17:30:45
#patch < /usr/src/netqmail-1.05/
collate.sh           md5sums              netqmail-1.05.patch  other-patches/       README
COPYRIGHTS           netqmail-1.05/       old-patches/         qmail-1.03.tar.gz
17:30:45
#patch < /usr/src/netqmail-1.05/old-patches/
netqmail-1.04.patch  qmail-isoc.patch     README
17:30:45
#patch < /usr/src/netqmail-1.05/other-patches/
checkpassword-0.90.errno.patch     mess822-0.58.errno.patch           README                             ucspi-tcp-0.88.errno.patch
daemontools-0.76.errno.patch       qmailanalog-0.70.errno.patch       ucspi-tcp-0.88.a_record.patch      ucspi-tcp-0.88.nodefaultrbl.patch
17:30:45
#patch < /usr/src/netqmail-1.05/other-patches/checkpassword-0.90.errno.patch
patching file error.h
17:32:10
#make
./compile checkpassword.c
checkpassword.c: In function ‘main’:
checkpassword.c:33: warning: incompatible implicit declaration of built-in function ‘_exit’
./compile alloc.c
alloc.c:3: warning: conflicting types for built-in function ‘malloc’
./compile buffer_get.c
./compile buffer_put.c
./compile error.c
./compile error_str.c
./compile pathexec_run.c
...
./compile install.c
./compile hier.c
./compile auto-str.c
auto-str.c:9: warning: conflicting types for built-in function ‘puts’
./load auto-str unix.a byte.a
./auto-str auto_home `head -1 conf-home` > auto_home.c
./compile auto_home.c
./load install hier.o auto_home.o unix.a byte.a
./compile instcheck.c
./load instcheck hier.o auto_home.o unix.a byte.a
17:32:14
#make setup check
./install
./instcheck
17:32:26
#/var/qmail/bin/qmail-popup blah /bin/checkpassword pwd
+OK <11723.1145457185@blah>
user Frodo
+OK
pass Friend
-ERR authorization failed
17:33:14
#mkdir /var/qmail/supervise/qmail-pop3d

17:33:35
#vi /var/qmail/supervise/qmail-pop3d/run
17:34:10
#chmod 755 /var/qmail/supervise/qmail-pop3d/run

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

Статистика

Время первой команды журнала16:43:44 2006- 4-19
Время последней команды журнала17:34:22 2006- 4-19
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, %10.89
Процент синтаксически неверно набранных команд, % 2.97
Суммарное время работы с терминалом *, час 0.84
Количество командных строк в единицу времени, команда/мин 1.99
Частота использования команд
sudo17|============| 12.32%
ls15|==========| 10.87%
cd11|=======| 7.97%
patch11|=======| 7.97%
chmod9|======| 6.52%
vi7|=====| 5.07%
ln7|=====| 5.07%
make6|====| 4.35%
mkdir5|===| 3.62%
echo4|==| 2.90%
chkconfig3|==| 2.17%
netstat3|==| 2.17%
qmailctl3|==| 2.17%
grep3|==| 2.17%
../../../netqmail-1.05/other-patches/2|=| 1.45%
tar2|=| 1.45%
chown2|=| 1.45%
less2|=| 1.45%
su2|=| 1.45%
daemontools-0.76.errno.patch1|| 0.72%
qmail-popup1|| 0.72%
../netqmail-1.05/other-patches/1|| 0.72%
ucspi-tcp-0.88.errno.patch1|| 0.72%
../1|| 0.72%
killall1|| 0.72%
/usr/src/netqmail-1.05/1|| 0.72%
mv1|| 0.72%
/usr/src/netqmail-1.05/old-patches/1|| 0.72%
checkpassword-0.90.errno.patch1|| 0.72%
.qmail-postmaster1|| 0.72%
.qmail-root1|| 0.72%
/etc/init.d/sendmail1|| 0.72%
ps1|| 0.72%
../netqmail-1.05/1|| 0.72%
wget1|| 0.72%
/etc/tcp.smtp1|| 0.72%
>1|| 0.72%
install1|| 0.72%
sh1|| 0.72%
/usr/src/netqmail-1.05/other-patches/1|| 0.72%
concurrencyincoming1|| 0.72%
defaultdelivery'1|| 0.72%
cudo1|| 0.72%
____
*) Интервалы неактивности длительностью 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$