Knoppix Remastering Howto Deutsch


From Knoppix Documentation Wiki
Revision as of 16:49, 30 May 2005 by Nostromo (Talk | contribs)

Jump to: navigation, search

Dies ist ein Leitfaden wie man KNOPPIX remastert

(zu beachten: jeder Befehl erstreckt sich nur über eine Zeile -> Eventuell das Fenster vergrößern. Wenn du irgendwelche Kommentare oder Vorschläge hast, schreibe sie bitte am Ende dieser Seite rein)

Natürlich ist es viel weniger Arbeit (kein Entfernen von Programmen), wenn man bereits mit einem "customized" Knoppix beginnt. Siehe Knoppix Customizations oder Knoppix CustomizationsDeutsch.

Voraussetzungen:

  • insgesamt mindestens 1GByte freien RAM+Swap (z.B. 256MBytes RAM und 750M Swap-Bereich VERFÜGBAR)

(außer du benutzt andere Kompressions-Werkzeuge - siehe Ende der Seite)

  • 3 GBytes freien Speicher auf der Festplatte

Anleitung:

  • Booten von der Knoppix CD
  • Konfigurieren deiner Internet-Verbindung ( die brauchen wir später noch )
  • Öffne eine shell ( KDE-Menü->Knoppix->Root Shell ) - alle weiter unten stehenden Befehle sollten von der root-Shell aufgerufen werden
  • Erzeuge 2 Verzeichnisse auf der Partition, eines für deine neue Master CD und eines für die Sourcen. Außerdem solltest du kontrollieren, dass die Partition schreib- und lesbar gemountet ist.

(z.B. wenn du eine leere 3GByte Partition /mnt/hda4 schreib- und lesbar gemountet hast, dann führe den Befehl mkdir /mnt/hda4/knxmaster; mkdir /mnt/hda4/knxsource aus)

  • mkdir /mnt/hda4/knxsource/KNOPPIX ( ersetzte das /mnt/hda4 durch deine gemountete Partition )

jetzt kopiere die KNOPPIX-Dateien mit cp -Rp /KNOPPIX/ /mnt/hda4/knxsource/KNOPPIX in dein Source-Verzeichnis (das wird jetzt ein wenig dauern :)

  • mkdir /mnt/hda4/knxmaster/KNOPPIX
  • cp /cdrom/index.html /mnt/hda4/knxmaster/
  • und jetzt kopiere alles von /cdrom/KNOPPIX/ nach /mnt/hda4/knxmaster/KNOPPIX/ außer die ~700 MByte große KNOPPIX Datei.
  • Jetzt kannst du das kopierte KNOPPIX-Verzeichnis zum Wurzelverzeichnis machen: chroot /mnt/hda4/knxsource/KNOPPIX

Neu - Ich habe eine ganze Ladung an /dev/null permission denied Fehlermeldungen bekommen, Update : Gefixt ! Überprüfe deinen Mountstatus wenn du auf dieses Problem stößt: mount /dev/hdaX on /mnt/hdaX type ext3 (rw,nosuid,nodev) (ersetze das X mit deiner Partitionsnummer ). "nodev" heißt, dass z.B. /dev/null nicht erreichbar ist und manche Scripte leiten aber die Ausgabe nach /dev/null um ... Um dieses Problem zu umgehen sollte man die Partition anders mounten bevor man chroot ausführt:

mount /dev/hda12 /mnt/hda12

Und das hat sich geändert:

mount /dev/hda12 on /mnt/hda12 type ext3 (rw)

Wenn der obrige Befehl nicht geht probiere:

mount -t ext3 -o rw /dev/hda12 /mnt/hda12

danach kann man mit chroot weitermachen.

  • chroot ist jetzt ausgeführt und das Verzeichnis "/" enspricht jetzt "/mnt/hda4/knxsource/KNOPPIX"
  • Um ins Internet zu kommen muß man noch proc mounten: mount -t proc /proc proc
  • jetzt editiert man /etc/resolv.conf und trägt seinen Nameserver ein
  • Wenn man smbd Unterstützung haben will, sollte man auch die Arbeitsgruppe in der Datei smb.conf editieren: (MSHOME unter XP Home ed. und WORKGROUP unter 9x Windows bzw. MSHEIMNETZ und ARBEITSGRUPPE in den deutschen Windows-Versionen)
  • überprüfe ob die Internet-Verbindung funktioniert: ping google.com
  • Und jetzt kann man endlich Änderungen durchführen. Wenn man Programme hinzufügen will, dann muß man eventuell andere entfernen, um Platz zu machen. Mit apt-get remove "program" kann man das Programm entfernen.
  • Änderungen durchführen... Benutzereinstellungen sind in /etc/skel, ggf. muss man auch noch in /etc/X11/Xsession.d/45xsession das rsync-Kommando anpassen
  • ...
  • Unmounte /proc - sehr wichtig! umount /proc
  • Drücke CTRL+D um die chroot Umgebung zu verlassen.

Notizen :

Interessantes aus der /etc/init.d/knoppix-autoconfig Datei: Das X Hintergrundbild ist /cdrom/KNOPPIX/background.gif Genauso wie floppyconfig gibt es auch ein cdromconfig welches die Datei /cdrom/KNOPPIX/knoppix.sh ausführt (siehe Cheat CodesDeutsch) Interessantes aus der /etc/init.d/xsession Datei: Auch hier ist ein Hintergrundbild eingetragen: /usr/local/lib/knoppix.gif

Und jetzt zum erzeugen der ISO-Datei

  • Wir sind fertig mit den Änderungen und bereit zum Brennen!
  • Als erstes sollte man etwas aufräumen: lösche .bash_history files, tmp files, package files unter /var/cache/apt/archives, etc ...
  • rm -rf /mnt/hda4/knxsource/KNOPPIX/.rr_moved
  • Jetzt mach man eine große KNOPPIX Datei mit einem komprimierten cloop ISO9660 Dateisystem drinnen: mkisofs -R -U -V "KNOPPIX.net filesystem" --publisher "KNOPPIX www.knoppix.net" -hide-rr-moved -cache-inodes -no-bak -pad /mnt/hda4/knxsource/KNOPPIX | nice -5 /usr/bin/createcompressedfs - 65536 > /mnt/hda4/knxmaster/KNOPPIX/KNOPPIX

Das "www.knoppix.net" und "Knoppix.net filesystem" kann man natürlich ändern. Jetzt sollte eine Meldung erscheinen, daß es nicht den ISO-Standards entspricht. Diese Meldung kann man irgnorieren

  • wenn alles glatt verlaufen ist dann können wir mit dem engültigen CD-ROM Image weitermachen:
  • cd /mnt/hda2/knxmaster
  • rm -f KNOPPIX/md5sums; find -type f -not -name md5sums -not -name boot.cat -exec md5sum {} \; >> KNOPPIX/md5sums (das aktualisiert die md5-Hashes der Dateien in dem iso, um später die Integrität prüfen zu können)
  • für Knoppix <= 3.3: mkisofs -pad -l -r -J -v -V "KNOPPIX" --publisher "KNOPPIX www.knoppix.net" -b KNOPPIX/boot.img -c KNOPPIX/boot.cat -hide-rr-moved -o /some/where/knoppix.iso /mnt/hda2/knxmaster ( ersetze /some/where/ mit dem Ort wo das fertige Image abgelegt werden soll. )
  • für Knoppix >= 3.4 (isolinux): mkisofs -pad -l -r -J -v -V "KNOPPIX" --publisher "KNOPPIX www.knoppix.net" -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c KNOPPIX/boot.cat -hide-rr-moved -o /some/where/knoppix.iso /mnt/hda2/knxmaster ( ersetze /some/where/ mit dem Ort wo das fertige Image abgelegt werden soll. )
  • Fertig!

Tipps

Ohne großen Aufwand das erstellte ISO testen, insbesondere ohne neu zu booten? Kein Problem mit Qemu ( [1] )! Versuche es etwa so: qemu -m 128 -cdrom /temp/knoppix-custom.iso -boot d -user-net Man muss nicht einmal ein HD-Image vorher erstellen, einfach Qemu installieren und los geht's. Erstaunlich!

Wenn man nach großen Programmen sucht, dann kann der Befehl

dpkg-awk "Status: .* installed$" -- Package Installed-Size| awk '{print $2}' |\
egrep -v '^$' | xargs -n2 echo | perl -pe 's/(\S+)\s(\S+)/$2 $1/' | sort -rg

hilfreich sein. Er listet alle Pakete absteigend sortiert nach Größe auf.

dpkg-awk "Status: .* installed$" -- Package Installed-Size| awk '{print $2}' |\

egrep -v '^$' | xargs -n2 echo | perl -pe 's/(\S+)\s(\S+)/$2 $1/' | sort -rg

das ist nicht vorhanden hier...

Wenn du Probleme mit dem obigen Sortierbefehl hast, dann probier mal KPackage aus, expandiere alle Verzeichnisbaume und sortiere das Ganze nach der Größen-Spalte um große Pakete zu finden.

Man kann auch das Programm "deborphan" ausprobieren. Es sucht nach "verwaisten" Paketen, die nicht mehr gebraucht werden, weil z.B. die Programme die sie benötigen schon gelöscht worden sind.

Ich habe sehr gute Remaster-Ergebnisse unter fluxbox erzielt. Beim Booten einfach "knoppix 2" eintippen und in der Kommandozeile startx /usr/bin/fluxbox starten. Ich mag besonders die XTerm Unicode Shell.

Während ich in der chroot Umgebung arbeite, benutze ich apt-get remove pkg-name um ein Paket zu entfernen, weil es bevor es das Paket entfernt, detailiert anzeigt, welche Abhänigkeiten bestehen, und dann abfragt, ob das Paket wirklich entfernt werden soll. Später säubere ich meine Paketliste: dpkg -l |grep ^rc und alles was angezeigt wird, starte ich mit dpkg -P pkg-name".

oder so in einem Schritt 
COLUMNS=100 dpkg --purge `dpkg -l | grep ^rc | awk '{ print $2 }'`

so bekommt auch die langen Packetnamen mit!

Das wars. Dies ist die upgedatete Version meines vorigen Howtos. Es ist nicht für Linuxneulinge geeignet, weil man sich etwas besser mit Linux auskennen muss um hier weiterzukommen. Ich werde dieses Howto regelmäßig erweitern, wenn ich Korrekturen/Verbesserungen bekomme (gilt nur für die englische Version)

Ein Danke an aay, charan, Tech2k, und #knoppix für einige Korrekturen, Tipps und Ideen Fühle dich frei Beiträge zu diesem Howto hinzuzufügen oder auszubessern.

Notiz über swap:
Man braucht nicht wirklich 1GByte swap/mem, weil es ein paar neue Programme für komprimierte Dateisysteme gibt:

  • Valentijns rewrite [2]
  • Justins patch [3]

Wenn mein Howto zu verwirrend ist, oder du eine zweite Meinung hören willst, schau dich mal auf charan's Remastering-Howto um: [4] . Ein weiteres Howto ist unter [5] zu finden .

Anmerkung an den Autor:

"benutze ich apt-get remove pkg-name um ein Paket zu entfernen"

Warum benutzt du nicht direkt apt-get --purge remove pkg-name ? (gestellt von Fabian Franz <knx-remaster@fabian-franz.de>) <<<<<<< Your version

  1. Als erstes sollte man etwas aufräumen: lösche .bash_history files, tmp files, package files unter /var/cache/apt/archives, etc ...

Also hier würde ich für /var/cache/apt/archives, apt-get clean oder apt-get autoclean benutzen. also zusatz zu deborphan wäre auch debfoster noch erwähnenswert. Korrektur: apt-get clean apt-get autoclean



Frage:

Wieso ist bei mir nach einem neu komprimieren des KNOPPIX images, die datei am ende immer etwa 20MB grösser als das original, ohne das ich was neues installiert habe? mein vorgehen:

  1. booten von knoppix
  2. kopieren von /KNOPPIX/*
  3. danach direkt wieder komprimieren und das image KNOPPIX ist 20MB grösser

gunnar pieber gustl@gmx.nit

Antwort:

Teste folgenden, auf größe ausgerichteten, Aufruf

mkisofs -R -U -V "KNOPPIX.net filesystem" -publisher "KNOPPIX www.knoppix.net" \
-hide-rr-moved -cache-inodes -no-bak -pad /mnt/hda4/knxsource/KNOPPIX |\
nice -5 /usr/bin/createcompressedfs -b - 65536 > /mnt/hda4/knxmaster/KNOPPIX/KNOPPIX