1 Linux 包管理器概述
rpm的使用:
rpm -ivh filename.rpm
#这列出该packageName(包名)安装的所有文件列表。
rpm -ql packageName
#查询已安装的该packageName的详细信息,包括版本、发布日期等。
rpm -qi packageName
#列出该packageName安装的所有配置文件。
rpm -qc packageName
rpm -Uvh filename.rpm
rpm -e packageName
rpm -qpi tree-1.6.0-10.el7.x86_64.rpm 的解释:
#-q选项表示查询已安装的软件包,
#-p选项指定要查询的软件包文件(在这种情况下是"tree-1.6.0-10.el7.x86_64.rpm")。
#-i选项表示显示软件包的详细信息。
#该命令将显示有关已安装的"tree"软件包的各种详细信息,包括版本号、发布日期、文件依赖关系、安装路径等。
2 rpm的查询、升级与卸载命令
rpm查询
rpm -qa | grep httpd
rpm -qi httpd
rpm -ql httpd
rpm -qc httpd
rpm -qd httpd
rpm -qR httpd
rpm -qRp /media/cdrom/Packages/bind-9.9.4-61.el7.x86_64.rpm
rpm -q httpd --scripts
rpm升级/降级
升级:
降级:
3 rpm依赖关系问题及处理
rpm -ivh /media/cdrom/Packages/httpd-2.4.6-88.el7.centos.x86_64.rpm
此时看到缺4个依赖。
解决依赖方法:
自动: yum会自动安装所依赖的组件,推荐采用
手工:找到依赖需要的所有rpm包,然后rpm -ivh A B C D
如何手工查询文件所对应用的rpm文件?
第三方rpm包网站
www.rpmfind.net
pkgs.org
https://rpm.pbone.net/
拿上面的安装httpd缺/etc/mime.types举例,搜索后可知他对应需要安装的rpm包围 mailcap-2.1.41.2-el7.noarch.rpm
自己创建 genrpmfiles.sh
#!/bin/bash
#保证 centos7 光盘 mount 到 /media/cdrom下
echo "" > centos7FileList.txt
for f in /media/cdrom/Packages/*.rpm ;
do
echo $f >> centos7FileList.txt
rpm -qpl $f >> centos7FileList.txt
echo "" > centos7FileList.txt
done
#通过vim 或者 grep对centos7FileList.txt进行筛选。找到对应的rpm程序
END
4、yum
下载离线包的方法: yum 、 yumdownloader、reportrack
yum install yum-utils -y
yum install --downloadonly --downloaddir=/path/to/save zabbix
yumdownloader --resolve --destdir=/path/to/save zabbix
repotrack -a x86_64 -p /path/to/save zabbix
# 下载全量依赖包
repotrack MariaDB-server
#yumdownloader 与repotrack不同的是,它并不是全量下载,而是根据你机器的环境来决定的,比如你电脑已经安装了大多数依赖项目,那么下载下来的软件包数量就少,反之就多。
yumdownloader --downloadonly --resolve MariaDB-server
#参考https://blog.csdn.net/qq_34556414/article/details/104517359
yum内容未写未看
内容来源:陈涛老师。