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

Содержание

Журнал

Понедельник (03/22/10)

/dev/pts/0
10:23:10
#date
Mon Mar 22 11:24:44 EET 2010
10:24:44
#cat /tmp/install
#!/bin/sh
hostname=`hostname`
uname -a | grep -qi freebsd || hostname=`hostname -f`
###############################################################################
#
# Set this variables before installation:
lilalo_user=${lilalo_user:kuzmenko_public}
lab=${lab:nt-scale-22-10-2010}
install_l3bashrc_for_this_users=${users:-"root user"}  # users who will use l3agent and l3script
lilalo_context="/users/${lilalo_user}/${lab}/${hostname}"
...
step "Downloading l3prompt" ${wget} ${url_l3prompt}
step "Downloading l3-agent" '${wget} ${url_l3agent}; ${wget} ${url_l3config_pm}; ${wget} ${url_l3config}'
step "Downloading perl modules for l3-agent" '{ for i in ${perl_modules}; do ${wget} ${url_perl_modules}/$i.tar.gz; done; }'
step "Installing perl modules for l3-agent" '{ for i in ${perl_modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
step "Installing l3bashrc to users home directories" install_to_users_homes $install_l3bashrc_for_this_users
step "Adding l3bashrc invocation to ~/.bashrc " install_to_users_bashrc $install_l3bashrc_for_this_users
step "Adding l3-agent invocation to ~/.bash_profile " install_to_users_bash_profile $install_l3bashrc_for_this_users
cd /
rm -rf ${temp_dir}
show_final_message
10:28:03
#nano /tmp/install
--- /tmp/l3-saved-5457.17301.10079	2010-03-22 11:28:36.000000000 +0200
+++ /tmp/install	2010-03-22 11:29:57.000000000 +0200
@@ -7,8 +7,8 @@
 #
 # Set this variables before installation:
 
-lilalo_user=${lilalo_user:kuzmenko_public}
-lab=${lab:nt-scale-22-10-2010}
+lilalo_user=kuzmenko
+lab=nt-scale-22-10-2010
 install_l3bashrc_for_this_users=${users:-"root user"}  # users who will use l3agent and l3script
 lilalo_context="/users/${lilalo_user}/${lab}/${hostname}"
 
10:29:57
#!/bin/sh
Installing dependencies...
Ok
Downloading l3bashrc...
|   --2010-03-22 11:30:02--  http://xgu.ru/lilalo/l3bashrc
|   Resolving xgu.ru... 212.26.146.51
|   Connecting to xgu.ru|212.26.146.51|:80... connected.
|   HTTP request sent, awaiting response... 200 OK
|   Length: 7709 (7.5K) [text/plain]
|   Saving to: `l3bashrc'
|
...
If you use xgu.ru backend, your labs will be available at
http://xgu.ru/l3//users/kuzmenko/nt-scale-22-10-2010/linux4.unix.nt.unix.nt
Use commands
 $ l3cd /users/kuzmenko/MY-NEW-CONTEXT/linux4.unix.nt.unix.nt/USER
 $ l3pwd
to change and to know your current context.
For further information see http://xgu.ru/lilalo/ (in Russian).
Thank you gor using LiLaLo.
Happy Labbing!
(don't forget to restart bash or relogin)
/dev/pts/0
10:30:22
$sudo -s
[sudo] password for user:
/dev/pts/3
10:30:38
#screen
/dev/pts/0
10:30:38
#screen
/dev/pts/5
10:30:42
#pkill -1 l3-agent

10:31:28
#date
Mon Mar 22 11:31:31 EET 2010
10:31:31
#ps ax|grep l3

10:31:55
#ps ax|grep l3
 6117 pts/6    R+     0:00 grep l3
10:31:57
#ps ax|grep l3

10:31:58
#ps ax|grep l3

10:32:04
#ps ax|grep l3

10:32:05
#l3-agent

10:32:14
#ps ax|grep l3
 6153 ?        Rs     0:01 l3-agent
 6162 pts/6    R+     0:00 grep l3
10:32:16
#cat /root/.bash
.bash_history  .bash_profile  .bashrc
10:32:16
#cat /root/.bash_profile
l3-agent
прошло 11 минут
10:43:46
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G  3.2G   15G  19% /
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
udev                   10M  728K  9.3M   8% /dev
tmpfs                 1.5G     0  1.5G   0% /dev/shm
10:45:23
#date
Mon Mar 22 11:45:46 EET 2010
10:45:46
##--------------------------------------------

10:48:35
#dmesg | grep [hs]d[a-d]
[    0.000000] Kernel command line: root=/dev/sda2 ro quiet
[    4.605351] sd 3:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
[    4.605351] sd 3:0:0:0: [sda] Write Protect is off
[    4.605351] sd 3:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    4.605351] sd 3:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    4.605351] sd 3:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
[    4.605351] sd 3:0:0:0: [sda] Write Protect is off
[    4.605351] sd 3:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    4.605351] sd 3:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    4.605351]  sda: sda1 sda2
[    4.631032] sd 3:0:0:0: [sda] Attached SCSI disk
[    4.992635] hda: TSSTcorpDVD-ROM SH-D162D, ATAPI CD/DVD-ROM drive
[    6.040210] hda: host max PIO5 wanted PIO255(auto-tune) selected PIO4
[    6.040396] hda: UDMA/33 mode selected
[    7.250758] hda: ATAPI 48X DVD-ROM drive, 198kB Cache
[   11.061850] Adding 4883720k swap on /dev/sda1.  Priority:-1 extents:1 across:4883720k
[   11.451048] EXT3 FS on sda2, internal journal
10:52:39
#find /proc/ -name sda

10:54:03
#ls /proc/ide/
drivers  hda  ide0  ide1
10:54:10
#ls /proc/ide/hda/
capacity  driver  identify  media  model  settings
10:54:35
#cat /proc/ide/hda/model
TSSTcorpDVD-ROM SH-D162D
10:54:52
#file -s /dev/sda
/dev/sda: x86 boot sector; partition 1: ID=0x82, starthead 1, startsector 63, 9767457 sectors; partition 2: ID=0x83, active, starthead 0, startsector 9767520, 39070080 sectors
10:55:05
#fdisk -l /dev/sda
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x2bd2c32a
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1         608     4883728+  82  Linux swap / Solaris
/dev/sda2   *         609        3040    19535040   83  Linux
10:55:14
#file -s /dev/sda1
/dev/sda1: Linux/i386 swap file (new style), version 1 (4K pages), size 1220931 pages, no label, UUID=0-0-0-0-00
10:57:39
#file -s /dev/sda2
/dev/sda2: Linux rev 1.0 ext3 filesystem data, UUID=c8249c5a-6811-489b-bb36-10778d89818 (needs journal recovery) (large files)
10:57:44
#cfdisk
11:04:14
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G  3.2G   15G  19% /
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
udev                   10M  728K  9.3M   8% /dev
tmpfs                 1.5G     0  1.5G   0% /dev/shm
11:04:16
#aptitude install part
parted            parted1.6-doc     partimage         partimage-server
parted1.6         parted-doc        partimage-doc     partlibrary
11:04:16
#aptitude install part
parted            parted1.6-doc     partimage         partimage-server
parted1.6         parted-doc        partimage-doc     partlibrary
11:04:16
#aptitude install parted
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Writing extended state information... Done
Reading task descriptions... Done
The following NEW packages will be installed:
  parted
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
...
Unpacking parted (from .../parted_1.8.8.git.2008.03.24-11.1_i386.deb) ...
Processing triggers for man-db ...
Setting up parted (1.8.8.git.2008.03.24-11.1) ...
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Writing extended state information... Done
Reading task descriptions... Done
11:04:47
#part
parted     partprobe  partx
11:04:47
#partprobe
^C^C^Z
11:05:52
#ls -l /dev/sda*
brw-rw---- 1 root disk 8, 0 2010-03-22 12:04 /dev/sda
brw-rw---- 1 root disk 8, 1 2010-03-22 10:33 /dev/sda1
brw-rw---- 1 root disk 8, 2 2010-03-22 10:33 /dev/sda2
11:06:02
#file -s /dev/sda2
/dev/sda2: Linux rev 1.0 ext3 filesystem data, UUID=c8249c5a-6811-489b-bb36-10778d89818 (needs journal recovery) (large files)
11:07:26
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G  3.2G   15G  19% /
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
udev                   10M  728K  9.3M   8% /dev
tmpfs                 1.5G     0  1.5G   0% /dev/shm
11:08:29
#mkf
mkfifo        mkfontscale   mkfs.bfs      mkfs.ext2     mkfs.ext4     mkfs.minix
mkfontdir     mkfs          mkfs.cramfs   mkfs.ext3     mkfs.ext4dev
11:08:29
#fdisk -l
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x2bd2c32a
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1         608     4883728+  82  Linux swap / Solaris
/dev/sda2   *         609        3040    19535040   83  Linux
/dev/sda3            3041        5472    19535040   83  Linux
11:08:53
#file -s /dev/sda3
/dev/sda3: ERROR: cannot open `/dev/sda3' (No such file or directory)
11:14:28
#ls -l /dev/sda*
brw-rw---- 1 root disk 8, 0 2010-03-22 12:04 /dev/sda
brw-rw---- 1 root disk 8, 1 2010-03-22 10:33 /dev/sda1
brw-rw---- 1 root disk 8, 2 2010-03-22 10:33 /dev/sda2
brw-rw---- 1 root disk 8, 3 2010-03-22 12:10 /dev/sda3
11:16:10
#file -s /dev/sda3
/dev/sda3: data
11:16:16
#mkfs.ext
mkfs.ext2     mkfs.ext3     mkfs.ext4     mkfs.ext4dev
11:16:16
#mkfs.ext4
mkfs.ext4     mkfs.ext4dev
11:16:16
#mkfs.ext4 /dev/sda3
mke2fs 1.41.3 (12-Oct-2008)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1221600 inodes, 4883760 blocks
244188 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
150 block groups
32768 blocks per group, 32768 fragments per group
8144 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
11:16:46
#mount /dev/sda3 /mnt/
mount: unknown filesystem type 'ext4'
11:17:32
#mount /dev/sda3 /mnt/

11:17:35
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G  3.2G   15G  19% /
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
udev                   10M  732K  9.3M   8% /dev
tmpfs                 1.5G     0  1.5G   0% /dev/shm
/dev/sda3              19G  173M   18G   1% /mnt
11:17:37
#fdisk
Usage: fdisk [-l] [-b SSZ] [-u] device
E.g.: fdisk /dev/hda  (for the first IDE disk)
  or: fdisk /dev/sdc  (for the third SCSI disk)
  or: fdisk /dev/eda  (for the first PS/2 ESDI drive)
  or: fdisk /dev/rd/c0d0  or: fdisk /dev/ida/c0d0  (for RAID devices)
  ...
11:17:42
#fdisk /dev/sda
The number of cylinders for this disk is set to 60801.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
...
Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 83
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
11:19:06
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G  3.2G   15G  19% /
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
udev                   10M  732K  9.3M   8% /dev
tmpfs                 1.5G     0  1.5G   0% /dev/shm
/dev/sda3              19G  173M   18G   1% /mnt
11:19:12
#umount /mnt

11:19:25
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G  3.2G   15G  19% /
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
udev                   10M  732K  9.3M   8% /dev
tmpfs                 1.5G     0  1.5G   0% /dev/shm
11:19:26
#fdisk -l
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x2bd2c32a
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1         608     4883728+  82  Linux swap / Solaris
/dev/sda2   *         609        3040    19535040   83  Linux
/dev/sda3            3041        6080    24418800   83  Linux
11:19:31
#file -s /dev/sda3
/dev/sda3: Linux rev 1.0 ext3 filesystem data, UUID=c65387a0-857e-41d0-be93-74cce58bb4a2 (large files)
11:19:38
#mount /dev/sda3 /mnt/

11:19:45
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G  3.2G   15G  19% /
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
udev                   10M  732K  9.3M   8% /dev
tmpfs                 1.5G     0  1.5G   0% /dev/shm
/dev/sda3              19G  173M   18G   1% /mnt
11:22:03
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G  3.2G   15G  19% /
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
udev                   10M  732K  9.3M   8% /dev
tmpfs                 1.5G     0  1.5G   0% /dev/shm
/dev/sda3              19G  173M   18G   1% /mnt
11:22:05
#umount /mnt

11:22:34
#dd if=/dev/zero of=disk1.img count=2048 bs=1024k
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 28.7846 s, 74.6 MB/s
11:23:47
#time sh -c 'dd if=/dev/zero of=disk1.img count=2048 bs=1024k; sync'
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 27.8076 s, 77.2 MB/s
real    0m29.621s
user    0m0.008s
sys     0m6.916s
11:25:55
#dd if=/dev/zero of=disk1.img seek=20480 bs=1024k count=1
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.0028654 s, 366 MB/s
11:27:24
#ls -l disk1.img
-rw-r--r-- 1 root root 21475885056 2010-03-22 12:27 disk1.img
11:27:54
#echo 21475885056/1024/1024 | bc
20481
11:28:27
#echo 21475885056/1024/1024-1 | bc
20480
11:33:21
#echo 2048*2^20 | bc
2147483648
11:34:07
#echo 21475885056-2147483648 | bc
19328401408
11:34:41
#losetup /dev/loop1 disk1.img

11:35:03
#fdisk -l
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x2bd2c32a
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1         608     4883728+  82  Linux swap / Solaris
/dev/sda2   *         609        3040    19535040   83  Linux
/dev/sda3            3041        6080    24418800   83  Linux
11:36:28
#fdisk -l /dev/loop1
Disk /dev/loop1: 21.4 GB, 21475885056 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Disk /dev/loop1 doesn't contain a valid partition table
11:36:37
#fdisk /dev/lo
log    loop0  loop1  loop2  loop3  loop4  loop5  loop6  loop7
11:36:37
#fdisk /dev/loop1
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xb08059ca.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
...
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610):
Using default value 2610
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
11:38:20
#fdisk -l /dev/loop1
Disk /dev/loop1: 21.4 GB, 21475885056 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xb08059ca
      Device Boot      Start         End      Blocks   Id  System
/dev/loop1p1               1        2610    20964793+  83  Linux
11:38:34
#file -s /dev/loop1
/dev/loop1: x86 boot sector; partition 1: ID=0x83, starthead 1, startsector 63, 41929587 sectors
11:39:02
#aptitude install kpartx lvm2
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
The following NEW packages will be installed:
  dmsetup{a} kpartx lvm2
0 packages upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 417kB of archives. After unpacking 1212kB will be used.
...
Setting up LVM Volume Groups  Reading all physical volumes.  This may take a while...
.
Setting up kpartx (0.4.8-14+lenny2) ...
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Writing extended state information... Done
Reading task descriptions... Done
11:39:44
#ps ax|grep lvm
 7247 pts/6    R+     0:00 grep lvm
11:39:51
#/etc/init.d/l
loadcpufreq  lvm2
11:39:51
#/etc/init.d/lvm2 start
Setting up LVM Volume Groups  Reading all physical volumes.  This may take a while...
.
11:40:00
#kpartx -a /dev/loop1

11:40:29
#ls -l /dev/loop1
brw-rw---- 1 root disk 7, 1 2010-03-22 12:38 /dev/loop1
11:40:57
#fdisk -l /dev/loop1
Disk /dev/loop1: 21.4 GB, 21475885056 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xb08059ca
      Device Boot      Start         End      Blocks   Id  System
/dev/loop1p1               1        2610    20964793+  83  Linux
11:42:39
#mkfs.ext3 /dev/loop1
mke2fs 1.41.3 (12-Oct-2008)
/dev/loop1 is apparently in use by the system; will not make a filesystem here!
11:49:28
#mkfs.ext3 /dev/loop1p1
mke2fs 1.41.3 (12-Oct-2008)
Could not stat /dev/loop1p1 --- No such file or directory
The device apparently does not exist; did you specify it correctly?
11:50:14
#mount /dev/mapper/loop1p1 /mnt/

11:50:45
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G  5.6G   12G  33% /
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
udev                   10M  740K  9.3M   8% /dev
tmpfs                 1.5G     0  1.5G   0% /dev/shm
/dev/mapper/loop1p1    20G  173M   19G   1% /mnt
11:50:47
#umount /mnt

11:53:03
#kpartx -d /dev/lo
log    loop0  loop1  loop2  loop3  loop4  loop5  loop6  loop7
11:53:03
#kpartx -d /dev/loop1

11:53:22
#losetup -d /dev/loop1

11:55:48
#apt-get search linux raid
E: Invalid operation search
прошло 82 минуты
13:18:09
#apt-get search linux raid
E: Invalid operation search
13:18:17
#apt-get file linux raid
E: Invalid operation file
13:18:25
#apt-cache search linux raid
aoetools - tools to assist in using ATA over Ethernet
cpqarrayd - monitoring tool for HP (Compaq) SmartArray controllers
dmsetup - The Linux Kernel Device Mapper userspace library
libdevmapper-dev - The Linux Kernel Device Mapper header files
libdevmapper1.02.1 - The Linux Kernel Device Mapper userspace library
dmraid - Device-Mapper Software RAID support tool
drbd0.7-module-source - RAID 1 over tcp/ip for Linux module source
drbd0.7-utils - RAID 1 over tcp/ip for Linux utilities
mdadm - tool to administer Linux MD arrays (software RAID)
libparted1.8-10 - The GNU Parted disk partitioning shared library
...
drbd8-modules-2.6.26-2-486 - RAID 1 over TCP/IP for Linux 2.6.26 on x86
drbd8-modules-2.6.26-2-686 - RAID 1 over TCP/IP for Linux 2.6.26 on PPro/Celeron/PII/PIII/P4
drbd8-modules-2.6.26-2-686-bigmem - RAID 1 over TCP/IP for Linux 2.6.26 on PPro/Celeron/PII/PIII/P4
drbd8-modules-2.6.26-2-amd64 - RAID 1 over TCP/IP for Linux 2.6.26 on AMD64
drbd8-modules-2.6.26-2-openvz-686 - RAID 1 over TCP/IP for Linux 2.6.26 on PPro/Celeron/PII/PIII/P4
drbd8-modules-2.6.26-2-vserver-686 - RAID 1 over TCP/IP for Linux 2.6.26 on PPro/Celeron/PII/PIII/P4
drbd8-modules-2.6.26-2-vserver-686-bigmem - RAID 1 over TCP/IP for Linux 2.6.26 on PPro/Celeron/PII/PIII/P4
drbd8-modules-2.6.26-2-xen-686 - RAID 1 over TCP/IP for Linux 2.6.26 on i686
drbd8-source - RAID 1 over tcp/ip for Linux module source
drbd8-utils - RAID 1 over tcp/ip for Linux utilities
13:19:37
#mdadm -h
mdadm is used for building, managing, and monitoring
Linux md devices (aka RAID arrays)
Usage: mdadm --create device options...
            Create a new array from unused devices.
       mdadm --assemble device options...
            Assemble a previously created array.
       mdadm --build device options...
            Create or assemble an array without metadata.
       mdadm --manage device options...
            make changes to an existing array.
...
            Shorthand for --manage.
Any parameter that does not start with '-' is treated as a device name
or, for --examine-bitmap, a file name.
The first such name is often the name of an md device.  Subsequent
names are often names of component devices.
 For detailed help on the above major modes use --help after the mode
 e.g.
         mdadm --assemble --help
 For general help on options use
         mdadm --help-options
13:19:46
#mdadm -h|less
13:22:06
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G  5.6G   12G  33% /
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
udev                   10M  736K  9.3M   8% /dev
tmpfs                 1.5G     0  1.5G   0% /dev/shm
13:22:21
#rm disk1.img

Файлы

  • /proc/ide/hda/model
  • /root/.bash
  • /root/.bash_profile
  • /tmp/install
  • /proc/ide/hda/model
    >
    TSSTcorpDVD-ROM SH-D162D
    
    /root/.bash
    >
    .bash_history  .bash_profile  .bashrc
    
    /root/.bash_profile
    >
    l3-agent
    
    /tmp/install
    >
    #!/bin/sh
    hostname=`hostname`
    uname -a | grep -qi freebsd || hostname=`hostname -f`
    ###############################################################################
    #
    # Set this variables before installation:
    lilalo_user=${lilalo_user:kuzmenko_public}
    lab=${lab:nt-scale-22-10-2010}
    install_l3bashrc_for_this_users=${users:-"root user"}  # users who will use l3agent and l3script
    lilalo_context="/users/${lilalo_user}/${lab}/${hostname}"
    #
    ###############################################################################
    lilalo_rc=.l3rc
    lilalo_home=.lilalo
    url_lilalo="http://xgu.ru/lilalo"
    url_l3bashrc="${url_lilalo}"/l3bashrc
    url_l3agent="${url_lilalo}"/l3-agent
    url_l3config_pm="${url_lilalo}"/l3config.pm
    url_l3config="${url_lilalo}"/l3-config
    url_l3prompt="${url_lilalo}"/l3prompt
    url_perl_modules=${url_lilalo}/
    perl_modules="Term-VT102 Text-Iconv"
    apt_get_install_this="perl make libmodule-build-perl libc6-dev gcc"
    wget=wget
    uname -a | grep -qi bsd && wget=fetch
    normC='\033[0;39m'
    whiteC='\033[1;37m'
    redC='\033[0;31m'
    greenC='\033[0;32m'
    apt_get_install_deps()
    {
        return 0
        if which apt-get >& /dev/null
        then
            apt-get install -y $apt_get_install_this
        else
            echo "Please install this dependencies manually:"
            echo $apt_get_install_this
            echo "Have you installed this already (y/n)?"
            echo y | read answer
            if echo $answer | grep -q ^[yY]
            then
                true
            else
                echo Please install the dependencies and rerun the script
                exit 1
            fi
        fi
    }
    step()
    {
        msg="$1"
        shift
        printf "${whiteC}""$msg""...${normC}\n"
    #    eval "$@" 2>&1 | sed 's/^/|\ \ \ /' && printf "Ok\n" || printf "Failed\n"
        eval "$@" 2>&1 > log 2>&1 && \
        {
              cat log | sed 's/^/|\ \ \ /'
              printf "${greenC}""Ok\n""${normC}"
        } || \
        {
            cat log | sed 's/^/|\ \ \ /'
            printf "${redC}""Failed\n""${normC}"
        }
    }
    get_user_home()
    {
        uname -a | grep -qi freebsd && pw user show "$@"| awk -F: '{print $9}' || getent passwd "$@"| awk -F: '{print $6}'
    }
    install_to_users_homes()
    {
        . l3bashrc
        users="$@"
        set -x
        for user in $users
        do
            user_home=`get_user_home "$user"`
            mkdir -p ${user_home}/${lilalo_home}
            mkdir /etc/lilalo/
            cp l3config.pm /etc/lilalo/
            cp l3-agent /usr/local/bin
            cp l3-config /usr/local/bin
            ln -s `which bash` /usr/local/bin/l3script
            chmod 755 /usr/local/bin/l3-{agent,config}
            cp l3bashrc ${user_home}/${lilalo_home}
            cp l3prompt ${user_home}/${lilalo_home}
            chmod 755 ${user_home}/${lilalo_home}/l3prompt
            chown -R $user ${user_home}/${lilalo_home}
            echo l3cd=${lilalo_context}/$user > ${user_home}/${lilalo_rc}
            chown -R $user ${user_home}/${lilalo_rc}
        done
        set +x
    }
    install_to_users_bashrc()
    {
        users="$@"
        for user in $users
        do
            user_home=`get_user_home "$user"`
            grep -q lilalo ${user_home}/.bashrc 2> /dev/null\
            || echo "[ \$0 == l3script ] && . ${user_home}/.lilalo/l3bashrc && _l3_start" >> ${user_home}/.bashrc; chown -R ${user} ${user_home}/.bashrc
        done
    }
    install_to_users_bash_profile()
    {
        users="$@"
        for user in $users
        do
            user_home=`get_user_home "$user"`
            grep -q l3-agent ${user_home}/.bash_profile 2> /dev/null \
            || { echo >> ${user_home}/.bash_profile ; cat ${user_home}/.bash_profile | sed '1s/^/l3-agentX/' | tr X '\n' > /tmp/$$$$l3 ; mv /tmp/$$$$l3 ${user_home}/.bash_profile; chown -R ${user} ${user_home}/.bash_profile; }
        done
    }
    show_usage()
    {
        cat <<USAGE
    Usage:
        $0
    USAGE
    }
    show_final_message()
    {
        cat <<FINAL_MESSAGE
    Installation is successfully completed.
    Now restart your shell or relogin
    to start script writing.
    Your current lilalo context is ${lilalo_context}/USER
    If you use xgu.ru backend, your labs will be available at
    http://xgu.ru/l3/${lilalo_context}
    Use commands
     $ l3cd ${lilalo_context%/*/*}/MY-NEW-CONTEXT/${hostname}/USER
     $ l3pwd
    to change and to know your current context.
    For further information see http://xgu.ru/lilalo/ (in Russian).
    Thank you gor using LiLaLo.
    Happy Labbing!
    (don't forget to restart bash or relogin)
    FINAL_MESSAGE
    }
    temp_dir=/tmp/lilalo-install-temp-$$
    mkdir -p ${temp_dir}
    cd ${temp_dir}
    step "Installing dependencies" apt_get_install_deps
    step "Downloading l3bashrc" ${wget} ${url_l3bashrc}
    step "Downloading l3prompt" ${wget} ${url_l3prompt}
    step "Downloading l3-agent" '${wget} ${url_l3agent}; ${wget} ${url_l3config_pm}; ${wget} ${url_l3config}'
    step "Downloading perl modules for l3-agent" '{ for i in ${perl_modules}; do ${wget} ${url_perl_modules}/$i.tar.gz; done; }'
    step "Installing perl modules for l3-agent" '{ for i in ${perl_modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
    step "Installing l3bashrc to users home directories" install_to_users_homes $install_l3bashrc_for_this_users
    step "Adding l3bashrc invocation to ~/.bashrc " install_to_users_bashrc $install_l3bashrc_for_this_users
    step "Adding l3-agent invocation to ~/.bash_profile " install_to_users_bash_profile $install_l3bashrc_for_this_users
    cd /
    rm -rf ${temp_dir}
    show_final_message
    

    Статистика

    Время первой команды журнала10:23:10 2010- 3-22
    Время последней команды журнала13:22:21 2010- 3-22
    Количество командных строк в журнале100
    Процент команд с ненулевым кодом завершения, %11.00
    Процент синтаксически неверно набранных команд, % 0.00
    Суммарное время работы с терминалом *, час 1.61
    Количество командных строк в единицу времени, команда/мин 1.03
    Частота использования команд
    fdisk11|=========| 9.57%
    df10|========| 8.70%
    grep8|======| 6.96%
    file8|======| 6.96%
    ps7|======| 6.09%
    ls6|=====| 5.22%
    echo4|===| 3.48%
    bc4|===| 3.48%
    cat4|===| 3.48%
    mount4|===| 3.48%
    aptitude4|===| 3.48%
    umount3|==| 2.61%
    apt-get3|==| 2.61%
    kpartx3|==| 2.61%
    date3|==| 2.61%
    screen2|=| 1.74%
    mkfs.ext32|=| 1.74%
    losetup2|=| 1.74%
    dd2|=| 1.74%
    mkfs.ext42|=| 1.74%
    mdadm2|=| 1.74%
    cfdisk1|| 0.87%
    mkfs.ext1|| 0.87%
    part1|| 0.87%
    pkill1|| 0.87%
    rm1|| 0.87%
    nano1|| 0.87%
    dmesg1|| 0.87%
    #--------------------------------------------1|| 0.87%
    find1|| 0.87%
    -s1|| 0.87%
    time1|| 0.87%
    sudo1|| 0.87%
    l3-agent1|| 0.87%
    /etc/init.d/lvm21|| 0.87%
    sync'1|| 0.87%
    /etc/init.d/l1|| 0.87%
    sh1|| 0.87%
    less1|| 0.87%
    partprobe1|| 0.87%
    apt-cache1|| 0.87%
    mkf1|| 0.87%
    ____
    *) Интервалы неактивности длительностью 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$