软件包管理(rpm+yum)

1.介绍软件包安装方式

rpm包安装:

rpm是个软件包管理工具,通过.rpm后缀来操作

-i #安装

-q #查询

-l #列出软件包下的文件

-e #卸载

-h, #软件包安装的时候列出哈希标记 (和 -v 一起使用效果更好)

-v, #提供更多的详细信息输出

rpm的痛点:需要依赖
python 复制代码
[root@shell Packages]# ls -l |grep nginx
-rw-rw-r--. 1 root root    23376 11月 12 2018 pcp-pmda-nginx-4.1.0-4.el7.x86_64.rpm
[root@shell Packages]# rpm -ivh pcp-pmda-nginx-4.1.0-4.el7.x86_64.rpm 
错误:依赖检测失败:
	perl(LWP::UserAgent) 被 pcp-pmda-nginx-4.1.0-4.el7.x86_64 需要
	perl-PCP-PMDA = 4.1.0-4.el7 被 pcp-pmda-nginx-4.1.0-4.el7.x86_64 需要
[root@shell Packages]# rpm -ivh perl-PCP-PMDA-4.1.0-4.el7.x86_64.rpm 
错误:依赖检测失败:
	libpcp.so.3()(64bit) 被 perl-PCP-PMDA-4.1.0-4.el7.x86_64 需要
	libpcp.so.3(PCP_3.0)(64bit) 被 perl-PCP-PMDA-4.1.0-4.el7.x86_64 需要
	libpcp.so.3(PCP_3.21)(64bit) 被 perl-PCP-PMDA-4.1.0-4.el7.x86_64 需要
	libpcp.so.3(PCP_3.22)(64bit) 被 perl-PCP-PMDA-4.1.0-4.el7.x86_64 需要
	libpcp_pmda.so.3()(64bit) 被 perl-PCP-PMDA-4.1.0-4.el7.x86_64 需要
	libpcp_pmda.so.3(PCP_PMDA_3.0)(64bit) 被 perl-PCP-PMDA-4.1.0-4.el7.x86_64 需要
	pcp-libs = 4.1.0-4.el7 被 perl-PCP-PMDA-4.1.0-4.el7.x86_64 需要
[root@shell Packages]#

一般组合:

rpm -ivh .rpm后缀 #安装

python 复制代码
[root@shell ~]# rpm -ivh nginx-1.20.1-9.el7.x86_64.rpm 
错误:依赖检测失败:
	nginx-filesystem = 1:1.20.1-9.el7 被 nginx-1:1.20.1-9.el7.x86_64 需要
[root@shell ~]# rpm -ivh nginx-1.20.1-9.el7.x86_64.rpm nginx-filesystem-1.20.1-9.el7.noarch.rpm openssl11-libs-1.1.1k-2.el7.x86_64.rpm centos-indexhtml-7-9.el7.centos.noarch.rpm gperftools-libs-2.6.1-1.el7.x86_64.rpm 
准备中...                          ################################# [100%]
	软件包 gperftools-libs-2.6.1-1.el7.x86_64 已经安装
	软件包 centos-indexhtml-7-9.el7.centos.noarch 已经安装
	软件包 openssl11-libs-1:1.1.1k-5.el7.x86_64 (比 openssl11-libs-1:1.1.1k-2.el7.x86_64 还要新) 已经安装
	软件包 nginx-filesystem-1:1.20.1-10.el7.noarch (比 nginx-filesystem-1:1.20.1-9.el7.noarch 还要新) 已经安装
	软件包 nginx-1:1.20.1-10.el7.x86_64 (比 nginx-1:1.20.1-9.el7.x86_64 还要新) 已经安装
	file /usr/sbin/nginx from install of nginx-1:1.20.1-9.el7.x86_64 conflicts with file from package nginx-1:1.20.1-10.el7.x86_64
	file /usr/share/man/man3/nginx.3pm.gz from install of nginx-1:1.20.1-9.el7.x86_64 conflicts with file from package nginx-1:1.20.1-10.el7.x86_64

rpm -qa 名字

python 复制代码
[root@shell ~]# rpm -qa nginx
nginx-1.20.1-10.el7.x86_64

rpm -ql 名字 #列出安装nginx时创建的文件

python 复制代码
[root@shell ~]# rpm -ql nginx
/etc/logrotate.d/nginx
/etc/nginx/fastcgi.conf
/etc/nginx/fastcgi.conf.default
/etc/nginx/fastcgi_params
/etc/nginx/fastcgi_params.default
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/mime.types.default
/etc/nginx/nginx.conf
/etc/nginx/nginx.conf.default
/etc/nginx/scgi_params
/etc/nginx/scgi_params.default
/etc/nginx/uwsgi_params
/etc/nginx/uwsgi_params.default
/etc/nginx/win-utf
/usr/bin/nginx-upgrade
/usr/lib/systemd/system/nginx.service
/usr/lib64/nginx/modules
/usr/sbin/nginx
/usr/share/doc/nginx-1.20.1
/usr/share/doc/nginx-1.20.1/CHANGES
/usr/share/doc/nginx-1.20.1/README
/usr/share/doc/nginx-1.20.1/README.dynamic
/usr/share/doc/nginx-1.20.1/UPGRADE-NOTES-1.6-to-1.10
/usr/share/licenses/nginx-1.20.1
/usr/share/licenses/nginx-1.20.1/LICENSE
/usr/share/man/man3/nginx.3pm.gz
/usr/share/man/man8/nginx-upgrade.8.gz
/usr/share/man/man8/nginx.8.gz
/usr/share/nginx/html/404.html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/en-US
/usr/share/nginx/html/icons
/usr/share/nginx/html/icons/poweredby.png
/usr/share/nginx/html/img
/usr/share/nginx/html/index.html
/usr/share/nginx/html/nginx-logo.png
/usr/share/nginx/html/poweredby.png
/usr/share/nginx/modules
/usr/share/vim/vimfiles/ftdetect/nginx.vim
/usr/share/vim/vimfiles/ftplugin/nginx.vim
/usr/share/vim/vimfiles/indent/nginx.vim
/usr/share/vim/vimfiles/syntax/nginx.vim
/var/lib/nginx
/var/lib/nginx/tmp
/var/log/nginx
/var/log/nginx/access.log
/var/log/nginx/error.log

rpm -e 命名的名字#卸载

python 复制代码
[root@shell ~]# rpm -qa tree
tree-1.6.0-10.el7.x86_64
[root@shell ~]# rpm -e tree
[root@shell ~]# rpm -qa tree

which nginx 一般搭配yum provides 使用 #查看软件属于那个包中

python 复制代码
[root@shell ~]# which nginx
/usr/sbin/nginx
[root@shell ~]# rpm -qa /usr/sbin/nginx
[root@shell ~]# yum provides /usr/sbin/nginx 
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * epel: mirror.01link.hk
1:nginx-1.20.1-10.el7.x86_64 : A high performance web server and reverse proxy server
源    :epel
匹配来源:
文件名    :/usr/sbin/nginx



1:nginx-1.20.1-10.el7.x86_64 : A high performance web server and reverse proxy server
源    :@epel
匹配来源:
文件名    :/usr/sbin/nginx
yum软件包管理(在线,一般生产环境使用):
python 复制代码
[root@shell Packages]# yum install -y tree
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * epel: mirror.01link.hk
base                                                                             | 3.6 kB  00:00:00     
extras                                                                           | 2.9 kB  00:00:00     
updates                                                                          | 2.9 kB  00:00:00     
正在解决依赖关系
--> 正在检查事务
---> 软件包 tree.x86_64.0.1.6.0-10.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

========================================================================================================
 Package              架构                   版本                            源                    大小
========================================================================================================
正在安装:
 tree                 x86_64                 1.6.0-10.el7                    base                  46 k

事务概要
========================================================================================================
安装  1 软件包
总下载量:46 k
安装大小:87 k
Downloading packages:
tree-1.6.0-10.el7.x86_64.rpm                                                     |  46 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : tree-1.6.0-10.el7.x86_64                                                            1/1 
  验证中      : tree-1.6.0-10.el7.x86_64                                                            1/1 
已安装:
  tree.x86_64 0:1.6.0-10.el7                                                                    
完毕!

provides 命令或者文件路径 :查询软件包名

python 复制代码
[root@shell ~]# yum provides rz
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * epel: mirror.nju.edu.cn
epel/x86_64/filelists_db                                                         |  12 MB  00:00:01     
extras/7/x86_64/filelists_db                                                     | 303 kB  00:00:00     
updates/7/x86_64/filelists_db                                                    |  14 MB  00:00:01     
lrzsz-0.12.20-36.el7.x86_64 : The lrz and lsz modem communications programs
源    :base
匹配来源:
文件名    :/usr/bin/rz
lrzsz-0.12.20-36.el7.x86_64 : The lrz and lsz modem communications programs
源    :@anaconda
匹配来源:
文件名    :/usr/bin/rz

编译安装:

参考大佬链接:https://www.cnblogs.com/mclind/p/16972857.html

二进制安装:

参考大佬链接:https://www.cnblogs.com/mclind/p/16972857.html

相关推荐
java叶新东老师2 小时前
git stash 命令详解
linux·运维·flink
写bug的羊羊3 小时前
CentOS 9 配置国内 YUM 源
linux·运维·centos
Johny_Zhao5 小时前
CentOS Stream 9上部署FTP应用服务的两种方法(传统安装和docker-compose)
linux·网络安全·信息安全·kubernetes·云计算·containerd·ftp·yum源·系统运维
守望时空336 小时前
RustDesk搭建指南
linux
C++ 老炮儿的技术栈6 小时前
在 Scintilla 中为 Squirrel 语言设置语法解析器的方法
linux·运维·c++·git·ubuntu·github·visual studio
白鹭7 小时前
基于LNMP架构的分布式个人博客搭建
linux·运维·服务器·网络·分布式·apache
java叶新东老师7 小时前
linux 部署 flink 1.15.1 并提交作业
linux·运维·flink
程序员JerrySUN8 小时前
Linux系统架构核心全景详解
linux·运维·系统架构
无敌的牛8 小时前
Linux文件理解,基础IO理解
linux·运维·服务器
未来之窗软件服务8 小时前
跨平台 WebSocket 服务器的设计与实现 —— 基于.NET 8 的跨操作系统解决方案linux,macos,windows——开发工具
linux·服务器·websocket·仙盟创梦ide·东方仙盟