我熟悉 Ubuntu,但 Suse 对我来说很陌生。工作中我接到一项任务,要求我在远程服务器上安装软件,具体来说是 pdftk。
通过谷歌搜索,我找到了 zypper 来实现这一点,但不知为何,我似乎无法在这些机器上找到 zypper。是不是因为我没有以 root 身份登录?(我确实查看了 /sbin 和 /usr/sbin,但 zypper 似乎不在那里)。
另外,我在我们的内部 Web 服务器上找到了一个 autoinstall.xml 文件。它有什么用处吗?或者它只是早已离职的 Linux 管理员在设置这些框时可能用到的东西?
推荐的安装方式是什么?
答案1
Zypper 隐藏在 /usr/bin 中。如果 pdftk 位于配置的存储库之一中:
pdftk 中的 zypper
将安装该软件包。如果没有,那么您有几个选择。
选项 1:完全跳过 Zypper
获取该包的 RPM,然后使用 rpm 而不是 zypper 进行安装。
选项 2:创建 YUM 存储库
更强大的方法,因为它允许在所有服务器上安装相同的包。创建存储库,将其添加到每个服务器,然后 zypper 的自动更新过程将完成其余工作。自动(假设您已打开自动更新)。
最难的部分是选择更新服务器。确定哪个服务器将充当此角色后,确定是否要通过 HTTP、NFS 或 FTP 提供更新。
创建 repo。可以在此处找到一个很好的指南:
http://blog.barfoo.org/2009/10/22/creating-a-custom-rpm-repository-for-smt/
忽略有关“smt-setup-custom-repo”的部分,您只对“createrepo”部分感兴趣。
一旦你有了目录,就把你的 RPM 放进去。按你需要的方式共享它(我喜欢 NFS,它简单又快速)。然后在每台服务器上运行以下命令
zypper sa updateserver:/path/to/repo "Repo 的名称"
这会将存储库添加到 Zypper。然后您只需发出
pdktk 中的 zypper
在每个要安装的软件包上。如果您已打开自动更新,则只需在存储库中更新软件包即可自动更新软件包。它们会在自动更新时应用于您的服务器。