N
tazz schrieb:
hast du ne seite, wo die wichtigsten befehle erklärt sind, weil damit kenn ich mich nicht aus - wenn nicht dann such ich selber)
Das ist eigentlich nur ganz wenig Shell und ein bisschen sed, aber schau einfach mal hier rein:
http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html
http://www.tldp.org/LDP/abs/html/
Und bei IBM Developer Works gibts zu sed&awk auch was, oder Du googlest einfach, dazu hab ich keine bestimmten Ressourcen.
(1) der ordnername ist abhängig von der netzwerkkarte, da die mac addresse beinhaltet ist -> also kann ich's schlecht auf anderen pcs nutzen oder man müsste zuerst die mac von der jeweiligen netzkarte ermitteln...
Ich würde in der Tat vorher die MAC-Adresse ermitteln.
Die einfachste Lösung für Computer mit nur einer Karte wäre natürlich, ifcfg-eth-id-00:0b:6a:1e:65:83 einfach durch ifcfg-eth-id-* zu ersetzen, aber sobald Du mehrere Ethernet-Karten in einem Rechner hast, funktioniert das nicht mehr gut.
Darum folgende Vorgehensweise:
Script so erweitern, dass es nicht nur die neue IP-Adresse sondern auch noch das Interface, dessen Adresse geändert werden soll, als Parameter entgegennimmt.
Dann ungefähr so die MAC-Adresse herausfinden:
ifconfig INTERFACE | grep HWaddr | sed -e 's/^.*HWaddr \(.*\)$/\1/'
(Achtung, ungetestet und geht uU auch leichter, das war das erste was mir einfiel.)
Dann nur im passenden Configfile verändern, was Du verändern möchtest.
ich müsst ja auch noch die anderen IPs bzw. masken ändern, sowie dhcp
obwohl das ja auch mit einem leicht geändertem script funktionnieren müsste...
Genau, das kannst Du ganz leicht ändern/ erweitern.
FRAGE: ist es möglich diese befehle über die funktion
system()
aufzurufen?!
Ja, theoretisch wohl schon, würde ich aber eher nicht machen.
Machs entweder mit einem Shellscript, oder mit einer richtigen C++-Lösung, aber versuch nicht, das irgendwie zu verbinden.
Natürlich wäre hier - wie bereits gesagt - das Shell-Script auf alle Fälle die bei weitem beste Wahl, aber tu, was Du nicht lassen kannst. *g*
ich weiß nicht ob es vielleicht ein klacks für dich ist, dies zu schreiben,
Eigentlich schon, schau mal, ob Du das mit meinen Quellen selbst hinbekommst, und wenn nicht, dann helfe ich nochmal nach.:)