1、CentOS/RHEL/Fedora类系统
rpm的一些常用命令
rpm -ivh xxx.rpm #安装包rpm -qa#查询机器上所有安装的包rpm -qlp xxx.rpm #列出rpm包里的文件rpm -ivh--test xxx.rpm #检查依赖关系,并不真正安装rpm -qpR xxx.rpm #查看依赖关系。rpm --queryformat"%{NAME} %{VERSION} %{RELEASE} %{ARCH} \n"-qa#rpm -qa可以定义查询格式rpm -qf file_path #查询系统上的文件属于哪个包rpm -ql pkg_name #查询系统上安装的某个包都安装了哪些文件 rpm2cpio aliyun_assist_2.2.3.204.rpm |cpio -dim#解压rpm包
yum 的一些常用的命令
yum search xxx #搜索包yum -y install xxxx #安装包yum -y reinstall xxxx #重新覆盖安装包yum install --downloadonly--downloaddir=/root/rpm grub2.x86_64 #下载包及其依赖包到本地,不安装 yum provides /usr/bin/ls #查询某文件是由哪个包提供的,这个很方便。想安装包但不知道包名,只知道需要哪个具体文件。yum repoinfo #查看repo源信息yum -y remove xxx #只删除软件包而保留软件包的数据和配置文件yum -y erase xxx #删除软件包,以及软件包数据和配置文件yum upgrade -y xxx #升级包yum-config-manager --add-repo [repo源的url / repo源配置文件的url] yum-config-manager --add-repo http://mirrors.cloud.aliyuncs.com/centos/7/os/x86_64/ yum-config-manager --add-repo http://www.example.com/example.repo yum-config-manager --disable xxx #禁用某repo (xxx为repoid)yum-config-manager --enable xxx #开启某repo (xxx为repoid)
2、Ubuntu/debian 类系统
dpkg 的一些常用命令
dpkg -l#列出系统上安装的包dpkg -L xxx包名 #查询系统上安装的某个包都安装了哪些文件 => 类似 rpm -ql xxxdpkg -c xx.deb #列出deb包的文件 => 类似 rpm -qlpdpkg -r xxx包名 #卸载包(保留其配置信息)dpkg -P xxx包名 #删除一个包(包括配置信息)dpkg -S 文件名 #查询系统上的文件属于哪个包dpkg-deb -R xxx.deb /tmp/test/ #解压deb包至指定目录
apt/apt-get 的一些常用命令
详细参考: debian 软件包管理:
https://www.debian.org/doc/manuals/debian-reference/ch02.zh-cn.html#_literal_apt_literal_vs_literal_apt_get_literal_literal_apt_cache_literal_vs_literal_aptitude_literal
apt update #更新包信息至本地apt install -y xxxx #安装包apt search xxx #搜索包apt download xxxxx #下载包apt upgrade #升级包
apt 升级的区别
apt-get upgrade和dist-upgrade的差别:
upgrade:系统将现有的Package升级,如果有相依性的问题,而此相依性需要安装其它新的Package或影响到其它Package的相依性时,此Package就不会被升级,会保留下来.
dist-upgrade:可以聪明的解决相依性的问题,如果有相依性问题,需要安装/移除新的Package,就会试着去安装/移除它. (所以通常这个会被认为是有点风险的升级)
apt-get upgrade 和 apt-get dist-upgrade 本质上是没有什么不同的。只不过,dist-upgrade 会识别出当依赖关系改变的情形并作出处理,而upgrade对此情形不处理。
3、sles/opensuse 类系统
zypper 的一些常用命令
(zypper 命令官方手册中文版) https://zh.opensuse.org/SDB:Zypper_%E7%94%A8%E6%B3%95
zypper # 列出可用的全局选项和命令zypper help search # 列出 search 命令的帮助zypper lp # 列出需要的补丁更新zypper patch # 安装所需的补丁zypper se sqlite # 搜索 sqlite 软件zypper rm sqlite2 # 删除 sqlite2 软件zypper in sqlite3 # 安装 sqlite3 软件zypper in yast* # 安装所有符合 yast* 名称的软件zypper up # 更新所有软件包到可用的新版本zypper info #显示所有详细信息zypper --non-interactive install python3-M2Crypto #无交互安装python3-M2Cryptozypper -q addrepo -f repo_mirror repo_name #添加一个新的repo源zypper repos/lr #查看源zypper removerepo reponame #移除repo源zypper ref #refresh刷新所有repo源zypper lu #列出所有可更新的包
4、FreeBSD 类系统
pkg的一些常用命令
freeBSD官方包管理文档:https://bsdcn.org/2021/03/15/freebsd-bao-guan-li-qi-ji-ben-yong-fa/
pkg info #查看已安装的软件包pkg info pkg #查看pkg的版本pkg install #安装软件pkg del #删除软件pkg upgrade #升级软件pkg audit -F#审核软件pkg autoremove #自动删除不需要的软件包pkg clean #清除过时或失效包