我正在尝试编写一个脚本,该脚本基于每个 Linux Mint 版本都基于特定 Ubuntu 版本的知识。
但是,我不想安装 Linux Mint 来验证这一点,而是让脚本的用户在需要时对其进行测试。
不过,我可以信赖 的存在/etc/debian_version
吗?我这样做是为了检测 Debian 及其衍生版本。它在 Debian 和 Ubuntu 上可靠地工作,但是 Linux Mint 有这个文件吗?
注意:我知道lsb_release
并且我正在使用它以便稍后找出更多细节。但 的存在/etc/debian_version
是一种在检查和调用之前对某些事物做出假设的方法lsb_release
。
答案1
正如 @kirill-a 的回答中提到的,/etc/debian_version
应该出现在任何 Debian 衍生版本中。
查找当前基于 Debian 的发行版及其“祖先”信息的另一个有用方法是dpkg-vendor
:例如,
dpkg-vendor --derives-from Debian
应该在任何 Debian 衍生品(以及 Debian 本身)上取得成功,
dpkg-vendor --derives-from Ubuntu
应该在任何 Ubuntu 衍生品(以及 Ubuntu 本身)上取得成功,等等。发行版被认为是其自身及其父代的衍生品,因此 Ubuntu 是 Ubuntu 和 Debian 的衍生品。
dpkg-vendor
已交付,dpkg-dev
因此需要安装才能使用该命令,这在一定程度上降低了实用性。
答案2
是的,与任何 Ubuntu 衍生版本一样,该文件都存在。
答案3
我正在运行 Mint 19
$ lsb_release -d
Description: Linux Mint 19 Tara
$uname -a
Linux mymc 4.15.0-20-generic #21-Ubuntu SMP ...
$ cat /etc/debian_version
buster/sid
这个:cat /etc/debian_version | grep -o '[0-9]'| head -1|sed -e 's/ //'
应该告诉你使用的是哪个版本的 debian,但 mint 掩盖了它。