我想要的是一个快速,可靠的命令,以确定我运行的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来查看它是否属于某个包,而不pipe名称。 但是dpkg -S很慢。
我只有一个疑惑:是否有Debian衍生的发行版,我的假设不成立? 有没有更好的办法?
一个更好的方法是testing你想要做什么是可能的,而不是依靠什么分配。 例如我的Ubuntu盒子声称它是“挤/ sid”。 如果你想通过dpkg来安装某些东西,那么检查一下dpkg就是你期望的可执行文件。 如果你想修改networking设置? 检查/ etc / networking / interfaces是否存在。 检查工具,如update-rc.d等
你也应该使用/ etc / lsb-release而不是/ etc / debian_version。
我不相信你可以做出这样的假设。
请参见: