doku:knf2009-linux-live-uck
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| — | doku:knf2009-linux-live-uck [2009-11-22 13:25] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ~~SLIDESHOW~~ | ||
| + | ====== Linux Live CDs selbst anpassen ====== | ||
| + | |||
| + | * | ||
| + | * Das Ubuntu Customization Kit - uck | ||
| + | * Klaus Franken, [[StrukturPunkt.de]] | ||
| + | * KNF Kongress 22.11.2009 | ||
| + | * | ||
| + | |||
| + | {{: | ||
| + | |||
| + | |||
| + | ===== Wie kam ich dazu? ===== | ||
| + | {{: | ||
| + | ===== Aufgabe ===== | ||
| + | * Linux Live CD | ||
| + | * Layout- und Sprachanpassung | ||
| + | * schon möglichst viel dabei, z.B. | ||
| + | * grafische Oberfläche | ||
| + | * volle Netzwerkumgebung | ||
| + | * Office-Programme | ||
| + | * zusätzliche Programme | ||
| + | * HFS+ Dateisystem | ||
| + | * Mac Hardware Unterstützung (auf allen Intel Macs) | ||
| + | |||
| + | ===== Ubuntu Live-CD Übersicht ===== | ||
| + | {{: | ||
| + | |||
| + | * http:// | ||
| + | * basiert auf Debian, nur mehr GUI | ||
| + | * benutzt [[http:// | ||
| + | * komprimiertes read-only-Dateisystem | ||
| + | * benutzt [[http:// | ||
| + | * verschiedener Dateisysteme werden zu einem einzigen logischen Dateisystem vereinigt | ||
| + | * => im Live-System kann alles überschrieben werden, z.B. Updates | ||
| + | * Live-System kann auch auf Festplatte und USB-Stick installiert werden | ||
| + | ===== uck Übersicht ===== | ||
| + | {{: | ||
| + | * uck: Ubuntu Customization Kit | ||
| + | * http:// | ||
| + | * macht aus einer Ubuntu-CD eine neue CD | ||
| + | * keine komplette Entwicklungsumgebung nötig | ||
| + | ===== uck Übersicht 2 ===== | ||
| + | {{: | ||
| + | |||
| + | ===== uck Voraussetzungen ===== | ||
| + | {{: | ||
| + | * Ubuntu-System (getestet mit 9.04) | ||
| + | * Ubuntu Live-CD iso-Image | ||
| + | * 5GB freien Plattenplatz | ||
| + | * schnellen Internetzugang | ||
| + | * RAM und Zeit | ||
| + | |||
| + | ===== uck Installation ===== | ||
| + | {{: | ||
| + | * / | ||
| + | * deb http:// | ||
| + | * deb-src http:// | ||
| + | * apt-get update | ||
| + | * apt-get install uck | ||
| + | ===== uck Vorbereitung ===== | ||
| + | {{: | ||
| + | * Benutzer für uck (!= root): | ||
| + | * nicht auf Live-Platte, | ||
| + | * 5GB Platz | ||
| + | * Benutzer für Vorlage | ||
| + | * wird später nach /etc/skel kopiert | ||
| + | * Anpassung z.B. Firefox-Homepage etc. | ||
| + | |||
| + | ===== uck Start ===== | ||
| + | {{: | ||
| + | * Grafisch: Anwendungen / Systemwerkzeuge / Ubuntu Customization Kit | ||
| + | * Terminal: | ||
| + | ===== uck Wizard ===== | ||
| + | * language packs: de, ... | ||
| + | * language which will be used at boot of live CD: de | ||
| + | * schon dafür lohnt sich der ganze Aufwand ;-) | ||
| + | * desktop environments: | ||
| + | * choose an ISO Image to be used as the basis: meine-vorlage.iso | ||
| + | * enter the name for the CD: '' | ||
| + | * Do you want to customize during building? yes | ||
| + | * Do you want to delete all windows-related files from the CD: yes/no | ||
| + | |||
| + | Fasten seatbelts... (nach Passwortabfrage). | ||
| + | ===== uck Ordnerstruktur ===== | ||
| + | |||
| + | * /home/ | ||
| + | * // | ||
| + | * tmp/ | ||
| + | * customizations-scripts/ | ||
| + | * //Scripts für CD-Anpassung// | ||
| + | * //wird automatisch angelegt und überschrieben :!:// | ||
| + | * iso-mount/ | ||
| + | * // Mount-Point für Original-CD // | ||
| + | * squashfs-mount/ | ||
| + | * // Mount-Point für Squash-FS // | ||
| + | * remaster-iso/ | ||
| + | * // neues CD Abbild // | ||
| + | * remaster-root/ | ||
| + | * neues Root-Filesystem | ||
| + | * unser Ort für weitere Anpassungen | ||
| + | * remaster-new-files/ | ||
| + | * //wird bei jedem Lauf gelöscht :!: // | ||
| + | * livecd.iso | ||
| + | * // unser Ziel :-) // | ||
| + | * build.log | ||
| + | * /tmp/ | ||
| + | * .X11-unix | ||
| + | * //zwischen mehreren Läufen manuell löschen // | ||
| + | |||
| + | ===== uck " | ||
| + | |||
| + | uck durchläuft Phase 1 und wartet auf manuelle Anpassungen. | ||
| + | |||
| + | Beispiel: < | ||
| + | #!/bin/sh | ||
| + | # (c) 2009 Klaus.Franken@StrukturPunkt.de | ||
| + | # Customize Ubuntu-Root unter `pwd`/ | ||
| + | # Quelldaten von: | ||
| + | # `pwd`/uck/ | ||
| + | # / | ||
| + | |||
| + | UCKDIR=`pwd`/ | ||
| + | ZIEL=`pwd`/ | ||
| + | QUELLE=`pwd`/ | ||
| + | LIVE=vorlage | ||
| + | |||
| + | cp -a / | ||
| + | rm -f $ZIEL/ | ||
| + | rm -rf $ZIEL/ | ||
| + | rm -rf $ZIEL/ | ||
| + | rm -rf $ZIEL/ | ||
| + | rm -rf $ZIEL/ | ||
| + | |||
| + | ... | ||
| + | </ | ||
| + | |||
| + | ===== uck " | ||
| + | |||
| + | Fortsetzung: | ||
| + | < | ||
| + | ... | ||
| + | ## Live-Root erweitern | ||
| + | cp -a $QUELLE/ | ||
| + | |||
| + | ## iso-Image erweitern | ||
| + | echo -n "KNF Live CD, Version " > $ZIEL/ | ||
| + | date +" | ||
| + | ... | ||
| + | ## updates | ||
| + | chroot $ZIEL apt-get update || exit 2 | ||
| + | chroot $ZIEL apt-get -y --purge remove ' | ||
| + | chroot $ZIEL apt-get -y --purge remove ' | ||
| + | chroot $ZIEL apt-get -y install ' | ||
| + | chroot $ZIEL apt-get install udev || exit 2 | ||
| + | chroot $ZIEL apt-get install acpid || exit 2 | ||
| + | chroot $ZIEL apt-get install hal || exit 2 | ||
| + | chroot $ZIEL apt-get install checkbox checkbox-gtk || exit 2 | ||
| + | chroot $ZIEL apt-get -y upgrade || exit 2 | ||
| + | |||
| + | ... | ||
| + | </ | ||
| + | ===== uck " | ||
| + | |||
| + | Fortsetzung: | ||
| + | < | ||
| + | ... | ||
| + | # Kernel Update und alte löschen | ||
| + | chroot $ZIEL apt-get -y dist-upgrade || exit 2 | ||
| + | |||
| + | # von http:// | ||
| + | echo " | ||
| + | awk \ | ||
| + | '/ | ||
| + | | grep -v $(uname -r|sed ' | ||
| + | [ \" | ||
| + | > $ZIEL/ | ||
| + | chroot $ZIEL sh -x / | ||
| + | rm $ZIEL/ | ||
| + | |||
| + | chroot $ZIEL apt-get -y autoremove || exit 2 | ||
| + | |||
| + | exit 0 | ||
| + | </ | ||
| + | ===== exit 0 ===== | ||
| + | {{: | ||
| + | |||
| + | ===== Tipps & Tricks ===== | ||
| + | ==== Sprachanpassung ISO-Image Boot (Grub) ==== | ||
| + | < | ||
| + | echo "cat \$ISO_REMASTER_DIR/ | ||
| + | perl -ne '\$_ =~ s/ | ||
| + | perl -ne '\$_ =~ s/Weitere Optionen/ | ||
| + | perl -ne '\$_ =~ s/ | ||
| + | perl -ne '\$_ =~ s/Ubuntu \^ausprobieren \(Rechner bleibt unverändert\)/ | ||
| + | echo "mv \$ISO_REMASTER_DIR/ | ||
| + | </ | ||
| + | |||
| + | ==== Timezone ==== | ||
| + | ''/ | ||
| + | # Zeitzone | ||
| + | mv / | ||
| + | ln -s / | ||
| + | </ | ||