首页 > 其他分享 >RPM包管理

RPM包管理

时间:2022-10-08 19:12:58浏览次数:78  
标签:x86 管理 RPM nginx 64 root rpm el7

目录

RPM包管理

RPM包概述

  • 什么是rpm包

由红帽开发的软件 升级,安装,卸载,查询 工具

  • 为什么要使用rpm

就像在windows系统中一样,如果你想要安装一个QQ,安装一个微信,安装一款游戏,首先要去该软件的官网上去 下载相关的软件包,通常都是.exe的安装包。还有那种绿色软件包,一下载下来,解压开就能使用无需安装。

那么Linux中也有很多种类的安装包,我们在Linux上也需要安装软件,软件包的种类也有很多,但是最方便,最简 单,最简易,速度最快的,也就是rpm包了。

  • rpm包命名规则

1650440014647

# tree-1.6.0-10.el7.x86_64.rpm
tree:软件名称
1.6.0:版本号
10:该版本的发布次数
el7:使用系统版本(RedHat7,Centos7)向下兼容
.x86_64:系统平台 64    x86:32位  i386:32位
rpm:包后缀名

Linux中软件的安装方式

安装包 安装方式 优点 缺点
rpm包 rpm,yum 安装便捷 版本低,无法自定义安装路径
源码包 源码安装(解压,生成,编译,安装) 使用新版本,自定义路径 安装复杂,繁琐,安装所有依赖软件
二进制包 解压即用 安装便捷,自定义路径 并不是所有的安装包都有二进制

RPM包获取途径

  • 系统光盘镜像/Centos官网:IP
  • RPM包查询官方网站:IP
  • 其他软件官方网站

1.检查光盘是否放入光驱

1650441036259

# 挂载语法
mount 源设备文件 目标路径
[root@localhost ~]# mount /dev/cdrom /mnt 
mount: /dev/sr0 is write-protected, mounting read-only

#查看磁盘信息
df -h:查看磁盘分区情况,磁盘使用情况,也能查看到挂载设备及目录

# 卸载语法
umount 目标路径 
umount /mnt


# 查看挂载结果
[root@localhost ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# ll /mnt
total 696
-rw-r--r--.  3 root root     14 Oct 30  2020 CentOS_BuildTag
drwxr-xr-x.  3 root root   2048 Oct 27  2020 EFI
-rw-rw-r--. 21 root root    227 Aug 30  2017 EULA
-rw-rw-r--. 21 root root  18009 Dec 10  2015 GPL
drwxr-xr-x.  3 root root   2048 Oct 27  2020 images
drwxr-xr-x.  2 root root   2048 Nov  3  2020 isolinux
drwxr-xr-x.  2 root root   2048 Oct 27  2020 LiveOS
drwxr-xr-x.  2 root root 673792 Nov  4  2020 Packages
drwxr-xr-x.  2 root root   4096 Nov  4  2020 repodata
-rw-rw-r--. 21 root root   1690 Dec 10  2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r--. 21 root root   1690 Dec 10  2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--.  1 root root   2883 Nov  4  2020 TRANS.TBL

[root@localhost ~]# ll /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 
-rw-rw-r--. 3 root root 47508 Jul  4  2014 /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm


# 挂载报错 
[root@ yjc ~ ] # mount /dev/cdrom /mnt 
mount: no medium found on /dev/sr0 
原因:设备文件是空的,里面没有任何内容,光驱没有连接

# 卸载报错 
[root@localhost mnt]# umount /mnt 
umount: /mnt: target is busy. 
        (In some cases useful info about processes that use
        the device is found by lsof(8) or fuser(1))
[root@localhost mnt]# cd 
[root@localhost ~]# umount /mnt 
原因:设备繁忙

rpm命令使用-安装

# 语法
rpm [选项] rpm包名
rpm包名:
       -本地包名:在系统中某个目录下的rpm包
       -远程包名:不用下载,直接使用网站上的rpm包

# 选项
-i:安装
-v:显示安装的过程
-h:显示安装的进度条
--test:仅测试,不安装
--force:强制安装
--nodeps:忽略依赖关系

# 例:
[root@localhost ~]# rpm -i /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 
	package tree-1.6.0-10.el7.x86_64 is already installed

[root@localhost ~]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
	package tree-1.6.0-10.el7.x86_64 is already installed

[root@localhost ~]# rpm --test /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 

# 注意:rpm命令管理rpm包缺点,无法解决依赖关系

rpm命令使用-查询

# 语法
rpm [选项] rpm包名

# 选项
-q:查看指定的安装包是否安装

-- 以下选项都要配合-q使用 --
-a:查看全部安装过的包
-i:查看安装包的详细信息
-l:列出rpm包相关的配置文件和目录
-c:只查看该软件包相关的配置文件
-d:只查看该软件的帮助文档文件
-f:反向查找,根据配置文件,目录,帮助文档,查找该文件属于哪个包
--scripts:查看安装包,安装之前之后和卸载之前之后要执行的脚本

-p:查询未安装的包
-qip:未安装包的详细信息
-qlp:未安装包会生成的所有文件
-qcp:未安装包会生成的所有配置文件
-qdp:未安装包会生成的所有帮助文件


# 例:
[root@localhost ~]# rpm -q tree
tree-1.6.0-10.el7.x86_64

[root@localhost ~]# rpm -qa|grep 'vim'
vim-filesystem-7.4.629-8.el7_9.x86_64
vim-enhanced-7.4.629-8.el7_9.x86_64
vim-minimal-7.4.629-7.el7.x86_64
vim-common-7.4.629-8.el7_9.x86_64

[root@localhost ~]# rpm -ql tree
/usr/bin/tree
/usr/share/doc/tree-1.6.0
/usr/share/doc/tree-1.6.0/LICENSE
/usr/share/doc/tree-1.6.0/README
/usr/share/man/man1/tree.1.gz
[root@localhost ~]# rpm -qc tree
[root@localhost ~]# rpm -qd tree
/usr/share/doc/tree-1.6.0/LICENSE
/usr/share/doc/tree-1.6.0/README
/usr/share/man/man1/tree.1.gz

[root@zls ~]# rpm -qf /etc/vsftpd/vsftpd.conf
[root@zls ~]# rpm -qf /usr/sbin/vsftpd

# 举例 -q -i 命令组合使用 
[root@localhost Packages]# rpm -qi `rpm -qa|grep 'net'` 
[root@localhost Packages]# rpm -qi $(rpm -qa|grep 'net') 
[root@localhost Packages]# rpm -qa|grep 'net'|xargs rpm -qi

rpm命令使用-升级

# 选项
-U:update升级,如果老版本不存在,则安装,如果老版本存在则升级
-f:必须有老版本存在

# 查询当前系统中安装nginx的包(1.10版本)
[root@zls ~]# rpm -qa|grep 
nginxnginx-1.10.0-1.el7.ngx.x86_64

# 使用ivh安装nginx 1.12版本的包
[root@zls ~]# rpm -ivh nginx-1.12.0-1.el7.ngx.x86_64.rpm

# 报错如下:因为系统中已存在1.10版本的nginx所以无法使用ivh安装
warning: nginx-1.12.0-1.el7.ngx.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62:
NOKEY
Preparing...                          ################################# [100%]
    file /etc/logrotate.d/nginx from install of nginx-1:1.12.0-1.el7.ngx.x86_64 conflictswith file from package nginx-1:1.10.0-1.el7.ngx.x86_64
    file /usr/sbin/nginx from install of nginx-1:1.12.0-1.el7.ngx.x86_64 conflicts withfile from package nginx-1:1.10.0-1.el7.ngx.x86_64
    file /usr/sbin/nginx-debug from install of nginx-1:1.12.0-1.el7.ngx.x86_64 conflictswith file from package nginx-1:1.10.0-1.el7.ngx.x86_64
    file /usr/lib/systemd/system/nginx.service from install of nginx-1:1.12.0-1.el7.ngx.x86_64 conflicts with file from package nginx-1:1.10.0-1.el7.ngx.x86_64
    file /usr/libexec/initscripts/legacy-actions/nginx/upgrade from install of nginx-1:1.12.0-1.el7.ngx.x86_64 conflicts with file from package nginx-1:1.10.0-1.el7.ngx.x86_64

# 使用Uvh安装,会将已存在的老版本卸载,升级成新1.12版本
[root@zls ~]# rpm -Uvh nginx-1.12.0-1.el7.ngx.x86_64.rpm
warning: nginx-1.12.0-1.el7.ngx.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62:
NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:nginx-1:1.12.0-1.el7.ngx         ################################# [ 50%]
Cleaning up / removing...
   2:nginx-1:1.10.0-1.el7.ngx         ################################# [100%]

# 查看当前系统中的nginx版本为升级后的1.12版本
[root@zls ~]# rpm  -qa|grep nginx
nginx-1.12.0-1.el7.ngx.x86_64

rpm命令使用-卸载

# 选项
-e:后面接卸载的包名即可

# 例:先查询,然后卸载。其依赖包是系统所必须的,那就不能卸载
[root@zls ~]# rpm -qa|grep nginx
nginx-1.12.0-1.el7.ngx.x86_64
[root@zls ~]# rpm -e nginx
[root@zls ~]# rpm -qa|grep nginx
[root@zls ~]# rpm -qa|grep mariadb
mariadb-5.5.68-1.el7.x86_64
mariadb-server-5.5.68-1.el7.x86_64
mariadb-libs-5.5.68-1.el7.x86_64
[root@zls ~]# rpm -e $(rpm -qa|grep mar)

镜像站地址

阿里云镜像站:http://mirrors.aliyun.com
网易镜像站:http://mirrors.163.com/
清华源:https://mirrors.tuna.tsinghua.edu.cn
中科大源:https://mirrors.ustc.edu.cn/

思维导图

yum报错

# 1.报错http://mirrors.cloud.aliyuncs.com/centos/7/os/x86_64/Packages/python-srpm-macros-3-34.el7.noarch.rpm: [Errno 14] curl#6 - "Could not resolve host: mirrors.cloud.aliyuncs.com;Unknown error"

原因是aliyun的Base源中有另外两个baseurl=那两个网址不是咱们使用的,可以删除

# 2.报错
[root@zls ~]# yum install -y tree
Loaded plugins: fastestmirror
Existing lock /var/run/yum.pid: another copy is running as pid 37209.Another app is currently holding the yum lock; waiting for it to exit...  
  The other application is: yum    
    Memory :  24 M RSS (769 MB VSZ)    
    Started: Thu Apr 2121:33:34 2022-00:06 ago    
    State  : Sleeping, pid: 37209
    
原因:后台已经有yum进程在安装服务,要么就等安装结束,要么kill PID

# 3.网络波动多执行几次

# 4.环境变量损坏
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/

$releasever  :7
$basearch    : x86_6

标签:x86,管理,RPM,nginx,64,root,rpm,el7
From: https://www.cnblogs.com/LZA1218/p/16769921.html

相关文章

  • yum管理工具
    目录yum管理工具yum概述配置yum源yum命令实践yum查询infoprovidesyum安装installyum重装reinstallyum更新check-updateyum卸载removeyum仓库指令repolistallyum缓......
  • 文件管理
    目录文件管理/目录下的文件/etc目录/var存放系统日志文件目录/dev系统设备文件目录路径的定位特殊目录文件管理重点:在linux中,一切皆文件。没有后缀区分。/目录下的文件......
  • IPMI智能平台管理接口
      智能平台管理接口(IPMI)是一种开放标准的硬件管理接口规格,定义了嵌入式管理子系统进行通信的特定方法。IPMI信息通过基板管理控制器(BMC)(位于IPMI规格的硬件组件......
  • 重装Intel核显后,设备管理器英特尔显卡属性这里报告了一个未启动设备(igfx)
    问题:卸载了Intel集显之后,重装,发现外接显示器无法被识别并显示页面在设备管理器里面,右键核显的属性,查看事件,显示“未启动设备(igfx)”解决方案:右键集显,点击“扫描硬件改动”......
  • Tita 360 评估:中层管理者能力测评问卷
    360评估指导语本次员工职业领导力素质测评由Tita360评估全程在线支持。Tita「360 评估」,申请试用请联系售前/售后顾问,或者直接在线预约演示本问卷通过对被评价者的......
  • 学籍管理系统可行性研究分析
    1、引言1.1编写目的通过对学生学籍管理系统项目进行一系列的详细调查研究,明确了该系统项目的实现在技术、经济和社会因素方面的可行性,阐述为了合理地达到项目目标的实现报......
  • 仓储管理 | 新手如上架商品?
    进货,提货,仓库备货,一片混乱。想用纸和笔记录下来,发现工作量太大;用Excel代替,数据同步困难;想自己搭建一个系统,但是不会编程,没有经验…作为一个没有经验的新手,如何快速搭建一......
  • 项目管理模式
    项目管理模式瀑布模型:需求设计概要设计详细设计功能开发测试上线需求变更敏捷模型:需求了解原型设计(产品经理)功能开发(研发经理)测试上线用户反馈......
  • 进程及计划任务管理
    一、程序和进程的关系1、程序保存在硬盘、光盘等介质中的可执行代码和数据文件中静态保存的代码2、进程在CPU及内存中运行的程序代码动态执行的代码父、子进程......
  • Windows Server 2019远程控制的配置与管理方法
    1、WindowsServer远程桌面功能在企业中服务器一般被寄存在专门的IDC机房中,这些机房在固定的地点,可能距离企业距离很远。但是大部分服务器需要定期维护,如果每次维护时,系统......