22 1 月 2013

核心設定差異比較

作者:Ben哥|發布日期:2012/02/14

以下的Perl腳本可以給你不同版本的核心設定差異舉例來說,如果你想要比較核心2.6.25與2.6.39 請執行以下程式碼:

$ ./comp.pl kernel.2.6.25 kernel.2.6.39

這樣就會告訴你結果

#!/usr/bin/perl

if( @ARGV != 2 )
{
print "\nUsage: $0 \n\n";
exit 1;
}

open(F, "$ARGV[ 0 ]" );
open(F1, "$ARGV[ 1 ]" );

@f =<F>; 
@f1 =<F1>;

%f = get_key_value( @f );
%f1 = get_key_value( @f1 );

foreach ( keys %f )
{
if ( $f1{ $_ } ne $f{ $_ } )
{
print "$ARGV[ 0 ] : $_ = $f{ $_ }\n";
print "$ARGV[ 1 ] : $_ = $f1{ $_ }\n";
print '=' x 50, "\n";
}
}

sub get_key_value { my ( @config ) = @_;
foreach ( @config )
{
if ( $_ =~ /^(CONFIG_.+)=(.+)$/ )
{
$config{ $1 } = $2;
}
}
return %config;
}