linux_rpm 

改卷标(支持ext2ext3文件系统)

  #e2label  /dev/sda2

  查看分区sda2卷标

  #e2label /dev/sda5 /vmware

  更改sda5卷标名称

  交换分区的创建

  mkswap /dev/sda12  (mkswap -L SWAP-sda12  /dev/sda12)

  swapon /dev/sda12

  swapoff /dev/sda3

  ===============================================================================软件包安装

  软件包的分类:

  rpm <----red hat package management

  rpm源码包

  c语言的源码包<---于平台不相关

  二进制包<---直接运行就可以安装

  rpm

  光盘里或者网络

  http://www.rpmfind.net/

  http://www.pbone.net/

  命名习惯:

  acl-2.2.47-4.fc11.i586.rpm

  acl-2.2.23-5.3.el4.src.rpm

  acl-2.2.49-4.fc13.src.rpm

  acl-2.2.49-2.fc12.ppc.rpm

  rpm包的安装

  例子1:虚拟机的安装

  rpm -ivh VMware-workstation-6.0.2-59824.i386.rpm

  安装

  显示安装进度

  校验包

  例子2

  rpm -ivh heartbeat-2.1.3-3.el5.centos.i386.rpm

  warning: heartbeat-2.1.3-3.el5.centos.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897

  error: Failed dependencies:

  heartbeat-pils = 2.1.3-3.el5.centos is needed by heartbeat-2.1.3-3.el5.centos.i386

  heartbeat-stonith = 2.1.3-3.el5.centos is needed by heartbeat-2.1.3-3.el5.centos.i386

  libpils.so.1 is needed by heartbeat-2.1.3-3.el5.centos.i386

  libstonith.so.1 is needed by heartbeat-2.1.3-3.el5.centos.i386

  解决办法:

  1、从互联网去下载这些包,如果提示的是某个文件缺少,也可以通过专门的rpm包网站查找到

  2、进到光盘目录去找软件包

  3、如果报的是缺少某个文件,就可以在一台已经安装过这个软件包的电脑上查询这个文件到底来自哪个rpm

  [root@dns Server]# updatedb

  [root@dns Server]# locate libpils.so.1

  /usr/lib/libpils.so.1

  /usr/lib/libpils.so.1.0.0

  [root@dns Server]# rpm -qf /usr/lib/libpils.so.1

  heartbeat-pils-2.1.3-3.el5.centos

  # rpm -ivh heartbeat-pils-2.1.3-3.el5.centos.i386.rpm

  # rpm -ivh heartbeat-stonith-2.1.3-3.el5.centos.i386.rpm

  然后再安装:

  # rpm -ivh heartbeat-2.1.3-3.el5.centos.i386.rpm

  例子3

  [root@bogon soft]# rpm -ivh xlockmore-5.18-2.2.el5.rf.i386.rpm

  warning: xlockmore-5.18-2.2.el5.rf.i386.rpm: Header V3 DSA signature: NOKEY, key ID 6b8d79e6

  error: Failed dependencies:

  libXm.so.4 is needed by xlockmore-5.18-2.2.el5.rf.i386

  解决的思路:

  [root@dns Server]# ls | grep -i libXm

  [root@dns Server]# rpm -qlp libXmu-1.0.2-5.i386.rpm | grep -i libXm.so.4

  [root@dns Server]# ls | grep -i openmotif

  openmotif22-2.2.3-18.i386.rpm

  openmotif-2.3.1-2.el5.i386.rpm

  openmotif-devel-2.3.1-2.el5.i386.rpm

  [root@dns Server]# rpm -qlp openmotif22-2.2.3-18.i386.rpm | grep -i grep -i libXm.so.4

  grep: libXm.so.4: 没有那个文件或目录

  [root@dns Server]# rpm -qlp openmotif22-2.2.3-18.i386.rpm | grep -i libXm.so.4

  [root@dns Server]# rpm -qlp openmotif-2.3.1-2.el5.i386.rpm | grep -i libXm.so.4

  /usr/lib/libXm.so.4

  /usr/lib/libXm.so.4.0.1

  [root@bogon Server]# rpm -ivh openmotif-2.3.1-2.el5.i386.rpm

  warning: ../openmotif-2.3.1-2.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

  error: Failed dependencies:

  libXp.so.6 is needed by openmotif-2.3.1-2.el5.i386

  [root@dns Server]# ls | grep -i libXp

  libXp-1.0.0-8.1.el5.i386.rpm

  libXp-devel-1.0.0-8.1.el5.i386.rpm

  libXpm-3.5.5-3.i386.rpm

  libXpm-devel-3.5.5-3.i386.rpm

  [root@dns Server]# rpm -qlp libXp-1.0.0-8.1.el5.i386.rpm | grep -i libXp.so.6

  /usr/lib/libXp.so.6

  /usr/lib/libXp.so.6.2.0

  rmp的常用命令:

  情景一:找某个文件来自哪个包?

 rpm -qf /文件的路径

  情景二:看一下我准备安装的软件包会释放哪些文件到哪个目录?

  rpm -qlp xxx.rpm

  情景三:查看某个软件包是否安装

  rpm -qa  | grep -i xxx_keyword

  或者

  rpm -q package_fullname

  情景四:查看已经安装了的软件包释放了什么文件

  rpm -ql soft_name

  卸载软件包

  rpm -e 删除

  rpm的其他指令:

  -i  安装某个没有安装过软件包,不管是旧版本还是新版本

  -U  安装某个软件包,但前系统必须已经安装了比这个软件包低版本的,如果原来没有安装过低版本,那么就直接安装新版本

  -F  强制安装安装包,不管原来安装的软件包的版本高低,都强制安装。如果原来没有安装过类似的软件,就不能安装

  特殊参数:

  --nopre  不执行安装前的脚本

  --nopost 不执行安装后的脚本

  --force  强制安装,一般来说解决文件冲突

  --nodeps 忽略依赖关系,一般不要使用

  rpm源码包编译:

  # rpmbuild  --rebuild acl-2.2.47-2.fc9.src.rpm

  Wrote: /usr/src/redhat/RPMS/i386/acl-2.2.47-2.i386.rpm

  Wrote: /usr/src/redhat/RPMS/i386/libacl-2.2.47-2.i386.rpm

  Wrote: /usr/src/redhat/RPMS/i386/libacl-devel-2.2.47-2.i386.rpm

  Wrote: /usr/src/redhat/RPMS/i386/acl-debuginfo-2.2.47-2.i386.rpm

Troubleshooting

一:

rpm实际上使用cpio格式打包的,因此可以先转成cpio然后解压,如下所示:
rpm2cpio kchmviewer-3.1-1.el5.5.x86_64.rpm | cpio -div


好啦,搞定收工

二:

安装openssl-devel(yum install openssl-devel),然后会有一个/usr/lib/libssl.so的东西,然后哪缺libssl.so.4就做个软连接过去,比如

/lib/libssl.so.4,就ln -s /usr/lib/libssl.so /lib/libssl.so.4

[root@mail rhel5.5]# rpm -qlp openssl-devel-0.9.8e-12.el5_4.6.x86_64.rpm | grep ibssl

warning: openssl-devel-0.9.8e-12.el5_4.6.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

/usr/lib64/libssl.a

/usr/lib64/libssl.so

[root@mail rhel5.5]#