- 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