wie ändere ich den Hostnamen in OpenSUSE?

5 Antworten

Überprüfe einmal mit l die Dateirechte für die etc/hosts. Wenn die Ausführerlaubnis entzogen ist, dann kann die etc/host den neuen Hostnamen nicht übernehmen

l etc/hosts drw-rw-rw- 
chmod 777 etc/hosts (um bei Deinem Beispiel zu bleiben)
l etc/hosts "muss stehen" drwxrwxrwx

Du kannst hinterher wieder die Datei mit einem Schreibschutz versehen.

Wenn Du die /etc-Dateien nicht freischaltest, wirken sich die Änderungen in der Datei etc/hostname nicht auf die etc/hosts aus....

Anschließend den PC runterfahren und neu starten..

viel Glück und Erfolg

LA

PS. Mußte auch einmal meinen Hostnamen ändern - hat nur so funktioniert.

wie willst du mit chmod aus einer Datei ein Directory machen?

/etc/hosts ist eine Datei, die gehört root und solche Dateien sollten auch niemals der "Welt" ( chmod xx7 )  zum Schreiben freigegeben werden.

0

@Linuxaffiner

Anschließend den PC runterfahren und neu starten..

Eigentlich braucht man ja nur das Netzwerk neu zu starten, aber ein reboot macht das dann halt neben allem anderen mit.

Linuxhase

1

Das meiste was man wissen muss, liefert Linux in seinen man-pages bereits mit (deswegen auch das gelegentliche RTFM einiger Antwortgeber). Schau Dir mal die Ausgabe von

man hostname

genau an. Da ist so ziemlich alles erklärt. Auch wie ein FQDN in der /etc/hosts aussieht. 

danke. Mit der manual habe ich das Problem gefunden (aber leider keine richtige Lösung)

Das Programm nutzt den befehl gethostbyname.

gethostbyname gibt den inhalt von hostname --fqdn

und

hostname --fqdn
hostname: Der Name oder der Dienst ist nicht bekannt

Also geh ich in die manuals.

es wird auf /etc/host.conf verwiesen

cat /etc/host.conf
#
# /etc/host.conf - resolver configuration file
#
# Please read the manual page host.conf(5) for more information.
#
#
# The following option is only used by binaries linked against
# libc4 or libc5. This line should be in sync with the "hosts"
# option in /etc/nsswitch.conf.
#
order hosts, bind
#
# The following options are used by the resolver library:
#
multi on

.

man host.conf

sagt mir dann aber leider nicht mehr so viel, wie ich die Dateien umstellen.

-ChrizZly

0

außer der Datei /etc/hosts gibt es auch noch die Datei /etc/HOSTNAME

( wirklich alles große Buchstaben )

Tausche dort  das Wort  vor dem ersten Punkt ( wenn eine vollständige URL angegeben ist) gegen den gewünschten Namen aus.

Offensichtlich wird der neue Namen aber erst nach dem nächsten Booten wirksam.

Hab wohl das Problem gefunden, aber keine Lösung dafür.

Das Programm nutzt den befehl gethostbyname.

gethostbyname gibt den inhalt von hostname --fqdn

und

hostname --fqdn
hostname: Der Name oder der Dienst ist nicht bekannt

Also geh ich in die manuals.

es wird auf /etc/host.conf verwiesen

cat /etc/host.conf
#
# /etc/host.conf - resolver configuration file
#
# Please read the manual page host.conf(5) for more information.
#
#
# The following option is only used by binaries linked against
# libc4 or libc5. This line should be in sync with the "hosts"
# option in /etc/nsswitch.conf.
#
order hosts, bind
#
# The following options are used by the resolver library:
#
multi on

.

man host.conf

sagt mir dann aber leider nicht mehr so viel, wie ich die Dateien einstellen kann.

-ChrizZly

0
@ChrizZly2030

dein Problem verstehe ich nicht.

Bei mir läuft die 13.1 von SuSE und da kann ich z.B. mit YaST -> Netzwerkgeräte -> Netzwerkeinstellungen -> Hostname/DNS -> in das Feld Hostname einen neuen Namen eintragen. Dabei darf natürlich nicht "Hostname über DHCP ändern" ausgewählt sein.

Nach dem "OK" gilt dieser Name, ohne den PC neu zu booten.

0
@guenterhalt

ok. Folgendes Problem. Das genutzte Programm verwendet den Befehl "gethostbyname()"

Bei der manuals von hostname fand ich folgenden Eintrag:

DER FQDN
       Der  FQDN  (wie  er  von hostname --fqdn ausgegeben wird) oder der DNS-
       Domainname (wie er von dnsdomainname ausgegeben wird)  kann  nicht  mit
       diesem Befehl geändert werden. Der FQDN eines Systems ist der Name, den
       der resolver(3) als den Namen des Systems zurückgibt.

       Technisch: Der FQDN ist der Name, den gethostbyname(2) für den Rechner-
       namen  zurückgibt,  den  gethostname (2) zurückgibt. Der DNS-Domainname
       ist der Teil nach dem ersten Punkt.

       Deshalb hängt es üblicherweise von der Konfiguration in /etc/host.conf)
       wie  der Name geändert werden kann. Üblicherweise (wenn die Hosts Datei
       gelesen wird, bevor auf DNS oder NIS/YP zugegriffen wird)  kann  er  in
       /etc/hosts geändert werden.> 

Und dann kommen wir wieder zu meinem vorherigen Post.

-ChrizZly

0
@ChrizZly2030

"gethostbyname()"

ist doch kein Programm im Sinne eines Kommandozeilenbefehls. Es ist eine in C und C++ benutzte Funktion, die bei dynamisch gelinkten Programmen erst zur Laufzeit aus einer Bibliothek geholt werden.

Wenn es da Fehler gibt, liegt das oft daran, dass ein Anwenderprogramm nicht über die eingebauten Installationswerkzeuge, sondern einzeln als Binary einfach kopiert wurden. Mit YaST , rpm oder zypper werden aber auch alle notwendigen "Zusatzprogramme" (hier bistimmt eine Library) mit installiert.

Bisher hast du an keiner Stelle gesagt, wie das 
"Das genutzte Programm ... "  heißt, woher du es hast....

So kann ich dein Problem nicht nachvollziehen.

0

Hast du es mal mit Yast versucht?

Ich habe mit Suse und der manuellen Bearbeitung von Konfigurationsdateien keine gute Erfahrungen gemacht.

Ja, 

Muss ne IP und n Hostnamen angeben.

Welche IP soll ich eintragen? Eine lokale wird es ja sein.

Wäre es z.B 127.0.1.1?

0

Meine Datei sieht so aus (aber ich benutze Gentoo)

hostname="deinwunschnamehier"

localhost wäre doch eher 127.0.0.1

0
@Christianwarweg

Die /etc/hosts?

Da steht immer eine IP drin mit dem Hostnamen. Bei Debian musste ich dies jedoch nie ändern..

Und localhost ist ja schon eingetragen. Ich will aber meinen PC chrisx250 nennen.

Ich meine ich hatte unter Debian einen localhost mit der IP 127.0.0.1 und einen automatisch erstellten 127.0.1.1. Aber ich bin da nicht sicher.

0
@ChrizZly2030

Ja, tut mir leid, ich kann auch nicht viel weiterhelfen, da ich nur Gentoo benutze. :/ Vielleicht antwortet noch jemand anders.

Achso: hostname="name" ist meine Datei hostname, nicht /etc/hosts.

Allerdings ist das bei mir /etc/conf.d/hostname

0
@ChrizZly2030

Noch was: Wenn du das änderst, musst du auch das Terminal schließen und wieder neu aufmachen, damit die Änderung greift. Neustart tut es auch.

0

Hallo

wie ändere ich den Hostnamen in OpenSUSE?

So geht es ganz einfach:

su
Passwort:
echo "NEUER.HOSTNAME.site" > /etc/HOSTNAME
reboot

Linuxhase

Woher ich das weiß:Eigene Erfahrung – Ich benutze seit 2007 Linux und habe LPIC101 und LPIC102

Gleiches Problem. Und bei /etc/hosts ist immernoch kein eintrag damit (diese habe ich ja auch nicht überschrieben)

Dort muss ja auch der host stehen.

Wie mache ich das mit der IP? Welche soll ich wählen?

-ChrizZly

0
@ChrizZly2030

Hab wohl das Problem gefunden, aber keine Lösung dafür.

Das Programm nutzt den befehl gethostbyname.

gethostbyname gibt den inhalt von hostname --fqdn

und

hostname --fqdn
hostname: Der Name oder der Dienst ist nicht bekannt

Also geh ich in die manuals.

es wird auf /etc/host.conf verwiesen

cat /etc/host.conf
#
# /etc/host.conf - resolver configuration file
#
# Please read the manual page host.conf(5) for more information.
#
#
# The following option is only used by binaries linked against
# libc4 or libc5. This line should be in sync with the "hosts"
# option in /etc/nsswitch.conf.
#
order hosts, bind
#
# The following options are used by the resolver library:
#
multi on

.

man host.conf

sagt mir dann aber leider nicht mehr so viel, wie ich die Dateien umstellen.

-ChrizZly

0
@ChrizZly2030

@ChrizZly2030

Gleiches Problem.

Welches denn, das es nicht in der /etc/hosts steht? - Wann stört denn das?

Bei mir klappt das wie beschrieben seit gefühlten Ewigkeiten

Linuxhase

0
@Linuxhase

Welches denn, das es nicht in der /etc/hosts steht? - Wann stört denn das?

Gar nicht. Ich vermute aber das es mit dem Problem zusammen hängt.

Ich zitiere hier nochmal den Kommentar, welchen ich auch unter guenterhalt's Antwort gegeben habe:

ok. Folgendes Problem. Das genutzte Programm verwendet den Befehl "gethostbyname()"

Bei der manuals von hostname fand ich folgenden Eintrag:

DER FQDN
       Der  FQDN  (wie  er  von hostname --fqdn ausgegeben wird) oder der DNS-
       Domainname (wie er von dnsdomainname ausgegeben wird)  kann  nicht  mit
       diesem Befehl geändert werden. Der FQDN eines Systems ist der Name, den
       der resolver(3) als den Namen des Systems zurückgibt.

       Technisch: Der FQDN ist der Name, den gethostbyname(2) für den Rechner-
       namen  zurückgibt,  den  gethostname (2) zurückgibt. Der DNS-Domainname
       ist der Teil nach dem ersten Punkt.

       Deshalb hängt es üblicherweise von der Konfiguration in /etc/host.conf)
       wie  der Name geändert werden kann. Üblicherweise (wenn die Hosts Datei
       gelesen wird, bevor auf DNS oder NIS/YP zugegriffen wird)  kann  er  in
       /etc/hosts geändert werden.> 

Und dann kommen wir wieder zu meinem vorherigen Post.

hostname -fqdn ist nicht bekannt und diese wird ja an gethostbyname weitergegeben (wie ich es verstanden habe, richtig?)

-ChrizZly

0
@ChrizZly2030

@ChrizZly2030

Ich vermute aber das es mit dem Problem zusammen hängt.

Wenn es doch gar keine negative Auswirkung hat verstehe ich nicht was Du willst.

Bei mir steht in der /etc/hostname ebenso wie in /etc/HOSTNAME lediglich: opensuse-Desk , während in der Übersicht von YAST nur das steht: http://www11.pic-upload.de/30.09.15/9jfqtajsh82.png

auch ein suchen nach meinem Hostnamen mit:

find /etc -type f 2>/dev/null -exec grep -H "openSUSE-Desk" {} \;

Hat nur genau die beiden Dateien hervorgebracht.

Linuxhase

0
@Linuxhase

Das ist die negative Auswirkung:

Das genutzte Programm verwendet den Befehl "gethostbyname()"

Laut der manual nimmt gethostbyname den Wert von hostname -fqdn wieder. Dieser ist jedoch nicht bekannt. wie ich in meinem zweiten Kommentar erwähnt habe.

Habe mich mit den mauals durchgekämpft. Aber bin dann bei dem Problem von dem zweiten Kommentar nicht weiter gekommen.

0

Was möchtest Du wissen?