फेडोरा 21 में होस्टनाम को स्थायी रूप से कैसे बदलें


35

मैंने सुना है कि फ़ेडोरा के नए संस्करणों में होस्टनाम को बदलना hostnamectlकमांड के साथ किया जाता है । इसके अलावा, मैंने हाल ही में (और सफलतापूर्वक) इस पद्धति से आर्क लिनक्स पर अपना होस्टनाम बदल दिया। हालांकि, जब चल रहा है:

[root@localhost ~]# hostnamectl set-hostname --static paragon.localdomain
[root@localhost ~]# hostnamectl set-hostname --transient paragon.localdomain
[root@localhost ~]# hostnamectl set-hostname --pretty paragon.localdomain

रिबूट के बाद परिवर्तन संरक्षित नहीं हैं (कई लोगों के दावों के विपरीत जो यह करता है)। गलत क्या है?

  • मैं वास्तव में/etc/hostname मैन्युअल रूप से संपादित नहीं करना चाहता ।

मुझे यह भी ध्यान देना चाहिए कि यह पूरी तरह से स्टॉक फेडोरा है। मैंने अभी तक अपना मुख्य ऐप इंस्टॉल करने के लिए आस-पास नहीं देखा है।


: इस समस्या के संबंध में समान जानकारी भी था ask.fedoraproject.org/en/question/37413/... : और इस dbaora.com/install-fedora-20
SLM

वास्तव में, यह मेरे स्रोतों में से एक है। हालाँकि, उस पृष्ठ से मैं जो भी उपाय निकाल सकता था, उसमें से कोई भी काम नहीं किया ...
PythonNut

आपने हाल ही में इस सिस्टम को कैसे स्थापित / सेटअप किया? स्थापना के बाद से समस्या मौजूद है? वहाँ भी कोई त्रुटि w / उन hostnamectlआदेशों हैं? Bugzilla बग कि somethingsomething पोस्ट करने के लिए लिंक अपने सबसे अच्छा नेतृत्व की तरह लगता है।
slm

मैंने 10/1/14 को स्थापित किया, और तब से hostnamectlकमांड काम नहीं करते थे, लेकिन अब वे करते हैं।
PythonNut

स्वीकृत समाधान में जुड़ा हुआ बग आपके लिए दुर्भाग्यपूर्ण समय था। उन्होंने इसे ऊपर की तरफ तय किया है और इसे भविष्य के उपयोगकर्ताओं के लिए अपना काम करना चाहिए।
SLM

जवाबों:


39

होस्टनाम सेट करने का कमांड निश्चित रूप से है hostnamectl,।

root ~ # hostnamectl set-hostname --static "YOUR-HOSTNAME-HERE"

यहां एक अतिरिक्त स्रोत है जो इस कार्यक्षमता का थोड़ा और वर्णन करता है, जिसका शीर्षक है: सही ढंग से होस्टनाम सेट करना - अमेज़ॅन ईसी 2 पर फेडोरा 20

इसके अतिरिक्त मैन पेज के लिए hostnamectl:

HOSTNAMECTL(1)                    hostnamectl                   HOSTNAMECTL(1)

NAME
       hostnamectl - Control the system hostname

SYNOPSIS
       hostnamectl [OPTIONS...] {COMMAND}

DESCRIPTION
       hostnamectl may be used to query and change the system hostname and
       related settings.

       This tool distinguishes three different hostnames: the high-level
       "pretty" hostname which might include all kinds of special characters
       (e.g. "Lennart's Laptop"), the static hostname which is used to
       initialize the kernel hostname at boot (e.g. "lennarts-laptop"), and
       the transient hostname which is a default received from network
       configuration. If a static hostname is set, and is valid (something
       other than localhost), then the transient hostname is not used.

       Note that the pretty hostname has little restrictions on the characters
       used, while the static and transient hostnames are limited to the
       usually accepted characters of Internet domain names.

       The static hostname is stored in /etc/hostname, see hostname(5) for
       more information. The pretty hostname, chassis type, and icon name are
       stored in /etc/machine-info, see machine-info(5).

       Use systemd-firstboot(1) to initialize the system host name for mounted
       (but not booted) system images.

फेडोरा 21 में एक बग है जहां SELinux होस्टनामेक्टल एक्सेस को रोकता है, यहां पाया जाता है, जिसका शीर्षक है: Bug 1133368 - SELinux सिस्टमड-होस्टनाम को फ़ाइल होस्टनाम पर 'अनलिंक' एक्सेस से रोक रहा है

यह बग संबंधित है। /etc/hostnameस्थापना पर फ़ाइल में ठीक से लागू नहीं होने पर SELinux संदर्भों के साथ कोई समस्या है । यह उपकरण में प्रकट होता है hostnamectlजो फ़ाइल में हेरफेर करने में सक्षम नहीं होता है /etc/hostname। उसी धागे ने इस समाधान की पेशकश की:

$sudo restorecon -v /etc/hostname

नोट: उस पैच को एनाकोंडा (इंस्टॉलेशन टूल) पर लागू किया गया था ताकि भविष्य में नए उपयोगकर्ताओं के लिए यह समस्या दूर हो जाए।


3

इसका संभावित कारण आपका dhcp क्लाइंट है। यदि आप dhcpcd का उपयोग कर रहे हैं, जो कि सामान्य है, तो निम्न पंक्ति को निम्नलिखित में जोड़ना है /etc/dhcpcd.conf:

nohook hostname

यह dhcpcd को स्क्रिप्ट से बाहर आने से रोकता है जो आपके सिस्टम होस्टनाम को बदलता है।

डिफ़ॉल्ट रूप से, dhcpcd उपस्थित सभी हुक चलाता है /lib/dhcpcd/dhcpcd-run-hooks(पथ आपके सिस्टम पर भिन्न हो सकता है)। nohookविशिष्ट का उपयोग करना अक्षम करता है।


1
मेरे 21 और रॉहाइड दोनों इंस्टाल के लिए, /etc/dhcpd.confमौजूद नहीं है। इसके अलावा, systemctl status dhcpcdरिटर्नnot-found (Reason: No such file or directory)
PythonNut
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.