SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
纯手工打造虚拟器件
Based on RedHat Linux distributions
李建盛
2010.10.19
1.5
Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn
议程
Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
2 / 25
注:本演示文稿大多数时候都是实际的例子粘贴!所以不会有太多的理论和教条。
1. 制作虚拟编译环境
2. 定制安装介质
3. 制作虚拟镜像
制作虚拟编译环境
Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
3 / 25
也许你听说过LFS发行版,从头开始定制环境是个什么样的流程,你已经成竹在胸。
制作虚拟编译环境
准备工作
制作虚拟编译环境 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
4 / 25
root@code Centos5.5]# scp CentOS-5.5-i386-bin-DVD.iso root@192.168.210.153:~/
The authenticity of host '192.168.210.153 (192.168.210.153)' can't be established.
RSA key fingerprint is 31:e1:e4:fa:ef:26:8a:8b:5f:0e:43:e4:d6:25:e0:63.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.210.153' (RSA) to the list of known hosts.
reverse mapping checking getaddrinfo for bogon failed - POSSIBLE BREAK-IN ATTEMPT!
root@192.168.210.153's password:
CentOS-5.5-i386-bin-DVD.iso 100% 3991MB 11.2MB/s 05:58
[root@kvmsupport revisor]# mv ~/CentOS-5.5-i386-bin-DVD.iso .
[root@kvmsupport revisor]# pwd
/project/revisor
[root@kvmsupport revisor]# mkdir t
[root@kvmsupport revisor]# mount -oloop CentOS-5.5-i386-bin-DVD.iso t
[root@kvmsupport revisor]# mkdir -p pool/RPMS/
[root@kvmsupport revisor]# cp -vfp t/CentOS/*.rpm pool/RPMS/
[root@kvmsupport revisor]# mkdir virenv
开始制作虚拟编译环境
制作虚拟编译环境 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
5 / 25
建立rpm执行环境
[root@kvmsupport revisor]export ROOT=`pwd`/virenv
[root@kvmsupport revisor]mkdir -p $ROOT/var/lib/rpm $ROOT/tmp/RPMS/ $ROOT/bin/
$ROOT/proc $ROOT/etc
[root@kvmsupport revisor]rpm2cpio pool/RPMS/glibc-2.5*.rpm | (cd $ROOT; cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/glibc-devel-2.5*.rpm | (cd $ROOT; cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/bzip2-libs-*.*.rpm |(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/popt-*.*.rpm |(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/sqlite-3*.*.rpm|(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/neon-0.25.*.rpm|(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/openssl-0.9.*.rpm|(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/krb5-libs-1.6*.rpm|(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/e2fsprogs-libs-1.39*.rpm|(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/expat-1.95.*.rpm|(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/libsepol-1.15.*.rpm|(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/libgcc-4.1.2*.rpm|(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/libstdc++-4.1.2*.rpm|(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/beecrypt-[^d]*.*.rpm|(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/libselinux-*.*.rpm|(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/nss-3*.*.rpm|(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/nspr-4*.*.rpm|(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/rpm-*.*.rpm|(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/rpm-libs-4.4.*.el5.i386.rpm|(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/libtermcap-[^d]*.*.rpm|(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/bash-*.*.rpm|(cd $ROOT;cpio -idm)
开始制作虚拟编译环境 (Continued)
制作虚拟编译环境 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
6 / 25
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/zlib-[^d]*.*.rpm|(cd $ROOT;cpio -idm)
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/info-*.*.rpm|(cd $ROOT;cpio -idm)
建立虚拟编译环境
制作虚拟编译环境 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
7 / 25
[root@kvmsupport revisor]# cp /etc/resolv.conf $ROOT/etc/resolv.conf
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/gzip-*.*.rpm|(cd $ROOT/tmp;cpio -idm)
[root@kvmsupport revisor]# cp $ROOT/tmp/bin/gzip $ROOT/bin/
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/grep-*.*.rpm|(cd $ROOT/tmp/;cpio -idm)
[root@kvmsupport revisor]# cp $ROOT/tmp/bin/grep $ROOT/bin/
[root@kvmsupport revisor]# rpm2cpio pool/RPMS/coreutils-*.*.rpm|(cd $ROOT/tmp/;cpio -idm)
[root@kvmsupport revisor]# cp $ROOT/tmp/bin/ln $ROOT/bin/
[root@kvmsupport revisor]# cp $ROOT/tmp/bin/cat $ROOT/bin/
[root@kvmsupport revisor]# cp $ROOT/tmp/bin/rm $ROOT/bin/
[root@kvmsupport revisor]# touch $ROOT/etc/mtab
[root@kvmsupport revisor]# echo $ROOT > $ROOT/etc/virtroot
[root@kvmsupport revisor]# cp /etc/sysconfig/network $ROOT/etc/sysconfig/
[root@kvmsupport revisor]# cp /etc/sysconfig/network-scripts/ifcfg-eth0
$ROOT/etc/sysconfig/network-scripts/
[root@kvmsupport revisor]# mount proc $ROOT/proc -t proc
[root@kvmsupport revisor]# for i in pool/RPMS/*.rpm; do cp -vfp $i $ROOT/tmp/RPMS/; done
[root@kvmsupport revisor]# chroot virenv/
bash-3.2# export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin
bash-3.2# rpm -ivh RPMS/setup-2.5.58-7.el5.noarch.rpm --force --root /
bash-3.2# rpm -ivh RPMS/filesystem-2.4.0-3.el5.i386.rpm --force --root /
bash-3.2# rpm -ivh RPMS/basesystem-8.0-5.1.1.el5.centos.noarch.rpm --force --root /
bash-3.2# rpm -Uvh RPMS/*.rpm --force --nodeps --root /
此时,你需要等待很长时间,大约在一个小时左右,视你的机器配置而定。
完成后执行下列必备的文件拷贝:
[root@kvmsupport revisor]# tar -czvf dev.tgz /dev/
建立虚拟编译环境 (Continued)
制作虚拟编译环境 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
8 / 25
[root@kvmsupport revisor]# tar -zxvf dev.tgz -C virenv/
[root@kvmsupport revisor]# cp -rvf /usr/share/zoneinfo/ virenv/usr/share/zoneinfo/
[root@kvmsupport revisor]# cp virenv/usr/share/zoneinfo/Asia/Shanghai virenv/etc/localtime
[root@kvmsupport revisor]# cp /etc/fstab virenv/etc/
[root@kvmsupport revisor]# cp /etc/hosts virenv/etc/
[root@kvmsupport revisor]# cp /etc/mtab virenv/etc/
开始为程序打rpm package
制作虚拟编译环境 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
9 / 25
[root@kvmsupport revisor]# chroot virenv/
现在我们以phpMyadmin这个软件包为例,编译一番。
bash-3.2# wget
http://download.fedora.redhat.com/pub/epel/5Server/SRPMS/phpMyAdmin-2.11.10.1-1.el5.src.rpm .
bash-3.2# rpm -ivh phpMyAdmin-2.11.10.1-1.el5.src.rpm
bash-3.2# cd /usr/src/redhat/SPECS/
bash-3.2# rpmbuild -ba phpMyAdmin.spec
bash-3.2# cd ../RPMS/noarch/
bash-3.2# ls
phpMyAdmin-2.11.10.1-1.noarch.rpm
定制安装介质
Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
10 / 25
也许你熟悉kickstart,fedora liveCD等工具,那么基于大而全的linux发行版定制出满足自身需
求的安装介质,是你的必备技能之一。
定制安装介质
复制rpm包,及修改comps.xml
定制安装介质 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
11 / 25
[root@kvmsupport revisor]# cd /project/revisor/
[root@kvmsupport revisor]# mkdir DIY
[root@kvmsupport revisor]# cd DIY
[root@kvmsupport DIY]# cp ../t/repodata/comps.xml .
[root@kvmsupport DIY]# sed '/xml:lang=/d' comps.xml >comps-new.xml
[root@kvmsupport DIY]# ls
comps-new.xml comps.xml
[root@kvmsupport DIY]# rm -rf comps.xml
[root@kvmsupport DIY]# mv comps-new.xml comps.xml
[root@kvmsupport DIY]# cp -rvf ../t/CentOS CentOS5.5
[root@kvmsupport DIY]# cd CentOS5.5/
#cp ../virenv/usr/src/redhat/RPMS/noarch/phpMyAdmin-2.11.10.1-1.noarch.rpm CentOS/
在comps.xml中添加如下内容:
<category>
<id>Third_Party_Extras</id>
<name>Third Party Extras</name>
<description>A selection of requested extras from third party software suppliers. </description>
<display_order>110</display_order>
<grouplist>
<groupid>phpMyAdmin</groupid>
</grouplist>
</category>
<group>
<id>phpMyAdmin</id>
<name>PhpMyAdmin</name>
复制rpm包,及修改comps.xml (Continued)
定制安装介质 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
12 / 25
<description>Mysql DB GUI management tools, based php web application.</description>
<default>false</default>
<uservisible>true</uservisible>
<packagelist>
<packagereq type="default">phpMyAdmin</packagereq>
</packagelist>
</group>
制作本地repo
定制安装介质 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
13 / 25
你知道仓库吗?repo :
[root@kvmsupport DIY]# createrepo -g comps.xml .
[root@kvmsupport DIY]# cat yum.conf.tmp
[mycentos]
name=mycentos
baseurl=file:///project/revisor/DIY/CentOS5/
enabled=0
gpgcheck=0
[root@kvmsupport DIY]# repoclosure -c yum.conf.tmp -r mycentos
Reading in repository metadata - please wait....
Checking Dependencies
Repos looked at: 1
mycentos
Num Packages in Repos: 2600
package: phpMyAdmin-2.11.10.1-1.noarch from mycentos
unresolved deps:
php-mcrypt >= 0:4.1.0
编辑comps.xml添加如下一行,并将php-mcrypt包放到相应的目录。
<packagereq type="default">php-mcrypt</packagereq>
<packagereq type="default">libmcrypt</packagereq>
[root@kvmsupport CentOS5]# rm -rf repodata/
[root@kvmsupport CentOS5]# createrepo -g repodata/comps.xml .
[root@kvmsupport DIY]# rm -rf /var/cache/yum/mycentos/
[root@kvmsupport DIY]# repoclosure -c yum.conf.tmp -r mycentos
制作本地repo (Continued)
定制安装介质 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
14 / 25
Reading in repository metadata - please wait....
Checking Dependencies
Repos looked at: 1
mycentos
Num Packages in Repos: 2602
制作安装光盘
定制安装介质 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
15 / 25
[root@kvmsupport DIY]# mkdir anaconda
[root@kvmsupport DIY]# cd anaconda/
[root@kvmsupport anaconda]# cp ../CentOS5/CentOS/anaconda-
anaconda-11.1.2.209-1.el5.centos.i386.rpm anaconda-runtime-11.1.2.209-1.el5.centos.i386.rpm
[root@kvmsupport anaconda]# cp ../CentOS5/CentOS/anaconda-* .
[root@kvmsupport anaconda]# rpm2cpio anaconda-11.*.i386.rpm |cpio -idm
39021 blocks
[root@kvmsupport anaconda]# rpm2cpio anaconda-runtime-*.i386.rpm |cpio -idm
6620 blocks
[root@kvmsupport anaconda]# cd ..
[root@kvmsupport DIY]# export ANA_DIR=/project/revisor/DIY/anaconda/
[root@kvmsupport DIY]# export PYTHONPATH=${ANA_DIR}/usr/lib/anaconda:${PYTHONPATH}
[root@kvmsupport DIY]# export PATH=${ANA_DIR}/usr/lib/anaconda-runtime:${PATH}
[root@kvmsupport DIY]# export PRODUCT=CentOS5
你可能需要安装一些软件如:pykickstart,libdhcp,python-pyblock,pyparted等
[root@kvmsupport DIY]# pkgorder --product=CentOS /project/revisor/DIY/mycentos/
x86_64 CentOS |tee pkgfile-x86-64
继续安装软件:squashfs-tools
[root@kvmsupport DIY]# buildinstall --comp dist-1.0.20101018 
--pkgorder /project/revisor/DIY/pkgfile-x86-64 --version 1.0 --product 'CentOS'
--release 1.0 --prodpath CentOS `pwd`/mycentos
[root@kvmsupport DIY]# createrepo --baseurl="media://$dvd_discinfo" -g comps.xml
/project/revisor/DIY/mycentos
3436/3436 - CentOS/sblim-cmpi-base-test-1.6.0-40.el5.x86_64.rpm
Saving Primary metadata
制作安装光盘 (Continued)
定制安装介质 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
16 / 25
Saving file lists metadata
Saving other metadata
[root@kvmsupport DIY]# rm -rf .olddata
[root@kvmsupport DIY]# find mycentos/CentOS/ -name "TRANS.TBL" -exec rm -f {} ;
[root@kvmsupport DIY]# publisher="lijiangsheng1@gmail.com"
[root@kvmsupport DIY]# mkisofs -q -r -R -J -T -no-emul-boot -boot-load-size 4 
-b isolinux/isolinux.bin -c isolinux/boot.cat -boot-info-table -V "mycentos" 
-A "mycentos 1.0 update$date $arch DVD" -publisher "$publisher" -p "$publisher"
-x lost+found -o mycentos-1.0-$date-$arch-DVD.iso mycentos/
制作虚拟镜像及其更改
Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
17 / 25
也许你熟悉amazon AMI,KVM qcow2等镜像文件,那么对于其工作的方式以及驾驭它的能
力,想必能够为虚拟化解决方案撑起一片独立天空!
制作虚拟镜像及其更改
制作镜像文件并qemu-kvm启动之
制作虚拟镜像及其更改 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
18 / 25
lee@python:/media/test$ sudo kvm-img create -f qcow2 mycentos.img 5G
lee@python:/media/test$ sudo kvm --m 512 --cdrom ../mycentos-1.0-20101018-x86_64-DVD.iso 
--drive file=mycentos.img,if=scsi,index=0 --boot d --net nic --net user --vnc :1
此时启动vncview, 访问IP:1,
安装刚才定制的Linux
制作虚拟镜像及其更改 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
19 / 25
利用vncview,看实例吧!
修改配置文件,以及定制应用(一)
制作虚拟镜像及其更改 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
20 / 25
方法之一:利用古老的工具
raw格式相对简单些:
losetup /dev/loop0 image.img
kpartx -a /dev/loop0
mount /dev/mapper/loop0p1 /mnt/image
qcow2.
lee@python:~$ sudo modprobe nbd max_part=63
sudo qemu-nbd -c /dev/nbd0 mycentos.img
sudo mount /dev/nbdp1 whatyoucreatedir
sudo vgscan
sudo vgchange -ay
sudo mount /dev/VolGroup00/LogVol00 act
sudo umount act
sudo vgchange -an VolGroup00
修改配置文件,以及定制应用(二)
制作虚拟镜像及其更改 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
21 / 25
方法之二:利用libguestfs程序接口或工具
libguestfs is a set of tools for accessing and modifying virtual machine (VM) disk images.
You can use this for viewing and editing files inside guests, scripting changes to VMs,
monitoring disk used/free statistics, P2V, V2V, performing partial backups, cloning VMs,
and much else besides.
libguestfs can access nearly any type of filesystem including: all known types of Linux 
filesystem (ext2/3/4, XFS, btrfs etc), any Windows filesystem (VFAT and NTFS), any Mac OS X 
and BSD filesystems, LVM2 volume management, MBR and GPT disk partitions, raw disks, qcow2,
VirtualBox VDI, VMWare VMDK, CD and DVD ISOs, SD cards, and dozens more. libguestfs doesn't
need root permissions.
All this functionality is available through a convenient shell called guestfish, or use
virt-rescue to get a rescue shell for fixing unbootable virtual machines.
libguestfs is also a library that can be linked with C and C++ management programs and has
bindings for Perl, Python, Ruby, Java, OCaml, PHP, Haskell and C#. You can also use it from
shell scripts or the command line. Using our FUSE module you can also mount guest filesystems
on the host. There is a subproject to allow you to merge changes into the Windows Registry in
Windows guests. You can examine unknown disk images to find out what they contain.
libguestfs is a mature program, in development since Feb 2009, with a 100 page manual,
deployed in enterprise environments, and with many successful users.
结束语
Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
22 / 25
结束语
关于反馈
结束语 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
23 / 25
我需要你的反馈!
参考资料
结束语 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
24 / 25
Internet is good.
google
http://revisor.fedoraunity.org/
http://fedorahosted.org/
https://fedorahosted.org/liveusb-creator/
http://git.fedorahosted.org/git/livecd
http://virt-tools.org/
Q&A
结束语 Copyright © 2010 CopyLeft
jiangshen.li@i-soft.com.cn
25 / 25
有问题吗?
Thanks!

Weitere ähnliche Inhalte

Was ist angesagt?

Lpreservereurobsd2014
Lpreservereurobsd2014Lpreservereurobsd2014
Lpreservereurobsd2014krispcbsd
 
Life Preserver - AsiaBSDCon2014
Life Preserver - AsiaBSDCon2014Life Preserver - AsiaBSDCon2014
Life Preserver - AsiaBSDCon2014krispcbsd
 
Bundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPMBundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPMAlexander Shopov
 
Really useful linux commands
Really useful linux commandsReally useful linux commands
Really useful linux commandsMichael J Geiser
 
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)Ruoshi Ling
 
Puppet at Opera Sofware - PuppetCamp Oslo 2013
Puppet at Opera Sofware - PuppetCamp Oslo 2013Puppet at Opera Sofware - PuppetCamp Oslo 2013
Puppet at Opera Sofware - PuppetCamp Oslo 2013Cosimo Streppone
 
ZFConf 2012: Dependency Management в PHP и Zend Framework 2 (Кирилл Чебунин)
ZFConf 2012: Dependency Management в PHP и Zend Framework 2 (Кирилл Чебунин)ZFConf 2012: Dependency Management в PHP и Zend Framework 2 (Кирилл Чебунин)
ZFConf 2012: Dependency Management в PHP и Zend Framework 2 (Кирилл Чебунин)ZFConf Conference
 
Getting Started with Redis
Getting Started with RedisGetting Started with Redis
Getting Started with RedisDaniel Ku
 
Arbeiten mit distribute, pip und virtualenv
Arbeiten mit distribute, pip und virtualenvArbeiten mit distribute, pip und virtualenv
Arbeiten mit distribute, pip und virtualenvMarkus Zapke-Gründemann
 
Configuration Surgery with Augeas
Configuration Surgery with AugeasConfiguration Surgery with Augeas
Configuration Surgery with AugeasPuppet
 
Jump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & GithubJump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & Githubhubx
 
rake puppetexpert:create - Puppet Camp Silicon Valley 2014
rake puppetexpert:create - Puppet Camp Silicon Valley 2014rake puppetexpert:create - Puppet Camp Silicon Valley 2014
rake puppetexpert:create - Puppet Camp Silicon Valley 2014nvpuppet
 
Docker security
Docker securityDocker security
Docker securityJanos Suto
 
Composer - Package Management for PHP. Silver Bullet?
Composer - Package Management for PHP. Silver Bullet?Composer - Package Management for PHP. Silver Bullet?
Composer - Package Management for PHP. Silver Bullet?Kirill Chebunin
 
Install nagios
Install nagiosInstall nagios
Install nagioshassandb
 

Was ist angesagt? (20)

Lpreservereurobsd2014
Lpreservereurobsd2014Lpreservereurobsd2014
Lpreservereurobsd2014
 
Self 2013
Self 2013Self 2013
Self 2013
 
Life Preserver - AsiaBSDCon2014
Life Preserver - AsiaBSDCon2014Life Preserver - AsiaBSDCon2014
Life Preserver - AsiaBSDCon2014
 
Texas 2013
Texas 2013Texas 2013
Texas 2013
 
Bundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPMBundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPM
 
Puppet NBLUG 2008-09
Puppet NBLUG 2008-09Puppet NBLUG 2008-09
Puppet NBLUG 2008-09
 
Ilf2013
Ilf2013Ilf2013
Ilf2013
 
Really useful linux commands
Really useful linux commandsReally useful linux commands
Really useful linux commands
 
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
 
Puppet at Opera Sofware - PuppetCamp Oslo 2013
Puppet at Opera Sofware - PuppetCamp Oslo 2013Puppet at Opera Sofware - PuppetCamp Oslo 2013
Puppet at Opera Sofware - PuppetCamp Oslo 2013
 
Hadoop Installation
Hadoop InstallationHadoop Installation
Hadoop Installation
 
ZFConf 2012: Dependency Management в PHP и Zend Framework 2 (Кирилл Чебунин)
ZFConf 2012: Dependency Management в PHP и Zend Framework 2 (Кирилл Чебунин)ZFConf 2012: Dependency Management в PHP и Zend Framework 2 (Кирилл Чебунин)
ZFConf 2012: Dependency Management в PHP и Zend Framework 2 (Кирилл Чебунин)
 
Getting Started with Redis
Getting Started with RedisGetting Started with Redis
Getting Started with Redis
 
Arbeiten mit distribute, pip und virtualenv
Arbeiten mit distribute, pip und virtualenvArbeiten mit distribute, pip und virtualenv
Arbeiten mit distribute, pip und virtualenv
 
Configuration Surgery with Augeas
Configuration Surgery with AugeasConfiguration Surgery with Augeas
Configuration Surgery with Augeas
 
Jump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & GithubJump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & Github
 
rake puppetexpert:create - Puppet Camp Silicon Valley 2014
rake puppetexpert:create - Puppet Camp Silicon Valley 2014rake puppetexpert:create - Puppet Camp Silicon Valley 2014
rake puppetexpert:create - Puppet Camp Silicon Valley 2014
 
Docker security
Docker securityDocker security
Docker security
 
Composer - Package Management for PHP. Silver Bullet?
Composer - Package Management for PHP. Silver Bullet?Composer - Package Management for PHP. Silver Bullet?
Composer - Package Management for PHP. Silver Bullet?
 
Install nagios
Install nagiosInstall nagios
Install nagios
 

Andere mochten auch

Ovirt 代码阅读分享
Ovirt 代码阅读分享Ovirt 代码阅读分享
Ovirt 代码阅读分享pan liyang
 
社区翻译那点事
社区翻译那点事社区翻译那点事
社区翻译那点事Li Jiansheng
 
数据中心操作系统浅析
数据中心操作系统浅析数据中心操作系统浅析
数据中心操作系统浅析Li Jiansheng
 
The challenge - testing the oVirt project
The challenge - testing the oVirt projectThe challenge - testing the oVirt project
The challenge - testing the oVirt projectEyal Edri
 
Open source culture_in_china_team
Open source culture_in_china_teamOpen source culture_in_china_team
Open source culture_in_china_teamLi Jiansheng
 
深入浅出云计算之IaaS
深入浅出云计算之IaaS深入浅出云计算之IaaS
深入浅出云计算之IaaSLi Jiansheng
 
Hackers and painter book reading
Hackers and painter book readingHackers and painter book reading
Hackers and painter book readingLi Jiansheng
 
Why based success_opensource_project_will_fail_its_product_last
Why based success_opensource_project_will_fail_its_product_lastWhy based success_opensource_project_will_fail_its_product_last
Why based success_opensource_project_will_fail_its_product_lastLi Jiansheng
 
2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍Li Jiansheng
 

Andere mochten auch (18)

Code reading
Code readingCode reading
Code reading
 
Docbook intr
Docbook intrDocbook intr
Docbook intr
 
Newbie 3 things
Newbie 3 thingsNewbie 3 things
Newbie 3 things
 
Deep dive-oz
Deep dive-ozDeep dive-oz
Deep dive-oz
 
Ovirt 代码阅读分享
Ovirt 代码阅读分享Ovirt 代码阅读分享
Ovirt 代码阅读分享
 
Python in vir
Python in virPython in vir
Python in vir
 
社区翻译那点事
社区翻译那点事社区翻译那点事
社区翻译那点事
 
People for geek
People for geekPeople for geek
People for geek
 
Linux anaconda
Linux anaconda Linux anaconda
Linux anaconda
 
数据中心操作系统浅析
数据中心操作系统浅析数据中心操作系统浅析
数据中心操作系统浅析
 
The challenge - testing the oVirt project
The challenge - testing the oVirt projectThe challenge - testing the oVirt project
The challenge - testing the oVirt project
 
Ovirt deep dive
Ovirt deep diveOvirt deep dive
Ovirt deep dive
 
Understand ovirt
Understand ovirtUnderstand ovirt
Understand ovirt
 
Open source culture_in_china_team
Open source culture_in_china_teamOpen source culture_in_china_team
Open source culture_in_china_team
 
深入浅出云计算之IaaS
深入浅出云计算之IaaS深入浅出云计算之IaaS
深入浅出云计算之IaaS
 
Hackers and painter book reading
Hackers and painter book readingHackers and painter book reading
Hackers and painter book reading
 
Why based success_opensource_project_will_fail_its_product_last
Why based success_opensource_project_will_fail_its_product_lastWhy based success_opensource_project_will_fail_its_product_last
Why based success_opensource_project_will_fail_its_product_last
 
2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍
 

Ähnlich wie Self revisor

Deployment Tactics
Deployment TacticsDeployment Tactics
Deployment TacticsIan Barber
 
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis OverviewLeo Lorieri
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy Systemadrian_nye
 
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Fabrice Bernhard
 
Toolbox of a Ruby Team
Toolbox of a Ruby TeamToolbox of a Ruby Team
Toolbox of a Ruby TeamArto Artnik
 
Scripting for infosecs
Scripting for infosecsScripting for infosecs
Scripting for infosecsnancysuemartin
 
An Overview of the IHK/McKernel Multi-kernel Operating System
An Overview of the IHK/McKernel Multi-kernel Operating SystemAn Overview of the IHK/McKernel Multi-kernel Operating System
An Overview of the IHK/McKernel Multi-kernel Operating SystemLinaro
 
The Container Security Checklist
The Container Security Checklist The Container Security Checklist
The Container Security Checklist LibbySchulze
 
Building and Customizing CoreOS
Building and Customizing CoreOSBuilding and Customizing CoreOS
Building and Customizing CoreOS雄也 日下部
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014biicode
 
Managing and Monitoring Application Performance
Managing and Monitoring Application PerformanceManaging and Monitoring Application Performance
Managing and Monitoring Application PerformanceSebastian Marek
 
How to install squid proxy on server or how to install squid proxy on centos o
How to install squid proxy on server  or how to install squid proxy on centos oHow to install squid proxy on server  or how to install squid proxy on centos o
How to install squid proxy on server or how to install squid proxy on centos oProxiesforrent
 
The Modern Developer Toolbox
The Modern Developer ToolboxThe Modern Developer Toolbox
The Modern Developer ToolboxPablo Godel
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.catPablo Godel
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltStack
 
Docker jako prostředí pro automatizaci testů
Docker jako prostředí pro automatizaci testůDocker jako prostředí pro automatizaci testů
Docker jako prostředí pro automatizaci testůRadim Daniel Pánek
 
Chicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - MediaflyChicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - MediaflyMediafly
 
Django dev-env-my-way
Django dev-env-my-wayDjango dev-env-my-way
Django dev-env-my-wayRobert Lujo
 

Ähnlich wie Self revisor (20)

Deployment Tactics
Deployment TacticsDeployment Tactics
Deployment Tactics
 
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
 
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
 
Toolbox of a Ruby Team
Toolbox of a Ruby TeamToolbox of a Ruby Team
Toolbox of a Ruby Team
 
Scripting for infosecs
Scripting for infosecsScripting for infosecs
Scripting for infosecs
 
An Overview of the IHK/McKernel Multi-kernel Operating System
An Overview of the IHK/McKernel Multi-kernel Operating SystemAn Overview of the IHK/McKernel Multi-kernel Operating System
An Overview of the IHK/McKernel Multi-kernel Operating System
 
The Container Security Checklist
The Container Security Checklist The Container Security Checklist
The Container Security Checklist
 
Building and Customizing CoreOS
Building and Customizing CoreOSBuilding and Customizing CoreOS
Building and Customizing CoreOS
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
 
Managing and Monitoring Application Performance
Managing and Monitoring Application PerformanceManaging and Monitoring Application Performance
Managing and Monitoring Application Performance
 
How to install squid proxy on server or how to install squid proxy on centos o
How to install squid proxy on server  or how to install squid proxy on centos oHow to install squid proxy on server  or how to install squid proxy on centos o
How to install squid proxy on server or how to install squid proxy on centos o
 
The Modern Developer Toolbox
The Modern Developer ToolboxThe Modern Developer Toolbox
The Modern Developer Toolbox
 
Docker, c'est bonheur !
Docker, c'est bonheur !Docker, c'est bonheur !
Docker, c'est bonheur !
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
 
Docker jako prostředí pro automatizaci testů
Docker jako prostředí pro automatizaci testůDocker jako prostředí pro automatizaci testů
Docker jako prostředí pro automatizaci testů
 
Chicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - MediaflyChicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - Mediafly
 
PHP selber bauen
PHP selber bauenPHP selber bauen
PHP selber bauen
 
Django dev-env-my-way
Django dev-env-my-wayDjango dev-env-my-way
Django dev-env-my-way
 

Mehr von Li Jiansheng

The way of_open_source
The way of_open_sourceThe way of_open_source
The way of_open_sourceLi Jiansheng
 
Community governance evolution_open_infra_china_day_2018
Community governance evolution_open_infra_china_day_2018Community governance evolution_open_infra_china_day_2018
Community governance evolution_open_infra_china_day_2018Li Jiansheng
 
Why said engineer_is_roadblock- lc3
Why said engineer_is_roadblock- lc3Why said engineer_is_roadblock- lc3
Why said engineer_is_roadblock- lc3Li Jiansheng
 
东方文化与技术社区
东方文化与技术社区东方文化与技术社区
东方文化与技术社区Li Jiansheng
 
开发者与开源社区
开发者与开源社区开发者与开源社区
开发者与开源社区Li Jiansheng
 
GitHub 开源指南深度解读
GitHub 开源指南深度解读GitHub 开源指南深度解读
GitHub 开源指南深度解读Li Jiansheng
 
秘方文化与Ceph项目分析
秘方文化与Ceph项目分析秘方文化与Ceph项目分析
秘方文化与Ceph项目分析Li Jiansheng
 
Inner source introduction
Inner source introductionInner source introduction
Inner source introductionLi Jiansheng
 
oVirt社区最新活跃度
oVirt社区最新活跃度oVirt社区最新活跃度
oVirt社区最新活跃度Li Jiansheng
 

Mehr von Li Jiansheng (9)

The way of_open_source
The way of_open_sourceThe way of_open_source
The way of_open_source
 
Community governance evolution_open_infra_china_day_2018
Community governance evolution_open_infra_china_day_2018Community governance evolution_open_infra_china_day_2018
Community governance evolution_open_infra_china_day_2018
 
Why said engineer_is_roadblock- lc3
Why said engineer_is_roadblock- lc3Why said engineer_is_roadblock- lc3
Why said engineer_is_roadblock- lc3
 
东方文化与技术社区
东方文化与技术社区东方文化与技术社区
东方文化与技术社区
 
开发者与开源社区
开发者与开源社区开发者与开源社区
开发者与开源社区
 
GitHub 开源指南深度解读
GitHub 开源指南深度解读GitHub 开源指南深度解读
GitHub 开源指南深度解读
 
秘方文化与Ceph项目分析
秘方文化与Ceph项目分析秘方文化与Ceph项目分析
秘方文化与Ceph项目分析
 
Inner source introduction
Inner source introductionInner source introduction
Inner source introduction
 
oVirt社区最新活跃度
oVirt社区最新活跃度oVirt社区最新活跃度
oVirt社区最新活跃度
 

Kürzlich hochgeladen

CALL ON ➥8923113531 🔝Call Girls Adil Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Adil Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Adil Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Adil Nagar Lucknow best Female serviceanilsa9823
 
Breath, Brain & Beyond_A Holistic Approach to Peak Performance.pdf
Breath, Brain & Beyond_A Holistic Approach to Peak Performance.pdfBreath, Brain & Beyond_A Holistic Approach to Peak Performance.pdf
Breath, Brain & Beyond_A Holistic Approach to Peak Performance.pdfJess Walker
 
The Selfspace Journal Preview by Mindbrush
The Selfspace Journal Preview by MindbrushThe Selfspace Journal Preview by Mindbrush
The Selfspace Journal Preview by MindbrushShivain97
 
CALL ON ➥8923113531 🔝Call Girls Rajajipuram Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Rajajipuram Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Rajajipuram Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Rajajipuram Lucknow best sexual serviceanilsa9823
 
Call Girls in Kalyan Vihar Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Kalyan Vihar Delhi 💯 Call Us 🔝8264348440🔝Call Girls in Kalyan Vihar Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Kalyan Vihar Delhi 💯 Call Us 🔝8264348440🔝soniya singh
 
文凭办理《原版美国USU学位证书》犹他州立大学毕业证制作成绩单修改
文凭办理《原版美国USU学位证书》犹他州立大学毕业证制作成绩单修改文凭办理《原版美国USU学位证书》犹他州立大学毕业证制作成绩单修改
文凭办理《原版美国USU学位证书》犹他州立大学毕业证制作成绩单修改atducpo
 
$ Love Spells^ 💎 (310) 882-6330 in West Virginia, WV | Psychic Reading Best B...
$ Love Spells^ 💎 (310) 882-6330 in West Virginia, WV | Psychic Reading Best B...$ Love Spells^ 💎 (310) 882-6330 in West Virginia, WV | Psychic Reading Best B...
$ Love Spells^ 💎 (310) 882-6330 in West Virginia, WV | Psychic Reading Best B...PsychicRuben LoveSpells
 
9892124323, Call Girls in mumbai, Vashi Call Girls , Kurla Call girls
9892124323, Call Girls in mumbai, Vashi Call Girls , Kurla Call girls9892124323, Call Girls in mumbai, Vashi Call Girls , Kurla Call girls
9892124323, Call Girls in mumbai, Vashi Call Girls , Kurla Call girlsPooja Nehwal
 
Reinventing Corporate Philanthropy_ Strategies for Meaningful Impact by Leko ...
Reinventing Corporate Philanthropy_ Strategies for Meaningful Impact by Leko ...Reinventing Corporate Philanthropy_ Strategies for Meaningful Impact by Leko ...
Reinventing Corporate Philanthropy_ Strategies for Meaningful Impact by Leko ...Leko Durda
 
Top Rated Pune Call Girls Tingre Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Tingre Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Tingre Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Tingre Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
8377087607 Full Enjoy @24/7-CLEAN-Call Girls In Chhatarpur,
8377087607 Full Enjoy @24/7-CLEAN-Call Girls In Chhatarpur,8377087607 Full Enjoy @24/7-CLEAN-Call Girls In Chhatarpur,
8377087607 Full Enjoy @24/7-CLEAN-Call Girls In Chhatarpur,dollysharma2066
 
Independent Escorts in Lucknow (Adult Only) 👩🏽‍❤️‍💋‍👩🏼 8923113531 ♛ Escort S...
Independent Escorts in Lucknow  (Adult Only) 👩🏽‍❤️‍💋‍👩🏼 8923113531 ♛ Escort S...Independent Escorts in Lucknow  (Adult Only) 👩🏽‍❤️‍💋‍👩🏼 8923113531 ♛ Escort S...
Independent Escorts in Lucknow (Adult Only) 👩🏽‍❤️‍💋‍👩🏼 8923113531 ♛ Escort S...gurkirankumar98700
 
CALL ON ➥8923113531 🔝Call Girls Aliganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Aliganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Aliganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Aliganj Lucknow best sexual serviceanilsa9823
 
Call Girls In Andheri East Call US Pooja📞 9892124323 Book Hot And
Call Girls In Andheri East Call US Pooja📞 9892124323 Book Hot AndCall Girls In Andheri East Call US Pooja📞 9892124323 Book Hot And
Call Girls In Andheri East Call US Pooja📞 9892124323 Book Hot AndPooja Nehwal
 
办理国外毕业证学位证《原版美国montana文凭》蒙大拿州立大学毕业证制作成绩单修改
办理国外毕业证学位证《原版美国montana文凭》蒙大拿州立大学毕业证制作成绩单修改办理国外毕业证学位证《原版美国montana文凭》蒙大拿州立大学毕业证制作成绩单修改
办理国外毕业证学位证《原版美国montana文凭》蒙大拿州立大学毕业证制作成绩单修改atducpo
 
Call Girls Anjuna beach Mariott Resort ₰8588052666
Call Girls Anjuna beach Mariott Resort ₰8588052666Call Girls Anjuna beach Mariott Resort ₰8588052666
Call Girls Anjuna beach Mariott Resort ₰8588052666nishakur201
 
LC_YouSaidYes_NewBelieverBookletDone.pdf
LC_YouSaidYes_NewBelieverBookletDone.pdfLC_YouSaidYes_NewBelieverBookletDone.pdf
LC_YouSaidYes_NewBelieverBookletDone.pdfpastor83
 
Lucknow 💋 High Class Call Girls Lucknow 10k @ I'm VIP Independent Escorts Gir...
Lucknow 💋 High Class Call Girls Lucknow 10k @ I'm VIP Independent Escorts Gir...Lucknow 💋 High Class Call Girls Lucknow 10k @ I'm VIP Independent Escorts Gir...
Lucknow 💋 High Class Call Girls Lucknow 10k @ I'm VIP Independent Escorts Gir...anilsa9823
 
REFLECTIONS Newsletter Jan-Jul 2024.pdf.pdf
REFLECTIONS Newsletter Jan-Jul 2024.pdf.pdfREFLECTIONS Newsletter Jan-Jul 2024.pdf.pdf
REFLECTIONS Newsletter Jan-Jul 2024.pdf.pdfssusere8ea60
 

Kürzlich hochgeladen (20)

CALL ON ➥8923113531 🔝Call Girls Adil Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Adil Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Adil Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Adil Nagar Lucknow best Female service
 
Breath, Brain & Beyond_A Holistic Approach to Peak Performance.pdf
Breath, Brain & Beyond_A Holistic Approach to Peak Performance.pdfBreath, Brain & Beyond_A Holistic Approach to Peak Performance.pdf
Breath, Brain & Beyond_A Holistic Approach to Peak Performance.pdf
 
The Selfspace Journal Preview by Mindbrush
The Selfspace Journal Preview by MindbrushThe Selfspace Journal Preview by Mindbrush
The Selfspace Journal Preview by Mindbrush
 
CALL ON ➥8923113531 🔝Call Girls Rajajipuram Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Rajajipuram Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Rajajipuram Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Rajajipuram Lucknow best sexual service
 
Call Girls in Kalyan Vihar Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Kalyan Vihar Delhi 💯 Call Us 🔝8264348440🔝Call Girls in Kalyan Vihar Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Kalyan Vihar Delhi 💯 Call Us 🔝8264348440🔝
 
文凭办理《原版美国USU学位证书》犹他州立大学毕业证制作成绩单修改
文凭办理《原版美国USU学位证书》犹他州立大学毕业证制作成绩单修改文凭办理《原版美国USU学位证书》犹他州立大学毕业证制作成绩单修改
文凭办理《原版美国USU学位证书》犹他州立大学毕业证制作成绩单修改
 
$ Love Spells^ 💎 (310) 882-6330 in West Virginia, WV | Psychic Reading Best B...
$ Love Spells^ 💎 (310) 882-6330 in West Virginia, WV | Psychic Reading Best B...$ Love Spells^ 💎 (310) 882-6330 in West Virginia, WV | Psychic Reading Best B...
$ Love Spells^ 💎 (310) 882-6330 in West Virginia, WV | Psychic Reading Best B...
 
escort service sasti (*~Call Girls in Paschim Vihar Metro❤️9953056974
escort service  sasti (*~Call Girls in Paschim Vihar Metro❤️9953056974escort service  sasti (*~Call Girls in Paschim Vihar Metro❤️9953056974
escort service sasti (*~Call Girls in Paschim Vihar Metro❤️9953056974
 
9892124323, Call Girls in mumbai, Vashi Call Girls , Kurla Call girls
9892124323, Call Girls in mumbai, Vashi Call Girls , Kurla Call girls9892124323, Call Girls in mumbai, Vashi Call Girls , Kurla Call girls
9892124323, Call Girls in mumbai, Vashi Call Girls , Kurla Call girls
 
Reinventing Corporate Philanthropy_ Strategies for Meaningful Impact by Leko ...
Reinventing Corporate Philanthropy_ Strategies for Meaningful Impact by Leko ...Reinventing Corporate Philanthropy_ Strategies for Meaningful Impact by Leko ...
Reinventing Corporate Philanthropy_ Strategies for Meaningful Impact by Leko ...
 
Top Rated Pune Call Girls Tingre Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Tingre Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Tingre Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Tingre Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
8377087607 Full Enjoy @24/7-CLEAN-Call Girls In Chhatarpur,
8377087607 Full Enjoy @24/7-CLEAN-Call Girls In Chhatarpur,8377087607 Full Enjoy @24/7-CLEAN-Call Girls In Chhatarpur,
8377087607 Full Enjoy @24/7-CLEAN-Call Girls In Chhatarpur,
 
Independent Escorts in Lucknow (Adult Only) 👩🏽‍❤️‍💋‍👩🏼 8923113531 ♛ Escort S...
Independent Escorts in Lucknow  (Adult Only) 👩🏽‍❤️‍💋‍👩🏼 8923113531 ♛ Escort S...Independent Escorts in Lucknow  (Adult Only) 👩🏽‍❤️‍💋‍👩🏼 8923113531 ♛ Escort S...
Independent Escorts in Lucknow (Adult Only) 👩🏽‍❤️‍💋‍👩🏼 8923113531 ♛ Escort S...
 
CALL ON ➥8923113531 🔝Call Girls Aliganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Aliganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Aliganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Aliganj Lucknow best sexual service
 
Call Girls In Andheri East Call US Pooja📞 9892124323 Book Hot And
Call Girls In Andheri East Call US Pooja📞 9892124323 Book Hot AndCall Girls In Andheri East Call US Pooja📞 9892124323 Book Hot And
Call Girls In Andheri East Call US Pooja📞 9892124323 Book Hot And
 
办理国外毕业证学位证《原版美国montana文凭》蒙大拿州立大学毕业证制作成绩单修改
办理国外毕业证学位证《原版美国montana文凭》蒙大拿州立大学毕业证制作成绩单修改办理国外毕业证学位证《原版美国montana文凭》蒙大拿州立大学毕业证制作成绩单修改
办理国外毕业证学位证《原版美国montana文凭》蒙大拿州立大学毕业证制作成绩单修改
 
Call Girls Anjuna beach Mariott Resort ₰8588052666
Call Girls Anjuna beach Mariott Resort ₰8588052666Call Girls Anjuna beach Mariott Resort ₰8588052666
Call Girls Anjuna beach Mariott Resort ₰8588052666
 
LC_YouSaidYes_NewBelieverBookletDone.pdf
LC_YouSaidYes_NewBelieverBookletDone.pdfLC_YouSaidYes_NewBelieverBookletDone.pdf
LC_YouSaidYes_NewBelieverBookletDone.pdf
 
Lucknow 💋 High Class Call Girls Lucknow 10k @ I'm VIP Independent Escorts Gir...
Lucknow 💋 High Class Call Girls Lucknow 10k @ I'm VIP Independent Escorts Gir...Lucknow 💋 High Class Call Girls Lucknow 10k @ I'm VIP Independent Escorts Gir...
Lucknow 💋 High Class Call Girls Lucknow 10k @ I'm VIP Independent Escorts Gir...
 
REFLECTIONS Newsletter Jan-Jul 2024.pdf.pdf
REFLECTIONS Newsletter Jan-Jul 2024.pdf.pdfREFLECTIONS Newsletter Jan-Jul 2024.pdf.pdf
REFLECTIONS Newsletter Jan-Jul 2024.pdf.pdf
 

Self revisor

  • 1. 纯手工打造虚拟器件 Based on RedHat Linux distributions 李建盛 2010.10.19 1.5 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn
  • 2. 议程 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 2 / 25 注:本演示文稿大多数时候都是实际的例子粘贴!所以不会有太多的理论和教条。 1. 制作虚拟编译环境 2. 定制安装介质 3. 制作虚拟镜像
  • 3. 制作虚拟编译环境 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 3 / 25 也许你听说过LFS发行版,从头开始定制环境是个什么样的流程,你已经成竹在胸。 制作虚拟编译环境
  • 4. 准备工作 制作虚拟编译环境 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 4 / 25 root@code Centos5.5]# scp CentOS-5.5-i386-bin-DVD.iso root@192.168.210.153:~/ The authenticity of host '192.168.210.153 (192.168.210.153)' can't be established. RSA key fingerprint is 31:e1:e4:fa:ef:26:8a:8b:5f:0e:43:e4:d6:25:e0:63. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.210.153' (RSA) to the list of known hosts. reverse mapping checking getaddrinfo for bogon failed - POSSIBLE BREAK-IN ATTEMPT! root@192.168.210.153's password: CentOS-5.5-i386-bin-DVD.iso 100% 3991MB 11.2MB/s 05:58 [root@kvmsupport revisor]# mv ~/CentOS-5.5-i386-bin-DVD.iso . [root@kvmsupport revisor]# pwd /project/revisor [root@kvmsupport revisor]# mkdir t [root@kvmsupport revisor]# mount -oloop CentOS-5.5-i386-bin-DVD.iso t [root@kvmsupport revisor]# mkdir -p pool/RPMS/ [root@kvmsupport revisor]# cp -vfp t/CentOS/*.rpm pool/RPMS/ [root@kvmsupport revisor]# mkdir virenv
  • 5. 开始制作虚拟编译环境 制作虚拟编译环境 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 5 / 25 建立rpm执行环境 [root@kvmsupport revisor]export ROOT=`pwd`/virenv [root@kvmsupport revisor]mkdir -p $ROOT/var/lib/rpm $ROOT/tmp/RPMS/ $ROOT/bin/ $ROOT/proc $ROOT/etc [root@kvmsupport revisor]rpm2cpio pool/RPMS/glibc-2.5*.rpm | (cd $ROOT; cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/glibc-devel-2.5*.rpm | (cd $ROOT; cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/bzip2-libs-*.*.rpm |(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/popt-*.*.rpm |(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/sqlite-3*.*.rpm|(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/neon-0.25.*.rpm|(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/openssl-0.9.*.rpm|(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/krb5-libs-1.6*.rpm|(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/e2fsprogs-libs-1.39*.rpm|(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/expat-1.95.*.rpm|(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/libsepol-1.15.*.rpm|(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/libgcc-4.1.2*.rpm|(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/libstdc++-4.1.2*.rpm|(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/beecrypt-[^d]*.*.rpm|(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/libselinux-*.*.rpm|(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/nss-3*.*.rpm|(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/nspr-4*.*.rpm|(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/rpm-*.*.rpm|(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/rpm-libs-4.4.*.el5.i386.rpm|(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/libtermcap-[^d]*.*.rpm|(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/bash-*.*.rpm|(cd $ROOT;cpio -idm)
  • 6. 开始制作虚拟编译环境 (Continued) 制作虚拟编译环境 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 6 / 25 [root@kvmsupport revisor]# rpm2cpio pool/RPMS/zlib-[^d]*.*.rpm|(cd $ROOT;cpio -idm) [root@kvmsupport revisor]# rpm2cpio pool/RPMS/info-*.*.rpm|(cd $ROOT;cpio -idm)
  • 7. 建立虚拟编译环境 制作虚拟编译环境 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 7 / 25 [root@kvmsupport revisor]# cp /etc/resolv.conf $ROOT/etc/resolv.conf [root@kvmsupport revisor]# rpm2cpio pool/RPMS/gzip-*.*.rpm|(cd $ROOT/tmp;cpio -idm) [root@kvmsupport revisor]# cp $ROOT/tmp/bin/gzip $ROOT/bin/ [root@kvmsupport revisor]# rpm2cpio pool/RPMS/grep-*.*.rpm|(cd $ROOT/tmp/;cpio -idm) [root@kvmsupport revisor]# cp $ROOT/tmp/bin/grep $ROOT/bin/ [root@kvmsupport revisor]# rpm2cpio pool/RPMS/coreutils-*.*.rpm|(cd $ROOT/tmp/;cpio -idm) [root@kvmsupport revisor]# cp $ROOT/tmp/bin/ln $ROOT/bin/ [root@kvmsupport revisor]# cp $ROOT/tmp/bin/cat $ROOT/bin/ [root@kvmsupport revisor]# cp $ROOT/tmp/bin/rm $ROOT/bin/ [root@kvmsupport revisor]# touch $ROOT/etc/mtab [root@kvmsupport revisor]# echo $ROOT > $ROOT/etc/virtroot [root@kvmsupport revisor]# cp /etc/sysconfig/network $ROOT/etc/sysconfig/ [root@kvmsupport revisor]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 $ROOT/etc/sysconfig/network-scripts/ [root@kvmsupport revisor]# mount proc $ROOT/proc -t proc [root@kvmsupport revisor]# for i in pool/RPMS/*.rpm; do cp -vfp $i $ROOT/tmp/RPMS/; done [root@kvmsupport revisor]# chroot virenv/ bash-3.2# export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin bash-3.2# rpm -ivh RPMS/setup-2.5.58-7.el5.noarch.rpm --force --root / bash-3.2# rpm -ivh RPMS/filesystem-2.4.0-3.el5.i386.rpm --force --root / bash-3.2# rpm -ivh RPMS/basesystem-8.0-5.1.1.el5.centos.noarch.rpm --force --root / bash-3.2# rpm -Uvh RPMS/*.rpm --force --nodeps --root / 此时,你需要等待很长时间,大约在一个小时左右,视你的机器配置而定。 完成后执行下列必备的文件拷贝: [root@kvmsupport revisor]# tar -czvf dev.tgz /dev/
  • 8. 建立虚拟编译环境 (Continued) 制作虚拟编译环境 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 8 / 25 [root@kvmsupport revisor]# tar -zxvf dev.tgz -C virenv/ [root@kvmsupport revisor]# cp -rvf /usr/share/zoneinfo/ virenv/usr/share/zoneinfo/ [root@kvmsupport revisor]# cp virenv/usr/share/zoneinfo/Asia/Shanghai virenv/etc/localtime [root@kvmsupport revisor]# cp /etc/fstab virenv/etc/ [root@kvmsupport revisor]# cp /etc/hosts virenv/etc/ [root@kvmsupport revisor]# cp /etc/mtab virenv/etc/
  • 9. 开始为程序打rpm package 制作虚拟编译环境 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 9 / 25 [root@kvmsupport revisor]# chroot virenv/ 现在我们以phpMyadmin这个软件包为例,编译一番。 bash-3.2# wget http://download.fedora.redhat.com/pub/epel/5Server/SRPMS/phpMyAdmin-2.11.10.1-1.el5.src.rpm . bash-3.2# rpm -ivh phpMyAdmin-2.11.10.1-1.el5.src.rpm bash-3.2# cd /usr/src/redhat/SPECS/ bash-3.2# rpmbuild -ba phpMyAdmin.spec bash-3.2# cd ../RPMS/noarch/ bash-3.2# ls phpMyAdmin-2.11.10.1-1.noarch.rpm
  • 10. 定制安装介质 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 10 / 25 也许你熟悉kickstart,fedora liveCD等工具,那么基于大而全的linux发行版定制出满足自身需 求的安装介质,是你的必备技能之一。 定制安装介质
  • 11. 复制rpm包,及修改comps.xml 定制安装介质 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 11 / 25 [root@kvmsupport revisor]# cd /project/revisor/ [root@kvmsupport revisor]# mkdir DIY [root@kvmsupport revisor]# cd DIY [root@kvmsupport DIY]# cp ../t/repodata/comps.xml . [root@kvmsupport DIY]# sed '/xml:lang=/d' comps.xml >comps-new.xml [root@kvmsupport DIY]# ls comps-new.xml comps.xml [root@kvmsupport DIY]# rm -rf comps.xml [root@kvmsupport DIY]# mv comps-new.xml comps.xml [root@kvmsupport DIY]# cp -rvf ../t/CentOS CentOS5.5 [root@kvmsupport DIY]# cd CentOS5.5/ #cp ../virenv/usr/src/redhat/RPMS/noarch/phpMyAdmin-2.11.10.1-1.noarch.rpm CentOS/ 在comps.xml中添加如下内容: <category> <id>Third_Party_Extras</id> <name>Third Party Extras</name> <description>A selection of requested extras from third party software suppliers. </description> <display_order>110</display_order> <grouplist> <groupid>phpMyAdmin</groupid> </grouplist> </category> <group> <id>phpMyAdmin</id> <name>PhpMyAdmin</name>
  • 12. 复制rpm包,及修改comps.xml (Continued) 定制安装介质 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 12 / 25 <description>Mysql DB GUI management tools, based php web application.</description> <default>false</default> <uservisible>true</uservisible> <packagelist> <packagereq type="default">phpMyAdmin</packagereq> </packagelist> </group>
  • 13. 制作本地repo 定制安装介质 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 13 / 25 你知道仓库吗?repo : [root@kvmsupport DIY]# createrepo -g comps.xml . [root@kvmsupport DIY]# cat yum.conf.tmp [mycentos] name=mycentos baseurl=file:///project/revisor/DIY/CentOS5/ enabled=0 gpgcheck=0 [root@kvmsupport DIY]# repoclosure -c yum.conf.tmp -r mycentos Reading in repository metadata - please wait.... Checking Dependencies Repos looked at: 1 mycentos Num Packages in Repos: 2600 package: phpMyAdmin-2.11.10.1-1.noarch from mycentos unresolved deps: php-mcrypt >= 0:4.1.0 编辑comps.xml添加如下一行,并将php-mcrypt包放到相应的目录。 <packagereq type="default">php-mcrypt</packagereq> <packagereq type="default">libmcrypt</packagereq> [root@kvmsupport CentOS5]# rm -rf repodata/ [root@kvmsupport CentOS5]# createrepo -g repodata/comps.xml . [root@kvmsupport DIY]# rm -rf /var/cache/yum/mycentos/ [root@kvmsupport DIY]# repoclosure -c yum.conf.tmp -r mycentos
  • 14. 制作本地repo (Continued) 定制安装介质 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 14 / 25 Reading in repository metadata - please wait.... Checking Dependencies Repos looked at: 1 mycentos Num Packages in Repos: 2602
  • 15. 制作安装光盘 定制安装介质 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 15 / 25 [root@kvmsupport DIY]# mkdir anaconda [root@kvmsupport DIY]# cd anaconda/ [root@kvmsupport anaconda]# cp ../CentOS5/CentOS/anaconda- anaconda-11.1.2.209-1.el5.centos.i386.rpm anaconda-runtime-11.1.2.209-1.el5.centos.i386.rpm [root@kvmsupport anaconda]# cp ../CentOS5/CentOS/anaconda-* . [root@kvmsupport anaconda]# rpm2cpio anaconda-11.*.i386.rpm |cpio -idm 39021 blocks [root@kvmsupport anaconda]# rpm2cpio anaconda-runtime-*.i386.rpm |cpio -idm 6620 blocks [root@kvmsupport anaconda]# cd .. [root@kvmsupport DIY]# export ANA_DIR=/project/revisor/DIY/anaconda/ [root@kvmsupport DIY]# export PYTHONPATH=${ANA_DIR}/usr/lib/anaconda:${PYTHONPATH} [root@kvmsupport DIY]# export PATH=${ANA_DIR}/usr/lib/anaconda-runtime:${PATH} [root@kvmsupport DIY]# export PRODUCT=CentOS5 你可能需要安装一些软件如:pykickstart,libdhcp,python-pyblock,pyparted等 [root@kvmsupport DIY]# pkgorder --product=CentOS /project/revisor/DIY/mycentos/ x86_64 CentOS |tee pkgfile-x86-64 继续安装软件:squashfs-tools [root@kvmsupport DIY]# buildinstall --comp dist-1.0.20101018 --pkgorder /project/revisor/DIY/pkgfile-x86-64 --version 1.0 --product 'CentOS' --release 1.0 --prodpath CentOS `pwd`/mycentos [root@kvmsupport DIY]# createrepo --baseurl="media://$dvd_discinfo" -g comps.xml /project/revisor/DIY/mycentos 3436/3436 - CentOS/sblim-cmpi-base-test-1.6.0-40.el5.x86_64.rpm Saving Primary metadata
  • 16. 制作安装光盘 (Continued) 定制安装介质 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 16 / 25 Saving file lists metadata Saving other metadata [root@kvmsupport DIY]# rm -rf .olddata [root@kvmsupport DIY]# find mycentos/CentOS/ -name "TRANS.TBL" -exec rm -f {} ; [root@kvmsupport DIY]# publisher="lijiangsheng1@gmail.com" [root@kvmsupport DIY]# mkisofs -q -r -R -J -T -no-emul-boot -boot-load-size 4 -b isolinux/isolinux.bin -c isolinux/boot.cat -boot-info-table -V "mycentos" -A "mycentos 1.0 update$date $arch DVD" -publisher "$publisher" -p "$publisher" -x lost+found -o mycentos-1.0-$date-$arch-DVD.iso mycentos/
  • 17. 制作虚拟镜像及其更改 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 17 / 25 也许你熟悉amazon AMI,KVM qcow2等镜像文件,那么对于其工作的方式以及驾驭它的能 力,想必能够为虚拟化解决方案撑起一片独立天空! 制作虚拟镜像及其更改
  • 18. 制作镜像文件并qemu-kvm启动之 制作虚拟镜像及其更改 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 18 / 25 lee@python:/media/test$ sudo kvm-img create -f qcow2 mycentos.img 5G lee@python:/media/test$ sudo kvm --m 512 --cdrom ../mycentos-1.0-20101018-x86_64-DVD.iso --drive file=mycentos.img,if=scsi,index=0 --boot d --net nic --net user --vnc :1 此时启动vncview, 访问IP:1,
  • 19. 安装刚才定制的Linux 制作虚拟镜像及其更改 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 19 / 25 利用vncview,看实例吧!
  • 20. 修改配置文件,以及定制应用(一) 制作虚拟镜像及其更改 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 20 / 25 方法之一:利用古老的工具 raw格式相对简单些: losetup /dev/loop0 image.img kpartx -a /dev/loop0 mount /dev/mapper/loop0p1 /mnt/image qcow2. lee@python:~$ sudo modprobe nbd max_part=63 sudo qemu-nbd -c /dev/nbd0 mycentos.img sudo mount /dev/nbdp1 whatyoucreatedir sudo vgscan sudo vgchange -ay sudo mount /dev/VolGroup00/LogVol00 act sudo umount act sudo vgchange -an VolGroup00
  • 21. 修改配置文件,以及定制应用(二) 制作虚拟镜像及其更改 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 21 / 25 方法之二:利用libguestfs程序接口或工具 libguestfs is a set of tools for accessing and modifying virtual machine (VM) disk images. You can use this for viewing and editing files inside guests, scripting changes to VMs, monitoring disk used/free statistics, P2V, V2V, performing partial backups, cloning VMs, and much else besides. libguestfs can access nearly any type of filesystem including: all known types of Linux filesystem (ext2/3/4, XFS, btrfs etc), any Windows filesystem (VFAT and NTFS), any Mac OS X and BSD filesystems, LVM2 volume management, MBR and GPT disk partitions, raw disks, qcow2, VirtualBox VDI, VMWare VMDK, CD and DVD ISOs, SD cards, and dozens more. libguestfs doesn't need root permissions. All this functionality is available through a convenient shell called guestfish, or use virt-rescue to get a rescue shell for fixing unbootable virtual machines. libguestfs is also a library that can be linked with C and C++ management programs and has bindings for Perl, Python, Ruby, Java, OCaml, PHP, Haskell and C#. You can also use it from shell scripts or the command line. Using our FUSE module you can also mount guest filesystems on the host. There is a subproject to allow you to merge changes into the Windows Registry in Windows guests. You can examine unknown disk images to find out what they contain. libguestfs is a mature program, in development since Feb 2009, with a 100 page manual, deployed in enterprise environments, and with many successful users.
  • 22. 结束语 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 22 / 25 结束语
  • 23. 关于反馈 结束语 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 23 / 25 我需要你的反馈!
  • 24. 参考资料 结束语 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 24 / 25 Internet is good. google http://revisor.fedoraunity.org/ http://fedorahosted.org/ https://fedorahosted.org/liveusb-creator/ http://git.fedorahosted.org/git/livecd http://virt-tools.org/
  • 25. Q&A 结束语 Copyright © 2010 CopyLeft jiangshen.li@i-soft.com.cn 25 / 25 有问题吗? Thanks!