新しいバージョンのfedoraでホスト名を変更するには、コマンド。さらに、最近(そして正常に)Arch Linuxのホスト名をこの方法で変更しました。ただし、実行時:
[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
を手動で編集したくありません。
これは完全にストックフェドーラであることに注意する必要があります。コアアプリのインストールについてはまだ理解していません。
コメント
回答
ホスト名を設定するコマンドは間違いなくhostnamectl
です。
root ~ # hostnamectl set-hostname --static "YOUR-HOSTNAME-HERE"
この機能をもう少し詳しく説明する追加のソースは次のとおりです:ホスト名を正しく設定する-AmazonEC2のFedora20 。
さらに、hostnamectl
のmanページ:
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.
Fedora 21には、SELinuxがhostnamectlアクセスを妨げるバグがあります。 、ここにあり、タイトルは次のとおりです。バグ1133368-SELinuxは、systemd-hostnamがファイルホスト名へのアクセスを「リンク解除」できないようにしています。
このバグ関連しているようです。インストール時にSELinuxコンテキストがファイル/etc/hostname
に正しく適用されないという問題があります。これは、ツールhostnamectl
がファイル/etc/hostname
を操作できないことで明らかになります。同じスレッドがこの回避策を提供しました:
$sudo restorecon -v /etc/hostname
注:そのパッチはAnaconda(インストールツール)に適用されたため、この問題は将来、新しいユーザーに対して解消されるはずです。
回答
これの考えられる原因は、dhcpクライアントです。一般的なdhcpcdを使用している場合、解決策は次の行を/etc/dhcpcd.conf
に追加することです。
nohook hostname
これにより、dhcpcdがシステムのホスト名を変更するスクリプトを呼び出すのを防ぎます。
デフォルトでは、dhcpcdは存在するすべてのフックを実行します/lib/dhcpcd/dhcpcd-run-hooks
(パスは異なる場合があります) nohook
を使用すると、特定のものが無効になります。
コメント
- 21とrawhideがインストールされ、
/etc/dhcpd.conf
は存在しません。さらに、systemctl status dhcpcd
はnot-found (Reason: No such file or directory)
liを返します>
hostnamectl
コマンドでエラーが発生しましたか?何かが投稿したバグジラバグへのリンクは、あなたの最善のリードのようです。hostnamectl
コマンドはインストールしませんでした。動作しますが、現在は動作します。