RPM 包管理与 yum安装源码包

  • RPM工具
  • RPM 是 Red HatPackage Manager 的缩写,是由Redhat所开发一款包管理程序。目前Redhat系的Linux使用rpm可以完成软件的安装、查询、卸载、升级等工作。
  • 需要注意的是,RPM包之间存在依赖性的问题;在安装一个包的过程中可能需要安装其它包,并且其它包又有所依赖的包。所以必须先安装好所有所依赖的包后才能安装自己想要安装的包。
  • 获取程序包的途径:优先选择系统附带的光盘或到官方的服务器下载;项目的官方站点下载。
  • 每个rpm包名称都由“—”和“.”分隔为几部分。以bash-4.1.2-33.el6.x86_64 这个包为例,bash为包名;4.1.2 为版本号;33.el6 为包的发行号;x86_64为CPU运行的平台。
  • RPM的命令和选项
  • 查询命令的一般用法
  • rpm{-q | --query} [select-options] [query-options]
  • –q  PACKAGE_NAME:查询指定的程序包是否已经被安装
  • -a ,--all :查询所有已经安装过的包;
  • -f FILE :查询指定的文件由哪个程序包安装生成的;
  • -p , -packagePACKAGE_FILE:用于实现对未安装的程序包执行查询操作;
  • --whatprovidesCAPABILITY :查询指定的CAPABILITY(能力)由哪个程序包提供;
  • --whatrequiresCAPABILITY :查询指定的CAPBILITY被哪个包所依赖;
  • --changelog :查询rpm包的changelog;
  • -l ,--list :程序包安装生成的所有文件列表
  • --i ,--info :程序包相关的信息,版本号、大小、所属的包组,等;
  • -R , --requires:查询指定的程序包的依赖关系;
  • --scripts :查看程序包自带的脚本片段
  • -c ,--configfiles :查询指定的程序提供的配置文件;
  • -d , --docfiles:查询指定的程序包提供的文档;
  • --provides : 列出指定的程序包提供的所有CAPABILITY;
  • 以上是查询命令的一些选项和示例,在安装程序包前和安装完成后都可以通过查询来验证。
  • 我把系统光盘挂载到了 /media/cdrom/上,那么我可以切换到/media/cdrom/Packages 中查看有哪些rpm包
  • 安装命令的一般用法
  • rpm{-i|--install}{install-options]PACKAGE_FILE
  • 以安装 zsh 为例:
  • -i :安装的意思
  • -v :显示详细信息
  • -h :显示安装进度,每个#表示2%的进度
  • 注意:在Centos不同版本中一定要选对应的包,否则可能会报错。例如所依赖的包没有安装等;
  • 另外还有一些常用的选项:
  • --test :测试安装,检查并报告依赖关系及冲突消息等;
  • --nodeps :忽略依赖关系;不建议;
  • --replacepkgs: 重新安装;
  • 安装完成后可以检查一下是否已经安装
  • 升级命令的一般用法
  • rpm{-U|--upgrade}{install-options]PACKAGE_FILE..
  • rpm{-F|--freshen}{install-options]PACKAGE_FILE..
  • -U:升级或安装程序包
  • -F:只是升级程序包
  • --oldpackage :降级;
  • --force :强制升级;
  • 卸载命令的一般用法
  • rpm{-e|--erase}[--allmatches] [--nodeps][--noscripts] [--test] PACKAGE_NAME..
  • --allmatches :卸载所有匹配指定名称的程序包的各版本;
  • --nodeps :忽略依赖关系
  • --test :测试卸载,dry run 模式
  • 卸载时可先查询需要卸载的包的完整名,然后卸载。
  • Yum工具
  • Yum 是YellowdogUpdate Modifier 的缩写,它是一个基于 RPM 包管理的软件包管理器。能够从指定的服务器自动下载RPM 包并且安装,和RPM相比它可以处理依赖性关系,并且一次安装所有依赖的软件包,并自动安装。
  • 除了系统上的程序包以外,Yum还使用了存储库,库是包的合集,可通过网络访问它们。
  • 在yum库配置文件中添加库的地址可以实现yum对包的下载、更新等管理。
  • 查看yum的配置文件
  • 可以用rpm –qc 来查看指定程序的配置文件,其中/etc/yum.conf 为yum的主配置文件,它可以为所有的存储库提供公共配置。
  • 除了主配置文件以外还有各用户自己的配置文件/etc/yum.repos.d/*.repo
  • 查看CentOS-Base.repo 配置文件的内容:
  • 其中最为关键的是baseurl ,它可以指定库的访问路径,并且可以添加多个;
  • Yum的一般用法:
  • 显示仓库列表:yum repolist (默认显示启用的仓库列表)
  • 显示程序包:yum list {available|installed|updates} [glob_exp1] [...]}
  • 搜索一个rpm包:yum search [关键词]
  • 安装程序包:install package1 [package2] [...]
  • 在安装过程中会提示 是否安装,y则安装,n则不安装;如果嫌麻烦可以加 –y选项默认回答“yes”。
  • 升级程序包:update [package1] [package2] [...]
  • 卸载程序包:remove  | erase package1 [package2] [...]
  • 注意:不添加y选项 则默认不卸载!在卸载时要注意不要把其他重要的rpm包卸载掉,以免其他服务受影响;
  • 以上是yum的一些常用的命令,并且所用的包都是rpm编译好的程序包。下面就来说一说如何安装程序的源码包。
  • Rpm包都是源代码经过编译然后打包好的程序包,那如果用户自己修改定制一些其他的功能的话只能安装源代码包了。常见的源代码包一般都是用C语言开发的, Linux上的C语言编译器叫做gcc,利用它就可以把C语言变成可执行的二进制文件。所以如果系统中没有安装gcc就没有办法去编译源代码。可以使用 yum install -y gcc 来完成安装。
  • 安装一个源代码包,通常有三个步骤:
  • 1、./configure:通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定以及Makefile.in文件生成makefile;
  • 2、make:根据makefile文件,构建应用程序;
  • 3、make  install:相当于install命令;
  • 在安装源代码包之前我们得先获取想要安装的源码包,下面以安装httpd源代码包为例:
  • 首先要配置库的配置文件,在修改配置文件之前最好先做备份;
  • 在CentOS-Base.repo配置文件中添加指定的URL,如果不指定的话后面下载源码包时会报错。
  • 切换到/usr/local/src目录下,最好把源码包下载到这个路径下,这个路径一般为默认路径,方便以后同事查看;
  • 找到源代码包的地址并下载
  • 下载后解压缩源代码包
  • 在httpd-2.2.29目录中查看解压缩后的源码包,并运行. /configure脚本检查和分析包之间的 依赖关系并生成makefile文件:
  • 查看是否为makefile文件生成,如果有则执行下一步:make命令,根据makefile文件中的配置进行编译:
  • 完成后执行最后一步:make install
  • make install 会创建相应的目录以及文件。当完成安装后,会在/usr/local目录下多了一个apache2目录,这就是apache所安装的目录了。
  • 完成源代码包的安装后要启用服务,查看服务所在的目录
  • Apachectl文件为apache服务的文件
  • 启用apache服务
  • 最后查看服务是否启用:
  • 查看80端口,有则服务处于监听状态,服务正在运行。
时间: 2024-08-04 10:17:21

RPM 包管理与 yum安装源码包的相关文章

linux CentOS7 中安装包管理:rpm 、yum及源码包安装使用

一. 安装软件包的三种方法 yum ---python rpm工具 yum工具 源码包 二. rpm包介绍 设置光驱并挂载: [[email protected] ~]# mount /dev/cdrom /mntmount: /dev/sr0 写保护,将以只读方式挂载 [[email protected] ~]# ls /mntEULA    isolinux  repodata                      TRANS.TBL GPL     LiveOS    RPM-GPG-

linux下系统软件包管理(rpm、yum、源码包安装)

1. rpm工具rpm全称为Redhat Package Manager,红帽软件包管理工具,设计理念是开放的,不仅仅是在RedHat平台上,在SUSE上也是可以使用的. rpm包名字构成由-和.分成了若干部分,如abrt-cli-2.0.8-15.el6.centos.i686.rpm,abrt-cli是包名,2.0.8-15是版本号,el6指的是redhat企业版6,centos指的是这是在centos上用的,i686指的是平台类型.有些rpm包并没有写具体的平台而是noarch,这代表这个

7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装

7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装 扩展 1. 配置yum源优先级 http://ask.apelearn.com/question/7168 2. 把源码包打包成rpm包 http://www.linuxidc.com/Linux/2012-09/70096.htm # 7.6  yum更换国内源 ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20170812/154757717.png?imagesl

笔记6 压缩工具、安装软件包(rpm、yum、源码包)、shell。

压缩打包 常见的压缩文件 windows:rar.zip.7z Linux:.zip..gz..bz2..xz..tar..gz..tar.bz2..tar.xz gzip压缩工具 它压缩后边直接跟文件名就可以 命令:gzip -d 解压的意思 命令gzip -数字  表示它的压缩级别,1--9,数字越大越严谨,默认保持的是6级别. 命令:file 查看解压缩文件,因为它被解压缩了,是一个二进制文件所以不能用cat来查看它的内容. 命令:zcat  可以查看解压缩文件的内容 命令:gzip -c

五周第二次课(1月9日) 7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装

五周第二次课(1月9日)7.6 yum更换国内源7.7 yum下载rpm包7.8/7.9 源码包安装扩展1. 配置yum源优先级 http://ask.apelearn.com/question/7168 2. 把源码包打包成rpm包 http://www.linuxidc.com/Linux/2012-09/70096.htm 命令::================================================================================

五周第二次课 7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装

7.6 yum更换国内源7.7 yum下载rpm包7.8/7.9 源码包安装 1. yum更换国内源 一般yum的源都是国外的网站,安装比较慢 首先我们要更换国内的源 第一步 把原来备份的文件拷贝回来,然后删除源码包 cp . ./yum.repos.d.bak/* . 拷贝yum.repos.d.bak下的 所有文件 # rm -f CentOS-Base.repo 删除CentOS-Base.repo文件 第二部改成国内的网站首先要下载一个repo文件 wget http://mirrors

2018-1-8 5周1次课 rpm、yum、源码包

7.1 安装软件包的三种方法 安装软件包的三种方法: ·rpm工具 ·yum工具 ·源码包 难度:源码包 > rpm工具 > yum工具 7.2 rpm包介绍 ·rpm工具使用 设置光驱并挂载 在虚拟机光盘位置,设置光盘连接后,进入系统中挂载光驱 [[email protected] ~]# df -h 文件系统        容量  已用  可用 已用% 挂载点 /dev/sda3        18G  1.2G   17G    7% / devtmpfs        479M    

yum更换源,安装源码包

更换yum源下载base文件 wget命令没有使用curl 下载文件centos base 163.repo安装扩展源安装包epel配置文件下会多两个epel开头的文件yum list|grep epel 查看会多包使用yum 下载rpm包yum install zsh --downloadonly 仅仅下载不安装查看下载包位置指定下载目录重新安装源码安装下载源码包安装源码包可以用./configure --help 查看帮助判断上条命令是否执行正确 0是完成 1是没有完成make 编译文件ma

第 十 一 天 : 本 地 yum 和 源 码 包 举 例

小Q:你永远不知道别人的内存中你会有多少版本,也不知道你更新了多少版本! 应该说从现在开始,我开始进入新的知识领域了,明天就可以接触shell了: 今天额外了解到本地yum仓库,yum下载rpm包,安装源码包案例: 搭建本地yum仓库: 有的时候我们没有网的情况下,去安装包,但是我们又不想用rpm下载 那样的话依赖关系太繁琐了,我们可以用含有系统 iso 的u盘或光盘, 建立一个属于自己本地的yum源,而且下载比网络yum源快. 首先挂载光盘:mount   /dev/sr0   /mnt/te