【无标题】Linux应用程序中 rpm yum
一.Linux不仅需要系统命令还需要应用程序
用途区别
系统命令:一般在安装操作系统一起安装,用于辅助操作系统本身的管理。
应用程序:一般在操作系统之外另行安装,提供相对独立操作系统的功能,有时候等同于“软件“的概念。
1.典型? ? ? ? ? ?应用程序? ? ? ? ? ?目录
文件类型 | 保存目录 |
---|---|
普通执行程序文件 | /usr/bin |
服务器执行程序文件和管理程序文件 | /usr/sbin |
应用程序? ? ? ?配置文件 | /etc |
日志? ?文件 | /var/log |
应用程序? ? ?参考文档? ? ? 文件 | /usr/share/doc |
2 常见软件包封包类型
文件类型? ? ? ? ? ? ? ? ? ? ?保存目录
RPM软件包? ? ? ? ? ? ? ? 扩展名为? “rpm”
DEB软件包? ? ? ? ? ? ? ? ?扩展名为? “deb”
源代码软件包?? ?一般为“.tar.gz”、“.tar.bz2”等格式的压缩包 包含程序的原始代码
绿色免安装的软件包? ? 扩展名不一,以TarBall格式的居多 在压缩包内提供已编译好的执行程序文件 解开压缩包后的文件即可直接使用
二 rpm包管理工具
- 由Red Hat公司提出,被众多Linux发行版所采用
- 建立统一的数据库文件
- 详细记录软件包安装、卸载等变化信息
- 自动分析软件包依赖关系
2 rpm软件包格式
拥有约定俗称的命名格式:bash-4.12-15.el6_4.x86_64.rpm
3 rpm命令功能:
- 查询、验证RPM软件包的相关信息
- 安装、升级、卸载RPM软件包
- 维护RPM数据库信息等综合管理操作
4 查询已安装的rpm软件信息
格式: rpm ?-q ?[子选项] ?软件名
选项? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?功能
rpm ?-q? ? ? ? ? ?? ? ? ? ? ?对已安装的软件进行查询
rpm ?-ql ?? ? ? ? ? ? ? ? ? ? ?查看某软件的所有安装目录
rpm ?-qc?? ? ? ? ? ??? ? ? ? ?查看软件的配置文件
? ??
rpm ?-q?? ? ? ? ? ? ??? ? ? ? ? 查看软件是否安装
rpm ?-qa? ? ? ? ? ??? ?显示当前系统中以 rpm 方式安装的所有软件列表
rpm ?-qi ?? ? ? ? ? ? ? ? ? 查看指定软件包的名称、版本、许可协议、用途描述等详细信息
rpm ?-qd? ? ? ? ? ? ??? ? 列出已安装的指定软件的软件包文档所在位置
rpm ?-qf(file)? ? ? ??? ? 查看指定的文件或目录是由哪个软件包所安装的
rpm ?-qF? ? ? ? ? ??? ? 查询已安装的指定软件属于哪个安装包
4 查询未安装的rpm软件的文件中的信息
? ? ??
格式:rpm -qp ?[子选项] ?rpm包文件名(绝对路径的软件包名)
选项? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 说明
rpm ?-qpd? ? ? ? ? ? ?查询未安装指定软件包的文档位置
rpm ? -qpi? ? ? ? ? ? ?查询未安装指定软件包的完整名称详细信息
?
rpm ? -qpl? ? ? ? ? ? ? 查询未安装指定软件包的文件列表
rpm ?-qpc? ? ? ? ? ? ? ?查询未安装指定软件包的配置文件位置
5 挂载目的:提供安装包
系统内部文件夹与硬件设备关联,访问文件夹就等于访问硬件设备的文件
? ? ? ?挂载格式:? ? ? mount 设备 加文件夹路径?
? ? 解挂载格式:? ? ? umount ? ?挂载的文件夹
安装软件首先要有软件包,安装软件包的获取方法
- 从网上下载(红帽官方下载;该软件的官网)
- 从光盘里面复制(命令格式:wget 链接)
注意:
(1)最好使用空文件进行挂载
(2)一个文件夹挂载多个设备 1光驱 2磁盘 谁后挂显示谁,同一时间只能挂一个
(3)一个设备可以挂载在多个文件夹上 光驱abc
?
6.安装、升级、卸载rpm软件包
格式:rpm ?[选项] ?rpm包文件
常用选项
选项? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 功能
-i? ? ? ? ? ? ? ? ? ? ? ? ? ?安装一个新的rpm软件包
-v? ? ? ? ? ? ? ? ? ? ? ? ? 显示软件安装过程中的详细信息
-h? ? ? ? ? ? ? ? ? ? ? ? ? 在安装或升级软件过程中,以“#”号显示安装进度
-e? ? ? ? ? ? ? ? ? ? ? ? ? ?卸载指定名称的软件包
-U? ? ? ? ? ? ? ? ? ? ? ? ? ?升级某个软件包,若未安装过,则进行安装
-F? ? ? ? ? ? ? ? ? ? ? ? ? ?升级某个软件包,若未安装过,则放弃安装
–force? ? ? ? ? ? ? ? ? ? ?强制安装某个软件包,比如要安装版本更久的软件包
–nodeps? ? ? ? ? ? ? ? ?在安装或升级、卸载一个软件包时,不检查与其它软件包的依赖关系(会导致软件无法使用)
7.维护rpm数据库
?重建RPM数据库,当RPM数据库发生损坏,可通过重建RPM数据修复
基本格式:
rpm --rebuilddb 或rpm --initdb
导入验证公钥,在没有导入用于数字签名的公钥文件之前,安装光盘中的一部分rpm软件包时会报错,需要向rpm数据库中导入位于光盘跟目录下的公钥文件。
基本格式:
mount ?/dev/sr0 ?/mnt/ ? #先挂载
rpm --import /mnt/RPM-GPG-KEY-CentOS-7 #导入公钥
8.解决软件包依赖关系的方法
①安装有依赖关系的多个软件时
被依赖的软件包需要先安装
可同时制定多个 .rpm包文件进行安装
②卸载有依赖关系的多个软件时
依赖其他的程序的软件包需要先卸载
可同时制定多个软件名进行卸载
③忽略依赖关系
结合“ - -nodeps”选项,但可能会导致软件异常
二 源代码?编译安装的基本过程
1 源代码安装软件的优点
获得最新的软件版本,及时修复bug
根据用户需要,灵活制定软件功能
2 使用源代码应用场合?
-
安装较新版本的应用程序时
-
当前安装的程序无法满足需要时
-
需要为应用程序添加新的功能?
configure文件是作者放在源码包中给我们使用,是一个脚本文
3 编译安装准备工作
(1)选择装在哪里
(2)检测编译环境
(3)选择安装模块,默认安装,额外的一些软件功能
(4) /configure (文件是作者放在源码包中给我们使用的一个脚本文件)
? ? ? /configure --help 看到可以安装的模块
4.安装过程中会遇到的问题
(1)/configure缺少编译工具,先删除makefile文件,然后观察报错信息,去百度少什么编译工具,然后yum install去装编译工具
(2)make? 将所有的源代码翻译成二进制,会形成一个绿色的可执行文件
(3)make install将执行文件及相关的一些依赖文件拷贝到之前的指定目录中
编译安装过程
三 yum
- 基于rpm包管理,能够从制定的服务器自动下载rpm包并且安装,
- 可以自动处理依赖性关系,且一次安装所有依赖的软件包,不需要频繁安装。
- 提供了查找、安装、删除某一个、一组甚至全部软件包的命令
? 1 实现yum安装服务
①客户端根据配置文件找到服务端
②客户端将元信息下载到本地(元信息:安装包位置,以及安装的依赖关系)
③根据元信息去下载对应的安装的安装包到本地后,然后安装
④安装完成后,再删除安装包
4 安装步骤
- 客户端根据配置文件找到服务端
- 客户端将元信息下载到本地(元信息:安装包的位置,以及安装包的依赖关系)
- 根据元信息去下载对应的安装包到本地后,然后安装
- 安装完成后再删除安装包
①元信息:是一个文件,记录安装包的路径和安装包的依赖关系
②配置文件
- 必须要放在 /etc/yum.repos.d/文件夹下
- 必须要以 .repo 结尾
③客户端匹配置文件的格式
- [local](代表仓库的描述)
- name=local(代表仓库的名字)
- baseurl=服务器的地址(指明安装包的位置)
- gpgcheck=0(代表关闭验证安装包的安全性)
⑥服务器地址:
- file:// — 代表本机位置
- file:// /mnt — 代表本机光盘的挂载点(在/mnt文件夹下)
- http:// ip地址 — 代表网络地址
- https:// ip地址 — 代表网络地址
⑦本地yum仓库? ? :没有网络情况下救急使用本地yum仓库
⑧本地yum仓库安装命令步骤
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!