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

Содержание

Журнал

Пятница (08/11/06)

/dev/pts/3
23:05:36
#xm shutdown windowsxp-vm0

23:05:38
#xm create -c windowsxp-vm0
Using config file "windowsxp-vm0".
Started domain windowsxp-vm0
xenconsole: Could not read tty from store: No such file or directory
23:05:45
#tail /var/log/qemu-dm.2
qemu-dm.23421.log  qemu-dm.23971.log  qemu-dm.24763.log
qemu-dm.23681.log  qemu-dm.24498.log  qemu-dm.25014.log
23:05:45
#tail /var/log/qemu-dm.25014.log
domid: 10
qemu: the number of cpus is 1
/usr/lib/xen/bin/qemu-dm: invalid option -- '-hda'
23:05:52
#/usr/lib/xen/bin/qemu-dm
qemu-dm        qemu-dm.debug
23:05:52
#/usr/lib/xen/bin/qemu-dm.debug

23:07:57
#/usr/lib/xen/bin/qemu-dm

23:07:59
#/usr/lib/xen/bin/qemu-dm -hda

23:08:01
#tail /var/log/qemu-dm.2
qemu-dm.23421.log  qemu-dm.23971.log  qemu-dm.24763.log  qemu-dm.25125.log  qemu-dm.25137.log
qemu-dm.23681.log  qemu-dm.24498.log  qemu-dm.25014.log  qemu-dm.25131.log
23:08:01
#tail /var/log/qemu-dm.25137.log
/usr/lib/xen/bin/qemu-dm: invalid option -- '-hda'
23:08:13
#strings /usr/lib/xen/bin/qemu-dm | less
23:08:43
#apt-cache search qemu
proll - JavaStation PROM 2.x compatible replacement
qemu - fast processor emulator
qemu-launcher - GTK+ front-end to QEMU computer emulator
vde - virtual distributed ethernet
vgabios - VGA BIOS software for the Bochs and Qemu emulated VGA card
23:08:48
#man qemu
23:08:57
#apt-get install qemu
Reading package lists... Done
Building dependency tree... Done
The following extra packages will be installed:
  bochsbios libasound2 libdirectfb-0.9-24 libsdl1.2debian libsdl1.2debian-alsa libsvga1 openhackware
  proll svgalibg1 vgabios
Suggested packages:
  libasound2-plugins
The following NEW packages will be installed
  bochsbios libasound2 libdirectfb-0.9-24 libsdl1.2debian libsdl1.2debian-alsa libsvga1 openhackware
  proll qemu svgalibg1 vgabios
...
Setting up libdirectfb-0.9-24 (0.9.24-4) ...
Setting up libsvga1 (1.4.3-23) ...
Setting up svgalibg1 (1.4.3-23) ...
Setting up libsdl1.2debian-alsa (1.2.10-3) ...
Setting up libsdl1.2debian (1.2.10-3) ...
Setting up openhackware (0.4.1-2) ...
Setting up proll (18-2) ...
Setting up vgabios (0.5d-1) ...
Setting up bochsbios (2.2.6-2) ...
Setting up qemu (0.8.1-1) ...
23:10:41
#qemu
qemu                   qemu-img               qemu-ppc               qemu-system-mipsel
qemu-arm               qemu-make-debian-root  qemu-sparc             qemu-system-ppc
qemu-armeb             qemu-mips              qemu-system-arm        qemu-system-sparc
qemu-i386              qemu-mipsel            qemu-system-mips       qemu-system-x86_64
23:10:41
#qemu
qemu                   qemu-img               qemu-ppc               qemu-system-mipsel
qemu-arm               qemu-make-debian-root  qemu-sparc             qemu-system-ppc
qemu-armeb             qemu-mips              qemu-system-arm        qemu-system-sparc
qemu-i386              qemu-mipsel            qemu-system-mips       qemu-system-x86_64
23:10:41
#man qemu
23:10:58
#pwd
/etc/xen
23:10:59
#cd /usr/src/xen-unstable/xen-unstable
xen-unstable/    xen-unstable.hg/
23:10:59
#cd /usr/src/xen-unstable/xen-unstable

23:11:04
#ls
buildconfigs  config     COPYING  docs    install.sh            Makefile  README  xen
ChangeLog     Config.mk  dist     extras  linux-2.6-xen-sparse  patches   tools
23:11:05
#less README
23:11:25
#find . -name \*qemu\*
./tools/ioemu/kqemu.c
./tools/ioemu/kqemu.h
./tools/ioemu/patches/qemu-64bit
./tools/ioemu/patches/qemu-allow-disable-sdl
./tools/ioemu/patches/qemu-bugfixes
./tools/ioemu/patches/qemu-cleanup
./tools/ioemu/patches/qemu-dm
./tools/ioemu/patches/qemu-fix-memset-args
./tools/ioemu/patches/qemu-fix-write-to-disk-synchronous
./tools/ioemu/patches/qemu-hvm-banner
...
./tools/ioemu/qemu-tech.texi
./tools/ioemu/qemu_socket.h
./tools/ioemu/target-i386-dm/qemu-dm.debug
./tools/ioemu/target-i386-dm/qemu-ifup
./tools/ioemu/i386-dm/libqemu.a
./tools/ioemu/i386-dm/qemu-dm
./dist/install/usr/lib/xen/bin/qemu-dm
./dist/install/usr/lib/xen/bin/qemu-dm.debug
./dist/install/usr/share/xen/qemu
./dist/install/etc/xen/qemu-ifup
23:11:33
#cd ./tools/ioemu

23:11:50
#ls
aes.c            configure      gdbstub.c         osdep.h              target-i386-dm
aes.h            console.c      gdbstub.h         patches              tests
a.out.h          COPYING        hw                pc-bios              texi2pod.pl
audio            COPYING.LIB    i386-dis.c        qemu-binfmt-conf.sh  thunk.c
block-bochs.c    cpu-all.h      i386-dm           qemu-doc.texi        thunk.h
block.c          cpu-defs.h     i386.ld           qemu-img.c           TODO
block-cloop.c    cpu-exec.c     i386-vl.ld        qemu-img.texi        translate-all.c
block-cow.c      disas.c        ia64_intrinsic.h  qemu_socket.h        translate-op.c
block-dmg.c      disas.h        ia64.ld           qemu-tech.texi       usb-linux.c
block_int.h      dis-asm.h      keymaps           readline.c           VERSION
block-qcow.c     dyngen.c       keymaps.c         README               vgafont.h
block-vmdk.c     dyngen-exec.h  kqemu.c           README.distrib       vl.c
block-vpc.c      dyngen.h       kqemu.h           sdl.c                vl.h
block-vvfat.c    dyngen-op.h    LICENSE           sdl_keysym.h         vnc.c
bswap.h          elf.h          loader.c          softmmu_exec.h       vnchextile.h
Changelog        elf_ops.h      Makefile          softmmu_header.h     vnc_keysym.h
cocoa.m          exec-all.h     Makefile.target   softmmu_template.h   x86_64.ld
config-host.h    exec.c         monitor.c         tap-win32.c          xenstore.c
config-host.mak  fpu            osdep.c           target-i386
23:11:52
#less README
23:11:58
#w3m qemu
qemu-binfmt-conf.sh  qemu-img.c           qemu_socket.h
qemu-doc.texi        qemu-img.texi        qemu-tech.texi
23:11:58
#w3m qemu-doc.texi

23:12:12
#less qemu-doc.texi
23:12:30
#make
make -C i386-dm all
make[1]: Entering directory `/usr/src/xen-unstable/xen-unstable/tools/ioemu/i386-dm'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/src/xen-unstable/xen-unstable/tools/ioemu/i386-dm'
23:12:38
#make clean
rm -f config.mak config.h op-i386.h opc-i386.h gen-op-i386.h op-arm.h opc-arm.h gen-op-arm.h
rm -f *.o *.a  dyngen TAGS *.pod *~ */*~
make -C tests clean
make[1]: Entering directory `/usr/src/xen-unstable/xen-unstable/tools/ioemu/tests'
rm -f *~ *.o test-i386.out test-i386.ref \
           test-x86_64.log test-x86_64.ref qruncom linux-test testthread sha1-i386 test-i386 runcom sha1
make[1]: Leaving directory `/usr/src/xen-unstable/xen-unstable/tools/ioemu/tests'
for d in i386-dm; do \
        [ -d $d ] && make -C $d clean || exit 0 ; \
        done
make[1]: Entering directory `/usr/src/xen-unstable/xen-unstable/tools/ioemu/i386-dm'
rm -f *.o  *.a *~ qemu-dm gen-op.h opc.h op.h nwfpe/*.o slirp/*.o fpu/*.o
make[1]: Leaving directory `/usr/src/xen-unstable/xen-unstable/tools/ioemu/i386-dm'
23:12:40
#make
/usr/src/xen-unstable/xen-unstable/tools/ioemu/hw/rtl8139.c:1472: warning: ISO C90 forbids mixed declarations and code
/usr/src/xen-unstable/xen-unstable/tools/ioemu/hw/rtl8139.c: In function ‘rtl8139_Cfg9346_write’:
/usr/src/xen-unstable/xen-unstable/tools/ioemu/hw/rtl8139.c:1526: warning: ISO C90 forbids mixed declarations and code
/usr/src/xen-unstable/xen-unstable/tools/ioemu/hw/rtl8139.c: In function ‘rtl8139_TxConfig_writeb’:
/usr/src/xen-unstable/xen-unstable/tools/ioemu/hw/rtl8139.c:1705: warning: ISO C90 forbids mixed declarations and code
/usr/src/xen-unstable/xen-unstable/tools/ioemu/hw/rtl8139.c: In function ‘rtl8139_transmit_one’:
/usr/src/xen-unstable/xen-unstable/tools/ioemu/hw/rtl8139.c:1781: warning: ISO C90 forbids mixed declarations and code
/usr/src/xen-unstable/xen-unstable/tools/ioemu/hw/rtl8139.c: In function ‘rtl8139_cplus_transmit_one’:
/usr/src/xen-unstable/xen-unstable/tools/ioemu/hw/rtl8139.c:1905: warning: ISO C90 forbids mixed declarations and code
/usr/src/xen-unstable/xen-unstable/tools/ioemu/hw/rtl8139.c:1916: warning: ISO C90 forbids mixed declarations and code
...
/usr/src/xen-unstable/xen-unstable/tools/ioemu/hw/sb16.c:1351: warning: pointer targets in passing argument 2 of ‘qemu_get_be32s’ differ in signedness
/usr/src/xen-unstable/xen-unstable/tools/ioemu/hw/sb16.c:1352: warning: pointer targets in passing argument 2 of ‘qemu_get_be32s’ differ in signedness
/usr/src/xen-unstable/xen-unstable/tools/ioemu/hw/sb16.c:1353: warning: pointer targets in passing argument 2 of ‘qemu_get_be32s’ differ in signedness
/usr/src/xen-unstable/xen-unstable/tools/ioemu/hw/sb16.c:1354: warning: pointer targets in passing argument 2 of ‘qemu_get_be32s’ differ in signedness
/usr/src/xen-unstable/xen-unstable/tools/ioemu/hw/sb16.c:1355: warning: pointer targets in passing argument 2 of ‘qemu_get_be32s’ differ in signedness
/usr/src/xen-unstable/xen-unstable/tools/ioemu/hw/sb16.c:1357: warning: pointer targets in passing argument 2 of ‘qemu_get_be32s’ differ in signedness
gcc -O2 -DNDEBUG -m32 -march=i686 -Wall -Wstrict-prototypes -Wdeclaration-after-statement  -D__XEN_TOOLS__ -Wall -O2 -g -fno-strict-aliasing -DUSE_SSE2=1 -msse2  -fomit-frame-pointer -I. -I.. -I/usr/src/xen-unstable/xen-unstable/tools/ioemu/target-i386-dm -I/usr/src/xen-unstable/xen-unstable/tools/ioemu -I../../../tools/libxc -I../../../tools/xenstore -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEF
/usr/src/xen-unstable/xen-unstable/tools/ioemu/hw/es1370.c: In function ‘es1370_writew’:
/usr/src/xen-unstable/xen-unstable/tools/ioemu/hw/es1370.c:520: warning: ISO C90 forbids mixed declarations and code
gcc -O2 -DNDEBUG -m32 -march=i686 -Wall -Wstrict-prototypes -Wdeclaration-after-statement  -D__XEN_TOOLS__ -Wall -O2 -g -fno-strict-aliasing -DUSE_SSE2=1 -msse2  -fomit-frame-pointer -I. -I.. -I/usr/src/xen-unstable/xen-unstable/tools/ioemu/target-i386-dm -I/usr/src/xen-unstable/xen-unstable/tools/ioemu -I../../../tools/libxc -I../../../tools/xenstore -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEF
23:13:12
#which xm
/usr/sbin/xm
23:13:16
#ls -l `which xm`
-rwxr-xr-x 1 root root 242 2006-08-11 22:43 /usr/sbin/xm
23:13:23
#date
Fri Aug 11 23:13:26 EEST 2006
23:13:26
#make install
make -C i386-dm all
make[1]: Entering directory `/usr/src/xen-unstable/xen-unstable/tools/ioemu/i386-dm'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/src/xen-unstable/xen-unstable/tools/ioemu/i386-dm'
mkdir -p "//usr/lib/xen/bin"
mkdir -p "//usr/share/xen/qemu/keymaps"
for x in da     en-gb  et  fr     fr-ch  is  lt  modifiers  no  pt-br  sv ar      de     en-us  fi  fr-be  hr     it  lv  nl         pl  ru     th common  de-ch  es     fo  fr-ca  hu     ja  mk  nl-be      pt  sl     tr; do \
                install -m 644 /usr/src/xen-unstable/xen-unstable/tools/ioemu/keymaps/$x "//usr/share/xen/qemu/keymaps"; \
        done
for d in i386-dm; do \
        make -C $d install || exit 1 ; \
        done
make[1]: Entering directory `/usr/src/xen-unstable/xen-unstable/tools/ioemu/i386-dm'
mkdir -p "//usr/lib/xen/bin" "//etc/xen"
install -m 755 -s qemu-dm "//usr/lib/xen/bin"
install -m 755 /usr/src/xen-unstable/xen-unstable/tools/ioemu/target-i386-dm/qemu-dm.debug "//usr/lib/xen/bin"
install -m 755 /usr/src/xen-unstable/xen-unstable/tools/ioemu/target-i386-dm/qemu-ifup "//etc/xen"
make[1]: Leaving directory `/usr/src/xen-unstable/xen-unstable/tools/ioemu/i386-dm'
23:13:39
#ls
aes.c            configure      gdbstub.c         osdep.h              target-i386-dm
aes.h            console.c      gdbstub.h         patches              tests
a.out.h          COPYING        hw                pc-bios              texi2pod.pl
audio            COPYING.LIB    i386-dis.c        qemu-binfmt-conf.sh  thunk.c
block-bochs.c    cpu-all.h      i386-dm           qemu-doc.texi        thunk.h
block.c          cpu-defs.h     i386.ld           qemu-img.c           TODO
block-cloop.c    cpu-exec.c     i386-vl.ld        qemu-img.texi        translate-all.c
block-cow.c      disas.c        ia64_intrinsic.h  qemu_socket.h        translate-op.c
block-dmg.c      disas.h        ia64.ld           qemu-tech.texi       usb-linux.c
block_int.h      dis-asm.h      keymaps           readline.c           VERSION
block-qcow.c     dyngen.c       keymaps.c         README               vgafont.h
block-vmdk.c     dyngen-exec.h  kqemu.c           README.distrib       vl.c
block-vpc.c      dyngen.h       kqemu.h           sdl.c                vl.h
block-vvfat.c    dyngen-op.h    LICENSE           sdl_keysym.h         vnc.c
bswap.h          elf.h          loader.c          softmmu_exec.h       vnchextile.h
Changelog        elf_ops.h      Makefile          softmmu_header.h     vnc_keysym.h
cocoa.m          exec-all.h     Makefile.target   softmmu_template.h   x86_64.ld
config-host.h    exec.c         monitor.c         tap-win32.c          xenstore.c
config-host.mak  fpu            osdep.c           target-i386
23:14:05
#ls i386-dm/
acpi.o         block-vmdk.o   es1370.o      Makefile       pci.o        rtl8139.o    usb.o
aes.o          block-vpc.o    exec-dm.o     mc146818rtc.o  pckbd.o      sb16.o       usb-ohci.o
audio.o        block-vvfat.o  fdc.o         mixeng.o       pcnet.o      scsi-disk.o  usb-uhci.o
block-bochs.o  cdrom.o        fpu           monitor.o      pc.o         serial.o     vga.o
block-cloop.o  cirrus_vga.o   helper2.o     ne2000.o       piix4acpi.o  slirp        vl.o
block-cow.o    config.h       i8259-dm.o    noaudio.o      piix_pci.o   usb-hid.o    vnc.o
block-dmg.o    config.mak     ide.o         osdep.o        ps2.o        usb-hub.o    wavaudio.o
block.o        console.o      libqemu.a     ossaudio.o     qemu-dm      usb-linux.o  wavcapture.o
block-qcow.o   dma.o          lsi53c895a.o  parallel.o     readline.o   usb-msd.o    xenstore.o
23:14:13
#ls i386-dm/qemu-dm
i386-dm/qemu-dm
23:14:26
#i386-dm/qemu-dm

23:14:28
#strings i386-dm/qemu-dm
backslash
bracketright
asciicircum
underscore
braceleft
braceright
asciitilde
nobreakspace
exclamdown
sterling
...
Pause
Escape
Could not read keymap file: '%s'
Warning: Could not assign keysym %s (0x%x) because of memory constraints.
vnc: memory allocation failed
Warning: no scancode found for keysym %d
Cannot acquire xenctrl handle
? xc_domain_shutdown failed to issue poweroff, sts %d, errno %d
Fatal error while trying to get io event!
False I/O request ... in-service already: %x, pvalid: %x, port: %llx, data: %llx, count: %llx, size: %llx
23:14:37
#strings i386-dm/qemu-dm | less
23:15:58
#ls /usr/lib/
Display all 399 possibilities? (y or n)
23:15:58
#ls /usr/lib/
apt                             libgettextpo.so.0.1.0         libopcodes-2.17.so
bcc                             libgettextsrc-0.14.6.so       libopencdk.so.8
crt0-efi-ia32.o                 libgettextsrc.la              libopencdk.so.8.0.4
crt1.o                          libgettextsrc.so              libpanel.a
crti.o                          libgnuefi.a                   libpanel.so
crtn.o                          libgnutls-extra.so.11         libpanel.so.5
debootstrap                     libgnutls-extra.so.11.1.16    libpanel.so.5.5
directfb-0.9.24                 libgnutls-extra.so.12         libpanelw.so.5
dpkg                            libgnutls-extra.so.12.3.8     libpanelw.so.5.5
e2initrd_helper                 libgnutls-extra.so.13         libpcreposix.so.3
...
libgdbm_compat.so.3.0.0         libnsl.so                     sftp-server
libgdbm.so.3                    libnss_compat.so              ssl
libgdbm.so.3.0.0                libnss_db-2.2.3.so            sudo
libgettextlib-0.14.6.so         libnss_db.so                  tasksel
libgettextlib.la                libnss_db.so.2                tc
libgettextlib.so                libnss_dns.so                 valgrind
libgettextpo.a                  libnss_files.so               w3m
libgettextpo.la                 libnss_hesiod.so              X11
libgettextpo.so                 libnss_nisplus.so             xen
libgettextpo.so.0               libnss_nis.so                 xen-tools
23:16:08
#ls /usr/lib/xen-tools/
centos4.d  dapper.d  etch.d    gentoo.d  sid.d     ubuntu.d
common.sh  debian.d  fedora.d  sarge.d   stentz.d
23:16:10
#ls /usr/lib/xen/
bin  boot  libxenctrl.so  libxenguest.so  libxenstore.so
23:16:13
#ls /usr/lib/xen/bin/
qemu-dm  qemu-dm.debug  xc_restore  xc_save  xenconsole  xenctx
23:16:15
#ls /usr/lib/xen-tools/
centos4.d  dapper.d  etch.d    gentoo.d  sid.d     ubuntu.d
common.sh  debian.d  fedora.d  sarge.d   stentz.d
23:16:35
#ls /usr/lib/xen-tools/
centos4.d/ dapper.d/  etch.d/    gentoo.d/  sid.d/     ubuntu.d/
common.sh  debian.d/  fedora.d/  sarge.d/   stentz.d/
23:16:35
#ls /usr/lib/xen-tools/etch.d/
10-disable-tls       35-setup-users       60-copy-host-files   90-make-fstab
15-disable-hwclock   40-setup-networking  65-copy-user-files   99-clean-image
20-setup-apt         50-setup-hostname    70-install-ssh       role.d/
30-fix-inittab       55-create-dev        80-install-modules
23:16:35
#xm list
Name                              ID Mem(MiB) VCPUs State  Time(s)
Domain-0                           0      256     4 r-----  1584.1
windowsxp-vm0                     10      512     1 -b----     0.0
23:16:51
#xm shutdon windowsxp-vm0
Error: Sub Command shutdon not found!
Usage: xm <subcommand> [args]
    Control, list, and manipulate Xen guest instances
xm common subcommands:
   console <DomId>                  Attach to domain DomId's console.
   create [-c] <ConfigFile>
               [Name=Value]..       Create a domain based on Config File
   destroy <DomId>                  Terminate a domain immediately
   help                             Display this message
   list [--long] [DomId, ...]       List information about domains
...
   restore <File>                   Create a domain from a saved state file
   save <DomId> <File>              Save domain state (and config) to file
   shutdown <DomId> [-w][-a][-R|-H] Shutdown a domain
   top                              Monitor system and domains in real-time
   unpause <DomId>                  Unpause a paused domain
   vcpu-set <DomId> <VCPUs>         Set the number of VCPUs for a domain
<DomName> can be substituted for <DomId> in xm subcommands.
For a complete list of subcommands run 'xm help --long'
For more help on xm see the xm(1) man page
For more help on xm create, see the xmdomain.cfg(5) man page
23:17:01
#xm shutdown windowsxp-vm0

23:17:10
#xm list
Name                              ID Mem(MiB) VCPUs State  Time(s)
Domain-0                           0      256     4 r-----  1585.3
23:17:13
#vi /etc/xen
23:17:13
#vi /etc/xen
23:17:13
#vi /etc/xen/
23:17:13
#vi /etc/xen/xmexample.vti
23:18:31
#vi /etc/xen/xmexample.hvm
23:19:26
#vi /etc/xen/windowsxp-vm0
11c11
< disk 	= [ 'file:/xen/images/windowsxp-vm0.img,ioemu:hda,w' ]
---
> disk 	= [ 'file:/xen/images/windowsxp-vm0.img,hda,w' ]
23:19:49
#xm create -c windowsxp-vm0
Using config file "/etc/xen/windowsxp-vm0".
Started domain windowsxp-vm0
xenconsole: Could not read tty from store: No such file or directory
23:20:05
#tail /var/log/qemu-dm.2
qemu-dm.23421.log  qemu-dm.24498.log  qemu-dm.25125.log  qemu-dm.26016.log
qemu-dm.23681.log  qemu-dm.24763.log  qemu-dm.25131.log  qemu-dm.26303.log
qemu-dm.23971.log  qemu-dm.25014.log  qemu-dm.25137.log
23:20:05
#tail /var/log/qemu-dm.26303.log
domid: 11
qemu: the number of cpus is 1
/usr/lib/xen/bin/qemu-dm: invalid option -- '-macaddr'
23:20:15
#vi /etc/xen/windowsxp-vm0
23:20:38
#vi /etc/xen/xmexample.hvm
23:21:07
#tail /var/log/qemu-dm.26303.log
domid: 11
qemu: the number of cpus is 1
/usr/lib/xen/bin/qemu-dm: invalid option -- '-macaddr'
23:21:09
#usr/lib/xen/bin/qemu-dm -macadr sgdsg
bash: usr/lib/xen/bin/qemu-dm: No such file or directory
23:21:17
#/usr/lib/xen/bin/qemu-dm -macadr sgdsg

23:21:21
#tail /var/log/qemu-dm.26
qemu-dm.26016.log  qemu-dm.26303.log  qemu-dm.26464.log
23:21:21
#tail /var/log/qemu-dm.26464.log
/usr/lib/xen/bin/qemu-dm: invalid option -- '-macadr'
23:21:27
#/usr/lib/xen/bin/qemu-dm -macadrddd sgdsg

23:21:31
#tail /var/log/qemu-dm.2
qemu-dm.23421.log  qemu-dm.24498.log  qemu-dm.25125.log  qemu-dm.26016.log  qemu-dm.26482.log
qemu-dm.23681.log  qemu-dm.24763.log  qemu-dm.25131.log  qemu-dm.26303.log
qemu-dm.23971.log  qemu-dm.25014.log  qemu-dm.25137.log  qemu-dm.26464.log
23:21:31
#tail /var/log/qemu-dm.26482.log
/usr/lib/xen/bin/qemu-dm: invalid option -- '-macadrddd'
23:21:40
#man quemu
23:22:06
#man qemu
23:22:32
#ls
aes.c            configure      gdbstub.c         osdep.h              target-i386-dm
aes.h            console.c      gdbstub.h         patches              tests
a.out.h          COPYING        hw                pc-bios              texi2pod.pl
audio            COPYING.LIB    i386-dis.c        qemu-binfmt-conf.sh  thunk.c
block-bochs.c    cpu-all.h      i386-dm           qemu-doc.texi        thunk.h
block.c          cpu-defs.h     i386.ld           qemu-img.c           TODO
block-cloop.c    cpu-exec.c     i386-vl.ld        qemu-img.texi        translate-all.c
block-cow.c      disas.c        ia64_intrinsic.h  qemu_socket.h        translate-op.c
block-dmg.c      disas.h        ia64.ld           qemu-tech.texi       usb-linux.c
block_int.h      dis-asm.h      keymaps           readline.c           VERSION
block-qcow.c     dyngen.c       keymaps.c         README               vgafont.h
block-vmdk.c     dyngen-exec.h  kqemu.c           README.distrib       vl.c
block-vpc.c      dyngen.h       kqemu.h           sdl.c                vl.h
block-vvfat.c    dyngen-op.h    LICENSE           sdl_keysym.h         vnc.c
bswap.h          elf.h          loader.c          softmmu_exec.h       vnchextile.h
Changelog        elf_ops.h      Makefile          softmmu_header.h     vnc_keysym.h
cocoa.m          exec-all.h     Makefile.target   softmmu_template.h   x86_64.ld
config-host.h    exec.c         monitor.c         tap-win32.c          xenstore.c
config-host.mak  fpu            osdep.c           target-i386
23:22:55
#less qemu
23:22:55
#less qemu-
23:22:55
#grep -r macaddr .
./hw/lance.c:    uint8_t macaddr[6]; /* init mac address */
./hw/lance.c:    memcpy(s->phys, s->macaddr, 6);
./hw/lance.c:    memcpy(s->macaddr, nd->macaddr, 6);
./hw/lance.c:             "lance macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
./hw/lance.c:             s->macaddr[0],
./hw/lance.c:             s->macaddr[1],
./hw/lance.c:             s->macaddr[2],
./hw/lance.c:             s->macaddr[3],
./hw/lance.c:             s->macaddr[4],
./hw/lance.c:             s->macaddr[5]);
...
./vl.c:            if (parse_macaddr(macaddr, buf) < 0) {
./vl.c:           "-net nic[,vlan=n][,macaddr=addr][,model=type]\n"
./vl.h:    uint8_t macaddr[6];
Binary file ./i386-dm/vl.o matches
Binary file ./i386-dm/pci.o matches
Binary file ./i386-dm/ne2000.o matches
Binary file ./i386-dm/rtl8139.o matches
Binary file ./i386-dm/pcnet.o matches
Binary file ./i386-dm/pc.o matches
Binary file ./i386-dm/qemu-dm matches
23:23:18
#which xm
/usr/sbin/xm
23:23:33
#less `!!`
23:23:51
#ls /usr/lib/python
grub  xen
23:23:55
#ls /usr/lib/python/xen/
__init__.py  __init__.pyc  lowlevel  sv  util  web  xend  xm
23:23:57
#ls -l /usr/lib/python/xen/xm/
total 352
-rw-r--r-- 1 root root  5455 2006-08-11 08:12 addlabel.py
-rw-r--r-- 1 root root  5139 2006-08-11 22:43 addlabel.pyc
-rw-r--r-- 1 root root  7202 2006-08-11 08:12 cfgbootpolicy.py
-rw-r--r-- 1 root root  6563 2006-08-11 22:43 cfgbootpolicy.pyc
-rw-r--r-- 1 root root  1064 2006-08-11 08:12 console.py
-rw-r--r-- 1 root root   487 2006-08-11 22:43 console.pyc
-rw-r--r-- 1 root root 39942 2006-08-11 08:12 create.py
-rw-r--r-- 1 root root 43353 2006-08-11 22:43 create.pyc
-rw-r--r-- 1 root root  2051 2006-08-11 08:12 dry-run.py
...
-rw-r--r-- 1 root root 20052 2006-08-11 22:43 opts.pyc
-rw-r--r-- 1 root root  1903 2006-08-11 08:12 resources.py
-rw-r--r-- 1 root root  1627 2006-08-11 22:43 resources.pyc
-rw-r--r-- 1 root root  3850 2006-08-11 08:12 rmlabel.py
-rw-r--r-- 1 root root  3524 2006-08-11 22:43 rmlabel.pyc
-rw-r--r-- 1 root root  3131 2006-08-11 08:12 shutdown.py
-rw-r--r-- 1 root root  3416 2006-08-11 22:43 shutdown.pyc
-rw-r--r-- 1 root root   701 2006-08-11 08:12 sysrq.py
-rw-r--r-- 1 root root  1106 2006-08-11 22:43 sysrq.pyc
drwxr-xr-x 2 root root  4096 2006-08-11 22:43 tests
23:24:01
#date
Fri Aug 11 23:24:11 EEST 2006
23:24:11
#apt-get remove xen-utils
Reading package lists... Done
Building dependency tree... Done
Note, selecting xen-utils-3.0 for regex ‘xen-utils’
The following packages will be REMOVED
  xen-utils-3.0
0 upgraded, 0 newly installed, 1 to remove and 2 not upgraded.
Need to get 0B of archives.
After unpacking 1368kB disk space will be freed.
Do you want to continue [Y/n]? Y
(Reading database ... 35439 files and directories currently installed.)
...
.Traceback (most recent call last):
  File "/usr/sbin/xend", line 44, in ?
    libpath = xen.util.auxbin.libpath()
AttributeError: 'module' object has no attribute 'libpath'
invoke-rc.d: initscript xend, action "start" failed.
dpkg: error while cleaning up:
 subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
 xen-utils-3.0
E: Sub-process /usr/bin/dpkg returned an error code (1)
23:24:41
#xm
Usage: xm <subcommand> [args]
    Control, list, and manipulate Xen guest instances
xm common subcommands:
   console <DomId>                  Attach to domain DomId's console.
   create [-c] <ConfigFile>
               [Name=Value]..       Create a domain based on Config File
   destroy <DomId>                  Terminate a domain immediately
   help                             Display this message
   list [--long] [DomId, ...]       List information about domains
   mem-set <DomId> <Mem>            Adjust the current memory usage for a domain
...
   restore <File>                   Create a domain from a saved state file
   save <DomId> <File>              Save domain state (and config) to file
   shutdown <DomId> [-w][-a][-R|-H] Shutdown a domain
   top                              Monitor system and domains in real-time
   unpause <DomId>                  Unpause a paused domain
   vcpu-set <DomId> <VCPUs>         Set the number of VCPUs for a domain
<DomName> can be substituted for <DomId> in xm subcommands.
For a complete list of subcommands run 'xm help --long'
For more help on xm see the xm(1) man page
For more help on xm create, see the xmdomain.cfg(5) man page
23:24:46
#cd ../../

23:24:51
#ls
buildconfigs  config     COPYING  docs    install.sh            Makefile  README  xen
ChangeLog     Config.mk  dist     extras  linux-2.6-xen-sparse  patches   tools
23:24:52
#make help
Installation targets:
  install          - build and install everything
  install-xen      - build and install the Xen hypervisor
  install-tools    - build and install the control tools
  install-kernels  - build and install guest kernels
  install-docs     - build and install user documentation
Building targets:
  dist             - build and install everything into local dist directory
  world            - clean everything, delete guest kernel build
                     trees then make dist
...
  mkpatches        - make patches against vanilla kernels from
                     sparse trees
  uninstall        - attempt to remove installed Xen tools
                     (use with extreme care!)
Environment:
  XEN_PYTHON_NATIVE_INSTALL=y
                   - native python install or dist
                     install into prefix/lib/python<VERSION>
                     instead of <PREFIX>/lib/python
                     true if set to non-empty value, false otherwise
23:24:57
#make install-tools
byte-compiling //usr/lib/python/xen/util/bugtool.py to bugtool.pyc
byte-compiling //usr/lib/python/xen/util/diagnose.py to diagnose.pyc
byte-compiling //usr/lib/python/xen/util/dictio.py to dictio.pyc
byte-compiling //usr/lib/python/xen/util/ip.py to ip.pyc
byte-compiling //usr/lib/python/xen/util/mac.py to mac.pyc
byte-compiling //usr/lib/python/xen/util/pci.py to pci.pyc
byte-compiling //usr/lib/python/xen/util/security.py to security.pyc
byte-compiling //usr/lib/python/xen/util/xmlrpclib2.py to xmlrpclib2.pyc
byte-compiling //usr/lib/python/xen/util/xpopen.py to xpopen.pyc
byte-compiling //usr/lib/python/xen/xend/Args.py to Args.pyc
...
make[4]: Entering directory `/usr/src/xen-unstable/xen-unstable/tools/ioemu/i386-dm'
mkdir -p "//usr/lib/xen/bin" "//etc/xen"
install -m 755 -s qemu-dm "//usr/lib/xen/bin"
install -m 755 /usr/src/xen-unstable/xen-unstable/tools/ioemu/target-i386-dm/qemu-dm.debug "//usr/lib/xen/bin"
install -m 755 /usr/src/xen-unstable/xen-unstable/tools/ioemu/target-i386-dm/qemu-ifup "//etc/xen"
make[4]: Leaving directory `/usr/src/xen-unstable/xen-unstable/tools/ioemu/i386-dm'
make[3]: Leaving directory `/usr/src/xen-unstable/xen-unstable/tools/ioemu'
make[2]: Leaving directory `/usr/src/xen-unstable/xen-unstable/tools'
install -d -m0755 -p //var/xen/dump
make[1]: Leaving directory `/usr/src/xen-unstable/xen-unstable/tools'
23:25:09
#xm
Usage: xm <subcommand> [args]
    Control, list, and manipulate Xen guest instances
xm common subcommands:
   console <DomId>                  Attach to domain DomId's console.
   create [-c] <ConfigFile>
               [Name=Value]..       Create a domain based on Config File
   destroy <DomId>                  Terminate a domain immediately
   help                             Display this message
   list [--long] [DomId, ...]       List information about domains
   mem-set <DomId> <Mem>            Adjust the current memory usage for a domain
...
   restore <File>                   Create a domain from a saved state file
   save <DomId> <File>              Save domain state (and config) to file
   shutdown <DomId> [-w][-a][-R|-H] Shutdown a domain
   top                              Monitor system and domains in real-time
   unpause <DomId>                  Unpause a paused domain
   vcpu-set <DomId> <VCPUs>         Set the number of VCPUs for a domain
<DomName> can be substituted for <DomId> in xm subcommands.
For a complete list of subcommands run 'xm help --long'
For more help on xm see the xm(1) man page
For more help on xm create, see the xmdomain.cfg(5) man page
23:25:13
#dpkg -L xen-tool
Package `xen-tool' is not installed.
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.
23:25:22
#dpkg -L xen-tools
/.
/usr
/usr/bin
/usr/bin/xen-create-image
/usr/bin/xt-customize-image
/usr/bin/xt-install-image
/usr/bin/xt-create-xen-config
/usr/bin/xen-delete-image
/usr/bin/xen-list-images
/usr/bin/xen-update-image
...
/etc/xen-tools/xen-tools.conf
/etc/xen-tools/xm.tmpl
/etc/bash_completion.d
/etc/bash_completion.d/xen-tools
/etc/bash_completion.d/xm
/usr/lib/xen-tools/sarge.d
/usr/lib/xen-tools/etch.d
/usr/lib/xen-tools/sid.d
/usr/lib/xen-tools/stentz.d
/usr/lib/xen-tools/dapper.d
23:25:24
#dpkg -L xen-tools | less
23:25:40
#dpkg -l \ grep xen
No packages found matching  grep.
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name                Version             Description
+++-===================-===================-======================================================
un  xen                 <none>              (no description available)
23:25:45
#dpkg -l | grep xen
ii  libc6-xen                              2.3.6-15                    GNU C Library: Shared libraries [Xen version
ii  linux-image-2.6-xen-vserver-686        2.6.16+0.2                  Linux kernel 2.6 image on PPro/Celeron/PII/P
ii  linux-image-2.6.16-2-xen-vserver-686   2.6.16-17                   Linux kernel 2.6.16 image on PPro/Celeron/PI
ii  linux-image-2.6.16-prexen2             2.6.16-prexen2-10.00.Custom Linux kernel binary image for version 2.6.16
ii  linux-modules-2.6.16-2-xen-vserver-686 2.6.16-17                   Linux kernel modules 2.6.16 image on PPro/Ce
ii  linux-xen0-2.6.16-xen0-b4              2.6.16-xen0-b4-10.00.Custom Linux xen kernel binary image for version 2.
ii  linux-xenu-2.6.16-xen0                 2.6.16-xen0-10.00.Custom    Linux xen kernel binary image for version 2.
ii  linux-xenu-2.6.16-xen0-b2              2.6.16-xen0-b2-10.00.Custom Linux xen kernel binary image for version 2.
ii  linux-xenu-2.6.16-xen0-b3              2.6.16-xen0-b3-10.00.Custom Linux xen kernel binary image for version 2.
ii  xen-hypervisor-3.0-i386                3.0.2+hg9697-1              The Xen Hypervisor for i386
ii  xen-hypervisor-3.0-i386-pae            3.0.2+hg9697-1              The Xen Hypervisor for i386 (pae enabled ver
ii  xen-tools                              2.2-3                       Tools to manage debian XEN virtual servers
rF  xen-utils-3.0                          3.0.2+hg9697-1              XEN administrative tools
23:25:52
#dpkg -L xen-utils-3.0 | less
23:26:20
#dpkg -L xen-utils-3.0
/usr/lib/python2.3/site-packages
/usr/lib/python2.3/site-packages/xen
/usr/lib/python2.3/site-packages/xen/__init__.py
/usr/lib/python2.3/site-packages/xen/lowlevel
/usr/lib/python2.3/site-packages/xen/lowlevel/__init__.py
/usr/lib/python2.3/site-packages/xen/lowlevel/xc.so
/usr/lib/python2.3/site-packages/xen/lowlevel/xs.so
/usr/lib/python2.3/site-packages/xen/util
/usr/lib/python2.3/site-packages/xen/util/Brctl.py
/usr/lib/python2.3/site-packages/xen/util/__init__.py
...
/usr/share/man/man5/xmdomain.cfg.5.gz
/usr/share/man/man8
/usr/share/man/man8/xentop.8.gz
/usr/share/man/man8/xm.8.gz
/usr/share/doc
/usr/share/doc/xen-utils-3.0
/usr/share/doc/xen-utils-3.0/copyright
/usr/share/doc/xen-utils-3.0/changelog.Debian.gz
/usr/share/doc/xen-utils-3.0/NEWS.Debian.gz
/usr/share/doc/xen-utils-3.0/README.Debian.gz
23:26:26
#apt-get remove xen-utils-3.0
Reading package lists... Done
Building dependency tree... Done
The following packages will be REMOVED
  xen-utils-3.0
0 upgraded, 0 newly installed, 1 to remove and 2 not upgraded.
1 not fully installed or removed.
Need to get 0B of archives.
After unpacking 1368kB disk space will be freed.
Do you want to continue [Y/n]? Y
(Reading database ... 35439 files and directories currently installed.)
...
.Traceback (most recent call last):
  File "/usr/sbin/xend", line 44, in ?
    libpath = xen.util.auxbin.libpath()
AttributeError: 'module' object has no attribute 'libpath'
invoke-rc.d: initscript xend, action "start" failed.
dpkg: error while cleaning up:
 subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
 xen-utils-3.0
E: Sub-process /usr/bin/dpkg returned an error code (1)
23:26:44
#apt-get -f remove xen-utils-3.0
Reading package lists... Done
Building dependency tree... Done
The following packages will be REMOVED
  xen-utils-3.0
0 upgraded, 0 newly installed, 1 to remove and 2 not upgraded.
1 not fully installed or removed.
Need to get 0B of archives.
After unpacking 1368kB disk space will be freed.
Do you want to continue [Y/n]? Y
(Reading database ... 35439 files and directories currently installed.)
...
.Traceback (most recent call last):
  File "/usr/sbin/xend", line 44, in ?
    libpath = xen.util.auxbin.libpath()
AttributeError: 'module' object has no attribute 'libpath'
invoke-rc.d: initscript xend, action "start" failed.
dpkg: error while cleaning up:
 subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
 xen-utils-3.0
E: Sub-process /usr/bin/dpkg returned an error code (1)

Статистика

Время первой команды журнала23:05:36 2006- 8-11
Время последней команды журнала23:26:44 2006- 8-11
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, %22.77
Процент синтаксически неверно набранных команд, % 0.99
Суммарное время работы с терминалом *, час 0.35
Количество командных строк в единицу времени, команда/мин 4.78
Частота использования команд
ls19|=================| 17.92%
tail11|==========| 10.38%
less10|=========| 9.43%
xm9|========| 8.49%
vi8|=======| 7.55%
dpkg7|======| 6.60%
qemu-dm7|======| 6.60%
make6|=====| 5.66%
man4|===| 3.77%
cd4|===| 3.77%
apt-get4|===| 3.77%
strings3|==| 2.83%
qemu2|=| 1.89%
grep2|=| 1.89%
w3m2|=| 1.89%
date2|=| 1.89%
which2|=| 1.89%
pwd1|| 0.94%
qemu-dm.debug1|| 0.94%
find1|| 0.94%
apt-cache1|| 0.94%
____
*) Интервалы неактивности длительностью 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$