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

Содержание

Журнал

Суббота (05/30/09)

/dev/pts/2
10:30:17
#ls -l
итого 88
drwxr-xr-x   2 root root  4096 Май 29 12:50 bin
drwxr-xr-x   3 root root  4096 Май 25 03:08 boot
drwxr-xr-x  15 root root  3580 Май 30 09:37 dev
drwxr-xr-x  87 root root  4096 Май 30 10:30 etc
drwxr-xr-x   3 root root  4096 Май 28 14:58 home
lrwxrwxrwx   1 root root    28 Май 24 17:23 initrd.img -> boot/initrd.img-2.6.29-2-686
drwxr-xr-x  13 root root 12288 Май 30 09:59 lib
drwx------   2 root root 16384 Май 24 16:56 lost+found
drwxr-xr-x   2 root root  4096 Май 24 13:15 media
...
dr-xr-xr-x 119 root root     0 Май 30 09:37 proc
drwxr-xr-x  13 root root  4096 Май 29 17:46 root
drwxr-xr-x   2 root root  4096 Май 30 09:59 sbin
drwxr-xr-x   2 root root  4096 Фев 21 16:55 selinux
drwxr-xr-x   2 root root  4096 Май 24 13:15 srv
drwxr-xr-x  12 root root     0 Май 30 09:37 sys
drwxrwxrwt   7 root root  4096 Май 30 10:05 tmp
drwxr-xr-x  11 root root  4096 Май 24 13:22 usr
drwxr-xr-x  13 root root  4096 Май 24 13:15 var
lrwxrwxrwx   1 root root    25 Май 24 17:23 vmlinuz -> boot/vmlinuz-2.6.29-2-686
10:30:56
#cat >/mnt/1
bash: /mnt/1: Файловая система доступна только для чтения
10:31:55
#mount --help
Usage: mount -V                 : print version
       mount -h                 : print this help
       mount                    : list mounted filesystems
       mount -l                 : idem, including volume labels
So far the informational part. Next the mounting.
The command is `mount [-t fstype] something somewhere'.
Details found in /etc/fstab may be omitted.
       mount -a [-t|-O] ...     : mount all stuff from /etc/fstab
       mount device             : mount device at the known place
       mount directory          : mount known device here
...
One can change the type of all the mounts in a mount subtree
containing the directory dir:
       mount --make-rshared dir
       mount --make-rslave dir
       mount --make-rprivate dir
       mount --make-runbindable dir
A device can be given by name, say /dev/hda1 or /dev/cdrom,
or by label, using  -L label  or by uuid, using  -U uuid .
Other options: [-nfFrsvw] [-o options] [-p passwdfd].
For many more details, say  man 8 mount .
10:32:34
#apt-get install ntfs
ntfs-3g    ntfsdoc    ntfsprogs
10:32:34
#apt-get install ntfs-3g
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  portmap
Для их удаления используйте 'apt-get autoremove'.
Будут установлены следующие дополнительные пакеты:
  libntfs-3g54
НОВЫЕ пакеты, которые будут установлены:
  libntfs-3g54 ntfs-3g
...
(Чтение базы данных ... на данный момент установлено 54741 файлов и каталогов.)
Распаковывается пакет libntfs-3g54 (из файла .../libntfs-3g54_1%3a2009.4.4-1_i386.deb)...
Выбор ранее не выбранного пакета ntfs-3g.
Распаковывается пакет ntfs-3g (из файла .../ntfs-3g_1%3a2009.4.4-1_i386.deb)...
Обрабатываются триггеры для man-db ...
Обрабатываются триггеры для hal ...
Regenerating hal fdi cache ...
Restarting Hardware abstraction layer: hald.
Настраивается пакет libntfs-3g54 (1:2009.4.4-1) ...
Настраивается пакет ntfs-3g (1:2009.4.4-1) ...
10:34:57
#umont /mnt
bash: umont: команда не найдена
10:35:08
#umount /mnt

10:35:14
#mount.ntfs-3g /dev/sdb1 /mnt
The disk contains an unclean file system (0, 0).
The file system wasn't safely closed on Windows. Fixing.
10:35:51
#cat >/mnt/1
dfhfklghjmhgkmtlfhklmh
gfhdgh
gfh
dgfh
hdgfh
dhd
hg^C
10:36:49
#ls -l /mnt
итого 2095470
-rwxrwxrwx 1 root root         49 Май 30 10:36 1
drwxrwxrwx 1 root root       4096 Окт  8  2008 admin's_folder
-rwxrwxrwx 1 root root          0 Сен 25  2008 AUTOEXEC.BAT
-rwxrwxrwx 1 root root        211 Сен 25  2008 boot.ini
-rwxrwxrwx 1 root root          0 Сен 25  2008 CONFIG.SYS
drwxrwxrwx 1 root root       4096 Сен 26  2008 CUICA.tmp
drwxrwxrwx 1 root root       4096 Сен 25  2008 Documents and Settings
drwxrwxrwx 1 root root          0 Сен 25  2008 IDE
drwxrwxrwx 1 root root       4096 Сен 25  2008 Inetpub
-rwxrwxrwx 1 root root          0 Сен 25  2008 IO.SYS
-rwxrwxrwx 1 root root          0 Сен 25  2008 MSDOS.SYS
drwxrwxrwx 1 root root          0 Сен 25  2008 MSOCache
-rwxrwxrwx 1 root root      47564 Апр 14  2008 NTDETECT.COM
-rwxrwxrwx 1 root root     250048 Апр 14  2008 ntldr
-rwxrwxrwx 1 root root 2145386496 Май 24 12:30 pagefile.sys
drwxrwxrwx 1 root root      12288 Окт  8  2008 Program Files
drwxrwxrwx 1 root root          0 Сен 25  2008 RECYCLER
-rwxrwxrwx 1 root root        442 Сен 25  2008 RHDSetup.log
drwxrwxrwx 1 root root       4096 Сен 25  2008 System Volume Information
drwxrwxrwx 1 root root      36864 Май 13 11:42 WINDOWS
10:36:54
#which mount
/bin/mount
10:38:36
#ps aux|grep ntfs
root      5448  0.0  0.0   5564   992 ?        Ss   10:35   0:00 mount.ntfs-3g /dev/sdb1 /mnt
10:39:19
#umount /mnt

10:39:55
#ps aux|grep ntfs
root      5503  0.0  0.0   4908   756 pts/3    R+   10:39   0:00 grep ntfs
10:39:57
#фÐapt-cache search fuse | less
10:48:54
#apt-get install e2
e2dbg          e2fslibs       e2fslibs-dev   e2fsprogs-dbg  e2ps           e2undel
e2fsck-static  e2fslibs-dbg   e2fsprogs      e2p-dev        e2tools
10:48:54
#apt-get install e2tools
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  portmap
Для их удаления используйте 'apt-get autoremove'.
НОВЫЕ пакеты, которые будут установлены:
  e2tools
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 31,9kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 135kB.
Получено:1 http://192.168.15.7 sid/main e2tools 0.0.16-4 [31,9kB]
Получено 31,9kБ за 0s (1518kБ/c)
Выбор ранее не выбранного пакета e2tools.
(Чтение базы данных ... на данный момент установлено 54759 файлов и каталогов.)
Распаковывается пакет e2tools (из файла .../e2tools_0.0.16-4_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет e2tools (0.0.16-4) ...
10:56:08
#mknod /tmp/hda1 b 3 1

10:56:33
#chmod 666 /tmp/hda1

10:56:42
#e2ls /tmp/hda1
No such device or address
10:57:47
#mknod /tmp/hda b 3 0

10:58:27
#ls /tmp/hda
hda   hda1
10:58:27
#ls /tmp/hda
/tmp/hda
10:59:00
#ls -l /tmp/hda
brw-rw-rw- 1 root root 3, 0 Май 30 10:58 /tmp/hda
10:59:10
#e2ls /tmp/hda
No medium found
10:59:17
#fdisk -l
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x8368247b
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        2432    19535008+  83  Linux
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xbcb3237f
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1       30401   244196001    7  HPFS/NTFS
11:00:49
#ls -l /dev/sda
sda   sda1
11:00:49
#ls -l /dev/sda1
brw-rw---- 1 root disk 8, 1 Май 30 09:37 /dev/sda1
11:01:57
#man e2
11:02:37
#man e2ls
11:03:01
#e2cp /tmp/sda1:/etc/shadow /tmp/

11:03:31
#e2cp /tmp/shadow /tmp/sda1:/etc/shadow

11:03:45
#ls -l /dev/sda1
brw-rw---- 1 root disk 8, 1 Май 30 09:37 /dev/sda1
11:04:44
#rm /tmp/shadow

11:06:54
#rm /tmp/h*

11:11:46
#rm -r /tmp/h*
rm: невозможно удалить `/tmp/h*': Нет такого файла или каталога
11:11:53
#ping klekhivka.myftp.org
PING klekhivka.myftp.org (94.179.241.70) 56(84) bytes of data.
^C
--- klekhivka.myftp.org ping statistics ---
1410 packets transmitted, 0 received, 100% packet loss, time 1409450ms
прошло 25 минут
11:36:55
#mount
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
rootfs on / type rootfs (rw)
11:37:05
#fdisk -l
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x8368247b
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        2432    19535008+  83  Linux
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xbcb3237f
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1       30401   244196001    7  HPFS/NTFS
11:38:27
#echo ';'|sfdisk /dev/sd
sda   sda1  sdb   sdb1
11:38:27
#echo ';'|sfdisk /dev/sdb
Checking that no-one is using this disk right now ...
OK
Disk /dev/sdb: 30401 cylinders, 255 heads, 63 sectors/track
Old situation:
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdb1   *      0+  30400   30401- 244196001    7  HPFS/NTFS
/dev/sdb2          0       -       0          0    0  Empty
/dev/sdb3          0       -       0          0    0  Empty
/dev/sdb4          0       -       0          0    0  Empty
...
/dev/sdb2          0       -       0          0    0  Empty
/dev/sdb3          0       -       0          0    0  Empty
/dev/sdb4          0       -       0          0    0  Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
Successfully wrote the new partition table
Re-reading the partition table ...
If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
11:39:53
#fdisk -l
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x8368247b
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        2432    19535008+  83  Linux
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xbcb3237f
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       30401   244196032   83  Linux
11:40:58
#fdisk -l /dev/sdb
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xbcb3237f
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       30401   244196032   83  Linux
11:45:02
#cfdisk
11:45:39
#cfdisk /dev/sdb
11:50:13
#fdisk -l
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x8368247b
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        2432    19535008+  83  Linux
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xbcb3237f
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        2432    19535008+  83  Linux
/dev/sdb2            2433        4864    19535040   83  Linux
/dev/sdb3            4865        7296    19535040   83  Linux
/dev/sdb4            7297       30401   185590912+   5  Extended
/dev/sdb5            7297       19454    97659103+  83  Linux
/dev/sdb6           19455       30401    87931746   83  Linux
11:50:19
#fdisk -l
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x8368247b
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        2432    19535008+  83  Linux
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xbcb3237f
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        2432    19535008+  83  Linux
/dev/sdb2            2433        4864    19535040   83  Linux
/dev/sdb3            4865        7296    19535040   83  Linux
/dev/sdb4            7297       30401   185590912+   5  Extended
/dev/sdb5            7297       19454    97659103+  83  Linux
/dev/sdb6           19455       30401    87931746   83  Linux
11:52:07
#cfdisk /dev/sdb
11:52:46
#cfdisk /dev/sdb
11:55:40
#apt-get install part
parted            parted1.6-doc     partigene         partimage-doc     partitionmanager
parted1.6         parted-doc        partimage         partimage-server  partlibrary
11:55:40
#apt-get install parted
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Уже установлена самая новая версия parted.
Следующие пакеты устанавливались автоматически и больше не требуются:
  portmap
Для их удаления используйте 'apt-get autoremove'.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.

Статистика

Время первой команды журнала10:30:17 2009- 5-30
Время последней команды журнала11:55:40 2009- 5-30
Количество командных строк в журнале51
Процент команд с ненулевым кодом завершения, %13.73
Процент синтаксически неверно набранных команд, % 1.96
Суммарное время работы с терминалом *, час 1.42
Количество командных строк в единицу времени, команда/мин 0.60
Частота использования команд
ls8|=============| 13.33%
fdisk6|==========| 10.00%
apt-get6|==========| 10.00%
cfdisk4|======| 6.67%
rm3|=====| 5.00%
ps2|===| 3.33%
'2|===| 3.33%
mknod2|===| 3.33%
man2|===| 3.33%
umount2|===| 3.33%
mount2|===| 3.33%
echo2|===| 3.33%
12|===| 3.33%
sfdisk2|===| 3.33%
cat2|===| 3.33%
grep2|===| 3.33%
e2cp2|===| 3.33%
e2ls2|===| 3.33%
фÐapt-cache1|=| 1.67%
ping1|=| 1.67%
chmod1|=| 1.67%
mount.ntfs-3g1|=| 1.67%
less1|=| 1.67%
which1|=| 1.67%
umont1|=| 1.67%
____
*) Интервалы неактивности длительностью 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$