Hallo zusammen, in einem Script starte ich "yast network". Nach dem Beenden von yast moechte ich den evtl. geaenderten Hostnamen abfragen. Das geht leider nicht per $HOSTNAME, da die Variable erst nach dem reboot neu gesetzt ist. Wo finde ich nach dem Beenden von yast den geaenderten Hostnamen mit Sicherheit, sodass ein Vergeich if [ "$oldhostname" != "$hostname" ]... auch zum Erfolg fuehrt? Hintergrund: Ich muss per sed den Hostnamen in sudoers aendern. MfG Th. Moritz -- Solange der Nagellack nicht trocken ist, ist eine Frau wehrlos… (Burt Reynolds) -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Hallo Thomas,
in einem Script starte ich "yast network". Nach dem Beenden von yast moechte ich den evtl. geaenderten Hostnamen abfragen. Das geht leider nicht per $HOSTNAME, da die Variable erst nach dem reboot neu gesetzt ist. Wo finde ich nach dem Beenden von yast den geaenderten Hostnamen mit Sicherheit, sodass ein Vergeich
if [ "$oldhostname" != "$hostname" ]...
auch zum Erfolg fuehrt?
Hintergrund: Ich muss per sed den Hostnamen in sudoers aendern.
z.B. die Datei /etc/HOSTNAME direkt auslesen? -- Gruß Sebastian - openSUSE Member (Freespacer) http://de.opensuse.org/Benutzer:Freespacer Wichtiger Hinweis zur openSUSE Mailing Liste: http://de.opensuse.org/OpenSUSE_mailing_list_netiquette -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Am Samstag, 6. März 2010 16:44:03 schrieb Sebastian Siebert: Hallo Sebastian,
in einem Script starte ich "yast network". Nach dem Beenden von yast moechte ich den evtl. geaenderten Hostnamen abfragen. Das geht leider nicht per $HOSTNAME, da die Variable erst nach dem reboot neu gesetzt ist. Wo finde ich nach dem Beenden von yast den geaenderten Hostnamen mit Sicherheit, sodass ein Vergeich
if [ "$oldhostname" != "$hostname" ]...
auch zum Erfolg fuehrt?
Hintergrund: Ich muss per sed den Hostnamen in sudoers aendern.
z.B. die Datei /etc/HOSTNAME direkt auslesen?
In /etc/HOSTNAME steht die komplette Domain. Wenn feststeht, dass der Hostname keinen Punkt enthalten darf, dann koennte ich den Hostnamen einfach extrahieren. Ist ein Punkt zulaessig, wird es schwer mit der automatischen Trennung. MfG Th. Moritz -- Es ist schon komisch, dass ein Mann, der sich um nichts auf der Welt Sorgen machen muss, hingeht und eine Frau heiratet… (Eminem) -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Hallo Thomas,
z.B. die Datei /etc/HOSTNAME direkt auslesen?
In /etc/HOSTNAME steht die komplette Domain. Wenn feststeht, dass der Hostname keinen Punkt enthalten darf, dann koennte ich den Hostnamen einfach extrahieren. Ist ein Punkt zulaessig, wird es schwer mit der automatischen Trennung.
Sorry, aber hier muss ich dich korrigieren. Bei der Eingabe in Yast unter Hostname ist ein Punkt nicht erlaubt. Daher kannst du es bis zum Punkt heraustrennen. Alles was hinter dem Punkt ist, ist der Domainname. also z.B. hostname.domainname.tpl hostname.subdomain.domainname.tpl usw. -- Gruß Sebastian - openSUSE Member (Freespacer) http://de.opensuse.org/Benutzer:Freespacer Wichtiger Hinweis zur openSUSE Mailing Liste: http://de.opensuse.org/OpenSUSE_mailing_list_netiquette -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Ergänzung: Das Heraustrennen ist ziemlich einfach zu bewerkstelligen: cat /etc/HOSTNAME | cut -d"." -f1 -- Gruß Sebastian - openSUSE Member (Freespacer) http://de.opensuse.org/Benutzer:Freespacer Wichtiger Hinweis zur openSUSE Mailing Liste: http://de.opensuse.org/OpenSUSE_mailing_list_netiquette -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Am Samstag, 6. März 2010 17:40:06 schrieb Sebastian Siebert: Hallo Sebastian, erstmal besten Dank! Ich war mir nicht sicher, ob ein Punkt zulaessig ist. Nun hoffe ich sicher zu sein :-)
Ergänzung:
Das Heraustrennen ist ziemlich einfach zu bewerkstelligen: cat /etc/HOSTNAME | cut -d"." -f1
newhostname=`cat /etc/HOSTNAME | cut -d"." -f1` Das ist klar, trotzdem Danke! MfG Th. Moritz -- Jeder will alt werden, doch keiner will alt sein. -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Hallo, Am Sam, 06 Mär 2010, Thomas Moritz schrieb:
in einem Script starte ich "yast network". Nach dem Beenden von yast moechte ich den evtl. geaenderten Hostnamen abfragen. [..] Hintergrund: Ich muss per sed den Hostnamen in sudoers aendern.
Was spuckt 'hostname' bzw. 'hostname -f' aus? -dnh -- xslt, was? Wir kombinieren das Paradigma von awk mit der sprachlichen Eleganz von Cobol und den programmiertechnischen Verrenkungen von funktionalen Sprachen unter sorgfältiger Umgehung aller möglichen Vorteile. -- K. Köhntopp -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Hallo,
in einem Script starte ich "yast network". Nach dem Beenden von yast moechte ich den evtl. geaenderten Hostnamen abfragen. [..] Hintergrund: Ich muss per sed den Hostnamen in sudoers aendern.
Was spuckt 'hostname' bzw. 'hostname -f' aus?
okay, das gleiche in grün. :-) Ich habe gerade mal getestet und den Hostname geändert. Scheinbar akzeptiert er die Änderungen sofort. Jedoch ein "echo $HOSTNAME" würde immer noch die unveränderte Hostname anzeigen. Also, müsste man eigentlich zur Laufzeit nochmal in die Umgebungsvariable wegspeichern bzw. updaten: # export HOSTNAME=`hostname` -- Gruß Sebastian - openSUSE Member (Freespacer) http://de.opensuse.org/Benutzer:Freespacer Wichtiger Hinweis zur openSUSE Mailing Liste: http://de.opensuse.org/OpenSUSE_mailing_list_netiquette -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Am Samstag, 6. März 2010 20:17:05 schrieb David Haller: Hallo David,
Am Sam, 06 Mär 2010, Thomas Moritz schrieb:
in einem Script starte ich "yast network". Nach dem Beenden von yast moechte ich den evtl. geaenderten Hostnamen abfragen.
[..]
Hintergrund: Ich muss per sed den Hostnamen in sudoers aendern.
Was spuckt 'hostname' bzw. 'hostname -f' aus?
Du bist wiedermal der Groesste :-) In 'hostname' steht sofort die Aenderung. Ein echo "$HOSTNAME" behaelt brav den alten Hostnamen! Bug in YaST & Co.? MfG Th. Moritz -- Feminismus existiert nur, um haessliche Frauen in die Gesellschaft zu integrieren… (Charles Bukowski) -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Hallo, Am Sam, 06 Mär 2010, Thomas Moritz schrieb:
Am Samstag, 6. März 2010 20:17:05 schrieb David Haller:
Was spuckt 'hostname' bzw. 'hostname -f' aus?
Du bist wiedermal der Groesste :-) In 'hostname' steht sofort die Aenderung.
Prima. 'hostname -f' sollte übrigens den fqdn ausspucken (sonst ist deine /etc/hosts falsch ;)
Ein echo "$HOSTNAME" behaelt brav den alten Hostnamen! Bug in YaST & Co.?
Nein. Das liegt schlicht und einfach daran, wie die shell arbeitet und was Umgebungsvariablen sind. HOSTNAME wird in /etc/profile gesetzt und exportiert. Und die /etc/profile wird von dieser login-shell dann nicht mehr gelesen. Du mußt also dafür sorgen, daß die /etc/profile erneut gelesen wird, z.B. durch . /etc/profile . ~/.profile . ~/.bashrc oder durch den Start einer neuen login-shell. -dnh -- In fact, it's surprising that any sort of hardware works. When it works, it is just biding its time waiting for a more inconvenient time for it to fail. -- Joe Moore -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Am Sonntag, 7. März 2010 02:01:38 schrieb David Haller: Hallo David,
Prima. 'hostname -f' sollte übrigens den fqdn ausspucken (sonst ist deine /etc/hosts falsch ;)
Klappt wunderbar! [1]
Ein echo "$HOSTNAME" behaelt brav den alten Hostnamen! Bug in YaST & Co.?
Nein. Das liegt schlicht und einfach daran, wie die shell arbeitet und was Umgebungsvariablen sind. HOSTNAME wird in /etc/profile gesetzt und exportiert. Und die /etc/profile wird von dieser login-shell dann nicht mehr gelesen.
Ja klar, deshalb behalten alle Terminals auch erstmal den alten Hostnamen. Bin eben oft etwas schwerfaellig :-)
Du mußt also dafür sorgen, daß die /etc/profile erneut gelesen wird, z.B. durch
. /etc/profile . ~/.profile . ~/.bashrc
oder durch den Start einer neuen login-shell.
Ich veranlasse nach Beenden von yast das Wegschreiben von var, etc usw. Dann stelle ich das System wieder auf ro und schicke ein init 6 raus. Das ist imho die sicherste Variante. [1] Gleich noch eine Frage zu /etc/hosts Waehrend yast rennt ist die Kiste rw. Danach ist das komplette System wieder ro. Dhcp wuerde sicher gern die empfangene IP in /etc/hosts eintragen??? Darf aber nicht! Wie negativ kann sich das auswirken? Sollte ich /etc/hosts doch lieber als Link nach /dev/shm auslagern? Bisher habe ich lediglich mtab nach "draussen" verlinkt. MfG Th. Moritz -- Nichts ist so gerecht verteilt, wie der Verstand. Jeder ist davon ueberzeugt, er habe genug davon. -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Hallo, Am Son, 07 Mär 2010, Thomas Moritz schrieb:
Am Sonntag, 7. März 2010 02:01:38 schrieb David Haller:
Prima. 'hostname -f' sollte übrigens den fqdn ausspucken (sonst ist deine /etc/hosts falsch ;)
Klappt wunderbar! [1]
:)
Ein echo "$HOSTNAME" behaelt brav den alten Hostnamen! Bug in YaST & Co.?
Nein. Das liegt schlicht und einfach daran, wie die shell arbeitet und was Umgebungsvariablen sind. HOSTNAME wird in /etc/profile gesetzt und exportiert. Und die /etc/profile wird von dieser login-shell dann nicht mehr gelesen.
Ja klar, deshalb behalten alle Terminals auch erstmal den alten Hostnamen. Bin eben oft etwas schwerfaellig :-)
Genau (das in den offenen Terms).
Du mußt also dafür sorgen, daß die /etc/profile erneut gelesen wird, z.B. durch
. /etc/profile . ~/.profile . ~/.bashrc
oder durch den Start einer neuen login-shell.
Ich veranlasse nach Beenden von yast das Wegschreiben von var, etc usw. Dann stelle ich das System wieder auf ro und schicke ein init 6 raus. Das ist imho die sicherste Variante.
Jo. Man muß nicht. Kann aber ;)
[1] Gleich noch eine Frage zu /etc/hosts Waehrend yast rennt ist die Kiste rw. Danach ist das komplette System wieder ro. Dhcp wuerde sicher gern die empfangene IP in /etc/hosts eintragen??? Darf aber nicht! Wie negativ kann sich das auswirken? Sollte ich /etc/hosts doch lieber als Link nach /dev/shm auslagern? Bisher habe ich lediglich mtab nach "draussen" verlinkt.
Wäre für "rauslinken". Ich generiere übrigens meine /etc/hosts aus 2 "Templates" (.offline/.online). Letztere biegt u.a. nen Haufen Adserver und "Click-Verfolger" Hosts auf 127/8 (genauer 127.0.1.0/24) um, z.B. alles was mir unter doubleclick oder ivwbox unterkommt. Erstere enthält (i.Ggs zu letzterer) div. lokale Hostnamen für virt. Apache-Hosts. Solange nscd nicht läuft (der nervt eh mehr als er nutzt), wirken sich Änderungen an der hosts auch direkt aus. Du kannst also fröhlich daran rummanipulieren! Z.B. nach Änderung des Hostnamens: BUPHOSTS="/etc/hosts-$(date '+%Y%m%d')" cp /etc/hosts "$BUPHOSTS" && { echo "127.0.0.1 $(hostname -f) localhost $(hostname)" echo "::1 $(hostname -f) localhost $(hostname)" grep -v localhost "$BUPHOSTS" } > /etc/hosts Oder was dir sonst so noch an Manipulationen der /etc/hosts einfällt ;) Have Fun! -dnh PS: Zufallssig! -- "Jeder will in den Himmel, aber keiner will sterben." -- Domino Harvey -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
participants (3)
-
David Haller
-
Sebastian Siebert
-
Thomas Moritz