如何用Perl检测Linux的发行版本

 我来答
yexicheng
2014-12-18 · TA获得超过1.2万个赞
知道大有可为答主
回答量:8857
采纳率:69%
帮助的人:6988万
展开全部
如果要用Perl脚本检测Linux的发行版,你可以使用一个名为Linux::Distribution的Perl模块。该模块通过检查/etc/lsb-release以及其他在/etc下的发行版特定的目录来猜测底层Linux操作系统。它支持检测所有主要的Linux发行版,包括Fedora、CentOS、Arch Linux、Debian、Ubuntu、SUSE、Red Hat、Gentoo、Slackware、Knoppix和Mandrake。
要在Perl中使用这个模块,你首先需要安装它。
在Debian或者Ubuntu上安装 Linux::Distribution
基于Debian的系统直接用apt-get安装
$ sudo apt-get install liblinux-distribution-packages-perl
在Fedora、CentOS 或者RHEL上安装 Linux::Distribution
如果你的Linux没有Linux::Distribution模块的安装包(如基于红帽的系统),你可以使用CPAN来构建。
首先确保你的Linux系统安装了CPAN
$ sudo yum -y install perl-CPAN
然后,使用这条命令来构建并安装模块:
$ sudo perl -MCPAN -e 'install Linux::Distribution'
用Perl确定Linux发行版
Linux::Distribution模块安装完成之后,你可以使用下面的代码片段来确定你运行的Linux发行版本。
useLinux::Distribution qw(distribution_name distribution_version);

my $linux =Linux::Distribution->new;

if($linux){
my $distro = $linux->distribution_name();
my $version = $linux->distribution_version();
print"Distro: $distro $version\n";
}
else{
print"Distro: unknown\n";
}
jiangtao9999
2014-12-18 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1.2万
采纳率:44%
帮助的人:8099万
展开全部
用不着 perl ,/etc/ 里面就有 release 文件。文本文件随便怎么读取。不同的发行版有不同的文件名和内容。
另外还有 lsb_release 规范。
这是 Linux 发行版版本识别标准。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
eexpress
2014-12-18 · TA获得超过884个赞
知道大有可为答主
回答量:1493
采纳率:100%
帮助的人:760万
展开全部
不就是看下/etc/issue
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式