Ubuntu Server 18.04 をインストールし、デスクトップ経由で構成を続行できるように SSH をセットアップしたのですが、解決できない問題がいくつか発生しました。
私は逃げようとしていた
sudo apt-get update
しかし、常にエラーが発生していました:
archive.ubuntu.com の解決中に一時的にエラーが発生しました
取得に失敗しましたhttp://archive.ubuntu........
インターネット接続が正常かどうかを確認するために、
ping 8.8.8.8
そして返事が来たので、すべてOKでした。
DNSが正しく設定されていないのではないかと疑ったので、試してみました
ping www.google.com
エラーが発生しました:
名前解決の一時的な失敗
わかりました。実際、これは何らかの DNS の問題であると判断しましたが、私が試したすべての「答え」は機能しませんでした。
/etc/resolv.conf
シンボリックリンクのように見えるので、編集を試みましたがうまくいきませんでした。
ここで、ルートから実行した場合にのみ機能する回答を見つけました。
sudo bash
ただし、後で変更を元に戻すには、次のように指示します。
rm /etc/resolv.conf
ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
ただし、そうすると、再び接続が失われます。
- そのままにしておくべきでしょうか、それとも何か他の方法があるのでしょうか?
- これは永続的な解決策となり得るでしょうか?
- そして、問題の原因は、
/run/resolvconf/resolv.conf
実際には存在しないという事実なのでしょうか?
答え1
Ubuntu サーバー 18-04 では、xorg lightdm lightdm-gtk-greeter および xfce4 GUI がインストールされており、システムを起動するときに、有線ネットワークを起動する唯一の方法は次のとおりです。
sudo dhclient -v -4
うまく機能しますが、これは起動後やネットワークの切断/再接続のたびに手動で実行する必要があるため、機能しますが手動のソリューションであり、永続的なソリューションではありません。
ワイヤレス ネットワークを自動的に開始するには、次の手順に従います。
sudo apt-get install nm-tray network-manager
おそらく再起動する必要があります。その後、コントロール パネルの通知領域に表示されるワイヤレス ネットワーク アイコン (通知領域がパネルに追加されていることを確認してください) を使用してワイヤレス ネットワークを選択できるようになります。その後、自動的に再接続されます。
ただし、有線ネットワークを自動的に再接続するために、avahi-daemon と avahi-autoipd をインストールしてみましたが、どうやら役に立たないようです。次のことを試しても、
sudo systemctl start NetworkManager
sudo systemctl enable NetworkManager
基本的に、Xubuntu デスクトップなどのディストリビューションをインストールすると、適切なツール/デーモン/構成がインストールされ、ユーザーが設定しなくても、接続するとネットワークが自動的に検出されます。どのツール/デーモン/構成/設定がそれを実行するかを知っておくとよいでしょう。
答え2
18.04リリースではresolv.confをnetplanに変更しました
する
man netplan
dir の場所 /etc/netplan 内に次のようなファイルがあります:50-cloud-init.yaml
次のように編集します。
network:
ethernets:
ens160:
addresses:
- 10.10.10.100/24
dhcp4: false
gateway4: 10.10.10.1
nameservers:
addresses:
- 8.8.4.4
- 8.8.8.8
search:
- domain.local
version: 2
ファイルを保存するときに
sudo netplan apply
google.com に ping できるかどうかを確認します。
答え3
QEMU イメージのときにこのエラーが発生しましたdebootstrap
。
決議では以下のことが求められました。
ルートファイルシステムを作成してください
rw
。そうしないとdhclient
失敗します。これを行うより良い方法は、 に を追加することです/etc/fstab
。ただのダミーdebootstrap
:/dev/sda / ext4 errors=remount-ro,acl 0 1
Ubuntu 18.04 では、次のいずれかを実行できます。
適切なタイミングでネットワークを初期化する systemd ユニットを作成します。
cat << EOF | sudo tee "/etc/systemd/system/dhclient.service" [Unit] Description=DHCP Client Documentation=man:dhclient(8) Wants=network.target Before=network.target [Service] Type=forking PIDFile=/var/run/dhclient.pid ExecStart=/sbin/dhclient -4 -q [Install] WantedBy=multi-user.target EOF sudo ln -sf "/etc/systemd/system/dhclient.service" \ "/etc/systemd/system/multi-user.target.wants/dhclient.service"
に基づく:https://gist.github.com/corvax19/6230283#gistcomment-1940694
を使用します
network-manager
。多くのグラフィカル ライブラリをダウンロードしますが、ハッキング感は少なくなります。sudo apt-get install network-manager cat << EOF | sudo tee "/etc/netplan/01-network-manager-all.yaml" # Let NetworkManager manage all devices on this system network: version: 2 renderer: NetworkManager EOF
私は、まず自分のホストの Debian から知っている最初のネットワーク設定ファイルを見て、これを見つけました。
cat /etc/network/interfaces
しかし、素晴らしい Ubuntu 開発者たちはそこにメッセージを残しました:
# ifupdown has been replaced by netplan(5) on this system. See # /etc/netplan for current configuration. # To re-enable ifupdown on this system, you can run: # sudo apt install ifupdown
そこで私は次のことをしました:
cat /etc/network/interfaces
Ubuntu ホストで、不足している設定を見つけました。
Ubuntu の完全な
debootstrap
セットアップはこちら:オンラインで事前に構築された QEMU Ubuntu イメージ (32 ビット) はありますか?Debian 9 では、設定ファイルに正しいエントリを追加します
/etc/network/interfaces
。私の場合は次のとおりです:auto enp0s3 iface enp0s3 inet dhcp
は別の一般的な値
eth0
でありenp0s3
、次のようにして調べることができます。ip link show
完全なDebian
debootstrap
セットアップhttps://unix.stackexchange.com/questions/275429/creating-bootable-debian-image-with-debootstrap/473256#473256
答え4
これには複数の理由が考えられますが、最も一般的な理由は、DNS サーバーが、入力したドメイン名に対応する IP アドレスを検索できないことです。
できることは、次の場所にある設定ファイルを確認することです:
sudo ナノ /etc/resolv.conf
そこにネームサーバーが指定されている場合は問題ありません。指定されていない場合は、ネームサーバーを 1 つ手動で追加できます。Google が所有する一般的なネームサーバーは次のとおりです。
8.8.8.8
4.4.4.4
したがって、次のように設定ファイルに追加するだけで済みます。
nameserver 8.8.8.8
または
nameserver 8.8.4.4
または
nameserver <IP_Address_for_DNS_Server>
次に、ネットワーク設定を再起動して、いくつかの Web サイトに ping を実行します。
sudo systemctl restart systemd-resolved.service
ping google.com
問題がまだ存在する場合、このファイルの権限エラーがある可能性があります。次の操作を実行できます: 次のコマンドを使用してファイルの所有権を変更します。
sudo chown root:root /etc/resolv.conf
ファイルの権限を変更します:
sudo chmod 644 /etc/resolv.conf
次のコマンドを使用して再度確認できます:
ping google.com
もう 1 つの可能性は、ファイアウォールが一部のポートからのアクセスをブロックしていることです。次の操作をお勧めします:
ファイアウォールが有効になっていない場合は、sudo ufw allow 43/tcp sudo ufw allow 53/tcp を実行します。
sudo ufw enable
変更を適用できるようにリロードする必要があります。
sudo ufw reload