Проблема с запуском сервисов после перехода на openrc

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Ответить
gr_alex
Сообщения: 29

Проблема с запуском сервисов после перехода на openrc

Сообщение gr_alex »

После перехода на openrc заметил такую проблему, перестали автоматически запускаться (после перезагрузки) вновь добавляемые сервисы, например: apache2 squid, net.ethx т.п. Решается проблема пересборкой openrc. Добавляешь еще что-либо, опять та же проблема для нового сервиса. Это как-нибудь лечится или ждать супер стабильного openrc надо?
Спасибо сказали:
patrius
Сообщения: 337
ОС: Debian (4 & 5) -> Gentoo

Re: Проблема с запуском сервисов после перехода на openrc

Сообщение patrius »

rc-update -add proga default? не помагает?
revdep-rebuild ? точно пусто?
как вы вышли на openrc?
какой профиль?
Спасибо сказали:
gr_alex
Сообщения: 29

Re: Проблема с запуском сервисов после перехода на openrc

Сообщение gr_alex »

patrius писал(а):
15.06.2011 12:31
rc-update -add proga default? не помагает?
revdep-rebuild ? точно пусто?
как вы вышли на openrc?
какой профиль?


1. rc-update именно и не срабатывает
2. revdep-rebuild - точно пусто
3. на openrc вышел чисто экспериментальным путем
4. профиль default
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 876
ОС: gentoo

Re: Проблема с запуском сервисов после перехода на openrc

Сообщение vr13 »

gr_alex писал(а):
15.06.2011 09:28
После перехода на openrc заметил такую проблему, перестали автоматически запускаться (после перезагрузки) вновь добавляемые сервисы, например: apache2 squid, net.ethx т.п. Решается проблема пересборкой openrc. Добавляешь еще что-либо, опять та же проблема для нового сервиса. Это как-нибудь лечится или ждать супер стабильного openrc надо?

интересно, как это вам удалось :)
выложите посмотреть /etc/rc.conf?
Спасибо сказали:
gr_alex
Сообщения: 29

Re: Проблема с запуском сервисов после перехода на openrc

Сообщение gr_alex »

vr13 писал(а):
15.06.2011 20:28
интересно, как это вам удалось :)
выложите посмотреть /etc/rc.conf?


rc.conf по умолчанию, за исключением раскоментирования параметра rc_sys изменений не вносил

Код: Выделить всё

# 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
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 876
ОС: gentoo

Re: Проблема с запуском сервисов после перехода на openrc

Сообщение vr13 »

apache итд скорее всего не стартуют по причине зависимости от net..

а это сделали (считаем, что nm/wicd не установлено)?

Код: Выделить всё

$ ls -F /etc/init.d/net.*
/etc/init.d/net.eth0@  /etc/init.d/net.lo*

у меня тоже были какие-то заморочки со старыми сервисами, и тоже связанные с зависимостями. до пересборки openrc правда, не доходило. фантазии не хватило наверное. помогло

Код: Выделить всё

rc_depend_strict="NO"

в /etc/rc.conf
Спасибо сказали:
gr_alex
Сообщения: 29

Re: Проблема с запуском сервисов после перехода на openrc

Сообщение gr_alex »

vr13 писал(а):
16.06.2011 09:52
apache итд скорее всего не стартуют по причине зависимости от net..

а это сделали (считаем, что nm/wicd не установлено)?

Код: Выделить всё

$ ls -F /etc/init.d/net.*
/etc/init.d/net.eth0@  /etc/init.d/net.lo*

у меня тоже были какие-то заморочки со старыми сервисами, и тоже связанные с зависимостями. до пересборки openrc правда, не доходило. фантазии не хватило наверное. помогло

Код: Выделить всё

rc_depend_strict="NO"

в /etc/rc.conf


это всегда на автомате делаю

Код: Выделить всё

$ ls -F /etc/init.d/net.*
/etc/init.d/net.eth0@ /etc/init.d/net.eth1@ /etc/init.d/net.lo*


сделал

Код: Выделить всё

rc_depend_strict="NO"


Результат тот же
До пересборки openrc дошёл опытным путём, т.к. до "стабилизации" baselayout2 и openrc ВСЁ всегда нормально отрабатывало. В /etc/conf.d/rc вообще никогда не заглядывал. Попытался перенести настройки как в mirgation guide написано - не помогло.
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 876
ОС: gentoo

Re: Проблема с запуском сервисов после перехода на openrc

Сообщение vr13 »

похоже на bug360359

unsolved, правда.
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 876
ОС: gentoo

Re: Проблема с запуском сервисов после перехода на openrc

Сообщение vr13 »

gr_alex писал(а):
16.06.2011 10:01
Результат тот же

если еще не решилось, выложите сюда `emerge --info`, просто для сравнения: я на baselayout-2/openrc перенес все инсталляции, реальные и виртуальные (среди этого есть и apache): вдруг найдется разница
Спасибо сказали:
gr_alex
Сообщения: 29

Re: Проблема с запуском сервисов после перехода на openrc

Сообщение gr_alex »

emerge --info

Код: Выделить всё

Portage 2.1.9.42 (default/linux/x86/10.0, gcc-4.4.5, libc-0-r0, 2.6.37-gentoo-r4 i686)
=================================================================
System uname: Linux-2.6.37-gentoo-r4-i686-Intel-R-_Pentium-R-_Dual_CPU_E2200_@_2.20GHz-with-gentoo-2.0.2
Timestamp of tree: Thu, 19 May 2011 00:45:01 +0000
app-shells/bash:     4.1_p9
dev-lang/python:     2.7.1-r1, 3.1.3-r1
sys-apps/baselayout: 2.0.2
sys-apps/openrc:     0.8.2-r1
sys-apps/sandbox:    2.4
sys-devel/autoconf:  2.65-r1
sys-devel/automake:  1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.5
sys-devel/gcc-config: 1.4.1-r1
sys-devel/libtool:   2.2.10
sys-devel/make:      3.81-r2
sys-kernel/linux-headers: 2.6.36.1
sys-libs/glibc:      2.11.3
virtual/os-headers:  0
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=i686 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="ru_RU.UTF-8"
LC_ALL=""
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="ru"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acl apache2 berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm gpm iconv ipv6 modules mudflap ncurses nls nptl nptlonly openmp pam pcre perl pppd python radius readline session ssl sysfs tcpd unicode x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="braindump flow karbon kexi kpresenter krita tables words" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 876
ОС: gentoo

Re: Проблема с запуском сервисов после перехода на openrc

Сообщение vr13 »

так как у меня работает в x86, то источник проблем может быть:
  • sys-libs/glibc: 2.11.3 - текущая 2.12.2 стабилизировалась раньше, чем openrc. хотя, на ноутбуке openrc использовался очень давно (с версии 0.6 примерно), понятно, со "старыми" glibc
  • USE=acl (при отсутсвии policykit) - от этого много чего зависит, и начинает работать раньше (udev), чем ваши проблемные сервисы. эту версию, в отличие glibc просто проверить - достаточно перенести куда-нить /lib/udev/rules.d/70-acl.rules и перегрузиться (в любом случае потом - вернуть на место или переустановить udev)
  • на всякий случай, удалить /etc/udev/rules.d/70-persistent-net.rules (это перестроится само при следующей загрузке)
повторю, мне кажется что все начинается от нестарта net.*, остальное - зависимости
Спасибо сказали:
gr_alex
Сообщения: 29

Re: Проблема с запуском сервисов после перехода на openrc

Сообщение gr_alex »

vr13 писал(а):
17.06.2011 11:35
так как у меня работает в x86, то источник проблем может быть:
  • sys-libs/glibc: 2.11.3 - текущая 2.12.2 стабилизировалась раньше, чем openrc. хотя, на ноутбуке openrc использовался очень давно (с версии 0.6 примерно), понятно, со "старыми" glibc
  • USE=acl (при отсутсвии policykit) - от этого много чего зависит, и начинает работать раньше (udev), чем ваши проблемные сервисы. эту версию, в отличие glibc просто проверить - достаточно перенести куда-нить /lib/udev/rules.d/70-acl.rules и перегрузиться (в любом случае потом - вернуть на место или переустановить udev)
  • на всякий случай, удалить /etc/udev/rules.d/70-persistent-net.rules (это перестроится само при следующей загрузке)
повторю, мне кажется что все начинается от нестарта net.*, остальное - зависимости


Сейчас стоит udev-164-r2. В /etc/udev/rules.d/ пусто, /lib/udev/rules.d/70-acl.rules также отсутствует.
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 876
ОС: gentoo

Re: Проблема с запуском сервисов после перехода на openrc

Сообщение vr13 »

gr_alex писал(а):
21.06.2011 09:25
Сейчас стоит udev-164-r2. В /etc/udev/rules.d/ пусто, /lib/udev/rules.d/70-acl.rules также отсутствует.

это пример с работающего сейчас ноутбука:

Код: Выделить всё

$ cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib64/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x14e4:0x16fd (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:16:d4:XX:XX:XX", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x4222 (iwl3945)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:19:d2:XX:XX:XX", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"

обратите внимание на комментарии в начале файла. соответственно, нужно искать почему udev не пишет этого файла, хотя должен. на всякий случай - это, и все чем пользуется - скипты из состава sys-fs/udev, там можно включить debug и понять в чем дело. судя по времени создания файла и обновления udev - делалось в процессе обновления:

Код: Выделить всё

$ genlop -t sys-fs/udev|tail -3
     Thu Jun  9 22:14:47 2011 >>> sys-fs/udev-164-r2
       merge time: 54 seconds.
$ ls -l /etc/udev/rules.d/70-persistent-net.rules
-rw-r--r-- 1 root root 631 Jun  9 22:14 /etc/udev/rules.d/70-persistent-net.rules

также известно правило: если изменилось железо на работающей системе, нужно удалить /etc/udev/rules.d/70-persistant-*.rules

поэтому направление, в котором вам надо разбираться - очевидно
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 876
ОС: gentoo

Re: Проблема с запуском сервисов после перехода на openrc

Сообщение vr13 »

в дополнение к предыдущему, см /etc/conf.d/udev
Спасибо сказали:
gr_alex
Сообщения: 29

Re: Проблема с запуском сервисов после перехода на openrc

Сообщение gr_alex »

Собрал сегодня из stage3-i686-20110614 и свежего portage систему на виртуалке. Проблема никуда не делась. Самое интересное, после добавления 2 сетевушки она не запускается в автомате. Сделаешь emerge openrc, запускается. Устанавливаешь apache, bind и т.п. они не запускаются, сетевые поднимаются, а зависимые от них сервисы нет.

P.S. на физической машине та же ерунда.
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 876
ОС: gentoo

Re: Проблема с запуском сервисов после перехода на openrc

Сообщение vr13 »

собственных идей нет, поэтому нагуглив по словам openrc и apache, сразу увидел, что вы не одиноки:

http://forums.gentoo.org/viewtopic-t-700466-start-0.html
http://www.linux.org.ru/forum/admin/6289464

во второй ссылке, кстати, приводится объяснение проблемы и дается совет (у меня почему-то, тоже везде стоит как раз так (NO). уже не помню, почему, давно эту штуку использую)

Код: Выделить всё

...
rc_depend_strict="NO"
...

а у вас, как следует из начала переписки по этому поводу - YES. попробуйте? :)
Спасибо сказали:
gr_alex
Сообщения: 29

Re: Проблема с запуском сервисов после перехода на openrc

Сообщение gr_alex »

во второй ссылке, кстати, приводится объяснение проблемы и дается совет (у меня почему-то, тоже везде стоит как раз так (NO). уже не помню, почему, давно эту штуку использую)

Код: Выделить всё

...
rc_depend_strict="NO"
...

а у вас, как следует из начала переписки по этому поводу - YES. попробуйте? :)



Пробовал уже, еще в начале - никакого результата. Такое ощущение, что /etc/rc.conf вообще игнорируется
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 876
ОС: gentoo

Re: Проблема с запуском сервисов после перехода на openrc

Сообщение vr13 »

gr_alex писал(а):
28.06.2011 10:12
пробовал уже, еще в начале - никакого результата. Такое ощущение, что /etc/rc.conf вообще игнорируется

это легко проверить: включите, скажем, параллелизм - rc_parallel="YES" или выключите журналирование openrc - rc_logger="NO": сразу будет видно

Спасибо сказали:
Ответить