OpenSUSE Leap 15.4下通过命令行安装.ymp一键安装文件的问题
OpenSUSE Leap 15.4下通过命令行安装.ymp一键安装文件的问题
我完全懂你现在的糟心处境——想靠命令行处理.ymp一键安装文件,结果文档里说的/sbin/OCICLI压根找不到,甚至连获取这个工具的途径又是个.ymp,简直陷入死循环了对吧?别慌,咱们一步步来解决:
1. 安装正确的命令行处理工具
在OpenSUSE Leap 15.4里,旧的OCICLI工具已经被更新替换了,你需要安装的是oneclickinstall-cli这个包。打开终端直接运行:
sudo zypper install oneclickinstall-cli
安装完成后,你就能获得ocicli命令——这就是文档里提到的命令行版一键安装工具的新名字。
2. 使用ocicli处理.ymp文件
- 如果是本地的.ymp文件,直接在终端里运行:
把sudo ocicli /path/to/your/file.ymp/path/to/your/file.ymp换成你实际的文件路径就行,比如在mc里可以直接复制文件路径过来。 - 如果是在线的.ymp链接,直接把链接作为参数传入:
sudo ocicli https://example.com/your-package.ymp
3. 顺便解决MC里双击打开的问题
如果你想在MC里直接通过双击/回车打开.ymp文件,可以配置MC的文件关联:
- 打开MC,选中任意一个.ymp文件
- 按下
F9打开菜单,选择Options -> Filetype Editor - 在弹出的编辑器里,找到或新建
.ymp的文件类型,把它的关联命令设为sudo ocicli %f(记得确保你的用户有sudo权限,或者用su -c "ocicli %f") - 保存配置后,下次在MC里选中.ymp文件按回车就能触发安装了。
备选方案:用Zypper直接解析.ymp
如果你不想安装oneclickinstall-cli,也可以手动解析.ymp文件(它本质是XML格式的配置),提取里面的包名直接用Zypper安装。比如:
# 先提取包名(以在线链接为例) PACKAGE_NAMES=$(curl -s https://example.com/your-package.ymp | xmllint --xpath '//package/@name' - | cut -d'"' -f2) # 然后安装 sudo zypper install -y $PACKAGE_NAMES
不过这个方法需要你先安装xmllint(属于libxml2-tools包),而且如果.ymp里包含多个包或者需要添加额外源的话,不如ocicli来得省心。
备注:内容来源于stack exchange,提问作者user985675
相关产品推荐
相关产品推荐

