live, net: shift and rework network and resolver setup
50-setup-network was a hasty hack (surprise!) that used to do what net and net-eth features have been created to do since; just drop the duplicated crufty code. Unconditional resolver setup isn't done now: those with static setup are better off doing it explicitly, and those with DHCP should be fine already. NB: /etc/hosts *is* fine within setup package *but* hasher will overwrite it with a copy of host's one; let's reset contents to initial at least until hasher gets fixed and the fix is rather deployed in the wild.
This commit is contained in:
parent
75bf4afcaa
commit
5d829265db
@ -18,7 +18,7 @@ use/live: use/stage2 sub/rootfs@live sub/stage2@live use/services
|
||||
@$(call add,DEFAULT_SERVICES_ENABLE,$(_ON))
|
||||
@$(call add,DEFAULT_SERVICES_DISABLE,$(_OFF))
|
||||
|
||||
use/live/base: use/live use/syslinux/ui/menu
|
||||
use/live/base: use/live use/net use/syslinux/ui/menu
|
||||
@$(call add,LIVE_LISTS,$(call tags,base && (live || network)))
|
||||
|
||||
# rw slice, see http://www.altlinux.org/make-initrd-propagator and #28289
|
||||
|
@ -1,67 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Setup network settings
|
||||
# 1. Init /etc/hosts with "127.0.0.1 localhost"
|
||||
# 2. Set hostname, domainname
|
||||
# 3. Set defaults for NetworkManager or
|
||||
# attempt to autoconfigure eth0 by etcnet.
|
||||
|
||||
. shell-config
|
||||
|
||||
verbose()
|
||||
{
|
||||
if [ -n "$GLOBAL_VERBOSE" ]; then
|
||||
echo "HOOK: 50-setup-network: $@"
|
||||
fi
|
||||
}
|
||||
|
||||
verbose "has started"
|
||||
|
||||
# At startup time hostname may be changed by live-hostname package.
|
||||
HOSTNAME="localhost.localdomain"
|
||||
DOMAINNAME="localdomain"
|
||||
|
||||
verbose "Init /etc/hosts with 127.0.0.1 localhost"
|
||||
echo "127.0.0.1 localhost localhost.localdomain" > /etc/hosts
|
||||
|
||||
prefix="/etc/net/ifaces"
|
||||
|
||||
# seems like aufs bug on O_TRUNC writes:
|
||||
# aufs au_lkup_neg:267:kworker/0:2[998]:
|
||||
# I/O Error, resolv.conf should be negative on b0.
|
||||
# OTOH lo interface is now brought up in initrd
|
||||
# so this shoudn't really matter
|
||||
if [ -d "$prefix"/lo ]; then
|
||||
echo 'nameserver 8.8.8.8' >> "$prefix"/lo/resolv.conf
|
||||
fi
|
||||
find /var -name resolv.conf -or -name nsswitch.conf -delete
|
||||
|
||||
netcfg="/etc/sysconfig/network"
|
||||
|
||||
verbose "Enable networking, set hostname to $HOSTNAME, domainname to $DOMAINNAME"
|
||||
shell_config_set "$netcfg" NETWORKING yes
|
||||
shell_config_set "$netcfg" HOSTNAME "$HOSTNAME"
|
||||
shell_config_set "$netcfg" DOMAINNAME "$DOMAINNAME"
|
||||
|
||||
# NB: see also #28484 and livecd-net-eth for runtime configuration
|
||||
defcfg="$prefix/default/options-eth"
|
||||
if [ -x /usr/sbin/NetworkManager -o -x /usr/sbin/connmand ] ; then
|
||||
verbose "Setup defaults for NetworkManager/connman"
|
||||
shell_config_set "$defcfg" NM_CONTROLLED yes
|
||||
shell_config_set "$defcfg" DISABLED yes
|
||||
shell_config_set "$defcfg" BOOTPROTO dhcp
|
||||
else
|
||||
# attempt to autoconfigure ethernet by etcnet
|
||||
if [ -x /lib/udev/write_net_rules ] &&
|
||||
[ -x /sbin/dhcpcd -o -x /sbin/dhclient ]; then
|
||||
verbose "configuring DHCP for eth0"
|
||||
mkdir -p "$prefix"/eth0 && {
|
||||
echo TYPE=eth
|
||||
echo BOOTPROTO=dhcp
|
||||
echo DHCP_TIMEOUT=3
|
||||
} > "$prefix"/eth0/options
|
||||
else
|
||||
verbose "NOT configuring eth0 for DHCP"
|
||||
fi
|
||||
fi
|
||||
|
||||
verbose "finished"
|
17
features.in/net/rootfs/image-scripts.d/50-net-resolv
Executable file
17
features.in/net/rootfs/image-scripts.d/50-net-resolv
Executable file
@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
|
||||
# offer some convenient servers for static configuration cases
|
||||
if [ -d /etc/net/ifaces/lo ]; then
|
||||
{
|
||||
echo "# yandex"
|
||||
echo "#nameserver 77.88.8.1"
|
||||
echo "# google"
|
||||
echo "#nameserver 8.8.8.8"
|
||||
echo "# level3"
|
||||
echo "#nameserver 4.2.2.3"
|
||||
} >> /etc/net/ifaces/lo/resolv.conf
|
||||
fi
|
||||
find /var -name resolv.conf -or -name nsswitch.conf -delete
|
||||
|
||||
# hasher might have carried host /etc/hosts over, need to overwrite
|
||||
echo "127.0.0.1 localhost.localdomain localhost" > /etc/hosts
|
Loading…
Reference in New Issue
Block a user