如何检查 Bacula 版本?我apt-get install
在 Ubuntu 上使用命令安装了 Bacula。我想知道我正在使用的版本。
答案1
运行这个:
apt-cache policy bacula
这将向你显示当前安装的 bacula 版本,以及所有存储库中可用的所有 bacula 版本/etc/apt/sources.list
。
答案2
这个问题很难回答,因为涉及到很多部分,根据机器的用途以及你正在处理的 Bacula(或 Baculum)的版本,这些部分会有所不同。即使在同一台机器上,也可能有多个不同版本的部件(这可能是也可能不是问题——这很复杂)。
例如,我的主要 Bacula 服务器(存储所有备份的地方)和它备份的机器都安装了某个版本的 bacula-common 包,但只有我的主服务器安装了 bacula-mysql,而没有安装名为“bacula”的包。
易于
根据您的设置,您可能能够使用apt-cache policy package-name
它来获取通过 apt 安装或可以安装的内容列表:
# All Bacula packages
apt-cache policy bacula*
# A specific one
apt-cache policy bacula-common
当我尝试升级 Bacula 时,这很有帮助。这也是我所知道的检查 Baculum 版本的唯一方法(Web 界面)。
请注意,从 20.04 升级到 Ubuntu 22.04 将无法在 Ubuntu 存储库中找到 Bacula(因此即使您之前已通过这种方式安装了 Bacula,也会返回错误并导致 Bacula 无法工作),并且在 20.04 中,通过这些存储库可用的最高版本是 Bacula 9。因此,我不得不编辑/etc/sources.list
(或类似的子文件/etc/sources.list.d/baculum.list
)以从 Bacula 自己的存储库中提取。
还要注意,您需要的 Bacula apt 包会根据您运行的版本而有所不同。例如,Bacula 9 有 bacula-sd 和 bacula-director,但 Bacula 13 要求您安装 bacula-dir 包,而不安装 bacula-sd 包 — 稍后将详细介绍这些缺失的包。
命令行工具
Bacula 命令行工具(例如bconsole
)接受问号标志(-?
)作为打印版本(以及有关其他标志的信息)的方式。虽然不支持-v
,但输入这样的无效命令也会显示相同的帮助消息。您也可以bconsole
单独运行以启动控制台,它也将显示版本(但通常需要比更多的权限,-?
因为必须加载 conf 文件并且您还必须退出它)。返回的版本bconsole
应该与 中的相同apt-cache
(如果以这种方式安装),尽管它们的格式略有不同 - 例如,前者给出该版本软件的发布日期。
为了方便您的复制/粘贴:
bconsole -?
事实证明,在只想查看版本的脚本中,这很难使用。我最终得到了这个有点冗长的代码,因为它输出了整行版本信息:
version=$(bconsole -? >(grep 'Version') 2>(grep 'Version'))
其他版本
除了上述内容之外,我很快意识到有些重要的二进制文件没有安装 apt 包,无法通过键入 之类的命令来访问bconsole
。例如,如果您使用的是 Bacula 9,bacula-sd 会随 apt 安装,但 Bacula 13 没有这样的包。在 Bacula 9 中,二进制文件似乎位于 中/usr/sbin/
,而在 Bacula 13 中它们位于 中/opt/bacula/bin/
。
文件
另外值得注意的是,对我来说,Bacula 9 中的许多文件都安装在 中,/etc/bacula/
而 Bacula 13 中的所有内容都安装在 中/opt/bacula/
。这意味着引用 中的所有内容/etc/bacula/
(例如/etc/init.d/bacula-sd
)都来自版本 9 安装。
同时,对我来说,Baculum 还在/etc/baculum/
——当我安装最新版本(Baculum 11)时,它没有动。