SUSE Linux – Zypper 命令示例及安装多个内核

什么是zypper?

zypper 是原生 ZYpp 包管理器的命令行界面。zypper 主要存在于 SLES(SUSE Linux Enterprise Server)和 openSUSE 发行版中。zypper 用于安装、删除、更新和查询软件包。

zypper常用命令

 root@kerneltalks # zypper
  用法:
        zypper [--global-options] <command> [--command-options] [arguments]
        zypper <subcommand> [--command-options] [arguments]
 
>  全局选项:
        --help, -h              帮助
        --version, -V           输出版本号
        --promptids             输出 zypper 用户提示符列表
        --config, -c <file>     使用指定的配置文件来替代默认的
        --userdata <string>     在历史和插件中使用的用户自定义事务 id
        --quiet, -q             忽略正常输出,只打印错误信息
        --verbose, -v           增加冗长程度
        --color
        --no-color              是否启用彩色模式,如果 tty 支持的话
        --no-abbrev, -A         表格中的文字不使用缩写
        --table-style, -s       表格样式(整型)
        --non-interactive, -n   不询问任何选项,自动使用默认答案
        --non-interactive-include-reboot-patches
                                针对带有重启标志的补丁,不使用交互模式
        --xmlout, -x            切换至 XML 输出
        --ignore-unknown, -i    忽略未知的包

        --reposd-dir, -D <dir>  使用自定义仓库文件目录
        --cache-dir, -C <dir>   为所有缓存启用可选路径
        --raw-cache-dir <dir>   启用可选 raw 元数据缓存路径
        --solv-cache-dir <dir>  启用可选 solv 文件缓存路径
        --pkg-cache-dir <dir>   启用可选包缓存路径
 
>  仓库选项:
        --no-gpg-checks         忽略 GPG 检查失败并跳过
        --gpg-auto-import-keys  自动信任并导入新仓库的签名密钥
        --plus-repo, -p <URI>   使用附加仓库
        --plus-content <tag>    另外使用禁用的仓库来提供特定的关键词
                                尝试使用 '--plus-content debug' 选项来启用仓库
        --disable-repositories  不从仓库中读取元数据
        --no-refresh            不刷新仓库
        --no-cd                 忽略 CD/DVD 中的仓库
        --no-remote             忽略远程仓库
        --releasever            设置所有 .repo 文件中的 $releasever 变量(默认值:发行版版本)
 
     Target Options:
        --root, -R <dir>        在另一个根路径下进行操作
        --disable-system-resolvables 取已安装包
 

>  仓库管理:
        repos, lr               列出所有自定义仓库
        addrepo, ar             添加一个新仓库
        removerepo, rr          移除指定仓库
        renamerepo, nr          重命名指定仓库
        modifyrepo, mr          修改指定仓库
        refresh, ref            刷新所有仓库
        clean                   清除本地缓存
 
>  服务管理:
        services, ls            列出所有自定义服务
        addservice, as          添加一个新服务
        modifyservice, ms       修改指定服务
        removeservice, rs       移除指定服务
        refresh-services, refs  刷新所有服务
 
>  软件管理:
        install, in             安装包
        remove, rm              移除包
        verify, ve              确认包依赖的完整性
        source-install, si      安装源码包及其构建依赖
        install-new-recommends, inr
                                安装由已安装包建议一并安装的新包
 
>  更新管理:
        update, up              更新已安装包至更新版本
        list-updates, lu        列出可用更新
        patch                   安装必要的补丁
        list-patches, lp        列出必要的补丁
        dist-upgrade, dup       进行发行版更新
        patch-check, pchk       检查补丁
 
>   查询:
        search, se              查找符合匹配模式的包
        info, if                展示特定包的完全信息
        patch-info              展示特定补丁的完全信息
        pattern-info            展示特定模式的完全信息
        product-info            展示特定产品的完全信息
        patches, pch            列出所有可用的补丁
        packages, pa            列出所有可用的包
        patterns, pt            列出所有可用的模式
        products, pd            列出所有可用的产品
        what-provides, wp       列出提供特定功能的包
 
>   包锁定:
        addlock, al             添加一个包锁定
        removelock, rl          移除一个包锁定
        locks, ll               列出当前的包锁定
        cleanlocks, cl          移除无用的锁定
 
>   其他命令:
        versioncmp, vcmp        比较两个版本字符串
        targetos, tos           打印目标操作系统 ID 字符串
        licenses                打印已安装包的证书和 EULAs 报告
        download                使用命令行下载指定 rpm 包到本地目录
        source-download         下载所有已安装包的源码 rpm 包到本地目录
 
>   子命令:
        subcommand              列出可用子命令
 

安装多个内核

引自 https://documentation.suse.com/zh-cn/sles/12-SP4/html/SLES-all/cha-tuning-multikernel.html#cha-tuning-multikernel-enable

摘要

SUSE Linux Enterprise Server 支持多个内核版本的平行安装。安装第二个内核时,将自动创建一个引导项和一个 initrd,因此无需做进一步的手动配置。重引导计算机时,新增的内核可用作附加的引导选项。

使用此功能,您可以安全测试内核更新,同时,还始终能够回退到已经过验证的前一内核。执行此操作时,请不要使用更新工具(例如 YaST 联机更新或更新小程序),而应该遵照本章中所述的过程。

启用和配置多版本支持

以 root 身份使用所选的编辑器打开 /etc/zypp/zypp.conf。

搜索字符串 multiversion。如果为所有支持此功能的内核包启用多版本,以下行可能会取消注释:

multiversion = provides:multiversion(kernel)
COPY
要对特定的内核类型限制多版本支持,请将逗号分隔的包名称列表添加到 /etc/zypp/zypp.conf 中的 multiversion 选项 — 例如

multiversion = kernel-default,kernel-default-base,kernel-source
COPY
保存所做的更改。
## 保留多个内核(特殊版本、正在运行等)
以 root 身份使用所选的编辑器打开 /etc/zypp/zypp.conf。

搜索字符串 multiversion.kernels,并通过取消注释对应的行来激活此选项。此选项将会使用包含以下值的逗号分隔列表:

4.4.126-48::  保留具有指定版本号的内核

latest::  保留具有最高版本号的内核

latest-N::  保留版本号排在第 N 位的内核

running::  保留正在运行的内核

oldest::  保留具有最低版本号的内核(最初 SUSE Linux Enterprise Server 随附的内核)

oldest+N:  保留版本号排在倒数第 N 位的内核

以下是一些示例

multiversion.kernels = latest,running
保留最新内核以及当前正在运行的内核。这相当于不启用多版本功能,不过,旧内核是在下一次重引导后才去除的,而不是在安装后立即去除。

multiversion.kernels = latest,latest-1,running
保留最新的两个内核,以及当前正在运行的内核。

multiversion.kernels = latest,running,4.4.126-48
保留最新的内核、当前正在运行的内核,以及 4.4.126-48。

posted on   Allen158  阅读(774)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示