URL: https://www.overclockers.at/linux/kleine_shellscript-fundgrube_155038/page_2 - zur Vollversion wechseln!
statt xextract würde ich gleich "unp" verwenden, ist bei jeder besseren distro dabei.
Das hat that schon vor einem halben Jahr vorgeschlagen (4.Post) ...Zitat von spunzstatt xextract würde ich gleich "unp" verwenden, ist bei jeder besseren distro dabei.
Sorry für's Thread-Aufwärmen, aber das ist einer meiner Lieblings-Threads.
Habe mich letzte Woche entschieden, mir ein neues Handy + Vertrag zuzlegen. Da ich die Nummer aber länger behalten will habe und mir tele.ring auch von den Konditionen her zugesagt hat, hab ich mich mal ein bisschen mit dem tele.ring Wunschnummern-Rechner gespielt.
Da von den Nummern, die ich ausprobiert habe alle bereits vergeben waren, habe ich mich entschlossen, die Sache "ernsthaft" anzugehen.
Also hab ich mir ein kleines Skript geschrieben, das mir Nummern automatisch durchprobiert.
Hier das Ergebnis:
tele (2006-09-04)
Syntax:
Code:tele NUMMER NUMMER ist eine 7-stellige Zahl
Code: PHP#!/bin/bash # telering - A Hack for the tele.ring-"Wunschnummernrechner" (http://www.telering.at/Content.Node/mobil/wunschrufnummernrechner.php) # Licensed under the terms of the GNU GPLv2 or later RUNTIME=`date '+%s'`; # # "This is where the magic happens." ;D # curl -s -d "Snumber=$1&Fnumber=0650&clicked=2" -A "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" http://www.telering.at/Content.Node/mobil/wunschrufnummernrechner.php | grep Sorry > /dev/null; STATUS=$?; let RUNTIME=`date '+%s'`-$RUNTIME; # # Output # #echo "$STATUS"; if [ $STATUS -eq 0 ] then echo "$1 - vergeben! $RUNTIME s"; exit 1; else echo "$1 - NOCH FREI!!! $RUNTIME s"; exit 0; fi
mein zweites Skript: xc
für Suse 10.1 zum Installieren eines neuen Kernels
Code: PHP#! /bin/sh # # für SUSE 10.1 mit original menu.lst # um Kerneltars zu entpacken: Kernel.tar.bz2 ins home-Verzeichnis kopieren und xc-Skript mit Option -t aufrufen # backup menu.lst in /boot/grub/backup-menu.lst echo PS3=" Nummer: " rpm -q gcc > /dev/null if [ $? -ne 0 ]; then echo "das rpm-Paket gcc ist nicht installiet" echo "der gcc wird zum kompilieren des Kernels benötigt" select nummer in "gcc ist bereits installiert" "abbrechen um gcc zu installieren"; do case "$nummer" in gcc*) break;; abb*) exit;; *) echo "ungültige Auswahl";; esac done echo fi if [[ $1 == -t ]]; then find ~ -name "linux-*.tar.bz2" > ~/h9allo01 if [ ! -s ~/h9allo01 ]; then find / -noleaf -name "linux-*.tar.bz2" > ~/h9allo01 fi kt=$(cat ~/h9allo01) select nummer in $kt; do if [ $nummer ]; then i=$nummer break else echo "ungültige Auswahl" fi done cd /usr/src tar -jxvf $i fi echo find /usr/src -maxdepth 1 -name "linux-[2-4].[0-9].*" -type d > ~/h9allo02 gf=$(cat ~/h9allo02) rm ~/K9ernelauswahl7 2> /dev/null for i in $gf; do if [ -e $i/Makefile ]; then echo $i >> ~/K9ernelauswahl7 fi done if [ ! -s ~/K9ernelauswahl7 ]; then find / -name "linux-[2-4].[0-9].*" -type d > ~/h9allo03 gf=$(cat ~/h9allo03) for i in $gf; do if [ -e $i/Makefile ]; then echo $i >> ~/K9ernelauswahl7 fi done fi ka=$(cat ~/K9ernelauswahl7) rm ~/K9ernelauswahl7 select nummer in $ka; do if [ $nummer ]; then f=$nummer break else echo "ungültige Auswahl" fi done a=${f##*/linux-} nj=0 cd $f if [ -s Makefilexc9backup ]; then cp Makefilexc9backup Makefile else cp Makefile Makefilexc9backup fi while [ -f "/boot/vmlinuz-$a$d-xc" ] && [[ $nj == 0 ]]; do echo echo "/boot/vmlinuz-$a$d-xc besteht bereits" echo select num in "zusätzliche Kernelbezeichnung" "/boot/vmlinuz-$a$d-xc überschreiben"; do case "$num" in zusät*) echo echo -n "zusätzliche Kernelbezeichnung z.B. .123 oder -xyz: " read d nj=0 break;; /boot*) nj=1 break;; *) echo echo "ungültige Auswahl";; esac done done echo select nummer in "Initial-RAM-Disk erzeugen" "keine Initial-RAM-Disk erzeugen"; do case "$nummer" in Initial*) echo irdisk=j break;; keine* ) echo irdisk=n break;; * ) echo echo "ungültige Auswahl";; esac done echo cf=0 make xconfig if [ $? -ne 0 ]; then rpm -q qt3-devel > /dev/null if [ $? -ne 0 ]; then echo echo echo "das rpm-Packet qt3-devel ist nicht installiert." echo "xconfig benötigt das Packet qt3-devel." fi echo select num in "Abbruch" "neuer Versuch mit xconfig" "weiter mit menuconfig"; do case "$num" in Abbruch) exit;; neuer*) echo make xconfig cf=1 break;; weiter*) echo break;; *) echo echo "ungültige Auswahl";; esac done if [ $cf -eq 0 ]; then make menuconfig if [ $? -ne 0 ]; then rpm -q ncurses-devel > /dev/null if [ $? -ne 0 ]; then echo echo echo "das rpm-Packet ncurses-devel ist nicht installiert." echo "menuconfig benötigt das Packet ncurses-devel." fi echo select num in "Abbruch" "neuer versuch mit menuconfig" "weiter mit config"; do case "$num" in Abbruch) exit;; neuer*) echo make menuconfig cf=2 break;; weiter*) echo break;; *) echo echo "ungültige Auswahl";; esac done if [ $cf -eq 0 ]; then make config fi fi fi fi mv $f/Makefile ~/M9akke7 i="$(sed -n "4{/EXTRAVERSION\ =/p}" < ~/M9akke7)" grep -q "EXTRAVERSION = .[0-9]" ~/M9akke7 if [ $? -eq 0 ];then sed "4s/$i/$i$d-xc/" < ~/M9akke7 > $f/Makefile elif [ $? -eq 1 ]; then sed "4s/$i/$i\ $d-xc/" < ~/M9akke7 > $f/Makefile else echo "zusätzliche Kernelbezeichnung konnte nicht in die Makefile geschrieben werden" fi head -4 $f/Makefile echo make all && make modules_install if [ $? -ne 0 ]; then echo "Fehler" echo "versuchen Sie es händisch" exit fi cp $f/arch/i386/boot/bzImage /boot/vmlinuz-$a$d-xc cp $f/System.map /boot/System.map-$a$d-xc if [ $irdisk != n ]; then mkinitrd -k vmlinuz-$a$d-xc -M /boot/System.map-$a$d-xc -i initrd-$a$d-xc fi mv ~/M9akke7 $f/Makefile i=/boot/grub/backup-menu.lst if [ ! -d $i ]; then mkdir $i fi e=$(date +%F_%T) grep -q '^\#========================*===$' /boot/grub/menu.lst if [ $? -eq 0 ]; then sed '/#===============/d' < /boot/grub/menu.lst > ~/h9allo04 cat -s ~/h9allo04 > /boot/grub/menu.lst fi cp /boot/grub/menu.lst "$i/bu-menu.lst-$e" b1=0 r1=0 rs1=0 v=1 if [ $nj -eq 0 ]; then grep -o "root (hd[0-9]\{1,2\},[0-9]\{1,2\})" /boot/grub/menu.lst | sort | uniq > ~/h9allo05 bop=$(wc -l < ~/h9allo05) if [ $bop -gt 1 ]; then echo "geben Sie die Linux-Bootpartion ein in der Form von z.B 0,5" echo -n "(hd" read bp echo if [ -z ${bp#*)} ]; then bp=${bp%)} fi while [[ $bp != [0-9],[0-9] ]] && [[ $bp != [0-9][0-9],[0-9] ]] && [[ $bp != [0-9],[0-9][0-9] ]] && [[ $bp != [0-9][0-9],[0-9][0-9] ]] && [ ! -z "$bp" ]; do echo "Falsche Eingabe" echo "Eingabe: Zahl,Zahl" echo "1. Zahl = Nummer der Festplatte (z.B. 0 für die 1. HD), 2. Zahl = Nummer der Partition (z.B. 1 für die 2. Partion)" echo echo "versuchen Sie es nocheinmal oder drücken Sie nur Enter für eine spätere Eingabe in menu.lst" echo -n "(hd" read bp echo if [ -z ${bp#*)} ]; then bp=${bp%)} fi done if [ -z "$bp" ]; then bp="root (hd?,?)" b1=1 else bp="root (hd$bp)" b1=0 fi elif [ $bop -eq 1 ]; then bp="$(cat ~/h9allo05)" else bp="root (hd?,?)" b1=1 fi grep -o "root=/dev/[a-z]\{3\}[0-9]\{1,2\}" /boot/grub/menu.lst | sort | uniq > ~/h9allo06 rop=$(wc -l < ~/h9allo06) if [ $rop -gt 1 ]; then echo "geben Sie die Rootpartion ein in der Form von z.B hda1" echo -n "/dev/" read rp echo if [ -z ${rp#*)} ]; then rp=${rp%)} fi while [[ $rp != [a-z][a-z][a-z][0-9] ]] && [[ $rp != [a-z][a-z][a-z][0-9][0-9] ]] && [ ! -z $rp ]; do echo "Eingabe: drei kleine Buchstaben und eine Zahl z.B sda5" echo echo "versuchen Sie es nocheinmal oder drücken Sie nur Enter für eine spätere Eingabe in menu.lst" echo -n "/dev/" read rp echo if [ -z ${rp#*)} ]; then rp=${rp%)} fi done if [ -z $rp ]; then rp="root=/dev/????" r1=1 else rp="root=/dev/$rp" r1=0 fi elif [ $rop -eq 1 ]; then rp="$(cat ~/h9allo06)" else rp="root=/dev/????" r1=1 fi ver="$(head -1 /etc/SuSE-release)" ver="${ver#[Ss][Uu][Ss][Ee]\ [Ll][Ii][Nn][Uu][Xx]\ }" ver="${ver%%\ (*}" echo > ~/h9allo07 echo >> ~/h9allo07 echo \#===================================================================================================================== >> ~/h9allo07 echo >> ~/h9allo07 echo >> ~/h9allo07 echo "###Don't change this comment - YaST2 identifier: Original name: linux###" >> ~/h9allo07 echo "title SUSE Linux $ver $a$d-xc" >> ~/h9allo07 echo " $bp" >> ~/h9allo07 echo " kernel /boot/vmlinuz-$a$d-xc $rp vga=0x317 resume=/dev/sda7 splash=silent showopts" >> ~/h9allo07 if [[ $irdisk == j ]]; then echo " initrd /boot/initrd-$a$d-xc" >> ~/h9allo07 fi echo >> ~/h9allo07 echo >> ~/h9allo07 echo \#====================================================================================================================== >> ~/h9allo07 echo >> ~/h9allo07 j="title SUSE Linux $ver $a$d-xc" csplit -f ~/t9eil7. /boot/grub/menu.lst /"###Don't change this comment - YaST2 identifier: Original name:"/-1 {1} > /dev/null cp /boot/grub/menu.lst ~/menu.lst-bu cat ~/t9eil7.00 > /boot/grub/menu.lst cat ~/t9eil7.01 >> /boot/grub/menu.lst cat ~/h9allo07 >> /boot/grub/menu.lst cat ~/t9eil7.02 >> /boot/grub/menu.lst rm ~/t9eil7.0? v=0 if [ ! -s /boot/grub/menu.lst ]; then mv ~/menu.lst-bu /boot/grub/menu.lst v=1 fi fi grep "vmlinuz-$a$d-xc" < /boot/grub/menu.lst > ~/h9allo08 s=$(wc -l < ~/h9allo08) grep "initrd-$a$d-xc" < /boot/grub/menu.lst > ~/h9allo09 t=$(wc -l < ~/h9allo09) if [ $nj -eq 1 ] && [ $s -eq 1 ] && [ $t -lt 2 ]; then j="$(sed -n "/title\ SUSE\ L[iI][nN][uU][xX]\ 1[0-9].[0-9] $a$d-xc/p" < /boot/grub/menu.lst)" cp /boot/grub/menu.lst ~/h9allo10 if [[ $irdisk == n ]] && [ $t -eq 1 ]; then sed "/initrd-$a$d-xc/d" < /boot/grub/menu.lst > ~/h9allo10 elif [[ $irdisk == j ]] && [ $t -eq 0 ]; then sed "/kernel\ \/boot\/vmlinuz-$a$d-xc root=/ a\ \ initrd\ \/boot\/initrd-$a$d-xc" < /boot/grub/menu.lst > ~/h9allo10 fi if [ ! -s ~/h9allo10 ] || [ -z "$j" ]; then v=1 else cp ~/h9allo10 /boot/grub/menu.lst v=0 fi fi echo echo echo echo echo if [ $v -eq 1 ]; then if [ $nj -eq 0 ] || [ $s -eq 0 ]; then echo "fügen Sie einen Eintrag in menu.lst für den neuen Kernel $a$d-xc hinzu" echo echo "kernel /boot/vmlinuz-$a$d-xc" if [[ $irdisk == j ]]; then echo "initrd /boot/initrd-$a$d-xc" fi elif [ $nj -eq 1 ] && [ $s -gt 0 ]; then echo "Bitte kontrollieren Sie den Eintrag (z.B. boot- bzw. root-Partion) in /boot/grub/menu.lst für den Kernel $a$d-xc" echo "falls ein entsprechender Eintrag fehlt, fügen Sie einen passenden hinzu" echo echo "kernel /boot/vmlinuz-$a$d-xc" if [[ $irdisk == j ]]; then echo echo "falls nicht schon vorhanden, fügen Sie dem Eintrag folgende Zeile hinzu:" echo echo "initrd /boot/initrd-$a$d-xc" elif [[ $irdisk == n ]]; then echo echo "entfernen Sie (falls vorhanden) die initrd-$a$d-xc-Zeile des entsprechenden Eintrages" fi fi echo echo echo "Drücken Sie \"Enter\" um die menu.lst zu öffnen." read we elif [ $v -eq 0 ]; then echo "`tput setf 4`Kontrollieren`tput sgr0` Sie den Eintrag in /boot/grub/menu.lst mit dem Titel" echo echo "$j" echo echo "kernel /boot/vmlinuz-$a$d-xc" if [[ $irdisk == j ]]; then echo "initrd /boot/initrd-$a$d-xc" fi fi if [ $b1 -eq 1 ] || [ $r1 -eq 1 ]; then echo echo "ersetzen Sie die `tput setf 4`Fragezeichen`tput sgr0` in" if [ $b1 -eq 1 ]; then echo "root (hd?,?)" fi if [ $r1 -eq 1 ];then echo "root=/dev/????" fi echo "mit den entsprechenden Einträgen" echo echo -n "drücken Sie Enter " read weiter fi echo echo echo echo echo kwrite /boot/grub/menu.lst if [ $? != 0 ]; then vim /boot/grub/menu.lst fi grep -q '^\#========================*===$' /boot/grub/menu.lst if [ $? -eq 0 ]; then sed '/#===============/d' < /boot/grub/menu.lst > ~/h9allo11 cat -s ~/h9allo11 > /boot/grub/menu.lst fi rm ~/h9allo[0-9][0-9] echo -n "Eingabe \"r\" für reboot, \"Enter\" für exit : " read reb if [[ $reb == r ]]; then reboot fi echo exit
in anlehnung an gimme ein kleines script, das ~-masked pakete und deren abhängigkeiten sauber in package.keywords einträgt
click here
edit: sry, war noch ein fehler drin .. neue version
sehr geil, thumbs up @ unkey
dankeschön .. freut mich, wenns außer mir auch noch jemand brauchen kann
unkey sollte man doch eigentlich auch auf masked by missing keyword paket umbauen können oder ?
ich hab nur x86-systeme laufen, weil mich das herumgepfusche mit x86-paketen auf einem amd64-system nicht interessiert hat.
wenn du mir ein- und ausgaben für ein "masked by missing keyword" paket zukommen lässt, schau ichs mir aber gerne mal an
ich hatte da mal eins habs aber vergessen... ich fahr ausserdem mit ~amd64
So, Thread ausgrab... Jetzt wo ich wieder mal am kernel upgraden war habe ich mir gleich ein kleines script geschrieben um diesen Vorgang zu automatisieren.
Sollte eigentlich auf so ziemlich jedem gentoo amd64 (x86_64) system funktionieren.
Falls wer Typos findet bitte melden, ebenso bei anderen Bugs...
kernelupdate.sh
PS: Sogar in Farbe
edit: vor gebrauch bitte im script die variablen $rootdev und $rootdevgrub ganz am anfang unter SYSTEM SPECIFIC VARS anpassen.
Ein Kernelinstallationsscript ohne `make install`? Nicht dein Ernst?
Zitat von COLOSSUSEin Kernelinstallationsscript ohne `make install`? Nicht dein Ernst?
Einfach ins Makefile des Kernels schauen. Ohne make install geht jedenfalls mal gar nix.
Heute auf die schnelle zusammengefrickelt: Ein Stock-Monitoring-Script fuer Yahoo Finance.
http://gnulords.org/~colo/tmp/stockmon.sh
Neues Script im 1. Posting (countprocs).
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025