<200002010202.LAA12652 _at_ naka.naka.jaeri.go.jp> の、 "[linux-users:64793] Re: ディストリビューションを判別するコマンド" において、 "TAKEDA Nobukazu <ntakeda _at_ naka.jaeri.go.jp>"さんは書きました: > なにがしか方法はありそうですね。 > とりあえずはTurbolinuxとVineの区別がつけばよいので、 > これで十分です。 > どうもありがとうございました。 うーんっ、個人的には十分なのかもしれませんが…。 せっかくなのでまとめた方がよいかと思います。 現在まとめると… ・間違っている箇所を教えてもらえる。 ・他のディストリビューションの情報も教えて貰える。 ・後々検索がカンタンになる。 ・勝手に CD になるかもしれない。 と、いったウレシイ得点がついてくるようですよ :-) #!/usr/bin/perl $VERSION = "/proc/version"; @DISTRIBUTION = ( "plamo", "/usr/lib/setup/plamo-version", "slackware", "/usr/lib/setup/slack-version", "debian", "/etc/debian_version", "vine", "/etc/vine-release", "suse", "/etc/SuSE-release", "turbo", "/etc/turbolinux-release", "kondara", "/etc/kondara-release", "redhat", "/etc/redhat-release", ); sub IsLinux { open(VER, $VERSION) || return undef; while (<VER>) { return 1 if (($k_ver[0], $k_ver[1], $k_ver[2], $_) = /^Linux version (\d*)\.(\d*)\.(\d*)\s*(.*)/i); } return undef; } sub Distribution { for ($i=0;$i<$#DISTRIBUTION;$i+=2) { ($system, $file) = @DISTRIBUTION[$i, $i+1]; return $system if (<$file*>); } return undef; } # # Sample Main # unless (IsLinux()) { printf("not linux system.\n"); exit(-1); } unless ($system = Distribution()) { $system = "other"; } printf("%s linux kernel version=%d.%d.%d\n", $system, $k_ver[0], $k_ver[1], $k_ver[2]); # ディストリビューションのバージョンも付加すれば、初心者さんが質問する # ときはこのコマンドの結果も添付してねって感じで使えるかもしれません。 -- Masafumi SHIRAIWA shiraiwa _at_ ksd.co.jp
References:
- [linux-users:64791] ディストリビューションを判別するコマンドTAKEDA Nobukazu
- [linux-users:64792] Re: ディストリビューションを判別するコマンドTakaaki Tabuchi
- [linux-users:64793] Re: ディストリビューションを判別するコマンドTAKEDA Nobukazu
- Prev by Subject: [linux-users:64818] Re: 10M程度のシステムを作りたい
- Next by Subject: [linux-users:64820] Re: sparcの日本語表示について
- Previous by thread: [linux-users:64793] Re: ディストリビューションを判別するコマンド
- Next by thread: [linux-users:64794] Re: ディストリビューションを判別するコマンド
- Indexes:[Main][Thread]