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

Содержание

Журнал

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

/dev/ttyp0
07:28:33
#ping nt.ua -c 1
PING nt.ua (212.40.34.157) 56(84) bytes of data.
64 bytes from stream.tsua.net (212.40.34.157): icmp_seq=1 ttl=56 time=4.08 ms
--- nt.ua ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 4.085/4.085/4.085/0.000 ms
прошло 118 минут
/dev/ttyp0
09:26:52
#screen
09:27:58
#su - user
l3-agent is already running: pid=1406; pidfile=/home/user/.lilalo/l3-agent.pid
09:28:01
$screen
09:32:36
$exit
exit
09:32:49
#su - user
[root@debian1:~]#
l3-agent is already running: pid=1406; pidfile=/home/user/.lilalo/l3-agent.pid
прошло >3 часов
/dev/ttypa
13:18:13
#rm /etc/sudoers

13:18:18
#ls -l /etc/sudoers
ls: /etc/sudoers: No such file or directory
13:18:21
#cp /tmp/sudoers /etc

/dev/ttypa
13:18:50
#alias
alias ls='ls $LS_OPTIONS'
13:18:53
#ls -l /tmp/sudoers
-r--r----- 1 root root 320 2009-09-07 14:18 /tmp/sudoers
13:19:05
#chmod -r /tmp/sudoers

13:19:10
#ls -l /tmp/sudoers
---------- 1 root root 320 2009-09-07 14:18 /tmp/sudoers
13:19:11
#rm /tmp/sudoers

прошло >2 часов
/dev/ttypa
15:45:23
#vim /etc/sudoers
--- /tmp/l3-saved-6391.80.4195	2009-09-07 16:45:27.000000000 +0300
+++ /etc/sudoers	2009-09-07 16:46:09.000000000 +0300
@@ -16,3 +16,4 @@
 # User privilege specification
 root	ALL=(ALL) ALL
 user	ALL=(ALL) ALL
+user10	ALL=(ALL) ALL
15:46:50
#cp /etc/sudoers /tmp
  3 # This file MUST be edited with the 'visudo' command as root.$
  4 #$
  5 # See the man page for details on how to write a sudoers file.$
  6 #$
  7 $
  8 Defaults^Ienv_reset$
  9 $
 10 # Host alias specification$
 11 $
 12 # User alias specification$
...
 15 $
 16 # User privilege specification$
 17 root^IALL=(ALL) ALL$
 18 user^IALL=(ALL) ALL$
 19 user10^IALL=(ALL) ALL$
~
~
~
~
"/etc/sudoers" 19L, 341C записано   ия] 19L, 341C                    сь
15:47:13
#vim /etc/sudoers
15:47:43
#LANG=C

15:50:18
#diff /tmp/sudoers /etc/sudoers
    1 # /etc/sudoers$                   |+   1 +-- 12 lines: /etc/sudoers-------
    2 #$                                    13 $
      ----------------------------------|   14 # Cmnd alias specification$
    3 #$                                    15 $
    4 # See the man page for details on |   16 # User privilege specification$
    5 #$                                    17 root^IALL=(ALL) ALL$
    6 $                                 |   18 user^IALL=(ALL) ALL$
    7 Defaults^Ienv_reset$                  19 user10^IALL=(ALL) ALL$
+   8 $                                 |  ~
  ~                                        ~
...
17a19                                   |  ~
  ~                                     |  ~
> user10        ALL=(ALL) ALL           |  ~
  ~                                     |  ~
  ~                                     |  ~
  ~                                        ~
  ~                                     |  ~
  ~                                        ~
/tmp/sudoers [+][RO]  18,1           All /etc/sudoers [RO]    19,1           All
1 line less; before #1  17 seconds agoll
15:58:53
#vimtutor ru
===============================================================================
=    ä Ï Â Ò Ï   Ð Ï Ö Á Ì Ï × Á Ô Ø   ×   Õ Þ Å Â Î É Ë   VIM  -  ÷ÅÒÓÉÑ 1.5 =
"/tmp/tutorRK6680" 834 lines, 28952 characters
15:59:01
#echo $LANG
C
/dev/ttypa
15:59:17
#echo $LANG
ru_UA.UTF-8
15:59:18
#vimtutor ru
===============================================================================
=    Д о б р о   п о ж а л о в а т ь   в   у ч е б н и к   VIM  -  Версия 1.5 =
"/tmp/tutorng6826" строк: 834, символов: 46100
16:00:46
#vimtutor ru

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

/dev/ttypa
14:20:52
#cd /tmp/scripts/

14:21:10
#ssh 127.0.0.1 -l testuser600
+ useradd -m -d /home/testuser568 testuser568
+ echo testuser568:password
+ chpasswd
+ for i in '`seq 500 600`'
+ useradd -m -d /home/testuser569 testuser569
+ echo testuser569:password
+ chpasswd
+ for i in '`seq 500 600`'
+ useradd -m -d /home/testuser570 testuser570
+ echo testuser570:password
...
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
testuser600@debian1:~$ pwd
/home/testuser600
testuser600@debian1:~$ exit
logout
Connection to 127.0.0.1 closed.

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

/dev/ttyp3
09:30:43
#su - user
l3-agent is already running: pid=1406; pidfile=/home/user/.lilalo/l3-agent.pid
прошло >3 часов
/dev/ttyp3
13:05:56
#su - user
l3-agent is already running: pid=1406; pidfile=/home/user/.lilalo/l3-agent.pid
13:06:17
$screen -x
прошло >3 часов
/dev/ttypa
16:27:00
#EDITOR=vim
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"crontab.KzWfUv/crontab" 4L, 115C записано°: wQ!                       сь3,1          Весь
crontab: installing new crontab
16:27:23
#EDITOR=vim crontab -e -u user
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"crontab.5im9Bg/crontab" 4L, 116C записано                             сь
crontab: installing new crontab
16:27:39
#vim /etc/cron
16:27:39
#vim /etc/cron.deny
16:28:13
#vim /etc/cron.deny

Пятница (09/11/09)

/dev/ttypa
13:32:19
#screen -x
13:32:24
#su -user
su: invalid option -- u
Использование: su [параметры] [имя пользователя]
Параметры:
  -c, --command COMMAND         передать команду COMMAND вызываемой оболочке
  -h, --help                    показать данное сообщение и закончить работу
  -, -l, --login                запускать оболочку как регистрационную
  -m, -p,
  --preserve-environment        не сбрасывать переменные окружения и сохранить
                                запустившую оболочку
  -s, --shell SHELL             использовать значение переменной SHELL
                                вместо значения из файла passwd
13:32:47
#su -
l3-agent is already running: pid=1406; pidfile=/home/user/.lilalo/l3-agent.pid
13:32:52
$screen -x
прошло 48 минут
/dev/ttyp2
14:20:55
#su - user
l3-agent is already running: pid=1406; pidfile=/home/user/.lilalo/l3-agent.pid
14:20:57
$screen -x
прошло 57 минут
15:18:08
$ops awux | grep screen
bash: ops: command not found
15:18:16
$kill -9 1903 2482

15:18:26
$ps awux | grep screen
user      2891  0.0  0.1   4624   744 ttyp6    R+   16:18   0:00 grep screen
15:18:28
$screen -x
15:18:37
$ps awux |
user      2965  0.0  0.1   4624   744 ttyp6    R+   16:18   0:00 grep screen
15:18:41
$sudo
Password:
user      2995  0.0  0.1   4620   740 ttyp6    R+   16:18   0:00 grep screen
15:18:53
$screen -w
15:18:57
$kill -9 1786

15:19:03
$screen -w

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

/dev/ttyp2
20:21:02
#vim /etc/init.d/

Статистика

Время первой команды журнала07:28:33 2009- 9- 7
Время последней команды журнала20:21:02 2009- 9-14
Количество командных строк в журнале50
Процент команд с ненулевым кодом завершения, %18.00
Процент синтаксически неверно набранных команд, % 0.00
Суммарное время работы с терминалом *, час 0.43
Количество командных строк в единицу времени, команда/мин 1.95
Частота использования команд
screen9|=================| 17.31%
su7|=============| 13.46%
vim6|===========| 11.54%
vimtutor3|=====| 5.77%
ls3|=====| 5.77%
ps2|===| 3.85%
cp2|===| 3.85%
rm2|===| 3.85%
echo2|===| 3.85%
EDITOR=vim2|===| 3.85%
grep2|===| 3.85%
kill2|===| 3.85%
alias1|=| 1.92%
sudo1|=| 1.92%
diff1|=| 1.92%
ping1|=| 1.92%
chmod1|=| 1.92%
cd1|=| 1.92%
ssh1|=| 1.92%
exit1|=| 1.92%
ops1|=| 1.92%
LANG=C1|=| 1.92%
____
*) Интервалы неактивности длительностью 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$