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

Содержание

Журнал

Пятница (07/24/09)

15:48:47
#shutdown -p now
Shutdown NOW!
shutdown: [pid 945]

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

/dev/ttyp1
04:33:46
#ping -c 1 nt.uz
ping: cannot resolve nt.uz: Unknown host
04:33:52
#ping -c 1 nt.ua
PING nt.ua (212.40.34.157): 56 data bytes
64 bytes from 212.40.34.157: icmp_seq=0 ttl=56 time=4.005 ms
--- nt.ua ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max/stddev = 4.005/4.005/4.005/0.000 ms
прошло >4 часов
/dev/ttyp1
09:18:21
#vim /usr/local/lib/X11/xdm/Xsession
Files /tmp/l3-saved-1729.27530.15403 and /usr/local/lib/X11/xdm/Xsession differ
прошла 71 минута
/dev/ttyp6
10:29:52
#PACKAGESITE=ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old
d-releases/i386/6.3-RELEASE/packages/All pkg_add -r PACKAGESITE=ftp://ftp-archi
d-releases/i386/6.3-RELEASE/packages/All pkg_add -r lynx-2.8.7d7.tbz
Error: FTP Unable to get ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/6.3-RELEASE/packages/Alllynx-2.8.7d7.tbz: File unavailable (e.g., file not found, no access)
pkg_add: unable to fetch 'ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/6.3-RELEASE/packages/Alllynx-2.8.7d7.tbz' by URL

Вторник (09/08/09)

/dev/ttyp8
11:18:22
#pkg_delete c

11:18:47
#cd /usr/ports/

11:18:50
#make search name=bash-completion
Port:   bash-completion-20060301_2
Path:   /usr/ports/shells/bash-completion
Info:   Programmable completion library for Bash 2.04 and up
Maint:  kirk@strauser.com
B-deps:
R-deps: bash-3.2.25 gettext-0.16.1_3 libiconv-1.11_1
WWW:    http://www.caliban.org/bash/index.shtml
11:19:00
#cd shells/bash-completion/

11:19:09
#make install clean
your .bashrc file.  For example:
    if [ -f /usr/local/etc/bash_completion ]; then
        . /usr/local/etc/bash_completion
    fi
===>   Registering installation for bash-completion-20060301_2
===>  Cleaning for gsed-4.1.5_1
===>  Cleaning for gmake-3.81_2
===>  Cleaning for bash-completion-20060301_2
õ ×ÁÓ ÅÓÔØ ÎÏ×ÁÑ ÐÏÞÔÁ × /var/mail/root
11:20:45
#test -f /usr/local/etc/bash_completion ; echo $?
0
11:22:08
#test -f /usr/local/etc/bash_completon ; echo $?
1
11:22:11
#. /usr/local/etc/bash_completion

11:22:26
#pkg_delete c
cabextract-1.2             cdrtools-2.01_6
cairo-1.4.10_1             compositeproto-0.4
cairomm-1.2.4_1            curl-7.16.3
cdparanoia-3.9.8_8         cvsup-without-gui-16.1h_3
cdrdao-1.2.2
11:22:26
#chown u
user:  uucp:
11:22:26
#chown user\\\:uucp

Среда (09/09/09)

/dev/ttyp5
09:59:38
#sockstat -4l | grep 5902
root     inetd      965   5  tcp4   *:5902                *:*
10:00:04
#vim /etc/inetd.conf
--- /tmp/l3-saved-47407.9909.14086	2009-09-09 11:00:56.000000000 +0300
+++ /etc/inetd.conf	2009-09-09 11:01:58.000000000 +0300
@@ -124,4 +124,4 @@
 #	an appropriate block rule to your pf.conf
 #
 #ftp-proxy	stream	tcp	nowait	root	/usr/libexec/ftp-proxy	ftp-proxy
-vnc1 stream tcp nowait nobody /usr/X11R6/bin/Xvnc Xvnc -inetd  -query localhost -depth 24 -geometry 1000x700 SecurityTypes=none
+vnc1 stream tcp nowait nobody /usr/X11R6/bin/Xvnc Xvnc -inetd  -query localhost -depth 24 -geometry 1250x950 SecurityTypes=none
10:01:58
#/etc/rc.d/in
inetd       initrandom
10:01:58
#/etc/rc.d/inetd restart
Stopping inetd.
Starting inetd.
прошло >4 часов
/dev/ttyp3
14:22:37
#cd /tmp

14:22:43
#vim for3
--- /dev/null	2009-09-09 15:23:31.000000000 +0300
+++ for3	2009-09-09 15:23:38.000000000 +0300
@@ -0,0 +1 @@
+#!/usr/local/bin/bash
14:23:39
#vim ~/.vimrc
--- /dev/null	2009-09-09 15:24:25.000000000 +0300
+++ /root/.vimrc	2009-09-09 15:24:25.000000000 +0300
@@ -0,0 +1,5 @@
+syn on
+set number
+set showcmd
+set showmode
+colorscheme evening
14:24:25
#vim for3
--- /tmp/l3-saved-49822.30596.7347	2009-09-09 15:24:31.000000000 +0300
+++ for3	2009-09-09 15:24:46.000000000 +0300
@@ -1 +1,2 @@
 #!/usr/local/bin/bash
+
14:24:46
#seq
bash: seq: ËÏÍÁÎÄÁ ÎÅ ÎÁÊÄÅÎÁ
14:24:50
#LANG=C

14:24:53
#set
BASH=/usr/local/bin/bash
BASH_ARGC=()
BASH_ARGV=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="3" [1]="2" [2]="25" [3]="0" [4]="release" [5]="i386-portbld-freebsd6.3")
BASH_VERSION='3.2.25(0)-release'
BLOCKSIZE=K
COLUMNS=80
DIFFNAME=317104251138041145-1252498957_1252499071_tmp_for3.diff
...
MAIL=/var/mail/root
MAILCHECK=60
MM_CHARSET=KOI8-R
OLDPWD=/root
OPTERR=1
OPTIND=1
OSTYPE=freebsd6.3
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/root/bin
PIPESTATUS=([0]="0")
PPID=49780
14:24:55
#seq
bash: seq: command not found
14:24:58
#jot 1 10
10
14:25:03
#jot - 1 10
1
2
3
4
5
6
7
8
9
10
14:25:05
#vim for3
--- /tmp/l3-saved-49822.22453.20902	2009-09-09 15:25:11.000000000 +0300
+++ for3	2009-09-09 15:27:22.000000000 +0300
@@ -1,2 +1,7 @@
 #!/usr/local/bin/bash
-
+set -x
+for i in `jot - 500 600`
+do
+pw useradd user$i -s /usr/local/bin/bash -L russian -m -d /home/user$i
+echo password | pw usermod user$i -h 0
+done
14:27:22
#chmod +x for3

14:27:26
#./for3
+ pw usermod user563 -h 0
+ for i in '`jot - 500 600`'
+ pw useradd user564 -s /usr/local/bin/bash -L russian -m -d /home/user564
+ echo password
+ pw usermod user564 -h 0
+ for i in '`jot - 500 600`'
+ pw useradd user565 -s /usr/local/bin/bash -L russian -m -d /home/user565
+ echo password
+ pw usermod user565 -h 0
+ for i in '`jot - 500 600`'
...
+ echo password
+ pw usermod user598 -h 0
+ for i in '`jot - 500 600`'
+ pw useradd user599 -s /usr/local/bin/bash -L russian -m -d /home/user599
+ echo password
+ pw usermod user599 -h 0
+ for i in '`jot - 500 600`'
+ pw useradd user600 -s /usr/local/bin/bash -L russian -m -d /home/user600
+ echo password
+ pw usermod user600 -h 0
14:27:41
#ssh 127.0.0.1 -l user600
The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
DSA key fingerprint is 13:3f:fb:2a:53:62:8e:f8:0e:c7:3a:c9:10:99:b6:25.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '127.0.0.1' (DSA) to the list of known hosts.
Password:
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
        The Regents of the University of California.  All rights reserved.
FreeBSD 6.3-RELEASE (SMP) #0: Wed Jan 16 04:45:45 UTC 2008
Welcome to FreeBSD!
Before seeking technical support, please use the following resources:
...
You may also use sysinstall(8) to re-enter the installation and
configuration utility.  Edit /etc/motd to change this login announcement.
You can often get answers to your questions about FreeBSD by searching in the
FreeBSD mailing list archives at
        http://www.FreeBSD.org/search/search.html
[user600@fbsd5 ~]$ pwd
/home/user600
[user600@fbsd5 ~]$ exit
logout
Connection to 127.0.0.1 closed.
14:28:08
#vim for3
14:28:49
#scp for3 192.168.16.1:/tmp/scritps/
The authenticity of host '192.168.16.1 (192.168.16.1)' can't be established.
DSA key fingerprint is 85:66:04:0d:64:83:45:f3:35:58:eb:35:cc:e5:92:50.
Are you sure you want to continue connecting (yes/no)? yser^?^?
Please type 'yes' or 'no': yes
Warning: Permanently added '192.168.16.1' (DSA) to the list of known hosts.
root@192.168.16.1's password:
scp: /tmp/scritps/: Is a directory
14:29:32
#scp for3 192.168.16.1:/tmp/scripts/
root@192.168.16.1's password:
for3                                          100%  172     0.2KB/s   00:00

Четверг (09/10/09)

/dev/ttyp1
13:24:21
#su -
l3-agent is already running: pid=33829; pidfile=/root/.lilalo/l3-agent.pid
13:24:34
#su - user
l3-agent is already running: pid=20393; pidfile=/home/user/.lilalo/l3-agent.pid
/dev/ttyp2
13:24:34
#su - user
l3-agent is already running: pid=20393; pidfile=/home/user/.lilalo/l3-agent.pid
/dev/ttyp1
13:24:48
$su -
Password:
su: Sorry
/dev/ttyp2
13:24:48
$su -
Password:
su: Sorry
/dev/ttyp1
13:25:17
$su -
Password:
l3-agent is already running: pid=33829; pidfile=/root/.lilalo/l3-agent.pid
/dev/ttyp2
13:25:17
$su -
Password:
l3-agent is already running: pid=33829; pidfile=/root/.lilalo/l3-agent.pid
/dev/ttyp1
13:25:29
#passwd
Changing local password for root
New Password:
Retype New Password:
Mismatch; try again, EOF to quit.
New Password:
Retype New Password:
Mismatch; try again, EOF to quit.
New Password:
Retype New Password:
/dev/ttyp2
13:25:29
#passwd
Changing local password for root
New Password:
Retype New Password:
Mismatch; try again, EOF to quit.
New Password:
Retype New Password:
Mismatch; try again, EOF to quit.
New Password:
Retype New Password:
/dev/ttyp4
13:25:29
#passwd
Changing local password for root
New Password:
Retype New Password:
Mismatch; try again, EOF to quit.
New Password:
Retype New Password:
Mismatch; try again, EOF to quit.
New Password:
Retype New Password:
/dev/ttyp1
13:26:35
#passwd user
Changing local password for user
New Password:
Retype New Password:
/dev/ttyp2
13:26:35
#passwd user
Changing local password for user
New Password:
Retype New Password:
/dev/ttyp4
13:26:35
#passwd user
Changing local password for user
New Password:
Retype New Password:
/dev/ttyp1
13:27:01
#su - user
l3-agent is already running: pid=20393; pidfile=/home/user/.lilalo/l3-agent.pid
/dev/ttyp2
13:27:01
#su - user
l3-agent is already running: pid=20393; pidfile=/home/user/.lilalo/l3-agent.pid
/dev/ttyp4
13:27:01
#su - user
l3-agent is already running: pid=20393; pidfile=/home/user/.lilalo/l3-agent.pid
/dev/ttyp1
13:27:19
$passwd
Changing local password for user
Old Password:
New Password:
Retype New Password:
/dev/ttyp2
13:27:19
$passwd
Changing local password for user
Old Password:
New Password:
Retype New Password:
/dev/ttyp4
13:27:19
$passwd
Changing local password for user
Old Password:
New Password:
Retype New Password:
/dev/ttyp1
13:27:54
$less /etc/passwd
/dev/ttyp2
13:27:54
$less /etc/passwd
/dev/ttyp4
13:27:54
$less /etc/passwd
/dev/ttyp1
13:28:48
$less /etc/master.passwd
/dev/ttyp2
13:28:48
$less /etc/master.passwd
/dev/ttyp4
13:28:48
$less /etc/master.passwd
/dev/ttyp1
13:29:04
$less /etc/master.passwd
/dev/ttyp2
13:29:04
$less /etc/master.passwd
/dev/ttyp4
13:29:04
$less /etc/master.passwd
/dev/ttyp1
13:29:57
$su -
Password:
l3-agent is already running: pid=33829; pidfile=/root/.lilalo/l3-agent.pid
/dev/ttyp2
13:29:57
$su -
Password:
l3-agent is already running: pid=33829; pidfile=/root/.lilalo/l3-agent.pid
/dev/ttyp4
13:29:57
$su -
Password:
l3-agent is already running: pid=33829; pidfile=/root/.lilalo/l3-agent.pid
/dev/ttyp1
13:30:12
#passwd
Changing local password for root
New Password:
Retype New Password:
/dev/ttyp6
13:30:12
#passwd
Changing local password for root
New Password:
Retype New Password:
/dev/ttyp2
13:30:12
#passwd
Changing local password for root
New Password:
Retype New Password:
/dev/ttyp4
13:30:12
#passwd
Changing local password for root
New Password:
Retype New Password:
/dev/ttyp1
13:35:23
#su - user
l3-agent is already running: pid=20393; pidfile=/home/user/.lilalo/l3-agent.pid
13:35:32
$# adduser

13:35:54
$# adduser vova

13:36:09
$less /etc/passwd
13:36:57
$su -
Password:
l3-agent is already running: pid=33829; pidfile=/root/.lilalo/l3-agent.pid
/dev/ttyp3
13:37:14
##adduser vova

/dev/ttyp1
13:37:14
##adduser vova

/dev/ttyp3
13:37:29
#laess /etc/passwd
bash: laess: ËÏÍÁÎÄÁ ÎÅ ÎÁÊÄÅÎÁ
/dev/ttyp1
13:37:29
#laess /etc/passwd
bash: laess: ËÏÍÁÎÄÁ ÎÅ ÎÁÊÄÅÎÁ
/dev/ttyp3
13:37:49
#less /etc/passwd
/dev/ttyp1
13:37:49
#less /etc/passwd
/dev/ttyp3
13:39:09
## pw ser vova

/dev/ttyp1
13:39:09
## pw ser vova

/dev/ttyp3
13:39:20
#less /etc/passwd
/dev/ttyp1
13:39:20
#less /etc/passwd
/dev/ttyp3
13:39:56
##pw adduser vova

/dev/ttyp1
13:39:56
##pw adduser vova

/dev/ttyp3
13:40:05
#less /etc/passwd
/dev/ttyp1
13:40:05
#less /etc/passwd
/dev/ttyp3
13:40:14
#less /etc/master.
/dev/ttyp1
13:40:14
#less /etc/master.
/dev/ttyp3
13:40:50
#pw adduser vova
õ ×ÁÓ ÅÓÔØ ÎÏ×ÁÑ ÐÏÞÔÁ × /var/mail/root
/dev/ttyp1
13:40:50
#pw adduser vova
õ ×ÁÓ ÅÓÔØ ÎÏ×ÁÑ ÐÏÞÔÁ × /var/mail/root
/dev/ttyp3
13:43:02
#less /etc/master.passwd
/dev/ttyp1
13:43:02
#less /etc/master.passwd
/dev/ttyp3
13:43:20
#less /etc/passwd
/dev/ttyp1
13:43:20
#less /etc/passwd
/dev/ttyp3
13:43:29
## pw useraddva

Статистика

Время первой команды журнала15:48:47 2009- 7-24
Время последней команды журнала13:43:29 2009- 9-10
Количество командных строк в журнале100
Процент команд с ненулевым кодом завершения, %15.00
Процент синтаксически неверно набранных команд, % 4.00
Суммарное время работы с терминалом *, час 0.54
Количество командных строк в единицу времени, команда/мин 3.07
Частота использования команд
less22|=====================| 21.36%
su15|==============| 14.56%
passwd13|============| 12.62%
vim7|======| 6.80%
#5|====| 4.85%
cd3|==| 2.91%
ping2|=| 1.94%
#pw2|=| 1.94%
chown2|=| 1.94%
pw2|=| 1.94%
make2|=| 1.94%
scp2|=| 1.94%
laess2|=| 1.94%
seq2|=| 1.94%
echo2|=| 1.94%
#adduser2|=| 1.94%
pkg_delete2|=| 1.94%
jot2|=| 1.94%
test2|=| 1.94%
sockstat1|| 0.97%
for31|| 0.97%
old1|| 0.97%
chmod1|| 0.97%
/etc/rc.d/inetd1|| 0.97%
set1|| 0.97%
/etc/rc.d/in1|| 0.97%
.1|| 0.97%
shutdown1|| 0.97%
grep1|| 0.97%
ssh1|| 0.97%
LANG=C1|| 0.97%
____
*) Интервалы неактивности длительностью 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$