我是否可以相信每个 Debian 衍生发行版都会有一个包含“/etc/debian_version”的“base-files”包?

我是否可以相信每个 Debian 衍生发行版都会有一个包含“/etc/debian_version”的“base-files”包?

我想要一个快速、可靠的命令来确定我运行的 Linux 是否基于 Debian。以下命令似乎有效。它还返回 Debian 版本:

dpkg -L base-files 2>/dev/null | grep '^/etc/debian_version$' >/dev/null 2>&1 && cat /etc/debian_version

我以前的想法是用它dpkg -S /etc/debian_version来查看它是否属于某个包,而不管名称是什么。但是dpkg -S速度很慢。

我只是有一个挥之不去的疑问:是否有更老的 Debian 衍生发行版不符合我的假设?还有更好的方法吗?

答案1

更好的方法是测试您想要做的事情是否可行,而不是依赖于发行版。例如,我的 Ubuntu 机器声称它是“squeeze/sid”。如果您想通过 dpkg 安装某些东西,请检查 dpkg 是否在您期望的位置并且可执行。如果您想修改网络设置?请检查 /etc/networking/interfaces 是否存在。检查是否存在 update-rc.d 等工具。

您还应该使用 /etc/lsb-release 而不是 /etc/debian_version。

答案2

相关内容