#冷门Distro# 包管理软件Zypper的简明教程

在Debian/Ubuntu下有apt来管理软件和系统,在Redhat系的系统下则是dnfyum,对于openSUSE 系统,则使用zypper作为其命令行包管理器,同样,zypper具有优秀的依赖解析能力。这里简单的罗列了一些常用的命令作为备忘。

1. 基础包管理

这是最常用的增删改查命令,绝大多数指令都有简写形式。

搜索软件包

zypper se <关键词> # 基础搜索 (search)
zypper se -s <关键词> # 详细搜索,列出所有可用版本和所属仓库

安装软件包

sudo zypper in <包名> # 安装 (install)
sudo zypper in -f <包名> # 强制重新安装 (覆盖损坏的文件时非常有用)

卸载软件包

sudo zypper rm <包名> # 卸载 (remove)
sudo zypper rm -u <包名> # 卸载软件包,并同时清理不再被依赖的孤儿包

查看软件包信息

zypper info <包名> # 查看包的描述、大小、依赖和所在仓库

锁定/解锁软件包

sudo zypper al <包名>     # 添加锁定 (addlock)
sudo zypper rl <包名>     # 解除锁定 (removelock)
zypper ll                 # 列出当前所有的锁定列表 (locks)

2. 系统更新与升级

刷新软件源

sudo zypper ref # 刷新所有仓库的元数据 (refresh)

更新升级

sudo zypper dup # 发行版升级 (distribution upgrade),Tumbleweed系统用该命令进行日常更新
sudo zypper up # 普通版本,如Leap使用该命令更新

注意:Tumbleweed绝对不要使用zypper up更新!!!

3. 软件源 (Repository) 管理

添加第三方源(如 Packman)或私有驱动时常用的命令。

列出当前软件源

zypper lr # 列出软件源 (list-repositories)
zypper lr -d # 详细列出,包含 URL 和优先级参数

添加软件源

sudo zypper ar -f <URL> <别名> # 添加仓库并开启自动刷新 (addrepo)

删除或禁用软件源

sudo zypper rr <别名或编号> # 删除源 (removerepo)
sudo zypper mr -d <别名或编号> # 仅禁用源,不删除 (modifyrepo -disable)

启用某个软件源

sudo zypper mr -e <源>     # -e 代表 enable

批量禁用/开启所有源

sudo zypper mr -da         # 禁用所有源 (disable all)
sudo zypper mr -ea         # 启用所有源 (enable all)

修改源是否自动刷新 (Auto-Refresh)

sudo zypper mr -r <源>     # 开启自动刷新(推荐绝大多数源保持开启) -r 代表 refresh (小写),加a可以批量操作所有
sudo zypper mr -R <源>     # 关闭自动刷新 -R 代表关闭 refresh (大写),,加a可以批量操作所有

设置某个源的优先级

sudo zypper mr -p <数字> <源>    # -p 代表 priority
# 一次性完成三个设置:启用该源 (-e)、开启自动刷新 (-r)、并将其优先级提升到 90 (-p 90)
# 参考:sudo zypper mr -e -r -p 90 packman

4. 进阶运维与清理

允许供应商变更 (Vendor Change)

当你从 Packman 等第三方源安装多媒体解码器,且与官方源冲突时,Zypper 默认不会自动切换供应商。

sudo zypper dup --allow-vendor-change

清理缓存

sudo zypper clean -a      # 清除所有下载的包缓存和元数据,释放空间

猜你 喜欢

微魔的头像

关于作者: 微魔

小微魔,大智慧!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注