码迷,mamicode.com
首页 > 其他好文 > 详细

程序包管理(RPM,yum与编译安装)

时间:2015-09-03 21:53:14      阅读:332      评论:0      收藏:0      [点我收藏+]

标签:程序包管理:rpm/yum/编译

                                              RPM|YUM|编译安装

     篇一RPM:

     了解RPM; Linux程序以源代码的形式发行,用户把源代码构建为所需的程序或程序集

    (需要注意的事项:初装环境,需要满足依赖关系)

     
    rpm的命名格式
          name-version-relase.arch.rpm
          name:程序包的名称
          version:程序包源代码的发行号。
          relase:rpm程序包版本号.
          arch:适用于的硬件平台(x86.x86_64,ppc等)
    rpm包的安装
        命令:rpm [option] /path/to/package_file 
        选项
           -i  :install 安装
           -v  :可视安装进度
           -h  :可以看到安装进度条
          -ivh :安装过程中能够看到安装进度,安装rpm包时必须要找到rpm本身
    rpm包的卸载
               命令:rpm [option] package_name
                     -e :        注意:后面跟所要卸载安装包的名字,不是路径
                                        过程中可能会出现依赖关系不考虑的话(--nodepes)
                                        
    rpm升级程序包
              命令:rpm [option] /path/to/package_file
                          -Uvh: 升级或安装 :有没有老版本都没问题有就替换,没有就安装。
                          -Fvh: 纯升级 (必须要有老版本才能升级)
                       --force: 强制升级。
                                  注意:对内核不能进行升级,只能对内核进行安装。
                                        (Linux允许多内核版本共存)                                    
    
    rpm查询程序包
              命令:rpm [option] package_name....
                         -q   包名  查询某单个包是否安装
                         -ql  包名  查询安装包生曾的列表的位置
                         -qf  文件  查询某文件是那个包安装生成的   
                         -qd  包名  查询包安装后生成的帮助文档
                         -qc  包名  查询安装后生成的配置文件
                 -q --scripts 包名  查询包相关的脚本       
                 
    rpm安全检测
              校验:检查包安装后生成的文件是否被修改过     
                rpm -V package_Name
              校验来源合法性和软件完整性
                   rpm -K /path/to/somefile
                   rpm --checksig /path/to/package_file
                          --nosigeature:不检查来源合法性
                             --nodigest:不检查包完整性
    rpm数据库
           位置:/var/lib/rpm
           重建:rpm --initdb:初始化
                               如果事先不存在一个数据库,则新建之
                 rpm --rebuilddb 重建
                               直接新建数据库,会覆盖原有库

   篇二YUM:

         了解yum(基于rpm上的工具|可以理解为一份详细的菜谱,里面包含了每道菜需要的材料和配方)

          定义了当前仓库中所有的rpm包列表以及各包之间的依赖关系和每个软件包安装生成的文件列表

           基于C/S架构的服务,需要Server和Client来进行使用,即yum仓库和本地的yum工具

           最好的用处就是自动解决依赖关系

      
        要使用yum管理应用程序,首先得配置其可用的yum仓库,保存在配置文件中
            /etc/yum.conf
            /etc/yum.repo.d/*.repo  

[root@localhost yum.repos.d]# vi centos6.6.repo.b 
[root@localhost yum.repos.d]# ls
centos6.6.repo.b  CentOS6-Base-163.repo
[root@localhost yum.repos.d]#

       [名字唯一]
       name=见名知意
       baseurl=仓库的访问路径    
                                       ftp ftp://server/path/to/repo
                                       http http://server/path/to/repo
                                       nfs  nfs://servr/nfs_path
                                       file file:///path/to/path     (本地以/开始)

       enabled={1|0}1,表示启用。0表示不启用
       gpgcheck={1|0}1,验证gpg。0表示不验证
       gpgkey=公钥地址(可以是本地,也可以是服务器端路径)
       cost=定义此仓库开销,默认为1000

[bashoooo]
name=localcentos6.6
baseurl=file:///etc/zhong
enabled=1
gpgcheck=0

[class]
name=classcentos6.6
baseurl=http://172.16.0.1/cobbler/ks_mirror/CentOS-6.6-x86_64/
enabled=0
gpgcheck=0

     yum安装

           命令:yuminstall package_name

           yum命令执行后会自动分析安装文件所依赖的包并下载下来后一并安装。

 

    yum卸载

           命令:yumremove package_name


   yum缓存清理

           命令 : yum clean{all|packages|metadata|expire-cache|rpmdb|plugins}


   yum查询

          命令 :  yum repolist {enabled|disabled|all}

列出所有可用的repo

                    yum list {all|installed|available}

                                       列出rpm包

          升级

yumupdate package_name

   yum的命令历史查看

               yum history

[root@localhost Packages]# yum grouplist
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Group Process
Loading mirror speeds from cached hostfile
Installed Groups:(安装的)
   Additional Development
   Base
   Console internet tools
Available Groups:(可安装)
   Backup Client
   Backup Server
   CIFS file server
   Client management

yum groupinfo "package_group_name": 显示包组信息
       三个跟开发相关的包组:
       Desktop Platform Development:有图形程序时需安装此组
       Server Platform Development
       Development Tools
  

yum  groupinstll    "group_name"  : 安装包组
 
yum  groupremove"group_name":卸载组

        如果系统为Centos 5,开发包组为Development Tools,DeveLopment Libraries
        如何系统为centos 6,常用的开发包为Development tools,Server Platform Development

yum配置文件中可用的变量
  $releasever:程序的版本,对Yum而言指的是redhat-relrase版本。

                        只替换为主版本号,如 Redhat6.5则替换为6
  $arch:系统架构
  $basharch:系统基本架构,如i686,i586等的基本架构为i386
  $YUM0-9:在系统定义的环境变量,可以在yum中使用


篇三YUM编译安装:

 编译安装的步骤:

        先要确定Development tools,Server Platform Development  开发软件已安装

         1.拿到源代码,并解压
           tar -xf package-version.tar.{gz|bz2|xz}
           注意:展开后的目录通常为package-version

[root@localhost ~]# ls
201312121212.12        ddtr.rar  httpd-2.2.31.tar.gz  one.sh    zhong
anaconda-ks.cfg        echo      install.log          scripts
CentOS6-Base-163.repo  etc       install.log.syslog   zero.tar

         2.切换至源码目录中
            cd package-version

[root@localhost ~]# tar xf httpd-2.2.31.tar.gz -C /etc/zhong826
[root@localhost ~]# cd /etc/zhong826/

         3.执行configure脚本         configure脚本的通用功能:
                                                          我们需要定义的配置:
                                                                                         1.指定安装路径
                                                                                            --prefix=前缀,用于指定安装路径
                                                                                            --sysconfdir=/etc/package_name
                                                                                        2.指定启动/禁用的特性
                                                                                            --enable-feature:例如--enable-fpm
                                                                                           --disable-fecture;例如 --disable-socket
                                                                                       3.指定所依赖功能、程序或文件
                                                                                           --with-function: 启用某功能
                                                                                           --without-function: 禁用某功能
        

[root@localhost httpd-2.2.31]# ./configure --prefix=/etc/httpd2 --sysconfdir=/etc/httpd2

    不同的程序,其configure不尽相同,应获取帮助信息      ./configure --help     ./configure

    (不是默认目录需要改环境变量)
   4.编译
           make
   5.安装
           make install

   二进制程序的访问方法 (摘要)

    /etc/profile.d/apache.sh
    PATH=/usr/local/apache/bin:/usr/local/apache/sbin:$PATH
    expore PATH=source /etc/profile.d/apache.sh

   头文件输出给系统
    ln -sv /usr/local/apache/include /usr/include/httpd
    库文件
    vim /etc/ld.so.conf.d/httpd.conf
    /usr/local/apache/lib

    让系统重新生成库文件路径缓存
    ldconfig
 
    导出man文件
    /etc/man.conf
    添加
    MANPATH /usr/local/apache/man    

本文出自 “Hotel California” 博客,请务必保留此出处http://zhongshixun.blog.51cto.com/10314910/1691116

程序包管理(RPM,yum与编译安装)

标签:程序包管理:rpm/yum/编译

原文地址:http://zhongshixun.blog.51cto.com/10314910/1691116

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!