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

Содержание

Журнал

Пятница (05/29/09)

/dev/pts/1
18:14:30
#dmesg | less
18:15:38
#dmesg | grep sda
[    4.033603] sd 0:0:0:0: [sda] 160834367 512-byte hardware sectors: (82.3 GB/76.6 GiB)
[    4.033687] sd 0:0:0:0: [sda] Write Protect is off
[    4.033735] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    4.033755] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    4.033874] sd 0:0:0:0: [sda] 160834367 512-byte hardware sectors: (82.3 GB/76.6 GiB)
[    4.033953] sd 0:0:0:0: [sda] Write Protect is off
[    4.033999] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    4.034020] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    4.034092]  sda: sda1
[    4.051142] sd 0:0:0:0: [sda] Attached SCSI disk
18:15:46
#dmesg | grep eth
[    1.424418] eth0 (3c59x): not using net_device_ops yet
[    4.033475] Driver 'sd' needs updating - please use bus_type methods
[    8.080757] eth0:  setting full-duplex.
[   19.140076] eth0: no IPv6 routers present
18:16:51
#dmesg | grep e1000

18:18:28
#dmesg | grep e1000

18:18:48
#dmesg | grep atl1
[    1.438306] atl1 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    1.438366] atl1 0000:02:00.0: setting latency timer to 64
[    1.438399] atl1 0000:02:00.0: version 2.1.3
18:19:16
#dmesg | grep eth
[    1.424418] eth0 (3c59x): not using net_device_ops yet
[    4.033475] Driver 'sd' needs updating - please use bus_type methods
[    8.080757] eth0:  setting full-duplex.
[   19.140076] eth0: no IPv6 routers present
18:19:46
#ls /tmp
e1000e-0.5.18.3.tar.gz  keyring-4dZixe  libgksu-FrbWZE  orbit-user  ssh-XYDzXv2842
18:21:11
#ls
1  hello  screen.dot  screen.png  t1.txt
18:22:15
#cd /tmp

18:22:31
#tar xvfz e1000e-0.5.18.3.tar.gz
e1000e-0.5.18.3/
e1000e-0.5.18.3/SUMS
e1000e-0.5.18.3/src/
e1000e-0.5.18.3/src/e1000_manage.h
e1000e-0.5.18.3/src/e1000_defines.h
e1000e-0.5.18.3/src/kcompat.h
e1000e-0.5.18.3/src/e1000_ich8lan.h
e1000e-0.5.18.3/src/Makefile
e1000e-0.5.18.3/src/e1000_80003es2lan.c
e1000e-0.5.18.3/src/e1000_phy.h
...
e1000e-0.5.18.3/src/e1000_manage.c
e1000e-0.5.18.3/src/e1000_ich8lan.c
e1000e-0.5.18.3/src/e1000.h
e1000e-0.5.18.3/src/ethtool.c
e1000e-0.5.18.3/src/kcompat_ethtool.c
e1000e-0.5.18.3/e1000e.spec
e1000e-0.5.18.3/COPYING
e1000e-0.5.18.3/README
e1000e-0.5.18.3/pci.updates
e1000e-0.5.18.3/e1000e.7
18:22:42
#less readme
18:23:00
#ls
e1000e-0.5.18.3  e1000e-0.5.18.3.tar.gz  keyring-4dZixe  libgksu-FrbWZE  orbit-user  ssh-XYDzXv2842
18:23:18
#tar xvfz e1000e-0.5.18.3.tar.gz
e1000e-0.5.18.3/
e1000e-0.5.18.3/SUMS
e1000e-0.5.18.3/src/
e1000e-0.5.18.3/src/e1000_manage.h
e1000e-0.5.18.3/src/e1000_defines.h
e1000e-0.5.18.3/src/kcompat.h
e1000e-0.5.18.3/src/e1000_ich8lan.h
e1000e-0.5.18.3/src/Makefile
e1000e-0.5.18.3/src/e1000_80003es2lan.c
e1000e-0.5.18.3/src/e1000_phy.h
...
e1000e-0.5.18.3/src/e1000_manage.c
e1000e-0.5.18.3/src/e1000_ich8lan.c
e1000e-0.5.18.3/src/e1000.h
e1000e-0.5.18.3/src/ethtool.c
e1000e-0.5.18.3/src/kcompat_ethtool.c
e1000e-0.5.18.3/e1000e.spec
e1000e-0.5.18.3/COPYING
e1000e-0.5.18.3/README
e1000e-0.5.18.3/pci.updates
e1000e-0.5.18.3/e1000e.7
18:23:37
#cd e1000e-0.5.18.3/

18:23:45
#ls
COPYING  e1000e.7  e1000e.spec  pci.updates  README  src  SUMS
18:23:47
#less README
18:23:59
#uname -a
Linux linux4 2.6.29-2-686 #1 SMP Sun May 17 17:56:29 UTC 2009 i686 GNU/Linux
18:24:58
#apt-cache search 2.6.29-2
aufs-modules-2.6.29-2-486 - Stackable unification filesystem for Linux 2.6.29 on x86
aufs-modules-2.6.29-2-686 - Stackable unification filesystem for Linux 2.6.29 on PPro/Celeron/PII/PIII/P4
aufs-modules-2.6.29-2-686-bigmem - Stackable unification filesystem for Linux 2.6.29 on PPro/Celeron/PII/PIII/P4
aufs-modules-2.6.29-2-amd64 - Stackable unification filesystem for Linux 2.6.29 on AMD64
batman-adv-modules-2.6.29-2-486 - B.A.T.M.A.N. on Layer 2 for Linux 2.6.29 on x86
batman-adv-modules-2.6.29-2-686 - B.A.T.M.A.N. on Layer 2 for Linux 2.6.29 on PPro/Celeron/PII/PIII/P4
batman-adv-modules-2.6.29-2-686-bigmem - B.A.T.M.A.N. on Layer 2 for Linux 2.6.29 on PPro/Celeron/PII/PIII/P4
batman-adv-modules-2.6.29-2-amd64 - B.A.T.M.A.N. on Layer 2 for Linux 2.6.29 on AMD64
batmand-gateway-modules-2.6.29-2-486 - B.A.T.M.A.N. kernelland gateway for Linux 2.6.29 on x86
batmand-gateway-modules-2.6.29-2-686 - B.A.T.M.A.N. kernelland gateway for Linux 2.6.29 on PPro/Celeron/PII/PIII/P4
...
tp-smapi-modules-2.6.29-2-686 - ThinkPad hardware/firmware access for Linux 2.6.29 on PPro/Celeron/PII/PIII/P4
tp-smapi-modules-2.6.29-2-686-bigmem - ThinkPad hardware/firmware access for Linux 2.6.29 on PPro/Celeron/PII/PIII/P4
tp-smapi-modules-2.6.29-2-amd64 - ThinkPad hardware/firmware access for Linux 2.6.29 on AMD64
virtualbox-ose-guest-modules-2.6.29-2-486 - PC virtualization solution for Linux 2.6.29 on x86
virtualbox-ose-guest-modules-2.6.29-2-686 - PC virtualization solution for Linux 2.6.29 on PPro/Celeron/PII/PIII/P4
virtualbox-ose-guest-modules-2.6.29-2-686-bigmem - PC virtualization solution for Linux 2.6.29 on PPro/Celeron/PII/PIII/P4
virtualbox-ose-modules-2.6.29-2-486 - PC virtualization solution for Linux 2.6.29 on x86
virtualbox-ose-modules-2.6.29-2-686 - PC virtualization solution for Linux 2.6.29 on PPro/Celeron/PII/PIII/P4
virtualbox-ose-modules-2.6.29-2-686-bigmem - PC virtualization solution for Linux 2.6.29 on PPro/Celeron/PII/PIII/P4
virtualbox-ose-modules-2.6.29-2-amd64 - PC virtualization solution for Linux 2.6.29 on AMD64
18:25:47
#apt-cache search 2.6.29-2 | grep eader
linux-headers-2.6.29-2-486 - Header files for Linux 2.6.29-2-486
linux-headers-2.6.29-2-686 - Header files for Linux 2.6.29-2-686
linux-headers-2.6.29-2-686-bigmem - Header files for Linux 2.6.29-2-686-bigmem
linux-headers-2.6.29-2-all - All header files for Linux 2.6.29
linux-headers-2.6.29-2-all-i386 - All header files for Linux 2.6.29
linux-headers-2.6.29-2-amd64 - Header files for Linux 2.6.29-2-amd64
linux-headers-2.6.29-2-common - Common header files for Linux 2.6.29-2
18:28:03
#apt-cache search 2.6.29-2 | grep eader
linux-headers-2.6.29-2-486 - Header files for Linux 2.6.29-2-486
linux-headers-2.6.29-2-686 - Header files for Linux 2.6.29-2-686
linux-headers-2.6.29-2-686-bigmem - Header files for Linux 2.6.29-2-686-bigmem
linux-headers-2.6.29-2-all - All header files for Linux 2.6.29
linux-headers-2.6.29-2-all-i386 - All header files for Linux 2.6.29
linux-headers-2.6.29-2-amd64 - Header files for Linux 2.6.29-2-amd64
linux-headers-2.6.29-2-common - Common header files for Linux 2.6.29-2
18:29:38
#apt-get install linux-headers-2.6.29-2-686
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  portmap
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  linux-headers-2.6.29-2-common linux-kbuild-2.6.29
The following NEW packages will be installed:
  linux-headers-2.6.29-2-686 linux-headers-2.6.29-2-common linux-kbuild-2.6.29
...
Selecting previously deselected package linux-headers-2.6.29-2-common.
(Reading database ... 47774 files and directories currently installed.)
Unpacking linux-headers-2.6.29-2-common (from .../linux-headers-2.6.29-2-common_2.6.29-5_i386.deb) ...
Selecting previously deselected package linux-kbuild-2.6.29.
Unpacking linux-kbuild-2.6.29 (from .../linux-kbuild-2.6.29_2.6.29-1_i386.deb) ...
Selecting previously deselected package linux-headers-2.6.29-2-686.
Unpacking linux-headers-2.6.29-2-686 (from .../linux-headers-2.6.29-2-686_2.6.29-5_i386.deb) ...
Setting up linux-headers-2.6.29-2-common (2.6.29-5) ...
Setting up linux-kbuild-2.6.29 (2.6.29-1) ...
Setting up linux-headers-2.6.29-2-686 (2.6.29-5) ...
18:29:58
#make
make: *** No targets specified and no makefile found.  Stop.
18:31:26
#lsmod
Module                  Size  Used by
i915                  130336  2
drm                   133296  3 i915
i2c_algo_bit            4888  1 i915
ipv6                  232468  16
snd_hda_codec_realtek   173504  1
snd_hda_intel          22092  0
snd_hda_codec          58808  2 snd_hda_codec_realtek,snd_hda_intel
snd_hwdep               6000  1 snd_hda_codec
snd_pcm_oss            31708  0
...
3c59x                  35576  0
mii                     4648  2 atl1,3c59x
ehci_hcd               29936  0
usbcore               124912  3 uhci_hcd,ehci_hcd
intel_agp              22548  1
agpgart                30624  3 drm,intel_agp
thermal                15092  0
processor              39540  1 thermal
fan                     4104  0
thermal_sys            10272  3 thermal,processor,fan
18:31:35
#depmod -a

18:32:01
#lsmod
Module                  Size  Used by
i915                  130336  2
drm                   133296  3 i915
i2c_algo_bit            4888  1 i915
ipv6                  232468  16
snd_hda_codec_realtek   173504  1
snd_hda_intel          22092  0
snd_hda_codec          58808  2 snd_hda_codec_realtek,snd_hda_intel
snd_hwdep               6000  1 snd_hda_codec
snd_pcm_oss            31708  0
...
3c59x                  35576  0
mii                     4648  2 atl1,3c59x
ehci_hcd               29936  0
usbcore               124912  3 uhci_hcd,ehci_hcd
intel_agp              22548  1
agpgart                30624  3 drm,intel_agp
thermal                15092  0
processor              39540  1 thermal
fan                     4104  0
thermal_sys            10272  3 thermal,processor,fan
18:33:01
#ls /etc/modules
/etc/modules
18:34:16
#less /etc/modules
18:35:00
#ls /etc/udev/
links.conf  rules.d  udev.conf
18:35:09
#ls /etc/udev/rules.d/
70-persistent-cd.rules  70-persistent-net.rules
18:35:17
#less /etc/udev/rules.d/70-persistent-cd.rules
18:36:04
#uname -a
Linux linux4 2.6.29-2-686 #1 SMP Sun May 17 17:56:29 UTC 2009 i686 GNU/Linux
18:37:40
#less /etc/udev/rules.d/70-persistent-
18:37:40
#less /etc/udev/rules.d/70-persistent-net.rules

Статистика

Время первой команды журнала18:14:30 2009- 5-29
Время последней команды журнала18:37:40 2009- 5-29
Количество командных строк в журнале34
Процент команд с ненулевым кодом завершения, %11.76
Процент синтаксически неверно набранных команд, % 0.00
Суммарное время работы с терминалом *, час 0.39
Количество командных строк в единицу времени, команда/мин 1.47
Частота использования команд
grep8|==================| 18.60%
less7|================| 16.28%
ls7|================| 16.28%
dmesg7|================| 16.28%
apt-cache3|======| 6.98%
lsmod2|====| 4.65%
uname2|====| 4.65%
cd2|====| 4.65%
tar2|====| 4.65%
apt-get1|==| 2.33%
depmod1|==| 2.33%
make1|==| 2.33%
____
*) Интервалы неактивности длительностью 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$