提问:我须要写一个Perl程序,它会包含Linux发行版相关的代码。因此,Perl程序须要才能手动检查运行中的Linux的发行版(如Ubuntu、CentOS、Debian、Fedora等等),以及它是哪些版本号。怎样用Perl检查Linux的发行版本?
假如要用Perl脚本检查Linux的发行版,你可以使用一个名为Linux::Distribution的Perl模块。该模块通过检测/etc/lsb-release以及其他在/etc下的发行版特定的目录来推测底层Linux操作系统。它支持检查所有主要的Linux发行版,包括Fedora、CentOS、ArchLinux、Debian、Ubuntu、SUSE、RedHat、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模块的安装包(如基于红帽的系统)redhat linux,你可以使用CPAN来建立。
首先确保你的Linux系统安装了CPAN
$ sudo yum -y install perl-CPAN
之后怎么查看linux系统版本号怎么查看linux系统版本号,使用这条命令来建立并安装模块:
$ sudo perl -MCPAN -e 'install Linux::Distribution'
用Perl确定Linux发行版
Linux::Distribution模块安装完成以后中标linux,你可以使用下边的代码片断来确定你运行的Linux发行版本。
use Linux::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 $versionn"; } else { print "Distro: unknownn"; }
译者:geekpi校对:wxy
本文由LCTT原创翻译,Linux中国荣誉推出