技术标签: yum Linux 运维 shell linux rpm
目录
先抛出三个问题,最后简单解释一下。
rpm包是如何得到的?
rpm包是如何制作出来的的?
rpm包在安装时能否指定路径?
下面文字的原理讲解可能有点多,大家只想看命令的话直接跳到RPM命令标题即可。
优点:
缺点:
所以,通常不同的 Linux 发行版所发布的RPM文件,并不能用在其他的 Linux 发行版上。但如果我们真的想要安装其他Linux发行版的RPM软件包怎么办?这时候就该用到我们SRMP。
一般来说,在安装RPM类型的文件时,会先去读取文件内记录的设置参数内容,然后将该数据用来对比Linux系统的环境,以找出是否有属性依赖的软件尚未安装的问题。
若环境检查合格,那么RPM文件就被安装到Linux系统上。安装完毕后,该软件的相关信息就被写入到/var/lib/rpm目录下的数据库文件中了。
RPM的数据库:/var/lib/rpm
这个目录内的数据很重要,因为未来如果我们有任何软件升级的需求,查询系统已经安装软件的需求,查询软件详细信息的需求等都是由这个数据库记录提供的
故障原因:
当RPM数据库损坏时,需要进行数据库重建
接下来我们来查看一些放在光盘里RPM包。
# 通过挂载光盘镜像(可以指定挂载点)来查看Package
[root@zabbix_server ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@kafka01 ~]# ll /dev/cdrom
lrwxrwxrwx 1 root root 3 12月 21 20:10 /dev/cdrom -> sr0
光驱:读光盘的一个设备(驱动器) --> cdrom
/dev/cdrom 对应光驱的设备文件 --> dev/sr
挂载成功之后,可以去挂载点查看文件
Centos8的系统中Packages再AppStream下,7的系统直接在mnt下就可以找到
[root@kafka01 ~]# cd /mnt/AppStream/Packages/
# Packages里的包基本都是rpm的包,列一点点如下
可以统计一下总共有多少 [root@zabbix_server ~]# ls /mnt/Packages|wc -l |
[root@kafka01 Packages]# ls openssh-askpass-8.0p1-5.el8.x86_64.rpm
openssh-askpass-8.0p1-5.el8.x86_64.rpm
一般命名格式:
|
|
|
|
|
|
|
|
|
|
|
|
el --> enterprise el8 --> 企业版的Linux 8
noarch --> no architecture --> 不区分架构,即没有任何硬件等级上的限制,一般这种类型的RPM文件中没有二进制程序文件存在,常出现的就是属于shell脚本方面的软件
查询已安装的RPM软件信息
格式:rpm -q[子选项] [软件名]
用法:结合不同子选项完成不同查询
查询文件/目录属于哪个RPM软件
查询未安装的RPM包文件
格式:rpm -qp[子选项] [RPM包文件]
用法:-qp后接的所有参数与上面说明的一致,但用途仅在找出某个RPM文件内的信息,而非已安装的软件信息
接下来随意列举几个应用一下命令
[root@kafka01 ~]# rpm -qa
[root@kafka01 ~]# rpm -qi nginx
[root@kafka01 etc]# rpm -ql nginx
[root@kafka01 etc]# rpm -qf dhcp
dhcp-client-4.3.6-44.0.1.el8.x86_64
[root@zabbix_server ~]# rpm -qpl /mnt/Packages/zsh-5.0.2-34.el7_8.2.x86_64.rpm |more
# 查看openssh的安装包
[root@kafka01 ~]# rpm -qa|grep openssh
openssh-8.0p1-5.el8.x86_64
openssh-server-8.0p1-5.el8.x86_64
openssh-clients-8.0p1-5.el8.x86_64
[root@kafka01 ~]# rpm -ql openssh-server
/etc/pam.d/sshd
# 卸载
rpm -e zsh
选项与参数:
-i:install 安装
-v:查看更详细的安装信息
-h:显示安装进度
-e:erase 卸载清除安装包
依赖关系
安装有依赖关系的多个软件时,被依赖的软件包需要先安装 --> 需要同时指定多个.rpm包文件进行安装
卸载有依赖关系的多个软件时,依赖其他程序的软件包需要先卸载 --> 同时指定多个软件吗进行卸载
--force:强制安装所指定的rpm软件包
--nodeps:安装、升级或卸载软件时,忽略依赖关系
--replacefiles:在安装过程中出现某个文件已经被安装在你的系统上的信息,或出现版本不合的信息,可以用这个参数直接覆盖文件
--replacekgs:重新安装某个已经安装过的软件。防止安装RPM文件时因为某软件已安装导致无法继续安装
--test:测试软件是否可以被安装到用户的Linux环境中
建议:尽量安装时直接使用 -ivh 就好,尽量不要使用--force暴力安装,否则可能会发生很多不可预期的问题。
格式:rpm [选项] [RPM包文件]…
选项与参数
所以最后,大家应该就能知道这些问题的答案了。
rpm包是如何得到的?
rpm包是如何制作出来的的?
rpm包在安装时能否指定路径?
|
|
|
/usr/bin |
|
/usr/sbin |
|
/etc |
|
/var/log |
|
/usr/share/doc |
|
/usr/share/man |
|
/usr/lib |
文章浏览阅读550次。第5章总线及其形成1.微处理器的外部结构表现为数量有限的输入输出引脚,它们构成了微处理器级总线。2.微处理器级总线经过形成电路之后形成了系统级总线。3.简述总线的定义及在计算机系统中采用标准化总线的优点。答:总线是计算机系统中模块(或子系统)之间传输数据、地址和控制信号的公共通道,它是一组公用导线,是计算机系统的重要组成部分。采用标准化总线的优点是:1)简化软、硬件设计。2)简化系统结构。3)易于..._微机读写控制信号的作用是
文章浏览阅读987次。转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/18797493前言新的一年新的开始,除了继续我的原有课题之外,我还打算研究下Android逆向工程的一些东西,主要包括反编译、Smali、APK打包、签名、反逆向和移动安全等。这篇就是新课题的第一篇文章,不过要牺牲下哈皮妹-萝莉这款应用了。通过对哈皮妹-萝莉的破解,_安卓工程逆向
文章浏览阅读1.2k次。http://i2.feixin.10086.cn/pages/64905/1330659284http://i2.feixin.10086.cn/pages/64905/1330682034http://i2.feixin.10086.cn/pages/64905/1330666257http://i2.feixin.10086.cn/pages/64905/1330685248_unity解包怎么看怪物的行动方式
文章浏览阅读1k次。##视觉检测配件及镜头技术指标###C口延长环/增距环当镜头工作距离小于其正常对焦范围时,使用延长环增加镜头后焦使用后焦延长环时,镜头在超出设计物距外工作,此时成像性能可能下降_c口转f口 镜头
文章浏览阅读4.5k次,点赞5次,收藏23次。_setparameters
文章浏览阅读1k次。Kubernetes基于ConfigMap实现配置分离1 创建ConfigMap的方式1.1 通过文字值创建1.2 通过目录创建1.3 通过文件创建1.4 通过配置文件创建1 创建ConfigMap的方式1.1 通过文字值创建创建语法:使用命令参数 --from-literal=key=value 定义一个配置项,可以定义一个或多个配置项。配置项中的 key 会成为 ConfigMap ..._k8 配置和程序分离
文章浏览阅读1.1k次,点赞3次,收藏8次。Julia是重度 LaTex符号的偏好的语言。所以,有必要收藏一下LaTex符号表。julia> for i ∈ 1:5 # /in if i ∉ 2:3 # /notin println(i) end end145julia> k = 4π # π : \pi12.566370614359172julia> num =rand()julia> if num ≤ 0.5 println(num) end # ≤ : \lequsin_latex xor
文章浏览阅读1.7k次。1 --创建链接服务器2 exec sp_addlinkedserver 'itsv ', ' ', 'sqloledb ', '远程服务器名或ip地址 '3 exec sp_addlinkedsrvlogin 'itsv ', 'false ',null, '用户名 ', '密码 '45 --查询示例6 select * from itsv.数据库名.dbo.表名78 --导入示例9 sel..._sqlserver链接服务器查询语句
文章浏览阅读704次。leecode刷题(10)-- 旋转图像旋转图像描述:给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]示例 2:给..._c语言将图像二维矩阵顺时针旋转90度
文章浏览阅读1.9k次。原标题:Python文件如何在windows桌面上双击执行小编自从和大家开讲Python后,同学们的要求越来越多,不外乎就是简单化,一键化操作最好。我们上次已经介绍过在命令行如何执行python文件,还有如何在python安装目录外的目录下执行python文件。但那些都是在cmd命令行下面执行的,能不能真正的在windows桌面上执行下呢?我们今天就来讨论这个问题今天来学习下如何直接双击执行后缀名..._windows系统可以双击python文件运行吗
文章浏览阅读286次,点赞10次,收藏10次。随着电子计算机、信息通信等技术的发展,BMS的软件算法将得到进一步的优化,新能源汽车的性能将得到进一步的改善,BMS的数据监测精度、可靠性、状态估算、安全管理性能等都将得到进一步的改善,BMS有望朝高集成化、高精度估算、智能化的方向发展。中国汽车电池管理系统(BMS)企业必须抓住新的发展形势,加强新型电池安全性的研究,提高产品竞争力,加强品牌意识,顺应小型化、轻量化发展趋势,加大新型电池的开发应用,加速新技术开发,降低原材料消耗,降低成本,加强合作,只有这样才能在新形势下立于不败之地。
文章浏览阅读351次,点赞9次,收藏8次。容斥 期望 公式