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

rpm/yum/源码包编译等操作说明

时间:2016-01-01 15:09:08      阅读:564      评论:0      收藏:0      [点我收藏+]

标签:rpm   yum   源码包编译   

rpm/yum/编译

RPM篇:

RPM是RedHat Package Manager(RedHat软件包管理工具)其作用相当于Windows里面的“添加/删除程序。

RPM包的一般格式为:

name-version-arch.rpm

name-version-arch.src.rpm

  name:软件包名称。

version:带有主、次和修订的软件包版本。

arch:硬件平台。硬件平台包括了:i386、i486、i586、i686、x86_64、ppc、sparc、alpha

src.rpm:源代码包。

 例如: python-psutil-1.2.1-1.el7.x86_64.rpm

  python-psutil:是软件名称。

1.2.1-1:是软件版本。

    e17:表示这个软件包的发行商版本。

x86_64:是适用的硬件平台。

另外还有有些包中有如下字符表示:

  devel:表示这个RPM包是软件的开发包,例如mysql-devel-5.1.52-1.el6_0.1.i686.rpm。

noarch:说明这样的软件包可以在任何平台上安装,不需要特定的硬件平台。在任何硬件平台上都可以运行

RPM包配置文件以及二进制程序关联包的查看

查看二进制程序所依赖的库文件:

      ldd /bin/ls:列ls命令所需要的所有库以及调用:查看二进制程序所依赖的库文件;                   

 管理以及查看本机装载的库文件:

       ldconfig

       /sbin/ldconfig -p:显示本机已经缓存的所有可用库文件以及名称文件路径的映射关系:

配置文件为:/etc/ld.so.conf.d/,/etc/ld.so.conf.d/*.conf

缓存文件: /etc/ld.so.cache

  RPM包的安装、升级、删除以及查询:

       1,安装:

        rpm {-i|--install} [install-options]PACKAGE_FILE ..              

               如:rpm -ivh  --replacepkgs zsh-5.0.2-7.el7.x86_64.rpm  --nodigest --nosignature

               其中: -ivh:表示安装并显示安装进度等详细信息;

                      --replacepkgs:重新安装;替换原有的程序包

                      --nodigest不检查包完整性

--nosignature:不检查包来源合法性

 

              安装常用参数选项:

                   --test:测试安装,不真正执行安装过程:dry run模式:

                   --nodeps:忽略依赖关系:

                   --replacepkgs:重新安装;替换原有的程序包

                   --nodigest不检查包完整性

                   --nosignature:不检查包来源合法性

          2,升级:

               rpm {-U|--upgrade}[install-options] PACKAGE_FILE ...

               rpm {-F|--freshen} [install-options]PACKAGE_FILE ...

                    upgrage:安装有旧版程序包,则升级;如果不存在旧版,则安装;

                    fresshen:安装有旧版程序包,则升级;如果不存在旧版,则不执行升级操作;

                         常用参数选项:

                              --oldpackage:由新版本降级为旧版本

--force:强制升级;

                    如:rpm -Uvh--oldpackage python-psutil-1.1.1.el6.x86_64.rpm

            3,删除:

                  rpm {-e|--erase} 包名

                  如:rpm -e zsh

             4,查询:

                 rpm {-q|--query} [select-options] [query-options]

                 RPM安装前查询:

                   查看的前提是您有一个.rpm 的文件,也就是说对既有软件file.rpm的查看;

1)查看一个软件包的用途、版本等信息;

rpm -qpifile.rpm

2)查看一件软件包所包含的文件;

rpm -qplfile.rpm

3)查看软件包的文档所在的位置;

rpm -qpdfile.rpm

4)查看一个软件包的配置文件;

rpm -qpcfile.rpm

5)查看一个软件包的依赖关系

rpm-qpR file.rpm

                   RPM在系统安装后的查询:

1)查询系统已安装的软件;

rpm -q 包名

                         rpm –qa:查看系统所有的RPM包,可用配合grep选取自己需要的查询或rpm –qa|less

2)查询一个已经安装的二进制文件属于哪个软件包

rpm -qf 文件名   如:rpm –qf  /usr/bin/ls

3)  查询已安装软件包都安装到何处

rpm -ql 包名      如:rpm –ql zsh

4)  查询一个已安装软件包的信息

rpm -qi 包名       如:rpm –qi zsh

5)  查看一下已安装软件的配置文件;

rpm –qc 包名

6)  查看一个已经安装软件的文档安装位置:

rpm -qd 包名

7)  查看一下已安装软件所依赖的软件包及文件;

rpm-qR 包名

 

RPM包的签名导入:

            rpm --import RPM-GPG-KEY

RPM包的校验:

            rpm {-V|--verify} [select-options][verify-options]

               如:rpm -V zsh

RPM数据库重建:

       rpm数据库存储在: /var/lib/tpm/下:

       rpm{--initdb|--rebuilddb}

          initdb:初始化:存在就不进行操作,没有就新建

 

          rebuilddb:重建

              无论存在与否,直接重新创建数据库

 

YUM篇:

RPM虽然能管理安装包,但是无法自动解决安装过程中包的依赖关系。因此我们一般使用RPM管理工具YUM来安装和管理RPM包;

yum(全称为 Yellow dog Updater, Modified)是一个在FedoraRedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令。

yum的命令形式一般是如下:

yum [options] [command] [package ...]
[options]
是可选的,

-h:帮助

-y:当安装过程提示选择全部为"yes"

-q:不显示安装的过程

 [command]为所要进行的操作

[package ...]是操作的对象。

1 安装
yum install
全部安装
yum install package1
安装指定的安装包package1
yum groupinsall group1
安装程序组group1

2 更新和升级
yum update
全部更新
yum update package1
更新指定程序包package1
yum check-update
检查可更新的程序
yum upgrade package1
升级指定程序包package1
yum groupupdate group1
升级程序组group1

3 查找和显示
yum info package1
显示安装包信息package1
yum list
显示所有已经安装和可以安装的程序包

yum list available:可以还没安装的

yum list updates :可以升级包

yum list installed:已经安装的包
yum list package1
显示指定程序包安装情况package1
yum groupinfo group1
显示程序组group1信息yumsearch string 根据关键字string查找安装包

4 删除程序
yum remove package1; erase package1
删除程序包package1
yum groupremove group1
删除程序组group1


5
清除缓存
yum clean all
清本地除缓存

6.重新安装

   yum  reinstall package1  package2 ....

7.降级安装

   yum    downgrade package1  package2 ...

8.显示程序包的依赖关系

   如:yum deplist  gcc

YUM repository: yum仓库

                存储rpm包,以及包的相关的元数据文件(放置在特定目录:repodata);

     yum配置文件:

                /etc/yum.conf :各yum仓库指向的公共配置:为所有仓库提供公共配置

                /etc/yum.repos.d/*.repo:指定多仓库,为仓库的指向提供配置信息

     YUM仓库的定义:

                    [repositoryID]yum仓库名称,为仓库提供公共配置

                     name=some name for thisrepository

                    baseurl=url://path1/to/repository

                            ur2://path1/to/repository

                             ...

 

                      enabled={1|0}:是否启用仓库

                      gpgcheck:是否检查包的完整性和来源合法性

                      repo_gpgcheck:是否检查仓库的元数据文件的签名信息;

                      gpgkey=URL:url指向密钥文件

                      enablegroups={1|0}:是否支持组管理程序包

                     failovermethod={roundrobin 轮询随机| priority优先级}:故障管理方法;  

                      keepalive:保持连接功能:

                      username=

                      password=

                      cost={1000| }    定义开销数字;

程序包的编译安装:

testapp-VERSION-release.src.rpm  :使用rpmbuild命令制作成二进制格式的rpm包,需要编译而后再安装;

在我们进行编译安装的时候需要提前安装编译软件需要的开发环境和开发库:"Development Tools"和”DevelopmentLibraries“;先配置好yum库,然后利用yum库安装 

 yum –y groupinstall "Development Tools"  //安装开发工具 

yum groupinstall -y "DevelopmentLibraries"  //安装开发库

 

下面以编译安装apache 2.2; 启动此服务为例说明:

         a,获取安装包并解压:apr-1.5.2.tar.gz ,apr-util-1.5.4.tar.gz , httpd-2.2.31.tar.gz , pcre-8.36.tar.gz

         b:编译安装

               tar -zxf apr-1.5.2.tar.gz

               cd cd apr-1.5.2/ 

               ./configure--prefix=/usr/local/apr

               make

               make install

 

               tar -zxf apr-util-1.5.4.tar.gz

               cd apr-util-1.5.4/

               ./configure--prefix=/usr/local/apr-util --with-apr=/usr/local/apr

               make

               make install

 

               tar -zxf pcre-8.36.tar.gz

               cd pcre-8.36/

               ./configure--prefix=/usr/local/pcre

               make

               make install

 

               tar -zxf httpd-2.2.31.tar.gz

               cd httpd-2.2.31/

               ./configure--prefix=/usr/local/apache --with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre

            如果报错可以执行下面一句

               ./configure--prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ap_cv_void_ptr_lt_long=no

               make

               make install

                检查/usr/local/apache 目录中是否已经编译成功。

          

        c:启动测试

               /usr/local/apache/bin/apachectlstart

               /usr/local/apache/bin/apachectlstop

 

        d:查看 ps -ef | grep httpd

安装完成后配置:

          1,导出二进制程序目录至PATH环境变量中;

               编辑文件/etc/profile.d/name.sh

                  exportPATH=/path/to/bin:$path

 

          2,导出库文件路径:

                编辑  /etc/ld.so.conf.d/name.conf

                 添加新的库文件所在目录至此文件中;

                 让系统重新生成缓存:

                     ldconfig [-v]

 

          3,导出头文件:

               创建链接;

                基于链接的方式实现:

                     ln -sv

 

           4,导出帮助手册

              编辑/etc/man.config文件中

                添加一个 MANPATH


本文出自 “前进的轨迹” 博客,请务必保留此出处http://lisoy79.blog.51cto.com/10836537/1730563

rpm/yum/源码包编译等操作说明

标签:rpm   yum   源码包编译   

原文地址:http://lisoy79.blog.51cto.com/10836537/1730563

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