Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

wget wildcard ili neko drugo resenje za skript?

[es] :: Linux aplikacije :: wget wildcard ili neko drugo resenje za skript?

[ Pregleda: 2195 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Srđan Pavlović
Specijalna Edukacija i Rehabilitacija MNRO
Vojvodina, Bačka Palanka

Član broj: 139340
Poruke: 5571
93.86.225.*

Sajt: www.oligofrenolog.com


+382 Profil

icon wget wildcard ili neko drugo resenje za skript?25.08.2009. u 01:19 - pre 178 meseci
Hocu da napisem sebi jednu malu skripticu za automatizaciju
kompajliranja kernela (na Archu), i jedan od koraka u skripti je
skidanje najnovijeg kernela sa ftp://ftp.kernel.org/pub/linux/kernel/v2.6/testing/
direktorijuma na serveru. Skidam tar.gz, znaci trenutno je najnoviji ovaj:

linux-2.6.31-rc7.tar.gz

a ja bih hteo da moja skripta uzme naziv svih
fajlova koji pocinju sa "linux-2.6.32" i da dalje nadje string koji ima
najvecu rc vrednost recimo ako u direktorijumu postoje 2.6.32-rc2 i rc3,
da mi vrati ceo taj "linux-2.6.32-rc3.tar.gz" string da onda mogu da ga
prosledim wget komandi.

googlao sam malo "wget wildacrd", ali wget nema to, ima samo rekurzivnu
opciju (-r switch) koja skida rekurzivno vise fajlova, koliko sam skontao,
to zavisi da li servar ima directory-index, ali ne kontam se u to mnogo
te ne znam kako bih konkretno to iskoristio da izvucem najnoviji string.

Kako ovo da odradim - nije neka frka da sam promenim rc-najnoviji_broj u skripti
to je 10 sec, ali onako cisto me zanima jel ima neko resenje da skinem automatski
najnoviji 2.6.32.rc-x (kad izadje 2.6.32, a uskoro ce).

Pozz ;)

 
Odgovor na temu

Srđan Pavlović
Specijalna Edukacija i Rehabilitacija MNRO
Vojvodina, Bačka Palanka

Član broj: 139340
Poruke: 5571
93.86.225.*

Sajt: www.oligofrenolog.com


+382 Profil

icon Re: wget wildcard ili neko drugo resenje za skript?26.08.2009. u 06:59 - pre 178 meseci
Hahaha, nasao workaround da ovo odradim :)))

Otprilike algoritam je ovaj:

wget -c ftp://ftp.kernel.org/pub/linux...l/v2.6/testing/linux-2.6.32-rc10.tar.gz

Naravno, posto veceg od rc10 sigurno nema (nema ni 9, al ajd), za pocetak krecem od 10 :)
Dalje samo proveravam jel skinuo (jel ima fajl u direktorijumu), ako nije
smanjujem rc za 1 ... i tako dok ne vidi da ima nesto skinuto u diru, cim ima
prelazim na seldeci korak - raspakivanje :)

[Ovu poruku je menjao Srđan Pavlović dana 26.08.2009. u 08:18 GMT+1]
 
Odgovor na temu

combuster
Ivan Bulatovic
Kraljevo

Član broj: 151351
Poruke: 4563
93.86.6.*

Sajt: www.linuxsrbija.org


+104 Profil

icon Re: wget wildcard ili neko drugo resenje za skript?26.08.2009. u 07:04 - pre 178 meseci
Sweet! N1!
make love - !war
 
Odgovor na temu

Srđan Pavlović
Specijalna Edukacija i Rehabilitacija MNRO
Vojvodina, Bačka Palanka

Član broj: 139340
Poruke: 5571
93.86.225.*

Sajt: www.oligofrenolog.com


+382 Profil

icon Re: wget wildcard ili neko drugo resenje za skript?26.08.2009. u 09:49 - pre 178 meseci
Evo, ako neko zna da ovo izvede elegantnije
(pogotovo ova if redaljka), slab sam jako u bash
skriptingu, pa sam sklepao ovo tako... :D


Prikačeni fajlovi
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.ptt.rs.



+257 Profil

icon Re: wget wildcard ili neko drugo resenje za skript?26.08.2009. u 19:59 - pre 178 meseci
Citat:

wget -c ftp://ftp.kernel.org/pub/linux...sting/linux-2.6.32-rc10.tar.gz &> skriptlog.txt
if [ -r linux-2.6.32-rc10.tar.gz ]; then
idemodalje
exit
fi


Mali hint:
Code:

for i in `seq 10 -1 1`; do echo linux-2.6.32-rc$i.tar.gz; done


Pa ti vidi kako da to upotrebis....


Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

Srđan Pavlović
Specijalna Edukacija i Rehabilitacija MNRO
Vojvodina, Bačka Palanka

Član broj: 139340
Poruke: 5571
*.static.isp.telekom.rs.

Sajt: www.oligofrenolog.com


+382 Profil

icon Re: wget wildcard ili neko drugo resenje za skript?27.08.2009. u 08:09 - pre 178 meseci
ma da, mislio sam da upotrebim for petlju, ali nesto me mrzelo da
gledam sintaksu po man stranicama... mislis ovako nesto:

for i in `seq 10 -1 1`; do wget -c ftp://ftp.kernel.org/pub/linux...sting/linux-2.6.32-rc$i.tar.gz &> skriptlog.txt;
if [ -r linux-2.6.32-rc$i.tar.gz ]; then idemodalje;
done
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.ptt.rs.



+257 Profil

icon Re: wget wildcard ili neko drugo resenje za skript?27.08.2009. u 11:28 - pre 178 meseci
Tako nesto...

JEsi probao da li radi?

Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

Srđan Pavlović
Specijalna Edukacija i Rehabilitacija MNRO
Vojvodina, Bačka Palanka

Član broj: 139340
Poruke: 5571
*.static.isp.telekom.rs.

Sajt: www.oligofrenolog.com


+382 Profil

icon Re: wget wildcard ili neko drugo resenje za skript?27.08.2009. u 12:32 - pre 178 meseci
Niisam, probacu kad izadje 2.6.32-rc1 ;) Zato sam i pravio ovu skriptu
posto 31 prelazi u final za koji dan, pa kad krenu 32-rc da se ne zezam
posto cu svaki za redom da stavljam kako izadje :)


Al ne vidim sto ne bi radilo ovo...

Planirao sam da dodam i deo da skripta upise sama i odgovarajucu
sekciju u menu.lst - ali za sada sam ostavio bez toga dok ne budem
siguran da sam to uradio na pametan nacin, tj. da ne zeznem nesto.
 
Odgovor na temu

niceness
Novi Sad

Član broj: 93992
Poruke: 993



+22 Profil

icon Re: wget wildcard ili neko drugo resenje za skript?27.08.2009. u 15:27 - pre 178 meseci
Ako ti treba samo najnovija verzija onda mozes da iskoristis http://www.kernel.org/kdist/finger_banner.
Nesto kao:
Code:
wget http://www.eu.kernel.org/pub/linux/kernel/v2.6/testing/linux-$(wget -q http://www.eu.kernel.org/kdist/finger_banner -O - | sed '/mainline/!d;s/.* \(.*\)$/\1/').tar.gz

ali zar ne bi bilo bolje skidati zakrpe izmedju -rc verzija, a ne ceo source (ili mozda koristiti git)?
 
Odgovor na temu

combuster
Ivan Bulatovic
Kraljevo

Član broj: 151351
Poruke: 4563
93.86.6.*

Sajt: www.linuxsrbija.org


+104 Profil

icon Re: wget wildcard ili neko drugo resenje za skript?27.08.2009. u 15:33 - pre 178 meseci
Sa zakrpama stedi bandwith a rekompajliranje kernel-a svaki dan sa patch-evima izmedju rc-a je vec sick :D
make love - !war
 
Odgovor na temu

Srđan Pavlović
Specijalna Edukacija i Rehabilitacija MNRO
Vojvodina, Bačka Palanka

Član broj: 139340
Poruke: 5571
*.static.isp.telekom.rs.

Sajt: www.oligofrenolog.com


+382 Profil

icon Re: wget wildcard ili neko drugo resenje za skript?27.08.2009. u 16:00 - pre 178 meseci
Pa svaka sledeca RC verzija ne izlazi bas tako cesto, nije mi neki problem
da svucem 70-ak mb kad izadje, a starije sourceve, kernele, i module brisem ako novi radi OK.

niceness bravo za post, to mi je trebalo! :)

Sad moze sve sa if-ovima i for petljama out :)
 
Odgovor na temu

Srđan Pavlović
Specijalna Edukacija i Rehabilitacija MNRO
Vojvodina, Bačka Palanka

Član broj: 139340
Poruke: 5571
*.static.isp.telekom.rs.

Sajt: www.oligofrenolog.com


+382 Profil

icon Re: wget wildcard ili neko drugo resenje za skript?28.08.2009. u 17:58 - pre 178 meseci
Evo, probao sam ovo (malo sam napravio "pametniju skriptu", nadam se), i sve prolazi
ok samo zadnji deo (mkinitcpio) ne prolazi. Testriao sam sa ovim sad rc8 sto je izasao.

Medjutim, i kada sam probao rucno da odradim i prodjem mkinitcpio, pravio je neke
probleme, moze biti da su nesto zeznuli u rc8, sa istim config-om sam iskompajlirao rc7 lepo.

Ako je neko kompajlirao rc8 moze da mi potvrdi da nije do kernel-a.

Dakle u ovoj dole sve radi, samo mkinitcpio nihe hteo.

Code:

#!/bin/bash

# PROCITAJ PRVO (!):
# 1. Custom kernel string mora da bude prazan string u .config-u kernel-a!
# 2. fajl config.moj se mora nalaziti u /home/user/ direktorijumu
# 3. (recimo /home/srdjan/config.moj)
# 4. startovati kao root!

clear
echo "------------------------------------------------"
echo "Pokrenut je skript za automatsko dovlacenje,"
echo "kompajliranje, i instaliranje novog kernel-a."
echo "------------------------------------------------"

echo "1. Dovlacenje najnovije rc verzije sa servera..."
 wget http://www.eu.kernel.org/pub/linux/kernel/v2.6/testing/linux-$(wget -q http://www.eu.kernel.org/kdist/finger_banner -O - | sed '/mainline/!d;s/.* \(.*\)$/\1/').tar.gz
clear
echo "2. Premestanje dovucene kernel arhive u /usr/src..."
 mv linux-$(wget -q http://www.eu.kernel.org/kdist/finger_banner -O - | sed '/mainline/!d;s/.* \(.*\)$/\1/').tar.gz /usr/src/linux-$(wget -q http://www.eu.kernel.org/kdist/finger_banner -O - | sed '/mainline/!d;s/.* \(.*\)$/\1/').tar.gz
clear
echo "3. Pozicioniranje u /usr/src direktorijum..."
 cd /usr/src/ 
clear
echo "4. Raspakivanje arhive sa kernelom..."
 tar xvf linux-$(wget -q http://www.eu.kernel.org/kdist/finger_banner -O - | sed '/mainline/!d;s/.* \(.*\)$/\1/').tar.gz
clear
echo "5. Promena imena raspakovanog dira..."
 mv linux-$(wget -q http://www.eu.kernel.org/kdist/finger_banner -O - | sed '/mainline/!d;s/.* \(.*\)$/\1/') linux-$(wget -q http://www.eu.kernel.org/kdist/finger_banner -O - | sed '/mainline/!d;s/.* \(.*\)$/\1/')-TESTING
clear
echo "6. Pozicioniranje u direktorijum sa izvornim kodom..."
 cd /usr/src/linux-$(wget -q http://www.eu.kernel.org/kdist/finger_banner -O - | sed '/mainline/!d;s/.* \(.*\)$/\1/')-TESTING   
clear
echo "7. Priprema za kompajliranje..."
 make clean
clear
echo "8. Kopiranje sacuvane konfiguracije kernela..."
 cp /home/srdjan/config.moj /usr/src/linux-$(wget -q http://www.eu.kernel.org/kdist/finger_banner -O - | sed '/mainline/!d;s/.* \(.*\)$/\1/')-TESTING/.config
clear
echo "9. Kompajliranje modula...."
  make modules
clear
echo "10. Kompajliranje kernela..."
 make bzImage
clear
echo "11. Instalacija kernel modula..."
 make modules_install
clear
echo "12. Instaliranje kernela..."
 cp -v arch/x86/boot/bzImage /boot/vmlinuz-$(wget -q http://www.eu.kernel.org/kdist/finger_banner -O - | sed '/mainline/!d;s/.* \(.*\)$/\1/')-TESTING
clear
echo "13. Pravljenje mkinitcpio..."
 mkinitcpio -k $(wget -q http://www.eu.kernel.org/kdist/finger_banner -O - | sed '/mainline/!d;s/.* \(.*\)$/\1/')-TESTING -g /boot/kernel$(wget -q http://www.eu.kernel.org/kdist/finger_banner -O - | sed '/mainline/!d;s/.* \(.*\)$/\1/').img
clear
 echo "--------------------------------------------------------"
 echo "Kraj. Ubacite sekciju sa novim kernelom u menu.lst."
 echo "Deo skripte sa ubacivanjem u menu.lst u planu ;)"
 echo "--------------------------------------------------------"

 
Odgovor na temu

niceness
Novi Sad

Član broj: 93992
Poruke: 993



+22 Profil

icon Re: wget wildcard ili neko drugo resenje za skript?29.08.2009. u 18:58 - pre 178 meseci
Mala napomena. Umesto da svaki put pokreces wget -q http://www.eu.kernel.org/kdist/finger_banner -O - | sed '/mainline/!d;s/.* \(.*\)$/\1/' sacuvaj izlaz te komande u promenjivu..
Code:
LINUX_KERN_VER="$(wget -q http://www.eu.kernel.org/kdist/finger_banner -O - | sed '/mainline/!d;s/.* \(.*\)$/\1/')"

i onda koristi tu promenjivu gde ti treba verzija. Bice malo efikasnije :)

Takodje, posle svake naredbe bi trebao staviti proveru da li se naredba uspesno izvrsila.
 
Odgovor na temu

Srđan Pavlović
Specijalna Edukacija i Rehabilitacija MNRO
Vojvodina, Bačka Palanka

Član broj: 139340
Poruke: 5571
*.static.isp.telekom.rs.

Sajt: www.oligofrenolog.com


+382 Profil

icon Re: wget wildcard ili neko drugo resenje za skript?29.08.2009. u 19:03 - pre 178 meseci
Da, to sam i ja pomislio da na pocetku to stavim u promenljivu, da
ne ceka svaki put da se wget nakaci, vec samo prvi put ;)

Thanks ;)
 
Odgovor na temu

[es] :: Linux aplikacije :: wget wildcard ili neko drugo resenje za skript?

[ Pregleda: 2195 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.