42 lines
		
	
	
	
		
			1,022 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			1,022 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable file
		
	
	
	
	
#!/usr/bin/perl
 | 
						|
use 5.010;
 | 
						|
use utf8;
 | 
						|
use strict;
 | 
						|
use warnings;
 | 
						|
use Carp;
 | 
						|
 | 
						|
use Sort::Versions qw(versioncmp);
 | 
						|
 | 
						|
my $color_header  = "#ffcb48";
 | 
						|
my $color_ok      = "#78af78";
 | 
						|
my $color_warn    = "#ffff00";
 | 
						|
 | 
						|
sub booted_kernel {
 | 
						|
  my $booted_kernel = `uname -r`;
 | 
						|
  chomp($booted_kernel);
 | 
						|
 | 
						|
  return $booted_kernel;
 | 
						|
}
 | 
						|
 | 
						|
sub installed_kernels {
 | 
						|
  my $installed_kernels = `rpm --query --queryformat='%{VERSION}-%{RELEASE}.%{ARCH}\n' kernel`;
 | 
						|
  chomp($installed_kernels);
 | 
						|
  my @installed_kernels = split /\n/sx, $installed_kernels;
 | 
						|
 | 
						|
  return @installed_kernels;
 | 
						|
}
 | 
						|
 | 
						|
sub latest_installed_kernel {
 | 
						|
  my @installed_kernels = sort { versioncmp($b, $a) } installed_kernels();
 | 
						|
  my $latest_installed_kernel = $installed_kernels[0];
 | 
						|
 | 
						|
  return $latest_installed_kernel;
 | 
						|
}
 | 
						|
 | 
						|
my $booted_kernel = booted_kernel();
 | 
						|
my $latest_installed_kernel = latest_installed_kernel();
 | 
						|
 | 
						|
if ($booted_kernel ne $latest_installed_kernel) {
 | 
						|
  say "\${color $color_header}KERNEL\$color";
 | 
						|
  say "  \${color $color_warn}REBOOT INTO $latest_installed_kernel\$color";
 | 
						|
}
 |