我想要一个快速、可靠的命令来确定我运行的 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。