spunz
ElderElder
|
statt xextract würde ich gleich "unp" verwenden, ist bei jeder besseren distro dabei.
|
Vivo
Dreamworker
|
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) ...
|
adebar
Big d00d
|
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: tele NUMMER
NUMMER ist eine 7-stellige Zahl
Code: #!/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
Download: tele.shAusserdem gibt's noch ein zweites Script dazu, das dieses hier mit bestimmten Nummern (Kriterium: nur 3 verschiedene Zahlen als Ziffern) aufruft, damit man möglichst viele "schöne" Nummern bekommt. Ich möchte das zweite Script hier aber nicht posten, damit's für die Script-Kiddies nicht zu einfach wird. Jeder, der halbwegs Ahnung hat, sollte das selbst auch zambringen...  Es sei nur so viel gesagt: Für drei bestimmte Ziffern ist man in ca. einer Stunde fertig.  hf, adebar
|
lama007
OC Addicted
|
mein zweites Skript: xc für Suse 10.1 zum Installieren eines neuen Kernels #! /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
|
deftenski
mit barockfelgen
|
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
Bearbeitet von deftenski am 16.11.2006, 14:27
|
Lukas
Here to stay
|
sehr geil, thumbs up @ unkey
|
deftenski
mit barockfelgen
|
dankeschön .. freut mich, wenns außer mir auch noch jemand brauchen kann
|
Lukas
Here to stay
|
unkey sollte man doch eigentlich auch auf masked by missing keyword paket umbauen können oder ?
|
deftenski
mit barockfelgen
|
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
|
Lukas
Here to stay
|
ich hatte da mal eins habs aber vergessen... ich fahr ausserdem mit ~amd64
|
Lukas
Here to stay
|
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.
Bearbeitet von Lukas am 04.04.2007, 16:30
|
COLOSSUS
AdministratorGNUltra
|
Ein Kernelinstallationsscript ohne `make install`? Nicht dein Ernst?
|
Lukas
Here to stay
|
|
COLOSSUS
AdministratorGNUltra
|
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
|
COLOSSUS
AdministratorGNUltra
|
Neues Script im 1. Posting (countprocs).
|