Bug 26077 - univention-bind-samba4 wird bei update nicht nach /etc/service verlinkt
univention-bind-samba4 wird bei update nicht nach /etc/service verlinkt
Status: CLOSED DUPLICATE of bug 18000
Product: UCS
Classification: Unclassified
Component: General
UCS 3.0
Other Linux
: P3 normal (vote)
: UCS 3.0-1-errata
Assigned To: Philipp Hahn
Felix Botner
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-02-09 21:54 CET by Kevin Dominik Korte
Modified: 2012-11-09 16:46 CET (History)
4 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin Dominik Korte univentionstaff 2012-02-09 21:54:30 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
Comment 1 Stefan Gohmann univentionstaff 2012-02-10 06:46:21 CET
/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?
Comment 2 Kevin Dominik Korte univentionstaff 2012-02-10 10:04:55 CET
die Join scripte sind alle durchgelaufen. /etc/service ist ein verzeichnis. Die links für univention-bind und univention-bind-proxy bestanden
Comment 3 Stefan Gohmann univentionstaff 2012-02-14 06:21:34 CET
Das scheint ein runit Problem zu sein. Es sollte geprüft werden, warum /etc/service kein Link ist.
Comment 4 Philipp Hahn univentionstaff 2012-02-14 08:48:29 CET
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
Comment 5 Kevin Dominik Korte univentionstaff 2012-02-15 10:03:23 CET
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
Comment 6 Ingo Steuwer univentionstaff 2012-03-06 11:36:46 CET
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
Comment 7 Roman Asendorf univentionstaff 2012-04-04 10:20:21 CEST
(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
Comment 8 Philipp Hahn univentionstaff 2012-04-10 13:27:39 CEST
(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 ***
Comment 9 Felix Botner univentionstaff 2012-07-30 10:34:32 CEST
OK, ein Duplikat