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

Содержание

Журнал

Пятница (06/14/13)

/dev/pts/3
15:41:20
#/etc/init.d/po
portmap  postfix
15:41:20
#/etc/init.d/postfix restart
Stopping Postfix Mail Transport Agent: postfix.
Starting Postfix Mail Transport Agent: postfix.
15:41:29
#mailq
Mail queue is empty
15:41:39
#post
postalias           postfix-add-filter  postmap
postcat             postfix-add-policy  postmulti
postconf            postkick            postqueue
postdrop            postlock            postsuper
postfix             postlog
15:41:39
#post
postalias           postfix-add-filter  postmap
postcat             postfix-add-policy  postmulti
postconf            postkick            postqueue
postdrop            postlock            postsuper
postfix             postlog
15:41:39
#postqueue
postqueue: fatal: usage: postqueue -f | postqueue -i queueid | postqueue -p | postqueue -s site
15:41:50
#postqueue -p
Mail queue is empty
15:41:55
#mailq
Mail queue is empty
15:41:58
#dig mx mynet.net.nt
; <<>> DiG 9.7.3 <<>> mx mynet.net.nt
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40435
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 3
;; QUESTION SECTION:
;mynet.net.nt.                  IN      MX
;; ANSWER SECTION:
mynet.net.nt.           3600    IN      MX      5 mynet.net.nt.
;; AUTHORITY SECTION:
net.nt.                 3600    IN      NS      net.nt.
;; ADDITIONAL SECTION:
mynet.net.nt.           3600    IN      A       192.168.13.1
net.nt.                 3600    IN      A       10.0.17.1
net.nt.                 3600    IN      A       192.168.13.253
;; Query time: 21 msec
;; SERVER: 192.168.13.253#53(192.168.13.253)
;; WHEN: Fri Jun 14 16:42:06 2013
;; MSG SIZE  rcvd: 108
15:42:06
#echo hello|mail -s test_postfix user@mynet.net.nt

15:42:32
#mailq
Mail queue is empty
15:42:35
#tail -f /var/log/mail.log
Jun 14 16:42:32 debian3 postfix/smtp[21467]: warning: host 0.0.0.0[0.0.0.0]:25 greeted me with my own hostname wilen.net.nt
Jun 14 16:42:32 debian3 postfix/smtp[21467]: warning: host 0.0.0.0[0.0.0.0]:25 replied to HELO/EHLO with my own hostname wilen.net.nt
Jun 14 16:42:32 debian3 postfix/smtp[21467]: 9109864008: to=<user@mynet.net.nt>, relay=0.0.0.0[0.0.0.0]:25, delay=0.19, delays=0.07/0.02/0.1/0, dsn=5.4.6, status=bounced (mail for 0.0.0.0 loops back to myself)
Jun 14 16:42:32 debian3 postfix/smtpd[21470]: disconnect from localhost.localdomain[127.0.0.1]
Jun 14 16:42:32 debian3 postfix/cleanup[21460]: C69326400C: message-id=<20130614134232.C69326400C@wilen.net.nt>
Jun 14 16:42:32 debian3 postfix/qmgr[21407]: C69326400C: from=<>, size=2002, nrcpt=1 (queue active)
Jun 14 16:42:32 debian3 postfix/bounce[21473]: 9109864008: sender non-delivery notification: C69326400C
Jun 14 16:42:32 debian3 postfix/qmgr[21407]: 9109864008: removed
Jun 14 16:42:33 debian3 postfix/local[21475]: C69326400C: to=<user@wilen.net.nt>, orig_to=<root@wilen.net.nt>, relay=local, delay=1.1, delays=0/0.01/0/1, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
Jun 14 16:42:33 debian3 postfix/qmgr[21407]: C69326400C: removed
^C
15:43:02
#mailq
Mail queue is empty
15:43:06
#mail
No mail for root
15:43:09
#mail -u user
Mail version 8.1.2 01/15/2001.  Type ? for help.
"/var/mail/user": 1 message 1 new
>N  1 MAILER-DAEMON@wil  Fri Jun 14 16:42   67/2067  Undelivered Mail Returned t
& 1
Message 1:
From MAILER-DAEMON  Fri Jun 14 16:42:32 2013
X-Original-To: root@wilen.net.nt
Date: Fri, 14 Jun 2013 16:42:32 +0300 (EEST)
From: MAILER-DAEMON@wilen.net.nt (Mail Delivery System)
Subject: Undelivered Mail Returned to Sender
...
X-Postfix-Sender: rfc822; root@wilen.net.nt
Arrival-Date: Fri, 14 Jun 2013 16:42:32 +0300 (EEST)
Final-Recipient: rfc822; user@mynet.net.nt
Action: failed
Status: 5.4.6
Diagnostic-Code: X-Postfix; mail for 0.0.0.0 loops back to myself
--9109864008.1371217352/wilen.net.nt
Content-Description: Undelivered Message
& q
Saved 1 message in /root/mbox
15:45:29
#mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
208E86400B      296 Fri Jun 14 16:45:14  root@wilen.net.nt
                                                (unknown mail transport error)
                                         user@mynet.net.nt
-- 0 Kbytes in 1 Request.
15:45:31
#apt-get install procmail
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Уже установлена самая новая версия procmail.
Следующие пакеты устанавливались автоматически и больше не требуются:
  squid-common libperl5.10 libpq5
Для их удаления используйте 'apt-get autoremove'.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 56 пакетов не обновлено.
15:45:40
#netstat -nlp|less
15:46:41
#telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 wilen.net.nt ESMTP Postfix (Debian/GNU)
helo 0
250 wilen.net.nt
^C^]
telnet> quit
Connection closed.
15:49:29
#apt-get install smtm
Display all 28814 possibilities? (y or n)
15:49:29
#apt-cache search smtp|less
15:50:52
#/etc/init.d/postfix restart
Stopping Postfix Mail Transport Agent: postfix.
Starting Postfix Mail Transport Agent: postfix.
15:51:44
#mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
208E86400B      296 Fri Jun 14 16:45:14  root@wilen.net.nt
                                                (unknown mail transport error)
                                         user@mynet.net.nt
323286400E      353 Fri Jun 14 16:51:17  wilen@list.ru
                                                (unknown mail transport error)
                                         user@mynet.nt.nt
-- 1 Kbytes in 2 Requests.
15:54:56
#ldd smtp
ldd: ./smtp: Нет такого файла или каталога
15:55:01
#apt-cache search smtp|less
15:55:37
#^C

15:58:44
#smtpd_use_tls=yes
libnet-server-mail-perl - Class to easily create a mail server
mailfront - mail server network protocol front-ends
postfix-policyd-spf-python - Postfix policy server for SPF checking
qpsmtpd - Flexible SMTP daemon for network-level spam detection
tcllib - the Standard Tcl Library
ucspi-tcp-src - Source only package for building ucspi-tcp binary package
15:58:54
#apt-get install qpsmtpd
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  squid-common libperl5.10 libpq5
Для их удаления используйте 'apt-get autoremove'.
Будут установлены следующие дополнительные пакеты:
  libclamav-client-perl libdigest-hmac-perl libdigest-sha1-perl liberror-perl
  libipc-shareable-perl libmail-spf-perl libmailtools-perl libnet-dns-perl
  libnet-ip-perl libnetaddr-ip-perl libsocket6-perl liburi-perl
...
Настраивается пакет libnet-ip-perl (1.25-2) ...
Настраивается пакет libnet-dns-perl (0.66-2) ...
Настраивается пакет liburi-perl (1.54-2) ...
Настраивается пакет libmail-spf-perl (2.007-1) ...
Настраивается пакет libmailtools-perl (2.06-1) ...
Настраивается пакет libsocket6-perl (0.23-1) ...
Настраивается пакет libclamav-client-perl (0.11-1) ...
Настраивается пакет qpsmtpd (0.84-5) ...
adduser: Предупреждение: домашний каталог «/var/spool/qpsmtpd» не принадлежит пользователю, который сейчас создаётся.
dpkg-statoverride: предупреждение: указан --update, но /var/run/qpsmtpd не существует
15:59:33
#mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
208E86400B      296 Fri Jun 14 16:45:14  root@wilen.net.nt
                                                (unknown mail transport error)
                                         user@mynet.net.nt
323286400E      353 Fri Jun 14 16:51:17  wilen@list.ru
                                                (unknown mail transport error)
                                         user@mynet.nt.nt
-- 1 Kbytes in 2 Requests.
15:59:36
#xm list
l3script: xm: команда не найдена

Суббота (06/15/13)

15:25:42
#xm
l3script: xm: команда не найдена
15:25:48
#ifconfig
eth0      Link encap:Ethernet  HWaddr 00:16:3e:00:00:03
          inet addr:192.168.13.3  Bcast:192.168.13.255  Mask:255.255.255.0
          inet6 addr: fe80::216:3eff:fe00:3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:183422 errors:0 dropped:0 overruns:0 frame:0
          TX packets:150631 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:107614281 (102.6 MiB)  TX bytes:38593006 (36.8 MiB)
          Interrupt:72
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:807216 errors:0 dropped:0 overruns:0 frame:0
          TX packets:807216 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2676390919 (2.4 GiB)  TX bytes:2676390919 (2.4 GiB)
15:25:50
#exit
no exit
15:25:57
#exit
no exit
15:25:58
#unalias exit

Статистика

Время первой команды журнала15:41:20 2013- 6-14
Время последней команды журнала15:25:58 2013- 6-15
Количество командных строк в журнале35
Процент команд с ненулевым кодом завершения, %11.43
Процент синтаксически неверно набранных команд, % 5.71
Суммарное время работы с терминалом *, час 0.31
Количество командных строк в единицу времени, команда/мин 1.89
Частота использования команд
mailq7|=================| 17.95%
mail3|=======| 7.69%
less3|=======| 7.69%
apt-get3|=======| 7.69%
postqueue2|=====| 5.13%
/etc/init.d/postfix2|=====| 5.13%
xm2|=====| 5.13%
exit2|=====| 5.13%
post2|=====| 5.13%
apt-cache2|=====| 5.13%
ifconfig1|==| 2.56%
dig1|==| 2.56%
telnet1|==| 2.56%
ldd1|==| 2.56%
unalias1|==| 2.56%
echo1|==| 2.56%
tail1|==| 2.56%
netstat1|==| 2.56%
^C1|==| 2.56%
/etc/init.d/po1|==| 2.56%
smtpd_use_tls=yes1|==| 2.56%
____
*) Интервалы неактивности длительностью 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$