




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux系统常用的软件管理工具rpm、yum及软件源码编译安装 2013-05-06 07:39:42标签:linux rpm yum 源码编译 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。/6466723/1193854 一、简介1. 在windows系统上我们安装软件的时候加上了一些与这些程序相关的信息,将他建立称为了数据库,就可以实现软件的安2. 装、卸载、升级与验证了,类似于windows的“添加删除程序”。由于在linux系统上利用源码包设置编译参数、实际编译、3. 最后还要根据需要的方式来安装程序,这个过程很是麻烦,而且对于不熟悉整个系统的用户来说,更是一种负担,所以后4. 来在我们linux系统下至有两种常见的套件管理程序,分别是RPM和Debian的dpkg,其中最为常见,那么晚我们5. 下面就来介绍下RPM。6. 7. RPM的全名为“RedHatPackageManager”,顾名思义它是由RedHat公司开发的。Rpm是以一种数据库记录的方式将所8. 需要的套件安装到linux主机的一套管理程序,它最大的特点就是将要安装的套件先编译并打包,通过包装好的套件中默9. 认的数据库记录,记录这个套件在安装的时候所依赖的属性模块。用户在安装的时候,RPM会根据套件里的记录信息,查10. 询主机的依赖属性套件是否满足,如满足则给予安装。若不满足在不给于安装、安装的时候将该套件的信息全部写入RPM11. 的数据库中,以方便将来的查询、验证与卸载。这样做的优点:12. 13. 1、由于已经编译完成并且打包,所有安装方便。14. 15. 2、由于套件信息已经记录在了Linux主机的数据库中,方便查询、升级与卸载。16. 17. 当然其也有其缺点,由于所有的数据已经编译完成,所以安装的时候一定需要当初安装时的主机环境,也就是说,当初建18. 立这个套件的安装环境,必须在用户主机上出现,如果不出现就无法进行安装。缺点主要如下:19. 20. 1、安装环境必须与打包时的环境一致21. 22. 2、需要满足套件的依赖属性需求23. 24. 3、卸载时需要特别小心,最底层的套件不可先删除,否则可能对整个系统造成问题。1. RPM程序的数据库位置/var/lib/rpm,这里面定义了关于RPM管理的所有属性,当然我们如果还可以更新这个数据库的,2. 3. rpm-rebuilddb:重建数据库,一定会重新建立。4. rpm-initdb:初始化数据库,没有才建立,有就不用建立。RPM相关软件包名字格式:1. name-version-release.arch.rpm2. 3. name-version-release-release.arch.rpm4. 5. version:主版本号.此版本号.发行版本号.平台.rpm,对于其命名需要遵循以下规则:6. 7. 主版本号改变:软件的功能发送了重大的改变。8. 9. 此版本号改变:某个子功能发生了重大变化10. 11. 发行号改变:修改了部分bug,调整了一点点小功能。二、1. linux下软件管理套件的出现大大降低了基本软件的安装和升级等管理难度,当然此出生一来就是2. 一一切皆文件、系统字符界面而著称的,所以虽然软件管理套件可以帮我们实现那么大的功能,也不会像windows上面的3. 那样,我们还需要掌握关于RPM的相关命令才能实现软件的安装、升级、卸载等功能,当然现在也有了图形界面下软件的4. 管理套件,但是我们linux系统的伟大之处是可以稳定、永久不宕机的提供服务的系统,我们不会让其运行在图形界面下5. 的,所以作为一个合格的linux系统运维人员掌握软件的管理命令是必备、基础的要求了。下面我们来介绍介绍关于RPM6. 的相关命令吧RPM命令主要包括四类:安装、查询、升级、卸载、rpm安装命令 1. rpm-i/PATH/TO/PACKAGE_FILE:安装软件包2. rpm-h:以#显示安装进度,每个#表示2%3. rpm-v:显示安装详细信息4. rpm-vv:更详细的信息5. rpm-ivh:组合使用,一般使用这个组合来安装软件6. rpm-nodeps:忽略依赖关系。7. rpm-replacepkgs:重新安装、替换原来安装。8. rpm-ivh-oldpackage:降级安装。9. rpm-ivh-force:强行安装,可以实现重装或降级10. rpm-test:仅测试有没有依赖关系实例:安装zsh的安装包rpm -test:仅测试有没有依赖关系、rpm软件查询命令: rpm -q PACKAGE_NAME:查询指定的包是否安装 rpm -qa :查询以安装的所有包 rpm -qi PACKAGE_NAME:查询指定包的说明信息 rpm -ql PACKAGE_NAME:查询指定包安装后生成的文件列表 rpm -qc PACKAGE_NAME:查询指定包安装的配置文件 rpm -qd PACKAGE_NAME:查询指定包安装的帮助文件 1. rpm-q-scriptsPACKAGE_NAME:查询指定包中包含的脚本2. rpm-qf/path/to/somefile:查询指定的文件时由那个rpm包安装生成的3. 如果某个rpm包尚未安装,我们需要查询其说明信息,安装后会生成的文件4. rpm-qpi/PATH/TO/PACKAGE_FILE5. i:软件说明信息6. rpm-qpL/PATH/TO/PACKAGE_FILE7. L:软件文件列表、软件升级命令:rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级;否则,则安装 rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级;否则,则退出 rpm -Uvh -oldpackage 低版本的包:降级rpm软件卸载命令:卸载的时候此包不能被其他软件包依赖 rpm -e PACKAGE_NAME /直接卸载、但是此时如果卸载的软件被其他软件包多以来的话则不能卸载 rpm nodeps /忽略软件包之间的依赖关系、其他相关命令rpm软件校验命令: 1. rpm-VPACKAGE_NAME:无输出信息就是正常,(linux的哲学思想:没有回答则是最好的回答!嘿嘿)2. rpm重建数据库:3. 数据库位置:/var/lib/rpm4. rpm-rebuilddb:重建数据库,一定会重新建立。5. rpm-initdb:初始化数据库,没有才建立,有就不用建立。6. rpm检验来源合法性及软件完整性:7. 加密类型:8. 对称:加密解密使用同一个秘钥9. 公钥:一对秘钥,公钥、私钥;公钥隐含与私钥中,可以提取出来并公开出去。10. 公钥:加密,私钥:身份验证11. 红帽公钥:ls/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release12. rpm-import/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release:导入秘钥文件13. rpm-K/PATH/TO/PACKAGE_FILE14. dsa,gpg:验证来源合法性,也即验证签名;可以使用-nosignature,略过此项15. sha1,md5:验证软件包完整性;可以使用-nodigest,略过此项16. rpm-K-nodigest/PACKAGE_NAME:只验证签名。三、YUM 1. 从上面我们学会了利用rpm套件管理工具在linux系统上进行软件包的安装、升级、查询、卸载等相关命令的操作和方法,2. 但是我们从上面了解到我们利用rpm来进行安装软件的时候会存在软件包之间的依赖关系,而rpm并不能自己智能的解析其3. 各个包之间的依赖关系,但是如果我们利用rpmnodeps和rpm-ivh-force进行安装的时候很可能造成安装的软件4. 无法正常运行,为了解决这个问题,后来又出现了一个功能更强大的工具:YUM,yum在rpm的基础上很好的解决了软件包5. 之间的依赖关系。6. 7. YUM是一种基于C/S架构的服务,需要Server和Client来进行使用,即yum仓库和本地的yum工具。、 服务器端配置:yum仓库可以是本地文件、ftp服务器和http服务器。在其服务器端有yum仓库的配置文件,yum仓库的配置文件叫YUM的元数据文 件,元数据文件需要存放在一个叫repodata的目录下面,其目录和组成yum池的rpm包需要同处于同一个目录下,下面我们来认识一下yum的元数据 把各个元数据文件的解释:1. primary.xml.gz:定义了当前仓库中所有的rpm包列表以及各包之间的依赖关系和每个软件包安装生成的文件列表2. 3. filelists.xml.gz:当前仓库中所有RPM包的文件列表4. 5. other.xml.gz:额外信息,rpm包的修改日志6. 7. repomd.xml:记录的是上面三个文件的时间戳和校验和8. 9. comps-*.xml:RPM包分组信息(需要手动定义)、YUM服务客户端的配置1. 首先确定我们系统上面安装了yum服务软件包:yum-3.2.22-39.el5,可以利用rpmqyum来进行查看,趁着也联系联系使用上面的rpm命令嘿嘿2. 3. 客户端配置文件在/etc/yum.repos.d/*.repo文件内进行定义,可以定义多个.repo文件,也可以在一个repo文件定义多个yum服务器,其格式如下:4. 5. Repo_ID6. 7. name=Description8. 9. baseurl=yum仓库路径10. 11. enabled=0|1:是否启用此仓库,默认不写的时候是启用12. 13. gpgcheck=0|1:校验文件的完整性14. 15. 注:关于yum仓库的路径有三种:16. 17. ftp服务器的时候:ftp:/.18. 19. http服务器的时候:http:/.20. 21. 本地文件的时候:fiel:/、上面我们完成了YUM服务的相关配置,那么我们下面来说说关于yum操作的相关命令吧1. yumlist:查看yum列表2. 3. yumlistall:默认选项,会列出所有的yum库4. 5. yumlistavailable:列出仓库中未安装的包6. 7. yumlistinstalled:列出显示已经安装的软件8. 9. yumlistupdates:列出可以升级的软件包10. 11. yumclean:清除缓存yum clean packages | headers | metadata | dbcache | all:清除缓存再查看会再次统计数据并显示出来。、yum的安装命令1. yuminstallPACKAGE_NAME/安装软件、此项选择会让你选择2. 3. yumyinstallPACKAGE_NAME/直接自动完成软件的安装4. 5. yuminstall-nogpgcheck:不做校验,安装软件,6. 7. yumupdatePACKAGE_NAME:升级软件包8. 9. yumupdate_toPACKAGE_NAME:升级到指定版本10. 11. yumremove|erasePACKAGE_NAME:卸载软件yum info PACEAGE_NAME:查看软件包信息yum provides|whatprovides file:查看指定文件是由那个软件包生成的、yum关于组的管理命令1. yumgrouplist/查看组,包括安装或未安装的2. 3. yumgroupinstallGROUPNAME/安装组,注意如果组名中间有空格,需要使用双引号4. 5. groupinfo组名:显示组包含包信息(如果组名中间有空格,使用)四、源码程序安装1、在我们进行编译安装的时候需要提前安装编译软件需要的开发环境和开发库:Development Tools和”Development Libraries“1. 先配置好yum库,然后利用yum库安装2. 3. yumygroupinstallDevelopmentTools/安装开发工具4. 5. yumgroupinstall-yDevelopmentLibraries/安装开发库2、解压源码程序包3、cd 进入源码解压目录1. ./configure/编译安装配置命令2. 3. ./confighelp/查看编译帮助信息4. 5. yumgroupinstall-yDevelopmentLibraries6. 7. -sysconfdir=/PATH/TO/CONFFILE_PATH:配置文件安装路径,如果不指定则在安装目录下的config目录下8. 9. make编译10. 11. makeinstall安装12. 13. 4、安装完成以后我们需要对我们自定义安装的软件进行设置,设置环境和man等信息1. 修改PATH环境变量,以便识别此程序的文件路径:在/etc/profile.d/目录下简历一个以.sh为后缀的文件,在里面定2. 义exportPATH=$PATH:/path/to/somewhere3. 4. 要想此配置生效,重新登录或者自己手动执行此脚本5、库文件配置:默认情况下,系统搜索库文件的路径为/lib,/usr/lib;要增加额外的搜寻路径:在/etc/ld.so.conf.d/中创建以.conf为后缀的文件,然后把要增加的路径直接写至此文件中。1. ldconfig:通知系统重新搜寻库文件。2. 3. ldconfig-v:显示重新搜寻库的过程6、头文件输出1. 默认是/usr/inclode2. 3. 增添头文件搜寻路径,使用链接进行4. 5. 添加头文件有两种方式:ln-s/usr/local/tengine/include/*/usr/include/或者6. ln-s/usr/local/tengine/include/usr/include/tengine7、man文件路径添加man文件路径:默认安装在-prefix指定的目录下的man目录内,而系统默认的是/usr/share/man,我们需要在/etc/man.conf内定义man 的查找路径:在/etc/man.config内添加一条MANPATH下面我们通过编译、安装web服务器来说明编译安装的相关过程1、安装开发环境2、解压源码包tar xf httpd-2.2.22.tar.bz23、进入解压包,然后配置参数、编译、安装cd httpd-2.2.22 /进入源码目录./configure -prefix=/usr/local/apache -sysconfdir=/etc/httpd /设置安装目录/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化妆品公司经营管理制度
- 甲醇炉燃气安全管理制度
- 公司计划部归谁管理制度
- 2025年化学单质:碳项目申请报告
- 2025年数控精密滚齿机或蜗杆砂轮磨齿机项目申请报告
- 劳务工安全培训管理制度
- 租赁公司保管员管理制度
- 景区流动摆摊管理制度
- 幼儿园更换滤芯管理制度
- 春节保安值班管理制度
- 负责人安全生产责任清单
- 民事起诉状范文下载
- 医护岗位职责与权限制度
- 【8历期末】安徽省合肥市包河区2022-2023学年八年级下学期期末历史试题(含解析)
- 八年级历史下册核心知识点、难点、重点总结
- 人工智能智慧树知到期末考试答案章节答案2024年复旦大学
- (高清版)JTGT D81-2017 公路交通安全设施设计细则
- 2023-2024全国初中物理竞赛试题-杠杆(解析版)
- 新概念马学智慧树知到期末考试答案章节答案2024年内蒙古农业大学
- (正式版)SHT 3551-2024 石油化工仪表工程施工及验收规范
- 乳腺癌患者术后心理护理
评论
0/150
提交评论