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

Содержание

Журнал

Четверг (03/10/11)

18:29:15
$set|less
18:29:33
$msn set
bash: msn: команда не найдена
18:29:45
$man set
18:29:49
$exit
no exit
18:29:55
$exit

18:30:01
#man set
18:30:07
#mandb
Удаление старых записей базы данных в /usr/share/man...
Обработка страниц руководства в /usr/share/man...
Удаление старых записей базы данных в /usr/share/man/zh_TW...
Обработка страниц руководства в /usr/share/man/zh_TW...
Удаление старых записей базы данных в /usr/share/man/fr.ISO8859-1...
Обработка страниц руководства в /usr/share/man/fr.ISO8859-1...
Удаление старых записей базы данных в /usr/share/man/it...
Обработка страниц руководства в /usr/share/man/it...
Удаление старых записей базы данных в /usr/share/man/gl...
Обработка страниц руководства в /usr/share/man/gl...
...
Удаление старых записей базы данных в /usr/share/man/pl...
Обработка страниц руководства в /usr/share/man/pl...
Удаление старых записей базы данных в /usr/local/man...
Обработка страниц руководства в /usr/local/man...
Удаление старых записей базы данных в /usr/local/share/man...
Обработка страниц руководства в /usr/local/share/man...
0 man подкаталоги содержат более новые страницы руководства.
0 страниц руководства добавлено.
0 побочных cat добавлено.
0 старых записей базы данных вычищено.
18:30:11
#man set
18:30:14
#apt-get install set
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
E: Не удалось найти пакет set
18:30:22
#apt-cache search set
abcm2ps - Translates ABC music description files to PostScript
abuse-lib - original levels for Abuse
mpc-ace - makefile, project and workspace creator
tao-trading - TAO trading service
acl - Access control list utilities
acpitool-dbg - command line ACPI client (debug)
libacr38ucontrol-dev - Library for operational mode for ACR38U smartcard reader dev files
libacr38ucontrol0 - Library for operational mode for ACR38U smartcard reader
adanaxisgpl-data - Action game in four spatial dimensions
adanaxisgpl - Action game in four spatial dimensions
...
libuno-cli-basetypes1.0-cil - CLI-UNO bridge - base types
phpmyadmin - MySQL web administration tool
samba - a LanManager-like file and printer server for Unix
libsvn-java - Java bindings for Subversion
libsvn-perl - Perl bindings for Subversion
libsvn-ruby1.8 - Ruby bindings for Subversion
python-subversion - Python bindings for Subversion
subversion-tools - Assorted tools related to Subversion
subversion - Advanced version control system
dansguardian - Web content filtering
18:30:40
#apt-cache search set-doc

18:30:49
#su user

18:31:02
$echo $*

18:31:46
$echo $@

18:31:51
$echo $#
0
18:32:03
$ls /etc/pwd
ls: невозможно получить доступ к /etc/pwd: Нет такого файла или каталога
18:33:04
$echo #?

18:33:16
$echo $?
0
18:33:24
$ls /etc/pwd
ls: невозможно получить доступ к /etc/pwd: Нет такого файла или каталога
18:33:27
$echo $?
2
18:33:29
$ls /etc/apt
apt.conf.d   sources.list   sources.list.d  trusted.gpg
secring.gpg  sources.list~  trustdb.gpg     trusted.gpg~
18:33:50
$echo $?
0
18:33:54
$ls /etc/pwd
ls: невозможно получить доступ к /etc/pwd: Нет такого файла или каталога
18:34:08
$echo $?
2
18:34:10
$echo $-
himBH
18:34:50
$echo $$
7257
18:35:19
$kill -9 $$

18:35:58
#su -
l3-agent is already running: pid=5084; pidfile=/root/.lilalo/l3-agent.pid
18:37:34
#exit
exit
18:37:35
#su user

18:37:41
$exit
exit
18:38:42
#vim /etc/pro
18:38:42
#vim /etc/pro
18:38:42
#vim /etc/profile
18:39:20
#fi

18:39:59
#crontab
crontab: usage error: file name must be specified for replace
usage:  crontab [-u user] file
        crontab [-u user] { -e | -l | -r }
                (default operation is replace, per 1003.2)
        -e      (edit user's crontab)
        -l      (list user's crontab)
        -r      (delete user's crontab)
        -i      (prompt before deleting user's crontab)
18:40:31
#crontab -u root -e
~
~
~
~
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
~
No modification made
18:40:39
#EDITOR=nano

18:40:45
#crontab -u root -e
~
~
~
~
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
~
No modification made
18:40:49
#export EDITOR='nano'

18:41:39
#export EDITOR='vim'

18:41:44
#crontab -u root -e
~
~
~
~
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
~
No modification made
18:41:48
#mcedit
bash: mcedit: команда не найдена
18:43:51
#echo $BASH
/bin/bash
18:43:57
#echo $MAIL
/var/mail/root
18:44:26
#echo $PS!
!
18:44:52
#echo $PS

18:44:54
#echo $PS1

18:44:56
#echo $LANG
ru_UA.UTF-8
18:47:28
#vim /etc/passwd
прошло 18 минут
19:05:48
#echo $?
0
19:05:59
#test /etc/apt

19:07:15
#echo $?
0
19:07:17
#test /etc/pwd

19:07:26
#echo $?
0
19:07:28
#test /etc/222222

19:07:38
#echo $?
0
19:07:39
#man test
19:09:10
#echo $?
0
19:09:13
#test /etc/apt/ || mkdir /etc/apt

19:09:40
#test /etc/pwd || mkdir /etc/111 && ls /etc/111
ls: невозможно получить доступ к /etc/111: Нет такого файла или каталога
19:09:58
#man test
19:11:37
#test -a /etc/pwd

19:11:49
#test -a /etc/apt

19:12:25
#echo $?
0
19:12:27
#wget xgu.ru/lilalo/install
--2011-03-10 20:13:47--  http://xgu.ru/lilalo/install
Распознаётся xgu.ru... 91.205.16.235
Устанавливается соединение с xgu.ru|91.205.16.235|:80... соединение установлено.
Запрос HTTP послан, ожидается ответ... 200 OK
Длина: 5285 (5,2K) [text/plain]
Сохраняется в каталог: `install.1'.
100%[======================================>] 5.285       --.-K/s   в 0,007s
2011-03-10 20:13:47 (710 KB/s) - `install.1' сохранён [5285/5285]
19:13:47
#vim install
19:13:57
#vim /etc/init.d/gdm
19:16:28
#Author: Ryan Murray <rmurray@debian.org>
  1 #!/bin/sh
  2 # Скприт предназначен для создания виртуальных машин с
  3 # диапазоном IP-адресов от 192.168.16.1 до 192.168.16.5
  4 # Описываем переменные и цыкл (К примеру, создавать
"nt-debian.sh" 75L, 2729C
 15 builder='hvm'
 16 memory=1024
    dge=vlan141, mac=00:03:ff:2a:e4:9$i' ]
    D.iso,hda:cdrom,r' ]/based-win2008,hdb,w', 'file:/home/iso/win2008-x86-freeEE
 22 boot='c'
...
fobos:~# ls
based-win7  nt-debian.sh  nt-freebsd.sh  nt-win2008
install     nt-fedora.sh  nt-suse.sh     xen
fobos:~# mv nt-debian.sh nt-debian
fobos:~# ls
based-win7  nt-debian     nt-freebsd.sh  nt-win2008
install     nt-fedora.sh  nt-suse.sh     xen
fobos:~# exit
logout
Connection to 192.168.16.254 closed.
прошло 10 минут
19:27:17
#exit
no exit
19:27:18
#exit
no exit
19:27:19
#exit
no exit
19:27:20
#exit
no exit
19:27:21
#exit
no exit
19:29:45
#exit
exit
Connection to 192.168.16.52 closed.

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

/dev/pts/0
08:08:54
#screen
/dev/pts/2
08:09:02
#screen -x
/dev/pts/3
08:09:32
#ls
12   file   folde1  folde3  hello-vi1.txt  hello-vi.txt!  link    sort_file
Apt  file1  folde2  hard    hello-vi.txt   lilalo.tar.gz  script  wilen
/dev/pts/6
08:09:44
#screen -x
/dev/pts/8
08:10:41
#screen -x
/dev/pts/3
08:12:52
#cd /var/log

08:13:11
#vim btmp
08:13:35
# 1^@^@^@UNKNOWN^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@@

08:15:23
#cd

08:15:28
#vim /etc/motd
08:18:06
#~
logcheck/       login.defs      logrotate.conf  logrotate.d/
08:18:06
#vim /etc/log
08:18:06
#vim /etc/login.defs
08:19:06
#SYS_GID_MIN 100
sid@10.0.35.9's password:
Linux xnt1 2.6.18-6-xen-686 #1 SMP Sun Feb 10 22:43:13 UTC 2008 i686
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.
Last login: Wed Mar  9 13:55:58 2011 from 10.0.17.1
xnt1:~$
xnt1:~$
...
       not necessarily the most specific match).
       The sudoers grammar will be described below in Extended Backus-Naur
       Form (EBNF).  Don't despair if you don't know what EBNF is; it is
       fairly simple, and the definitions below are annotated.
       Quick guide to EBNF
       EBNF is a concise and exact way of describing the grammar of a lan-
       guage.  Each EBNF definition is made up of production rules.  E.g.,
xnt1:~$ exit
logout
Connection to 10.0.35.9 closed.
прошло 11 минут
08:30:43
#man sudoers
08:30:47
#apt-get install sudo
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
НОВЫЕ пакеты, которые будут установлены:
  sudo
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 591 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 942 kB.
Получено:1 http://ftp.ua.debian.org/debian/ squeeze/main sudo i386 1.7.4p4-2.squeeze.1 [591 kB]
Получено 591 kБ за 0с (905 kБ/c)
Выбор ранее не выбранного пакета sudo.
(Чтение базы данных ... на данный момент установлено 19096 файлов и каталогов.)
Распаковывается пакет sudo (из файла .../sudo_1.7.4p4-2.squeeze.1_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет sudo (1.7.4p4-2.squeeze.1) ...
No /etc/sudoers found... creating one for you.
08:31:52
#vim /etc/sudoers
08:32:15
$sudo ifconfig
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.
[sudo] password for user:
user is not in the sudoers file.  This incident will be reported.
08:32:32
$exit
exit
08:32:39
#vim /etc/sudoers
--- /tmp/l3-saved-1762.15900.10926	2011-03-11 09:32:44.105842073 +0200
+++ /etc/sudoers	2011-03-11 09:33:17.833842663 +0200
@@ -15,6 +15,7 @@
 
 # User privilege specification
 root	ALL=(ALL) ALL
+user	ALL=(ALL) ALL
 
 # Allow members of group sudo to execute any command
 # (Note that later entries override this, so you might need to move
08:33:17
#su user

08:33:24
$sudo ifconfig
[sudo] password for user:
eth0      Link encap:Ethernet  HWaddr 00:16:3e:00:00:04
          inet addr:192.168.16.4  Bcast:192.168.16.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6979 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5792 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1201735 (1.1 MiB)  TX bytes:1025854 (1001.8 KiB)
          Interrupt:246
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:9 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:984 (984.0 B)  TX bytes:984 (984.0 B)
08:33:35
$ifconfig
bash: ifconfig: команда не найдена
08:33:59
$exit
exit
08:36:01
#su user

08:36:57
$su root -
Пароль:
su: Сбой при проверке подлинности

Статистика

Время первой команды журнала18:29:15 2011- 3-10
Время последней команды журнала08:36:57 2011- 3-11
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, %11.88
Процент синтаксически неверно набранных команд, % 1.98
Суммарное время работы с терминалом *, час 1.48
Количество командных строк в единицу времени, команда/мин 1.14
Частота использования команд
echo22|====================| 20.18%
vim12|===========| 11.01%
exit12|===========| 11.01%
test7|======| 6.42%
man6|=====| 5.50%
ls6|=====| 5.50%
su6|=====| 5.50%
crontab4|===| 3.67%
screen4|===| 3.67%
ifconfig3|==| 2.75%
sudo2|=| 1.83%
mkdir2|=| 1.83%
cd2|=| 1.83%
export2|=| 1.83%
apt-get2|=| 1.83%
apt-cache2|=| 1.83%
Author:1|| 0.92%
wget1|| 0.92%
&1|| 0.92%
SYS_GID_MIN1|| 0.92%
fi1|| 0.92%
EDITOR=nano1|| 0.92%
set1|| 0.92%
less1|| 0.92%
~1|| 0.92%
msn1|| 0.92%
1^@^@^@UNKNOWN^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@@1|| 0.92%
kill1|| 0.92%
rmurray@debian.org>1|| 0.92%
mcedit1|| 0.92%
mandb1|| 0.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$