Linux安装程序(RPM和YUM)

162 阅读5分钟

应用程序与系统命令的关系

系统命令和应用程序的不同

  • 位置: Linux中一切皆为文件 演示内部命令和外部命令 位置 应用程序位置
  • 用途: 命令主要处理系统的基本操作(复制,配置) 应用程序可以完成独立的任务浏览器访问网页
  • 使用环境: 字符界面、字符和桌面
  • 格式: 命令的格式 命令参数对象 、无固定格式

典型应用程序的目录结构

文件类型保存目录
普通执行程序文件/usr/bin
服务器执行程序文件和管理程序文件/usr/sbin
应用程序配置文件/etc
日志文件/var/log
应用程序参考文档文件/usr/share/doc

RPM

Red-Hat Package Manager 由Red Hat公司提出,被众多Linux发行版所采用 建立统一的数据库文件(一张对应表将信息写入) 详细记录软件包安装、卸载等变化信息 自动分析软件包依赖关系

RPM命令

查询

查询已安装的软件包

选项功能效果
rpm -qa(all)显示当前系统中以 RPM 方式安装的所有软件列表
rpm -q 软件名查询指定软件是否已安装
rpm -qi 软件名查看指定软件包的名称、版本、许可协议、用途描述等详细信息
rpm -ql(list) 软件名显示指定的软件包在当前系统中安装的所有目录、文件列表
rpm -qc (configfiles ) 软件名列出已安装的指定软件的配置文件
rpm -qd(docfiles) 软件名列出已安装的指定软件的软件包文档所在位置
rpm -qR (requires) 软件名列出已安装的指定软件的依赖的软件包及文件
rpm -qf(file) 软件名查看指定的文件或目录是由哪个软件包所安装的
rpm-qpd查询未安装指定软件包的文档位置
rpm -qpi查询未安装指定软件包的完整名称详细信息
rpm -qpl查询未安装指定软件包的文件列表
rpm -qpc查询未安装指定软件包的配置文件位置

安装RPM软件包

选项效果
-i安装一个新的RPM软件包
-U升级某个软件包,若未安装过则进行安装
-F升级某个软件包,若未安装过则直接结束
-h在安装或升级过程中已#号显示读条
-v显示安装过程的详细信息
--force强制安装某个软件包
-e 软件名卸载指定的软件
--nodeps在安装或升级、卸载一个软件包时,不检查与其他包的依赖关系
安装路径含 义
/etc/配置文件安装目录
/usr/bin/可执行的命令安装目录
/usr/lib/程序所使用的函数库保存位置
/usr/share/doc/基本的软件使用手册保存位置
/usr/share/man/帮助文件保存位置

实验安装httpd

image.png

image.png

yum -y install gcc gcc-c++ make pcre-devel expat-devel perl pcre apr*

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

完成实验

yum

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间 为什么会有依赖关系的发生 因为linux本身就是以系统简洁为自身优势,所以在安装操作系统的时候并没有将所有的库文件以及编译软件包进行安装,所以在linux操作系统上进行软件安装的时候会出现软件包依赖的情况。yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。

YUM 的前身是 YUP(Yellow dog Updater,Yellow dog Linux 的软件更新器),最初由 TSS 公司(Terra Soft Solutions,INC.)使用 Python 语言开发而成,后来由杜克大学(Duck University)的 Linux 开发队伍进行改进,命名为 YUM(Yellow dog Updater,Modified)。 要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依 赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只 要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件。

yum的实现过程

yum需要依赖于环境,依赖于服务端和客户端,允许跨网络

服务器:

  • RPM包 (Packages文件夹中)
  • 元数据(repodata文件夹:目录(软件的目录),软件的依赖关系,软件的位置)

image.png

yum命令详解

命令不加关键字加入关键词、软件包、软件包组
yum list显示所有可用包单个的可安装包
yum info显示所有可用包的信息单个具体的信息
yum search\模糊查找所有的相关信息
yum provides\精确查找
yum grouplist显示所有可用包组显示具体的包组
yum groupinfo显示所有的包组具体信息显示具体的包组的具体信息
yum install\安装具体软件包
yum groupinstall\安装具体软件包组
yum update所有软件升级具体软件升级
命令不加关键字加入关键词、软件包、软件包组
yum group update所有包组升级具体包组升级
yum remove\卸载具体软件
yum groupremove\卸载具体包组软件
yum history查看当前yum操作历史\
yum history undo加入序号卸载序号里安装的软件\
yum history redo加入序号重新执行序号里的操作\

实验使用本地yum仓库安装tree

image.png

image.png

image.png

image.png

image.png

image.png

实验完成,tree安装成功