日期:2014-05-16  浏览次数:20766 次

Linux学习笔记之软件包的管理
1、RPM(RPM Package Manager)
 格式:例如cvs.1.11.2-10.i386.rpm
    cvs:软件的名称  1.11.2:软件包的版本号其中包括主版本号和次版本号  i386:软件所运行的硬件平台  rpm:文件扩展名
 卸载:rmp -e cvs  [--nodeps]如果其它软件包括有依赖关系,卸载时会产生提示信息,可使用--nodeps强行卸载
 查询:rmp -qa 软件包名称
    [root@CentOS-Test Packages]# rpm -aq sudo    查询此软件包所依赖的其它包
    [root@CentOS-Test /]# rpm -qf /etc/services  查询文件所属的文件包
    setup-2.8.14-16.el6.noarch
    [root@CentOS-Test Packages]# rpm -qip sudo-1.7.4p5-11.el6.i686.rpm  查询未安装的软件包是做什么用的
    [root@CentOS-Test /]# rpm -qc sudo   查看已安装rpm的配置文件
   /etc/pam.d/sudo
   /etc/pam.d/sudo-i
   /etc/sudo-ldap.conf
   /etc/sudoers
    [root@CentOS-Test /]# rpm -ql sudo   sudo软件包安装路径以及都安装了哪些文件,一般/etc下面的都是配置文件  /usr/bin下面的都是命令
 sudo-1.7.4p5-11.el6.i686
 安装:rmp -ivh 软件包名
    rpm -ivh --excludedocs  软件包名    安装时安装文档
    rpm -ivh --prefix path  软件包名     安装时指定安装路径
    rpm -ivh --test 软件包名   只对安装进行测试并不实际安装
   
  光盘的挂载:
  mkdir /mnt/cdrom  如果没有可以先行创建此文件夹
  mount /dev/cdrom /mnt/cdrom  将光盘文件挂载到刚才创建的文件夹中
  [root@CentOS-Test ~]# mount /dev/cdrom /mnt/cdrom
  mount: block device /dev/sr0 is write-protected, mounting read-only
  [root@CentOS-Test Packages]# ls | grep sudo
  sudo-1.7.4p5-11.el6.i686.rpm
 升级安装:rpm -Uvh 软件包名称
 覆盖安装:rpm -ivh --replacepkgs  软件包名称 
 文件冲突时安装  rpm -ivh --replacefiles 软件包名称
 未解决的依赖关系 rpm -ivh --nodeps 软件名称   强制安装,解决安装时的依赖关系,但是十有八九不能用
 2、yum
 优点:自动解决软件包依赖关系   方便的软件包升级  前提条件是必须接入互联网
 安装:yum install 软件包名称
 检查更新: yum check-update 软件包名称
 更新: yum update
 软件包查询:  yum list |grep sudo    yum list |grep samba    查找到的是yum源上的软件包
 软件包信息:yum info  sudo   用于查看软件包的信息
 卸载:yum remove 软件包名称
 帮助:yum --help
 3、校验
 md5sum  文件名   只校验文件的内容
 [root@CentOS-Test data]# md5sum lhc_xx.txt
 490b812cb03bacbf5fc5fadc4029efa2  lhc_xx.txt
 [root@CentOS-Test data]# echo "#this is a test file" >>lhc_xx.txt
 [root@CentOS-Test data]# md5sum lhc_xx.txt
 10be8cdfcd22f7cbd1494141a03e67f8  lhc_xx.txt
 rpm -V 软件名称     参数如下:
 5:文件的md5校验值  S:文件的大小  L:链接文件  T:文件的创建时间  D:设备文件   U:文件的用户  G:文件的用户组  M:文件的权限
 4、RPM包的管理
 软件包文件提取
 例如:
  不小心删除了/etc/inittab文件 或从光盘进入修复模式
  [root@CentOS-Test bak]# rm -f /etc/inittab
  查找inittab文件所属的rpm包
  [root@CentOS-Test bak]# rpm -qf /etc/inittab
  initscripts-9.03.31-2.el6.centos.i686
  挂载光盘到mnt/cdrom
  [root@CentOS-Test bak]# mount /dev/cdrom /mnt/cdrom
  从光盘中的rpm包中恢复inittab文件到当前的目录下
  [root@CentOS-Test bak]# rpm2cpio /mnt/cdrom/Packages/initscripts-9.03.31-2.el6.centos.i686.rpm |cpio -idv ./etc/inittab
  ./etc/inittab
  11182 块
  复制./etc/inittab文件到/etc/inittab
  [root@CentOS-Test bak]# cp etc/inittab /etc/inittab
 5、源代码包安装  
  源代码包比较灵活可以再安装时指定路径或其它选项,安装之前必须有编译器 gcc或其它编译器。安装步骤一般为
  安装gcc编译器(可以使用yum安装)  解压缩  执行./confgure  make  make install
  以安装proftpd为例
  解压缩