форумы  рассылка  download Перейти на новую версию сайта:
www.slackware.ru
Искать    где:    






    
slackware.ru > Дистрибутив > Ядро > Скрипт для ленивых :) ID:1859
 
2004-06-27 ShultZ
Скрипт для ленивых :)
Как говорится, лень - двигатель прогресса, вот и мне
надоело периодически залезать на kernel.org с целью выяснения последней версии ядра и скачивания оного...

Подумал я и решил написать простенький скрипт - точнее даже 2. Первый качает index.html c kernel.org и собственно ядро и кладет его в каталог /pub/kernel локального ftp-сервера, а 2-й (уже на perl\'e) копается в скачанной html-ке на предмет версии последнего стабильного ядра


вот основной скрипт updatekernel


#!/bin/sh
/etc/ppp/ppp-comstar
wgetparms='-c'
proto='ftp'
server='ftp.ru.kernel.org'
kernpath='pub/linux/kernel'
localkernpath='/home/ftp/pub/kernel'
arc='bz2'
prefix=$proto://$server/$kernpath
echo "Trying to detect the latest Linux kernel version..."
wget http://www.kernel.org -O ./index.html
version=`./latest.pl`
#rm -f ./index.html
ver=`echo $version | sed -r -e s/^\([0-9]*\)\.*/\\\\1/`
version=`echo $version | sed -r -e s/../\/`
rev=`echo $version | sed -r -e s/^\([0-9]*\)\.*/\\\\1/`
pat=`echo $version | sed -r -e s/../\/`
echo "* The latest stable Linux kernel is $ver.$rev.$pat, starting DownLoad..."
echo "getting file "$prefix"/v"$ver.$rev"/linux-"$ver.$rev.$pat."tar".$arc
echo " saving to "$localkernpath"/linux-"$ver.$rev.$pat."tar".$arc
wget $wgetparms $prefix/v$ver.$rev/linux-$ver.$rev.$pat.tar.$arc\
-O $localkernpath/linux-$ver.$rev.$pat.tar.$arc
chmod 666 $localkernpath/linux-$ver.$rev.$pat.tar.$arc
/etc/ppp/ppp-off
#halt



а этот - собственно для определения версии (latest.pl)...


#!/usr/bin/perl
open(DUMP,"cat index.html|")
or die "cannot read index.html";
while(!eof(DUMP))
{
$buf .= getc(DUMP);
if($buf =~ m/The latest stable version of the Linux kernel$/)
{
$buf = "";
while(!eof(DUMP))
{
$buf .= getc(DUMP);
if($buf =~ m/linux-(.+).tar.bz2$/)
{
my $version = $1;
print "$version\n";
$buf = "";
close(DUMP);
}
}
}
}
close(DUMP);


надеюсь, что хоть кому-нибудь все это покажелся немного полезным :)



оставить комментарий
Как Вы оцениваете эту статью? 
коментарии к статье

 развернуть комментарии (всего 0,персональных 0)