1 (09.06.2011 21:11:58 отредактировано kessian)

После обновления системы заметил крайне неприятную вещь - при рестарте интерфейса eth1 (интернет), останавливаются все сетевые службы (sshd, dhcpd, samba) и запускаются только руками. dhcpd висит на eth0.

kessian ~ # cat /etc/conf.d/net
# This blank configuration will automatically use DHCP for any net.*
# scripts in /etc/init.d.  To create a more complete configuration,
# please review /etc/conf.d/net.example and save your configuration
# in /etc/conf.d/net (this file :]!).

dns_domain_lo="kes-home"

modules="iproute2 dhcpcd"

 config_eth0="192.168.160.254/24"

 config_eth1="null"

#PPPoE
 config_ppp0="ppp"
 link_ppp0="eth1"
 plugins_ppp0="pppoe"
 username_ppp0=''
 password_ppp0=''
 pppd_ppp0="
         defaultroute
         noauth
         default-asyncmap
         ipcp-accept-remote
         ipcp-accept-local
         mru 1412
         mtu 1412
         persist
         maxfail 0
         lcp-echo-interval 15
         lcp-echo-failure 3
         usepeerdns
"
rc_need_ppp0="net.eth1"

 Консоль:
kessian ~ # uname -a
Linux kessian 2.6.38-gentoo-r4 #4

Никто не сталкивался с такой проблемой?

"Я думаю, что я думаю, следовательно я думаю, что существую"

2

kessian, покажите файл /etc/rc.conf.

Был, был и весь вышел...

3

kessian ~ # cat /etc/rc.conf 
# Global OpenRC configuration settings

# Set to "YES" if you want the rc system to try and start services
# in parallel for a slight speed improvement. When running in parallel we
# prefix the service output with its name as the output will get
# jumbled up.
# WARNING: whilst we have improved parallel, it can still potentially lock
# the boot process. Don't file bugs about this unless you can supply
# patches that fix it without breaking other things!
#rc_parallel="NO"

# Set rc_interactive to "YES" and you'll be able to press the I key during
# boot so you can choose to start specific services. Set to "NO" to disable
# this feature. This feature is automatically disabled if rc_parallel is
# set to YES.
#rc_interactive="YES"

# If we need to drop to a shell, you can specify it here.
# If not specified we use $SHELL, otherwise the one specified in /etc/passwd,
# otherwise /bin/sh
# Linux users could specify /sbin/sulogin
rc_shell=/sbin/sulogin

# Do we allow any started service in the runlevel to satisfy the dependency
# or do we want all of them regardless of state? For example, if net.eth0
# and net.eth1 are in the default runlevel then with rc_depend_strict="NO"
# both will be started, but services that depend on 'net' will work if either
# one comes up. With rc_depend_strict="YES" we would require them both to
# come up.
#rc_depend_strict="YES"

# rc_hotplug is a list of services that we allow to be hotplugged.
# By default we do not allow hotplugging.
# A hotplugged service is one started by a dynamic dev manager when a matching
# hardware device is found.
# This service is intrinsically included in the boot runlevel.
# To disable services, prefix with a !
# Example - rc_hotplug="net.wlan !net.*"
# This allows net.wlan and any service not matching net.* to be plugged.
# Example - rc_hotplug="*"
# This allows all services to be hotplugged
#rc_hotplug="*"

# rc_logger launches a logging daemon to log the entire rc process to
# /var/log/rc.log
# NOTE: Linux systems require the devfs service to be started before
# logging can take place and as such cannot log the sysinit runlevel.
#rc_logger="YES"

# By default we filter the environment for our running scripts. To allow other
# variables through, add them here. Use a * to allow all variables through.
#rc_env_allow="VAR1 VAR2"

# By default we assume that all daemons will start correctly.
# However, some do not - a classic example is that they fork and return 0 AND
# then child barfs on a configuration error. Or the daemon has a bug and the
# child crashes. You can set the number of milliseconds start-stop-daemon
# waits to check that the daemon is still running after starting here.
# The default is 0 - no checking.
#rc_start_wait=100

# rc_nostop is a list of services which will not stop when changing runlevels.
# This still allows the service itself to be stopped when called directly.
#rc_nostop=""

# rc will attempt to start crashed services by default.
# However, it will not stop them by default as that could bring down other
# critical services.
#rc_crashed_stop=NO
#rc_crashed_start=YES

##############################################################################
# MISC CONFIGURATION VARIABLES
# There variables are shared between many init scripts

# Set unicode to YES to turn on unicode support for keyboards and screens.
unicode="YES"

# Below is the default list of network fstypes.
#
# afs cifs coda davfs fuse fuse.sshfs gfs glusterfs lustre ncpfs
# nfs nfs4 ocfs2 shfs smbfs
#
# If you would like to add to this list, you can do so by adding your
# own fstypes to the following variable.
#extra_net_fs_list=""

##############################################################################
# SERVICE CONFIGURATION VARIABLES
# These variables are documented here, but should be configured in
# /etc/conf.d/foo for service foo and NOT enabled here unless you
# really want them to work on a global basis.

# Some daemons are started and stopped via start-stop-daemon.
# We can set some things on a per service basis, like the nicelevel.
#export SSD_NICELEVEL="-19"

# Pass ulimit parameters
#rc_ulimit="-u 30"

# It's possible to define extra dependencies for services like so
#rc_config="/etc/foo"
#rc_need="openvpn"
#rc_use="net.eth0"
#rc_after="clock"
#rc_before="local"
#rc_provide="!net"

# You can also enable the above commands here for each service. Below is an
# example for service foo.
#rc_foo_config="/etc/foo"
#rc_foo_need="openvpn"
#rc_foo_after="clock"

# You can also remove dependencies.
# This is mainly used for saying which servies do NOT provide net.
#rc_net_tap0_provide="!net"

# This is the subsystem type. Valid options on Linux:
# ""        - nothing special
# "lxc"     - Linux Containers
# "openvz"  - Linux OpenVZ
# "prefix"  - Prefix
# "uml"     - Usermode Linux
# "vserver" - Linux vserver
# "xen0"    - Xen0 Domain
# "xenU"    - XenU Domain
# If this is commented out, automatic detection will be attempted.
# Note that autodetection will not work in a prefix environment or in a
# linux container.
#
# This should be set to the value representing the environment this file is
# PRESENTLY in, not the virtualization the environment is capable of.
#rc_sys=""

##############################################################################
# LINUX SPECIFIC OPTIONS

# This is the number of tty's used in most of the rc-scripts (like
# consolefont, numlock, etc ...)
rc_tty_number=12
"Я думаю, что я думаю, следовательно я думаю, что существую"

4

kessian пишет:
# rc_nostop is a list of services which will not stop when changing runlevels. 
# This still allows the service itself to be stopped when called directly. 
#rc_nostop="" 
# rc will attempt to start crashed services by default. 
# However, it will not stop them by default as that could bring down other 
# critical services. 
#rc_crashed_stop=NO 
#rc_crashed_start=YES 

Попробуйте поэкспериментировать с этими опциями, например, так:

rc_nostop="sshd dhcpd samba"
rc_crashed_stop=NO
rc_crashed_start=YES
Был, был и весь вышел...

5

Lupo Alberto, спасибо за наводку, меня лицом к ним тоже уже развернули. Что-то не подумал, что проблема не столько в сетевых службах, сколько в управлении ими может быть. Буду пробовать.

"Я думаю, что я думаю, следовательно я думаю, что существую"

6

Всё, таки разобрался. Меня опять подвела привычка быстро читать, пролетел этот пункт

# Do we allow any started service in the runlevel to satisfy the dependency
# or do we want all of them regardless of state? For example, if net.eth0
# and net.eth1 are in the default runlevel then with rc_depend_strict="NO"
# both will be started, but services that depend on 'net' will work if either
# one comes up. With rc_depend_strict="YES" we would require them both to
# come up.
rc_depend_strict="NO"

Раньше просто в старом rc была опция RC_KILL_CHILDREN="no", которая не давала тушить зависимых демонов. В новом она теперь вот так выглядит.
Тему можно закрывать.

"Я думаю, что я думаю, следовательно я думаю, что существую"