Bug 23590 - Netzwerkinstallation aus lokalen Repositories
Netzwerkinstallation aus lokalen Repositories
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UCS Net Installer
UCS 2.4
Other Linux
: P5 normal (vote)
: UCS 2.4-4
Assigned To: Felix Botner
Arvid Requate
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-09-13 08:28 CEST by Stefan Gohmann
Modified: 2011-12-27 11:01 CET (History)
0 users

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
angepasstes 10_debootstrap.sh Script (3.91 KB, text/x-sh)
2011-09-13 15:53 CEST, Felix Botner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2011-09-13 08:28:19 CEST
Das ist jetzt an mehreren Support Tickets aufgefallen. Wenn ein System mit UCD und/oder UCS@school mit UCS 2.4 installiert wird und dann das Repository auch UCS 2.3 synchronisiert, dann ist die Netzwerkinstallation nicht erfolgreich.

Ticket #2011090110001021
Ticket #2011091210001671

Es scheint so zu sein, dass durch geänderte Paketprioritäten oder sonstiges exim anstatt postfix verwendet wird, und dann die Installation des debootstrap fehlschlägt. Aus der installation.log:

I: Unpacking wget...
I: Unpacking whiptail...
W: Failure while installing base packages.  This will be re-attempted up to five times.

Ideal wäre es, wenn wir einfach die Datei 10_debootstrap.sh überschreiben. Dann kann die auf den Systemen in das Repository unter script/installer/ abgelegt werden und der Net-Installer kopiert diese Datei vor der eigentlichen Installation, siehe 00_scripts.sh.
Comment 1 Stefan Gohmann univentionstaff 2011-09-13 08:28:35 CEST
Bitte einmal analysieren.
Comment 2 Felix Botner univentionstaff 2011-09-13 15:53:30 CEST
Created attachment 3516 [details]
angepasstes 10_debootstrap.sh Script

Problem ist, dass durch das Einbinden des UCS 2.3 Repository das debootstrap nicht mehr richtig durchläuft, da er mailx (also exim) und postfix installieren will. Das mailx will er installieren, da das Paket in 2.3 mit der Priorität "important" markiert ist.

-> more /var/lib/univention-repository/mirror/2.4/maintained/2.4-0/dists/univention/main/binary-i386/Packages| grep -A 12 "Package: mailx" | grep --regex "Package\|Priority\|Filename"
Package: mailx
Priority: optional
Filename: all/mailx_20071201-3.3.200911270913_all.deb
Package: mailx
Priority: optional
Filename: all/mailx_20071201-3.3.200911270913_all.deb
Package: mailx
Priority: important
Filename: ../../../2.3/maintained/2.3-0/i386/mailx_8.1.2-0.20050715cvs-1.11.200911271201_i386.deb

Das kollidiert dann mit dem "--include='postfix'" aus scripts/10_debootstrap.sh. 

Die Fehler an den Tickets (Probleme bei der Installation von kleopatra, dirmngr, ...) waren dann Folgefehler.

Abhilfe schafft ein --exclude="... mailx" in scripts/10_debootstrap.sh.

Workaround:

Das angehängte Script "10_debootstrap.sh" auf dem Repository Server nach "/var/lib/univention-repository/script/installer/" kopieren. In diesem Script wurde das "--exclude" um "mailx" erweitern. Der Installer kopiert diese Datei dann vor dem Start der eigentlichen Installation und überschreibt damit die Original-Datei.
Comment 3 Felix Botner univentionstaff 2011-09-13 15:54:48 CEST
Der Installer sollte zu 2.4-4 entsprechend angepasst werden.
Comment 4 Felix Botner univentionstaff 2011-12-12 16:53:14 CET
Es wurde nun das univention debootstrap Skript aus dem Paket "univention-debootstrap" angepasst. Dort wird die Liste der "important" Pakete erzeugt. Mit einem 2.3 Repo wurde hier auch das Paket mailx aufgenommen, das wird jetzt im Skript aus der Liste entfernt.

Wichtig für die QA

* 2.4 installieren

* Repo erzeugen

* Repo update mit version/start 2.3

* In /var/lib/univention-repository/mirror/2.4/maintained/2.4-0/dists/univention/main/binary-amd64/Packages müsste es nun 2 mailx Einträge geben, einmal mit "Priority: important"

* Ohne die obige Änderung ist 

-> debootstrap --arch amd64 --include="postfix" \
   --exclude="pcmcia-cs libpcre3-udeb udev-udeb libc6-udeb rsyslog" \
   univention /opt/debootstrap2/ \
   file:/var/lib/univention-repository/mirror/2.4/maintained/2.4-0/

dann fehlgeschlagen, mit sollte es funktionieren (zum Test auch einmal ein UCS System über net-installer installieren)
Comment 5 Sönke Schwardt-Krummrich univentionstaff 2011-12-20 18:57:40 CET
(In reply to comment #4)
> Es wurde nun das univention debootstrap Skript aus dem Paket
> "univention-debootstrap" angepasst. Dort wird die Liste der "important" Pakete
> erzeugt. Mit einem 2.3 Repo wurde hier auch das Paket mailx aufgenommen, das
> wird jetzt im Skript aus der Liste entfernt.
> 
> Wichtig für die QA
> 
> * 2.4 installieren
> 
> * Repo erzeugen
> 
> * Repo update mit version/start 2.3
> 
> * In
> /var/lib/univention-repository/mirror/2.4/maintained/2.4-0/dists/univention/main/binary-amd64/Packages
> müsste es nun 2 mailx Einträge geben, einmal mit "Priority: important"
> 
> * Ohne die obige Änderung ist 
> 
> -> debootstrap --arch amd64 --include="postfix" \
>    --exclude="pcmcia-cs libpcre3-udeb udev-udeb libc6-udeb rsyslog" \
>    univention /opt/debootstrap2/ \
>    file:/var/lib/univention-repository/mirror/2.4/maintained/2.4-0/
> 
> dann fehlgeschlagen, mit sollte es funktionieren (zum Test auch einmal ein UCS
> System über net-installer installieren)

UCS 2.4-3 QA-VM mit lokalem 2.4-0-sec4-Repo ausgestattet und anschließend von univention-repository.knut.univention.de 2.3-0 bis 2.4-0 ins lokale Repo nachgezogen. Fehler konnte mit net-installer aus UCS 2.4-3 reproduziert werden.
System anschließend auf 2.4-4 aktualisiert:

root@master:~# grep mailx /usr/share/debootstrap/scripts/univention
      base="$(echo $base | sed 's/mailx//')"
root@master:~# 

Die Initrd des Net-Installers enthält weiterhin das alte Skript (ohne --exclude mailx), weshalb die PXE-Installation weiterhin fehlschlägt.
Comment 6 Felix Botner univentionstaff 2011-12-21 11:29:46 CET
Das in comment #4 beschriebene Verfahren kann so nicht funktionieren, da die PXE Installation die Bootstrap Scripte auch aus der Ramdisk verwendet.

Folgendes wurde jetzt umgesetzt. 10_debootstrap.sh aus univention-installer wurde so angepasst, dass das Paket mailx ausgelassen wird. Diese Datei wurde in das Paket univention-net-installer (source univention-server-installer) übernommen und wird, falls nicht bereist vorhanden, nach $repository_mirror_basepath/script/installer kopiert.
Der Installer holt sich dann über 00_scripts.sh alle Dateien aus diesem Verzeichnis und kopiert diese in die Ramdisk nach /lib/univention-installer-scripts.d/, wobei die Original 10_debootstrap.sh dann überschrieben wird. Kurzer Test mit 2.4-4 war erfolgreich.

QA:

* 2.4 installieren
* lokales Repo erzeugen
* Repo update mit version/start 2.3
* In
/var/lib/univention-repository/mirror/2.4/maintained/2.4-0/dists/univention/main/binary-amd64/Packages
müsste es nun 2 mailx Einträge geben, einmal mit "Priority: important"
Comment 7 Arvid Requate univentionstaff 2011-12-22 16:33:39 CET
Mit UCS 2.4-4 funktioniert es:

I: Base system installed successfully.
Comment 8 Stefan Gohmann univentionstaff 2011-12-27 11:01:34 CET
UCS 2.4-4 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer
neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert
werden: "Clone This Bug"