Univention Bugzilla – Bug 26077
univention-bind-samba4 wird bei update nicht nach /etc/service verlinkt
Last modified: 2012-11-09 16:46:07 CET
Beim update eines ucs2.4-4 auf UCS 3 und samba 4 ist aufgefallen, dass das Verzeichnis /etc/runit/univention-bind-samba4 nicht nach /etc/service verlinkt wird. daemon.log ausgabe: fail: univention-bind-samba4: unable to change to service directory: file does not exist update wurde bis auf errata 25 durchgeführt Aufgefallen an Ticket#2012011121004224
/etc/service sollte ein Link auf /etc/runit/univention sein. Dort wird der Link in 90univention-bind-post.inst angelegt. Ist /etc/service auf dem System ein Link? Sind die Join Skripte alle erfolgreich ausgeführt?
die Join scripte sind alle durchgelaufen. /etc/service ist ein verzeichnis. Die links für univention-bind und univention-bind-proxy bestanden
Das scheint ein runit Problem zu sein. Es sollte geprüft werden, warum /etc/service kein Link ist.
Unter Debian-Entwicklern ist es bekannt, das es Probleme mit dpkg gibt, denn aus Symlinks Verzeichnisse werden und umgekehrt. Von daher gehört das in die Kategorie der Dinge, die man besser nicht tun sollte. Je nach dem in welcher Reihenfolge Pakete ausgepackt und konfiguriert werden kann es ansonsten zu unerwartetem Verhalten kommen. # grep /etc/service /var/lib/dpkg/info/*runit* /var/lib/dpkg/info/univention-runit.postinst:if [ ! -L "/etc/service" ]; then /var/lib/dpkg/info/univention-runit.postinst: rmdir /etc/service /var/lib/dpkg/info/univention-runit.postinst: ln -s /etc/runit/univention /etc/service /var/lib/dpkg/info/univention-runit.prerm: if [ "`readlink /etc/service`" = "/etc/runit/univention" ]; then /var/lib/dpkg/info/univention-runit.prerm: rm -f /etc/service /var/lib/dpkg/info/univention-runit.prerm: mkdir /etc/service
Manuel kann man das mit folgenden befehlen lösen: root@master:/# cd /etc/service root@master:/etc/service# ln -s /etc/runit/univention-bind-samba4/ root@master:/etc/service# /etc/init.d/bind9 restart
Ist auch an 2012022221000376 aufgetreten, sieht mir nach einem generischen Update-Problem bei der Migration von Samba3 nach Samba4 aus. Ich erhöhe die Priorität, da anschließend kein BIND läuft und man sich an Windows-Clients daher nicht anmelden kann. (In reply to comment #1) > /etc/service sollte ein Link auf /etc/runit/univention sein. Dort wird der Link > in 90univention-bind-post.inst angelegt. > > Ist /etc/service auf dem System ein Link? Soweit ich das sehen kann nicht. > Sind die Join Skripte alle erfolgreich ausgeführt? Habe ich nicht geprüft, ist laut Wiki-Doku auf dem Master auch nicht notwendig? http://wiki.univention.de/index.php?title=Update_to_UCS_3.0_Samba_4#Migration_of_the_first_Samba_3_DC
(In reply to comment #3) > Das scheint ein runit Problem zu sein. Es sollte geprüft werden, warum > /etc/service kein Link ist. Warscheinlich: https://forge.univention.org/bugzilla/show_bug.cgi?id=18000
(In reply to comment #7) > Warscheinlich Bug #18000 Ja, das ist die gleiche Ursache. Der Fehler muß bereits vor 2.4 aufgetreten sein, weil bei einer Neuinstallation von 2.4 ist /etc/service bereits ein Symlink. Nach Rücksprache mit Ingo hat er bestätigt, das die Systeme, auf denen das Problem auftrat, alle älter (ursprünglich 2.1 oder gar 1.3) waren. Zu 2.[12]-Zeiten: (runit_1.7.2-1) - /etc/service gab es (noch) nicht - /var/service → /etc/runit/univention - /etc/runit/univention/* → ../* Zu 2.3-Zeiten: (runit_2.0.0-1) - /var/service gibt es nicht mehr, da nach /etc/service verschoben - /etc/service ist ein Verzeichnis! - /etc/runit/univention/* → ../* Das /var/lib/dpkg/info/runit_2.0.0-1.preinst aus UCS-2.3 kopiert(!) den Inhalt von /var/service/* nach /etc/service/ /var/lib/dpkg/info/univention-runit_2.0.1-1.postinst dagegen probiert das nicht-leere Verzeichnis per "rmdir /etc/service" zu löschen und erzeugt anschließend per "ln -s /etc/runit/univention /etc/service" den Symlink "/etc/service/univention"! Aus /var/log/univention/updater.log: Richte runit ein (2.0.0-1.14.200909140639) ... Adding SV inittab entry Richte univention-runit ein (2.0-1-1.25.200909190341) ... Installiere neue Version der Konfigurationsdatei /etc/init.d/univention-runit ... rmdir: konnte /etc/service nicht entfernen: Das Verzeichnis ist nicht leer Richte univention-directroy-listener ein (4.0.2-1-60.200911241641) ... ... File: /etc/runit/univention-directory-listener/run *** This bug has been marked as a duplicate of bug 18000 ***
OK, ein Duplikat