Вот (в настоящее время непроверенный) скрипт Bash, который можно использовать для раскоммании deb-src строк в sources.list:
tempdir=$(mktemp -d)
cd "$tempdir"
source_file=/etc/apt/sources.list
new_file=sources.list.new
perl -pE 's/^#\s+(deb-src)/$1/' "$source_file" > "$new_file"
sudo cp "$new_file" "$source_file"
sudo apt-get update
Я собрал сценарий, который работает вокруг проблемы Netplan, которая в настоящее время не поддерживает возможность замены DHCP-серверов DNS и порядка поиска домена. Он создает файл yaml Netplan и настраивает systemd-resol для работы, как ожидалось.
################## Start Netplan config (renderer: NetworkManager)
# Some useful commands for customisation
# NetConn=$(nmcli device show|grep GENERAL.CONNECTION|head -n1|awk '{print $2}')
# IP=$(nmcli device show|grep IP4.ADDRESS|head -n1|awk '{print $2}')
# GATEWAY=$(nmcli device show|grep IP4.GATEWAY|head -n1|awk '{print $2}')
# sed -i 's/renderer: networkd/renderer: NetworkManager/' //etc/netplan/01-netcfg.yaml
######################################
systemctl start NetworkManager
NIC=$(nmcli device show|grep GENERAL.DEVICE|head -n1|awk '{print $2}')
##### create Netplan yaml config file
cat >/etc/netplan/01-netcfg.yaml <<EOF
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: NetworkManager
ethernets:
EOF
echo " ${NIC}:" >> /etc/netplan/01-netcfg.yaml
cat >>/etc/netplan/01-netcfg.yaml <<EOF
dhcp4: yes
nameservers:
search: [abc.domain.edu, def.domain.edu]
addresses: [10.10.11.22, 10.10.11.23]
EOF
#work around DNS resolv bug
systemctl stop systemd-resolved
sed -i 's/#DNS=/DNS=10.10.11.22 10.10.11.23/' /etc/systemd/resolved.conf
sed -i 's/#Domains=/Domains=abc.domain.edu def.domain.edu' /etc/systemd/resolved.conf
systemctl start systemd-resolved
systemctl restart NetworkManager
netplan apply
reboot
############### End Netplan Config
Наконец-то я получил решение этой проблемы для ubuntu 17.10. По умолчанию эта версия Ubuntu использует systemd-resolved, которая, я надеюсь, будет стабильной для следующих версий.
Чтобы использовать пользовательские dns вместо локального кэша, разрешенного системой, выполните следующие действия:
добавить новые серверы имен. Отредактируйте файл в /etc/systemd/resolved.conf как sudoer. Здесь я прокомментировал запись DNS и поместил мои dns [Resolve] DNS=10.96.0.10 8.8.8.8 8.8.4.4 отменить действительную символическую ссылку на /etc/resolv.conf создать новую символическую ссылку sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf перезапустить службу sudo service systemd-resolved restart перезапустить сетевой менеджер sudo systemctl restart networkingИ теперь, если вы копаете имя, предоставленное вашим добавлением dns, вы должны увидеть, что запись решена dig nexus.default.svc.cluster.mydomain
Последний шаг - обновить порядок разрешения в /etc/nsswitch.conf, поставив dns before mdns4_minimal
hosts files dns mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] myhostname
У меня такая же проблема. Каждая перезагрузка ничего не решит. Я удалил все и переустановил его примерно 50 раз. Это просто просто сломано.
, поэтому исправление ... »просто применяйте несколько настроек каждый раз, когда вы загружаете свой компьютер, что позволяет разрешать 90% имен хостов, но wget и apt-get обновления и обновления будут случайным образом no reason "
cat /etc/systemd/resolved.conf
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See resolved.conf(5) for details
[Resolve]
#DNS=
#FallbackDNS=
#Domains=
#LLMNR=yes
#MulticastDNS=yes
#DNSSEC=no
#Cache=yes
#DNSStubListener=udp
При использовании рабочего стола Ubuntu 17.10 вы должны отредактировать один файл, который говорит, НЕ ИЗМЕНИТЕ ДАННЫЙ ФАЙЛ BLAH BLAH BLAH
хорошо, это ТОЛЬКО способ, которым это работает. ~!
root@nas:~# cat /etc/resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 8.8.8.8
Так что удалите 127.0.0.53 IP в качестве сервера имен и введите другой, например Google. Похоже, мой фактический IP-адрес DNS также не разрешает имена хостов (даже если он работает на 10 других машинах и устройствах в доме), но работа Google прекрасна.
Известная ошибка systemd.
Известная ошибка systemd без необходимости перенастраивать изменения IP-адресов DNS:
sudo rm -f /etc/resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
reboot
Решение, которое сработало для меня, размещено здесь в моем блоге
Используйте редактор nano для редактирования этих двух файлов
nano /etc/resolv.conf
nano /etc/resolvconf/resolv.conf.d/head
Добавьте DNS-серверы, которые вы хотите использовать
nameserver 9.9.9.9
nameserver 8.8.4.4
nameserver 127.0.0.1
Затем перезапустите службу
service systemd-resolved restart
Окончательная проверка:
cat /etc/resolv.conf
Сделайте nslookup
nslookup google.com
Я собрал сценарий, который работает вокруг проблемы Netplan, которая в настоящее время не поддерживает возможность замены DHCP-серверов DNS и порядка поиска домена. Он создает файл yaml Netplan и настраивает systemd-resol для работы, как ожидалось.
################## Start Netplan config (renderer: NetworkManager)
# Some useful commands for customisation
# NetConn=$(nmcli device show|grep GENERAL.CONNECTION|head -n1|awk '{print $2}')
# IP=$(nmcli device show|grep IP4.ADDRESS|head -n1|awk '{print $2}')
# GATEWAY=$(nmcli device show|grep IP4.GATEWAY|head -n1|awk '{print $2}')
# sed -i 's/renderer: networkd/renderer: NetworkManager/' //etc/netplan/01-netcfg.yaml
######################################
systemctl start NetworkManager
NIC=$(nmcli device show|grep GENERAL.DEVICE|head -n1|awk '{print $2}')
##### create Netplan yaml config file
cat >/etc/netplan/01-netcfg.yaml <<EOF
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: NetworkManager
ethernets:
EOF
echo " ${NIC}:" >> /etc/netplan/01-netcfg.yaml
cat >>/etc/netplan/01-netcfg.yaml <<EOF
dhcp4: yes
nameservers:
search: [abc.domain.edu, def.domain.edu]
addresses: [10.10.11.22, 10.10.11.23]
EOF
#work around DNS resolv bug
systemctl stop systemd-resolved
sed -i 's/#DNS=/DNS=10.10.11.22 10.10.11.23/' /etc/systemd/resolved.conf
sed -i 's/#Domains=/Domains=abc.domain.edu def.domain.edu' /etc/systemd/resolved.conf
systemctl start systemd-resolved
systemctl restart NetworkManager
netplan apply
reboot
############### End Netplan Config
Наконец-то я получил решение этой проблемы для ubuntu 17.10. По умолчанию эта версия Ubuntu использует systemd-resolved, которая, я надеюсь, будет стабильной для следующих версий.
Чтобы использовать пользовательские dns вместо локального кэша, разрешенного системой, выполните следующие действия:
добавить новые серверы имен. Отредактируйте файл в /etc/systemd/resolved.conf как sudoer. Здесь я прокомментировал запись DNS и поместил мои dns [Resolve] DNS=10.96.0.10 8.8.8.8 8.8.4.4 отменить действительную символическую ссылку на /etc/resolv.conf создать новую символическую ссылку sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf перезапустить службу sudo service systemd-resolved restart перезапустить сетевой менеджер sudo systemctl restart networkingИ теперь, если вы копаете имя, предоставленное вашим добавлением dns, вы должны увидеть, что запись решена dig nexus.default.svc.cluster.mydomain
Последний шаг - обновить порядок разрешения в /etc/nsswitch.conf, поставив dns before mdns4_minimal
hosts files dns mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] myhostname
У меня такая же проблема. Каждая перезагрузка ничего не решит. Я удалил все и переустановил его примерно 50 раз. Это просто просто сломано.
, поэтому исправление ... »просто применяйте несколько настроек каждый раз, когда вы загружаете свой компьютер, что позволяет разрешать 90% имен хостов, но wget и apt-get обновления и обновления будут случайным образом no reason "
cat /etc/systemd/resolved.conf
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See resolved.conf(5) for details
[Resolve]
#DNS=
#FallbackDNS=
#Domains=
#LLMNR=yes
#MulticastDNS=yes
#DNSSEC=no
#Cache=yes
#DNSStubListener=udp
При использовании рабочего стола Ubuntu 17.10 вы должны отредактировать один файл, который говорит, НЕ ИЗМЕНИТЕ ДАННЫЙ ФАЙЛ BLAH BLAH BLAH
хорошо, это ТОЛЬКО способ, которым это работает. ~!
root@nas:~# cat /etc/resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 8.8.8.8
Так что удалите 127.0.0.53 IP в качестве сервера имен и введите другой, например Google. Похоже, мой фактический IP-адрес DNS также не разрешает имена хостов (даже если он работает на 10 других машинах и устройствах в доме), но работа Google прекрасна.
Известная ошибка systemd.
Известная ошибка systemd без необходимости перенастраивать изменения IP-адресов DNS:
sudo rm -f /etc/resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
reboot
Решение, которое сработало для меня, размещено здесь в моем блоге
Используйте редактор nano для редактирования этих двух файлов
nano /etc/resolv.conf
nano /etc/resolvconf/resolv.conf.d/head
Добавьте DNS-серверы, которые вы хотите использовать
nameserver 9.9.9.9
nameserver 8.8.4.4
nameserver 127.0.0.1
Затем перезапустите службу
service systemd-resolved restart
Окончательная проверка:
cat /etc/resolv.conf
Сделайте nslookup
nslookup google.com