Funktionsweise Live
Transcrição
Funktionsweise Live
Funktionsweise Live-CD /Dateisysteme Unionfs bzw. Aufs ist ein Dateisystem welches ein schreibbares Dateisystem über ein nur Lesbares legt. Es ist die Weiterentwicklung von unionfs und wird mittlerweile auch in der aktuellen Knoppix eingesetzt. Funktionsweise: Die Weiterentwicklung: Aufs=Another Union File System Squashfs ist ein nur lesbares komprimiertes Dateisystem, es komprimiert Dateien, Inodes und Verzeichnisse, der Zugriff erfolgt über ein Kernel-Modul. Standard Komprimierung Gzip, mit Patch LZMA. LZMA ist ein Kompressions-Algorithmus, der im Durchschnitt beim komprimieren schneller als Gzip ist, beim dekomprimieren 10-20 x schneller! Das Loopback-Device verwendet eine Datei in einem anderen Dateisystem als ein virtuelles Laufwerk, welches dann genauso angesprochen werden kann. Hierfür wird die Gerätedatei /dev/loop0 oder /dev/loop1 usw. mit der Datei verbunden und dann auf dieses neue virtuelle Laufwerk gemountet. Damit können wir unter Linux jede Live-CD read-only mounten. Live-CDs erstellen mit Fedora Was man dazu braucht: (Kommandozeile) 1. livecd-tools 2. mkisofs 3. squashfs-tools yum install livecd-tools mkisofs squashfs-tools Grafische Oberfläche: 1. revisor yum install revisor 2. isomaster yum install isomaster 3. Unetbootin Live-CDs erstellen - Methoden (1) Livecd-iso-to-disk Methode 1: Die Live-CD kann man direkt nach dem Download von : http://fedoraproject.org/en/get-fedora auf einen USB-Stick schreiben. Mit dem Kommando : „livecd-iso-to-disk Fedora-<release>-Live-i686.iso /dev/sdb1“ wird das Iso-Image auf den USB-Stick geschrieben und zwar mit fertig installiertem Bootloader. Wobei sdb1 natürlich der passende USB-Stick sein sollte, im Zweifelsfall mit : ' fdisk -l' überprüfen! Hinweis: Der Stick wird dabei komplett überschrieben! Diese Methode funktioniert mit jeder Fedora Live-CD oder DVD, jedoch nicht mit der Installations-DVD, dazu später mehr. Achtung der Stick wird gelöscht bzw. mit einem Bootloader überschrieben! Da Fedora syslinux verwendet, muss die Partition auf dem Stick Fat16 oder Fat32 formatiert sein, und als aktiv gekennzeichnet werden! Stick unmounten, danach ein : „mkdosfs -F 16 /dev/sdb1“ „dosfslabel usbdisk /dev/sdb1“ (usbdisk, Stick, etc...) Live-CDs erstellen - Methoden(1.1) Livecd-iso-to-disk Natürlich gibt es auch die Möglichkeit den USB-Stick für dauerhafte Änderungen zu gestalten, d.h. jede Änderung die man macht wird auf dem Stick gespeichert. Diese Methode wird „persistent“ oder auch „persist“ gennannt, d.h. bleibend. Achtung: Es werden alle Änderungen gespeichert, auch Programminstallationen oder Konfigurationen, falls das Overlayfile beschädigt wird sind alle Änderungen verloren! Achtung:Kein Kernel-Update ! Um z.B. 512MB (max: 2047MB) zu reservieren genügt ein: „livecd-iso-to-disk --overlay-size-mb 512 image.iso /dev/sdbx“ (MB max=2047 Fat-Begrenzung 2048) Dadurch wird ein sogenanntes Overlayfile auf dem Stick angelegt, welches dafür sorgt, dass die Änderungen gespeichert werden.Uninofs, rw aus /mnt/live zur Laufzeit, wird im Overlay abgelegt d.h. das Dateisystem und Änderungen. Auf dem fertigen Stick gibt es 2 Verzeichnisse: 1. das Syslinux Verzeichnis (Bootoptionen, kernel, initrd ..) 2. das LiveOS Verzeichnis (Inhalt:osmin.img, squashfs.img und das overlay.file: z.b: overlayFEDORA-3099-53F2). Nach diesem overlay wird beim Booten vom Stick gesucht, Falls es beschädigt ist, kann man es löschen, damit der Stick wieder regulär bootet - allerdings mit Datenverlust! Option bei Fedora: Beim booten „reset overlay“ mitgeben, allerdings auch hier mit Datenverlust ! Live-CDs erstellen Methoden(1.2) Abschliessend für Methode 1 : livecd-iso-to-disk mit folgenden Möglichkeiten --overlay-size-mb XXX --reset-mbr --noverify --reset-mbr Zuletzt noch die Möglichkeit PXE Boot-Images zu erstellen: livecd-iso-to-pxeboot Live-CD/USB vom laufenden Live-System: livecd-iso-to-disk /dev/live /dev/sdb1 Zum testen der fertigen Live-CD verwende ich qemu, bzw. qemu-kvm: qemu -m 512 -cdrom /backup/mylivecd.iso Für den Stick: qemu -hda /dev/sdb1 -m 256 -vga std Live-CDs erstellen - Methoden (2) Livecd-creator Wir bauen mit dem livecd-creator unsere eigene aktuelle Live-CD, einen sogenannten Spin oder auch Re-Spin. Dass heisst, wir holen die aktuellen Fedora Pakete direkt für die Erstellung der Live-CD. Die Konfiguration übernehmen die Kickstart-Dateien, sie werden unter /usr/share/livecd-tools mitgeliefert: Auszug: livecd-fedora-9-base-desktop.ks livecd-fedora-9-desktop.ks livecd-fedora-9-kde.ks livecd-fedora-base-desktop.ks livecd-fedora-desktop.ks livecd-fedora-developer.ks livecd-fedora-electronic-lab.ks livecd-fedora-games.ks livecd-fedora-kde.ks livecd-fedora-minimal.ks livedvd-fedora-kde.ks für ein erstes Ausprobieren ist z.b. die livecd-fedora-minimal.ks ideal. Live-CDs erstellen - Methoden (2.1) Livecd-creator Inhalt livecd-fedora-minimal.ks : lang en_US.UTF-8 lang de_DE.UTF-8 keyboard us keyboard de-latin-1 timezone US/Eastern timezone EUROPE/Berlin auth --useshadow --enablemd5 selinux --enforcing firewall --disabled ##part / --size 250 Partitionierung für die Installation, hier gibt es sehr ##part swap --size 50 viele Optionen, u.a. Platte löschen oder autopart ##part /usr --size 500 --grow --maxsize 800 ##part /tmp --size 100 --grow # Repository kann auch rpm-fusion, development, testing sein. repo --name=development --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist? repo=rawhide&arch=$basearch %packages @core bash kernel passwd policycoreutils chkconfig authconfig rootfiles %end Paketgruppen werden mit @installiert z.B: @gnome-desktop Einzelne Pakete können mit Namen installiert werden: z.B: vim-enhanced Pakete weglassen, um Platz zu sparen: einfach einen Paketnamen, z.B: -man-db Live-CDs erstellen - Methoden (2.2) Livecd-creator Am besten kopiert man das Orginal an einen Platz an dem man die Live-CD erstellen möchte: cp livecd-fedora-minimal.ks /home/johndoe/livecd/meine-livecd.ks Danach können wir einen ersten Versuch mit dem livecd-creator machen: „livecd-creator --config=mylivecd.ks -f livecd1“ erstellt ein Iso Image mit dem Namen (Parameter -f ) livecd1.iso im Pfad. Die Optionen: --config=Name --base-on=BASE_ON --fslabel=livecd --tmpdir=TMPDIR --cache=CACHEDIR --shell --repo --package --exclude-package Pfad für die Kickstartdatei (z.B. meine-livecd) Pakete zu einem existierenden Image hinzufügen Name des Iso Images Temporäres Verzeichniss (Standard: /var/tmp) Cache Verzeichnis (z.B. /tmp sehr empfehlenswert) nach der Installation der Pakete wird eine Shell innerhalb des Images gestartet, in der Änderungen vorgenommen werden können Ersetzung eines in der Kickstart-Konfigurationsdatei angegebenen Repositories. hinzufügen eines Paketes, ohne es in die KickstartKonfigurationsdatei einzutragen auslassen eines Paketes, ohne es in den KickstartKonfigurationsdatei(en) anzugeben Live-CDs erstellen - Methoden (2.3) Livecd-creator Beispiel mit Cache- und Config-Einstellungen: livecd-creator –config=meine-livecd.ks –cache=/tmp/ -f livecd1 Die RPM-Pakete werden bei dieser Konfiguration im tmp Verzeichniss abgelegt, d.h. mit dem Namen der jeweiligen Repositories ( released, update, development, testing ..) Das hat den Vorteil, dass die Pakete nicht erneut heruntergeladen werden, sondern im Idealfall nur mit Updates ergänzt werden. Je nach Kickstart-Datei bzw. Umfang der zu installierenden Pakete dauert ein Spin zwischen 20 Min. und 3 Stunden. Interressante Optionen: Erstellen aus einem lokalen Repository, benutzen der Funktion install to Disk: mit dem Kommando: /usr/bin/liveinst kann jede Fedora Live-CD/USB installiert werden ! Live-CDs erstellen - Methoden (3) Das Programm „Revisor“, was es kann, wie es geht. Live-CDs erstellen - Methoden (3.1) Revisor Mit dem Revisor können Live-CDs und DVDs verschiedener Distributionen erstellt werden: CentOs, Fedora 7, 8, 9, 10 Fedora Enterprise Für alle Architekturen z.B.: ppc, ppc_64, X86_64, i386, i686 Konfiguration: /etc/revisor/revisor.conf Es werden die gleichen Kickstart-Dateien verwendet, die Konfiguration erfolgt wahlweise auf der grafischen Oberfläche, oder wie gehabt durch editieren der jeweiligen Dateien. Live-CDs erstellen - Methoden (3.2) Revisor Live-CDs erstellen - Methoden (3.3) Revisor Mit dem Revisor kann man im Prinzip alle zuvor erwähnten Methoden bequem auf dem Desktop erledigen. Je nach Bedarf kann man also eine neue Installations-DVD erstellen, eine Live-CD, oder gar das eigene System als Vorlage benutzen. Fedora erstellt mittels Anaconda (der Fedora Installer) auf jedem installierten System eine Kickstart-Datei (/root/anaconda-ks-cfg),die man dem Revisor mitgeben kann. Es gibt auch eine Kommandozeile für den Revisor: revisor --cli --model=f8-i386 --dvd --kickstart=/etc/revisor/conf.d/fedora-8-gold.cfg Im Vergleich zu den livecd-tools ist der Revisor deutlich langsamer und benötigt ziemlich viel CPU und Festplatten-Leistung, ausreichend Arbeitsspeicher sollte auch vorhanden sein(2GB). Des weiteren gibt es ein von Fedora mitgeliefertes tool „system-config-kickstart“, mit dem man bequem eine eigene Kickstart-Datei erstellen kann. Es erlaubt die Einstellungen für : Sprache, Pakete, Bootloader, Installationsart=Festpatte,CDROM, NFS,HTTP, FTP. Partitionierung und die Verwendung von Skripten vor und nach der Installation. Live-CDs erstellen - Methoden (4) Isomaster Der Isomaster erlaubt das mounten eines Iso-Images mit anschließender Bearbeitung des Inhalts. Nach Abschluss der Veränderungen wird ein neues Iso-Image erzeugt. Live-CDs erstellen - Methoden (4.1) Isomaster ISO Master ist eine freie Anwendung für Linux und BSD zur Erstellung und zur Bearbeitung von ISO-9660-Dateien (ISO-Abbilder), unter Windows ist eine zeitlich begrenzte Demoversion verfügbar. Merkmale: * Erstellung neuer ISO-Abbilder * hinzufügen oder löschen von Dateien und Verzeichnissen aus Abbilddateien * erstellen bootfähiger Medien mit verschiedenen Bootrecord-Arten: no-emulation (isolinux, Microsoft Windows), 1,2″-, 1,44″- und 2,88″-Diskettenemulation * Unterstützung für Rock Ridge- und Joliet-Dateinamen * Leseunterstützung für NRG-Abbilder (Format von Nero Burning ROM) Web: http://www.littlesvr.ca/isomaster/ Die meisten Distributionen liefern das Programm bereits mit. Nachteil: Damit kann man nur bereits fertige Live-CD images bearbeiten und neu generieren. Live-CDs erstellen - Methoden (4.2) Unetbootin = Universal Netboot Installer UNetbootin ist ein Hilfsprogramm, mit dem man zahlreiche Linux Distributionen (Ubuntu, Fedora, Mandriva, OpenSuSE, Debian, ArchLinux) von einem Windows oder Linux Desktop via Internet (das heißt man braucht Ubuntu, Fedora etc. nicht extra auf CD zu brennen) installieren kann. Anders als bei der Installation von Ubuntu mit Wubi werden hier während der Installation reale Partitionen erstellt. Es ist auch in der Lage ein Iso-Image direkt auf den USB-Stick zu schreiben. Live-CDs erstellen - Methoden (5) Slax bzw. Linux-Live Skripte Einen anderen Weg geht der Entwickler von Slax, eine auf Slackware basierende Linux Distribution, mit seinen Linux-Live Skripten: http://www.linux-live.org/ . Im Prinzip kann man damit jede Distribution selbst erstellen, einzige Bedingung ist ein Kernel mit squashfs, aufs und LZMA-Unterstützung. Bei SLAX wird das Dateisystem in LZMA-komprimierten Modulen abgelegt, die der Kernel beim Starten auspackt. Sinn: die aktuelle Slax 6.1.1 ist 190MB groß, ausgepackt ca. 2GB! Es gibt einen vorkompilierten Kernel für die Linux-Live Skripte, damit kann man z.B. ein installiertes Debian (z.B. wurde die Linuxkurs CD mit diesem Kernel erstellt) selbst zur Live-CD machen. Damit das auch auf einen USB-Stick geschrieben werden kann gibt es ein weiteres Skript, „bootinst.sh“. Dieses Skript erledigt die Installation auf den Stick, d.h. Bootloader und Dateisystem werden angelegt, und der Stick wird bootfähig gemacht. Die Installation ist einfach: 1. Linux-Live Skripte entpacken, am besten in einem extra Verzeichnis. 2. Vorkompilierten Kernel (aktuell, 2.6.27.7) auspacken, oder den eigenen Kernel kompilieren. 3. Im Verzeichnis /linux-live die Skripte anpassen, als erstes das „.config“ file, es legt z.B. den Namen der neuen Live-CD fest, die Pfade für die Erstellung des Iso-Images, Sprache und die Ramdisk Größe. 4. Das „.build“ Skript, ist für die eigentliche Erstellung des Iso-Images zuständig, d.h. Bootloader und optionale Verzeichnisse. Nützliche Links Fedora live-CD Wiki: http://fedoraproject.org/wiki/FedoraLiveCD Fedora live-CD Howto: http://fedoraproject.org/wiki/How_to_create_and_use_a_Live_CD Fedora Installation (USB) http://forums.fedoraforum.org/showthread.php?t=205596 Debian: http://www.debian.org/CD/faq/index.de.html Ubuntu: https://help.ubuntu.com/community/LiveCD OpenSuse http://de.opensuse.org/Xfce_Live_CD#Erstellen_einer_Live_CD Knoppix: http://www.knopper.net/knoppix/ Linux-Live Skripte : Slax: http://www.linux-live.org/ http://www.slax.org/ Unetbootin : http://unetbootin.sourceforge.net/