Wie kann ich die Ubuntu Live CD anpassen?


205

Ich möchte Ubuntu Live-CD anpassen, indem ich einige zusätzliche Pakete installiere. Ich habe gefolgt dies aber es scheint nicht zu funktionieren. Kann jemand klare Anweisungen geben?

Hinweis : Ich bevorzuge Remastersys nicht, manueller Weg wird geschätzt.

Anpassung

Pakete, die ich installieren möchte:

  • Thunderbird
  • Samba
  • SSH

Änderungen, die ich brauche:

  • Entfernen Sie das Menü "Spiele" aus dem Menü "Anwendung"
  • Firefox-Verknüpfung auf dem Desktop
  • Ausstrahlung als Standardthema
  • Anderes Ubuntu-Standard-Hintergrundbild

Änderungen an der Konfigurationsdatei

  • Ich möchte, dass das Panel unten platziert wird
  • Ich möchte meine Samba-Konfigurationsdatei anstelle der Standard-Samba-Konfiguration einfügen
  • Ich habe einige Firefox-Verknüpfungen und -Ordner, die ich auf dem Desktop anzeigen möchte
  • Es wird auch schön, wenn Sie mir sagen, wie man die Icon-Sets ändert

Kürzliche Updates

  • Ich habe Ubuntu 10.10 mit Firefox-Verknüpfungen und wenigen Ordnern auf Desktops angepasst. Alles verlief reibungslos. Das Installationsprogramm stürzt jedoch nach Auswahl der Zeitzone ab. Wie behebe ich dieses Problem?

  • Das Einstellen des Hintergrundbilds wirkt sich auch auf den Anmeldebildschirm aus. Das Hintergrundbild, das ich eingestellt habe, wird auch auf dem Anmeldebildschirm angezeigt. Ich möchte nur die Standardeinstellung für den Anmeldebildschirm.


Möchten Sie Updates für 12.04 mit Unity oder bevorzugen Sie Gnome-Shell / Classic?
ish

2
Antwort hinzugefügt, insgesamt einfachere Methode mit Ubuntu Builder :) Bitte teilen Sie mir Feedback, etc. in den Kommentaren.
ish

1
@mniess "Wie würden Sie 14.04 oder neuer remaster?" Die von izx und mir veröffentlichte manuelle Version ist weiterhin gültig, um das Root-System für die Bearbeitung einzurichten. Die neue Antwort hängt in hohem Maße davon ab, zu wissen, was Sie mit "vor kurzem vorgenommenen Änderungen" meinen. Jede Änderung hat einen bestimmten Ansatz (Bearbeiten von dconf oder Bearbeiten einer conf-Datei) und all dies wird bereits in den aktuellen Antworten behandelt. Das einzige, was es nicht ist, ist "Kopieren / Einfügen"; Diese neuen Änderungen erfordern, dass jemand über das Geschriebene hinausdenkt. ABER ich glaube, die Antwort erfordert dies auch schon.
Rinzwind

1
2 .: askubuntu.com/questions/409607/… ist eine neuere Version, die eine Server-ISO und eine Kickstart-Datei verwendet. Funktioniert auch für Desktop-ISOs.
Rinzwind

Hinweis: Für Anpassungen an Themes, Programmen usw. müssen höchstwahrscheinlich die entsprechenden Pakete und nicht die installierten Dateien verwendet werden. Das Festlegen einer neueren Versionsnummer bedeutet dann, dass Ihre Änderungen nicht durch Aktualisierungen überschrieben werden sollten (obwohl Sie diese Pakete wahrscheinlich von Zeit zu Zeit aktualisieren müssen, um sie an neuere Versionen anzupassen)
Wilf

Antworten:


116

Hinweis: Das Ubuntu Builder-Projekt wurde eingestellt .

Erstellen einer benutzerdefinierten 12.04-CD mit Gnome-Classic unter Verwendung von Ubuntu-Builder

(Für den Moment ist dies spezifisch für Karthiks Bedürfnisse. Ich werde die Antwort später mit allgemeineren / Unity-spezifischen Dingen aktualisieren.)

1. Holen Sie sich Ubuntu Builder und Ihre Quell-ISO

Ubuntu Builder automatisiert viele der vorbereitenden Schritte, die manuell ausgeführt werden mussten (ISO mounten, Squashfs extrahieren, Chroot erstellen usw.). Es bietet Ihnen Synaptic und eine "grafische" Chroot (Unity UI).

Fügen Sie die PPA hinzu, um Ubuntu Builder zu installieren:

sudo add-apt-repository ppa:kamilion/ubuntu-builder
sudo apt-get update
sudo apt-get install ubuntu-builder

Laden Sie auch die Ubuntu Desktop-ISO herunter, mit der Sie arbeiten möchten.

2. Ubuntu Builder-Grundlagen

  • Starten Sie Ubuntu Builder über den Launcher. Ich empfehle, dass Sie alle drei Felder auf "Ubuntu" setzen (wie die eigentliche LiveCD), da das Setzen benutzerdefinierter Felder zum Absturz von Software Center führte. Bei der Installation können Sie wie immer Ihren eigenen Benutzernamen, Computernamen usw. wählen.

    Bildbeschreibung hier eingeben

  • Laden Sie Ihre ISO; Ich habe die 64-Bit-Version mit der Option Local Disk geladen , obwohl Ubuntu Builder die ISO-Datei herunterladen kann, wenn Sie dies möchten.

  • Die Schaltflächen auf der rechten Seite sind selbsterklärend. Consolegibt Ihnen eine CLI-Chroot, während DesktopSie eine grafische erhalten! , dh eine LiveCD-Sitzung selbst (das Laden dieser Sitzung kann eine Weile dauern). Beachten Sie, dass der Select DE/WMJob manchmal unvollständig ist. Daher ist es besser, die Installation über apt-get / Synaptic durchzuführen.

3. Aktualisieren, Hinzufügen von Gnome Classic und anderer Paketverwaltung

Hinweis: All dies kann auch von Synaptic aus erfolgen, wenn Sie sich damit besser auskennen.

  • Sie können die sources.listmit der Taste (oder über die Konsole) bearbeiten , um Ihre eigenen Spiegel, ppas usw. hinzuzufügen.

Lass uns beginnen mit:

  • Entfernen Sie die Spiele
    apt-get remove --purge aisleriot gnome-games-data gnomine mahjongg -y
  • Führen Sie ein allgemeines Update und ein dist-Upgrade auf die neuesten Versionen durch (optional, aber empfohlen, da Gnome-classic und andere hinzugefügte Pakete die neuesten Versionen sind). In diesem Schritt werden unter 12.04 auch Thunderbird und die Kernkomponenten von Samba installiert. Dies spart auch Zeit bei der eigentlichen Installation.
    apt-get update && apt-get dist-upgrade
  • Installieren Sie Gnome Classic ( gnome-shellzum Anzeigen von Indikatoren usw.), Samba und SSH:
    apt-get installiere gnome-shell samba ssh

4. Anpassung 1: Dateien, Konfigurationen und Entfernen des Top-Panels

Hinweis: Sofern nicht anders angegeben, müssen alle Befehle über die Chroot-Konsole von Ubuntu Builder ausgeführt werden (normalerweise beim Kopieren von Dateien von Ihrem eigenen System). Der absolute Pfad der Chroot ist/home/ubuntu-builder/FileSystem

  1. Ersetzen Sie die Samba-Konfigurationsdatei (von Ihrem eigenen System-Terminal, dh außerhalb von chroot!)

    sudo cp /path/to/mysmb.conf /home/ubuntu-builder/FileSystem/etc/samba/smb.conf
  2. Setzen Sie die Firefox-Verknüpfung auf den Desktop:

    mkdir -p / etc / skel / Desktop und cd / etc / skel / Desktop
    cp /usr/share/applications/firefox.desktop.
    chmod + x firefox.desktop
    
  3. Kopieren Sie benutzerdefinierte Verknüpfungen und Ordner auf den Desktop (von außerhalb von chroot!)

    sudo cp -r / pfad / zu / mydesktopitems / / home / ubuntu-builder / dateisystem / etc / skel / desktop /
  4. Stellen Sie gnome-classicals Standard - Shell:

    / usr / lib / lightdm / lightdm-set-defaults -s gnome-classic
  5. Entfernen Sie das obere Gnome-Classic-Bedienfeld und verschieben Sie die oberen Elemente in das untere Bedienfeld:

    • Öffnen Sie das Standard-Panel-Layout:
      nano /usr/share/gnome-panel/panel-default-layout.layout
    • Löschen Sie den oberen Bereich, indem Sie die Zeilen 1-4 entfernen:
      [Toplevel Top-Panel]
      expand = true
      Orientierung = oben
      Größe = 24
      
    • Verschieben Sie das Startmenü nach links unten, indem Sie den fettgedruckten Wert für den kursiven Parameter wie folgt ändern :
      [Objektmenüleiste]
      object-iid = PanelInternalFactory :: MenuBar
      toplevel-id = bottom-panel
      Pack-Index = 0
      
    • Verschieben Sie die Anzeigen nach rechts unten, direkt links neben dem Workspace Switcher, indem Sie den fettgedruckten Wert für die kursiven Parameter wie folgt ändern :

      [Objektindikatoren]
      object-iid = IndicatorAppletCompleteFactory :: IndicatorAppletComplete
      toplevel-id = bottom-panel
      Pack-Typ = Ende
      Pack-Index = 1
      
    • Entfernen Sie die Schaltfläche "Desktop anzeigen" unten links. Ich bevorzuge, dass das Startmenü das erste ist, Sie können es verlassen oder nach rechts unten verschieben usw. Löschen Sie diese Zeilen:

      [Object show-desktop]
      object-iid = WnckletFactory :: ShowDesktopApplet
      toplevel-id = bottom-panel
      Pack-Index = 0
      
    • Speichern und schließen.

5. Anpassung 2: Hintergründe und Designs

Hinweis: /usr/share/glib-2.0/schemasEnthält die meisten Standardeinstellungen für Hintergrund / Design. Ich fand es einfacher, diese für eine Live-CD direkt zu ändern, anstatt komplizierte Dinge zu erledigen , um beispielsweise zu verhindern, dass der Hintergrund des Anmeldebildschirms mit dem Desktop-Hintergrund identisch ist.

  1. Deaktivieren Sie den Anmeldebildschirm (lightdm) , um den Desktop-Hintergrund und andere Änderungen zu "kopieren":

    • Öffnen nano /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml
    • Sie können den Anmeldehintergrund von der Standardeinstellung hier ändern, wenn Sie möchten:
      <key name = " background " type = "s">
      <default> '/usr/share/backgrounds/warty-final-ubuntu.png' </ default>
      
    • Deaktivieren Sie das Kopieren des Desktop-Hintergrunds, indem Sie Folgendes festlegen false:
      <key name = " draw-user-backgrounds " type = "b">
      <default> false </ default>
      
    • Setzen Sie das Login-Thema auf Radiance:
        <key name = " theme-name " type = "s">
      <default> "Radiance" </ default>
      
  2. Ändern Sie das Standard-Hintergrundbild. hier setzen wir es auf "Tie My Boat" ( /usr/share/backgrounds/Tie_My_Boat_by_Ray_García.jpg):

    • Öffnen Sie nano /usr/share/glib-2.0/schemas/10_gsettings-desktop-schemas.gschema.overridedie folgende Zeile und ändern Sie den Pfad für Ihre Datei:
    picture-uri = 'file: ///usr/share/backgrounds/warty-final-ubuntu.png'
    
  3. Ändern Sie das Thema in Radiance

    • Öffnen Sie die Ubuntu-Theme-Override-Datei `` nano / usr / share / glib-2.0 / schemas / ubuntu-artwork.gschema.override`` und ändern Sie die Ambiance in Radiance :
      [org.gnome.desktop.interface]
      gtk-theme = " Ambiente "
      ...
      [org.gnome.desktop.wm.preferences]
      theme = " Ambiente "
      
  4. Wichtig: Übersetzen Sie die geänderten Schemata!

    • Nachdem wir das Customizing abgeschlossen haben, kompilieren Sie die geänderten Schemas mit:
      glib-compile-schemas /usr/share/glib-2.0/schemas 

6. Bauen, testen und installieren!

  • BuildKlicken Sie in Ubuntu Builder auf die Schaltfläche, um mit dem Erstellen der benutzerdefinierten Live-CD-ISO zu beginnen. UB übernimmt automatisch die Bereinigung usw., die zuvor manuell durchgeführt werden musste.

    Bildbeschreibung hier eingeben

  • Die ISO finden Sie in /home/ubuntu-builder; Sie können es mit der integrierten QEMU oder in einer anderen virtuellen Maschine testen.

  • Meine fertige CD hatte eine Größe von 778 MB (nach dem Entfernen des alten .23Kernels), wobei Unity und Gnome 3D immer noch verfügbar sind, wenn der Benutzer dies wünscht. Das ist also ziemlich gut für eine Anpassung! :)

Folgendes sollte sich ergeben:

  1. Nach dem Booten erhalten Sie die Option "Ubuntu testen" oder "Ubuntu installieren":

    Bildbeschreibung hier eingeben

  2. Wenn Sie auf "Testen" klicken, erhalten Sie unseren benutzerdefinierten Desktop.

    Bildbeschreibung hier eingeben

  3. Und das Abmelden (Anmelden mit ubuntu, leeres Passwort) zeigt, dass das Anmelde-Hintergrundbild auf dem Standardwert bleibt:

    Bildbeschreibung hier eingeben

  4. Das Installationsprogramm stürzt bei der Auswahl der Zeitzone nicht ab:

    Bildbeschreibung hier eingeben

  5. Wählen Sie einen Benutzernamen usw. für die Installation:

    Bildbeschreibung hier eingeben

  6. Installierter Anmeldebildschirm:

    Bildbeschreibung hier eingeben

  7. Installierter Desktop:

    Bildbeschreibung hier eingeben


1
Wie aktualisiere / installiere ich ein Paket, das einen Neustart des Systems erfordert (zum Beispiel Kernel oder dbus)? Wenn ich versuche, es zu aktualisieren, wird es installiert; Im GUI-Modus leuchtet die Sitzungsanzeige jedoch rot & sagt restart to complete the update.
Khurshid Alam

Wie ersetze ich die Ubuntu-Grafik durch meine eigene Grafik?
Roshan George

Dieser funktioniert nicht. Ich weiß nicht warum. Ich bin mir nicht sicher, ob mir das alleine passiert. Wenn ich es in einer Virtualbox ausführe, wird in einem Popu die Meldung "/casper/vmlinuz.efi: Datei nicht gefunden" angezeigt. Wie kann man das korrigieren? s24.postimg.org/jbez8svx1/Untitled.png
Roshan George

@izx Kannst du mir bitte sagen, wie man das Arbeitsverzeichnis für Ubuntu-Builder einstellt? Es erstellt ein Verzeichnis in / home / ubuntu-builder. Ich führe es mit root-Zugriff aus.
Shantanu

5
Dieses Projekt wird eingestellt. Die PPA funktioniert nicht und die Website enthält keine Download-Links. Ich schlage vor, diese Informationen zu Beginn Ihrer Antwort hinzuzufügen, um anderen, die hier ankommen, zu helfen, seine Zeit nicht zu verschwenden.
Sopalajo de Arrierez

115

Erstellen Sie Ihre eigene Custom Live CD - auf manuelle Weise.

1. Vorbereitungen

  • Zuerst laden Sie die Live-CD ISO herunter . Während des Herunterladens installieren Sie einige Software, die für die Wiederherstellung benötigt wird:sudo apt-get install squashfs-tools schroot

    Squashfs Installieren Sie squashfs-tools ist ein komprimiertes Nur-Lese-Dateisystem für Linux.

    Mit schroot Installieren Sie schroot können Benutzer Befehle oder interaktive Shells in verschiedenen chroots ausführen.

  • Hängen Sie die Live-CD ein:

    mkdir /tmp/livecd
    sudo mount -o loop ~/Downloads/ubuntu-11.04-desktop-i386.iso /tmp/livecd
    

    Wenn Sie eine andere ISO-Datei oder einen anderen Speicherort für Ihren Download verwenden, passen Sie diese bitte entsprechend an.

  • Erstellen Sie einen Arbeitsbereich und kopieren Sie den Inhalt in den Arbeitsbereich:

    mkdir -p ~/livecd/cd
    rsync --exclude=/casper/filesystem.squashfs -a /tmp/livecd/ ~/livecd/cd
    mkdir ~/livecd/squashfs  ~/livecd/custom
    sudo modprobe squashfs
    sudo mount -t squashfs -o loop /tmp/livecd/casper/filesystem.squashfs ~/livecd/squashfs/
    sudo cp -a ~/livecd/squashfs/* ~/livecd/custom
    
  • Wenn Sie bei der Ausführung von modprobe eine solche Fehlermeldung erhalten:

    sudo modprobe squashfs 
    WARNING: Deprecated config file /etc/modprobe.conf, 
    all config files belong into /etc/modprobe.d/
    

    verschiebe die modprobe.conf mv /etc/modprobe.conf /etc/modprobe.conf.OLDund versuche es erneut!

  • Netzwerkzugang:

    sudo cp /etc/resolv.conf /etc/hosts ~/livecd/custom/etc/
    
  • Erstellen Sie ein Pseudo-Dateisystem:

    sudo chroot ~/livecd/custom /bin/bash -l
    mount -t proc none /proc/
    mount -t sysfs none /sys/
    

2. Anpassen

  • Sie können eine Liste aller Pakete mit erhalten dpkg-query -W --showformat='${Package}\n' | less

  • Sie können Spiele mit entfernen apt-get remove --purge gnome-games

  • Aktualisieren Sie Ihre Quellen mit sudoedit /etc/apt/sources.list. Kommentieren Sie die Zeilen aus, die Sie nicht möchten, und kommentieren Sie die gewünschten aus. Fügen Sie bei Bedarf PPAs hinzu, und aktualisieren Sie sie anschließend mitapt-get update && apt-get dist-upgrade

  • Das Hinzufügen von Paketen wie Thunderbird, Samba, Samba-Systemkonfiguration und SSH erfolgt auf die gleiche Weise, wie Sie es normalerweise über die Befehlszeile installieren würden. Also sudo apt-get install thunderbird samba system-config-samba sshwerden diese hinzugefügt.

  • Wenn Sie das Paket manuell von heruntergeladen haben, können Sie es mit installieren sudo dpkg -i {file_name}.deb

    • Sie können das Ubuntu Software Center, Synaptic oder die Paket-Website nach Namen durchsuchen, wenn weitere installiert werden müssen.
    • Sie können (drahtlose) Netzwerkdienstprogramme hinzufügen.
    • Sie werden schnell über 800 Mb laufen; Wenn Sie dies tun, entfernen Sie entweder mehr Pakete, um unter 800 zu kommen, oder Sie müssen beim Brennen eine DVD verwenden. Durch das Entfernen von libre office werden mehr als 33 MB frei, wenn Sie es nicht benötigen.
  • So erstellen Sie eine AskUbuntu-Verknüpfung auf dem Desktop:

    mkdir -p /etc/skel/Desktop && printf '[Desktop Entry]\nVersion=1.0\nName=Ask Ubuntu\nComment=Ask Questions About Ubuntu\nGenericName=Question and Answers\nExec=xdg-open http://askubuntu.com\nTerminal=false\nX-MultipleArgs=false\nType=Application\nIcon=firefox\nCategories=Internet;\n' > /etc/skel/Desktop/askubuntu.desktop && chmod a+x /etc/skel/Desktop/askubuntu.desktop
    

    Sie können weitere davon hinzufügen (den mkdir-Teil überspringen), indem Sie die URL an einer anderen Stelle bearbeiten. Mit freundlicher Genehmigung von dv3500ea

  • Einstellungen im gconf-editor ändern.

    Sie können jede gconf-Option ändern, wenn Sie den Pfad dieser Option und den gewünschten Wert (und natürlich den Typ des Werts) kennen.

    Bildbeschreibung hier eingeben

    Das Ändern des Hintergrundbilds erfolgt mit dem Pfad, auf den ich mit den Pfeilen gezeigt habe:, /desktop/gnome/background/es ist ein Zeichenfolgenwert und wird picture_filenameals Option verwendet. Der aktuelle Wert auf meinem Desktop ist /discworld2/Downloads/fantasticwall_2.jpg. Der Hintergrund selbst sollte kopiert werden /usr/share/backgrounds/. Stellen Sie sicher, dass Sie die Berechtigungen und den Eigentümer festlegen.

    Beispiele:

    • Um das Hintergrundbild (ändern Sie den Dateinamen im 1. Befehl in Ihr eigenes Bild) in dieses Bild und das Thema in Radiance zu ändern, können Sie anhand dieser Informationen Befehle erstellen, um dies für Ihre Live-CD festzulegen:

      gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set -t string /desktop/gnome/background/picture_filename  /discworld2/Downloads/fantasticwall_2.jpg
      
      gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set -t string /desktop/gnome/interface/gtk_theme Radiance
      

      Mit freundlicher Genehmigung von dv3500ea

    • Remotedesktop aktivieren:

      gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set -t bool /desktop/gnome/remote_access/enabled true
      

      Die Einstellungen für Symbole, Bedienfelder usw. werden durch Hinzufügen eines solchen Befehls vorgenommen.

    • Alternativ können Sie bearbeiten /etc/gconf/gconf.xml.defaults/%gconf-tree.xml(oder diese Datei für die zukünftige Verwendung speichern, wenn Sie nicht erreichbar sind). Alle über gconftool-2 vorgenommenen Konfigurationseinstellungen werden in dieser Datei gespeichert.

  • Ändern Sie die von der Live-CD verwendete Standard-Zeitzone

    dpkg-reconfigure tzdata
    
  • Ändern Sie die Ländereinstellung in Englisch (ändern Sie sie natürlich nach Ihren Wünschen).

    locale-gen en
    update-locale LANG=en LANGUAGE=en LC_ALL=en
    
  • Konfigurationsdateien konfigurieren.

    Wenn Sie eine benutzerdefinierte Konfigurationsdatei für ein bestimmtes Paket haben möchten, können Sie dies auf verschiedene Arten tun.

    Der schwierigste (aber logischste) Weg wäre, entweder das Paket zu finden, die Konfigurationsdatei zu ändern und neu zu packen oder die Quelldateien zu finden, herauszufinden, wo sie ihre Dummy-Konfigurationsdatei speichern und dies zu ändern und dann das Paket neu zu erstellen.

    • Dies funktioniert natürlich nur, wenn die Standardkonfigurationsdatei im Quellpaket enthalten ist. Viele Pakete generieren ihre Konfigurationsdateien automatisch im Skript {Paketname} .postinst, so dass es ziemlich schwierig wäre, dies zu tun.

      Am einfachsten ist es, ein Skript zu erstellen und die aktuelle Konfiguration /etc/skelso zu kopieren, dass sie zu Ihrem Desktop hinzugefügt wird (ähnlich wie beim Hinzufügen von Firefox-Verknüpfungen, wie oben erläutert). Klicken Sie nach der Installation auf den Desktop-Link, um die Konfigurationsdatei an die gewünschte Stelle zu setzen Sein. Das Skript kann sowohl das Skript als auch die Konfigurationsdatei von Ihrem Desktop kopieren und entfernen, nachdem es erfolgreich installiert wurde. Diese Methode kann verwendet werden, um die Samba-Konfiguration zu aktualisieren (fügen Sie Ihre aktuelle Konfiguration ein /etc/skel/. Fügen Sie dort ein Skript ein, das über Ausführungsberechtigungen verfügt und eine Verschiebung der Konfiguration nach enthält. Anschließend /etc/samba/smbd.confmüssen Sie nur noch das Skript ausführen.)

    • Dies funktioniert grundsätzlich immer, da eine manuelle Aktion nach der Installation durch ein manuell aktiviertes Skript nach der Installation ersetzt wird. Es bedeutet aber auch, dass es nicht Teil der Custom Live-CD ist.

3. Aufräumen

apt-get clean
rm -rf /tmp/*
rm -f /etc/hosts /etc/resolv.conf
umount /proc/
umount /sys/
exit

Dadurch werden alle temporären Dateien entfernt. nicht das, was wir geschaffen haben. ~/livecd/ist schreibgeschützt, so dass ein normaler Benutzer rmdiese Dateien nicht entfernt. Sie müssen es mit Schreibzugriff mounten (oder wie ich es mit der neuen Live-CD gemacht habe, um das Home und rmes von dort aus zu booten und zu mounten .

4. Einrichten der ISO

  • Manifest-Dateien.

    chmod +w ~/livecd/cd/casper/filesystem.manifest
    sudo chroot ~/livecd/custom dpkg-query -W --showformat='${Package} ${Version}\n' > ~/livecd/cd/casper/filesystem.manifest
    sudo cp ~/livecd/cd/casper/filesystem.manifest ~/livecd/cd/casper/filesystem.manifest-desktop
    
  • Erstellen Sie die squashfs-Datei neu.

    sudo mksquashfs ~/livecd/custom ~/livecd/cd/casper/filesystem.squashfs
    
  • Update md5 Summen.

    sudo rm ~/livecd/cd/md5sum.txt
    sudo bash -c 'cd ~/livecd/cd && find . -type f -exec md5sum {} +' > md5sum.txt
    

5. Erstellen der ISO.

cd ~/livecd/cd
sudo mkisofs -r -V "Ubuntu-Live" -b isolinux/isolinux.bin -c isolinux/boot.cat -cache-inodes -J -l -no-emul-boot -boot-load-size 4 -boot-info-table -o ~/Downloads/ubuntu-11.04-desktop-i386.iso .

6. Aushängen und reinigen

sudo umount ~/livecd/squashfs/
sudo umount /tmp/livecd
sudo rm -fr ~/livecd/

7. Bemerkungen:

  • Alles wurde mit einer Ubuntu 11.04 Live CD getestet. Das einzige, was schief gelaufen ist, war chroot: Ich habe dchroot zu den Dateien hinzugefügt, die Sie installieren müssen, um dies zu tun.

  • In Bezug auf "sollten einige Firefox-Verknüpfungen auf dem Desktop erstellt werden", "sollte das Standarddesign in" Radiance "geändert werden" und "sollte das Standard-Ubuntu-Hintergrundbild geändert werden". Ich habe diese in bearbeitet, nachdem dv3500ea sie in die Kommentare eingefügt hat. Ich habe dies beim Erstellen der 11.04 Live-CD nicht getestet.


Wird apt-get update && apt-get dist-upgradeauch der auf der Live-CD verwendete Kernel / initrd aktualisiert? Ich meine, der Kernel für den Bootvorgang bildet das von Syslinux geladene Live-Medium, nicht das installierte.
Gertvdijk

apt-get dist-upgradefunktioniert bis auf einige warning: could not determine root device from /etc/fstabnachrichten einwandfrei. Soll es ein Problem werden?
Sopalajo de Arrierez

Aber um sicher zu gehen, schauen Sie sich Ihre an und sehen Sie, wie / montiert ist.
Rinzwind

1
Laut help.ubuntu.com in den Jahren 12.04 und 14.04 /etc/resolv.confdarf das im Rahmen der Bereinigung
souravc

1
Diese Methode funktioniert immer noch: Getestet mit Kubuntu 18.04.2. hinweis: dass ich die .ISO nur mit unetbootin bootfähig machen konnte (etcher hat nicht funktioniert). Keine Probleme beim Booten beim Brennen von .ISO auf eine DVD.
Nmath

23

Erstellen einer Live-CD aus einer vorhandenen / neuen Installation

EDIT: Diese Methode scheint nicht mehr zu funktionieren. Ich schlage vor, Sie versuchen andere in dieser QS vorgeschlagene Methoden.

Eine gute Möglichkeit wäre, eine Live-CD von einer aktuellen Installation zu erstellen. Dies kann mithilfe einer virtuellen Maschine erfolgen (installieren Sie nur keine VM-Tools im Gastbetriebssystem).

Also, zuerst brauchen wir eine Neuinstallation (wenn Sie es nicht real installieren können, versuchen Sie es mit einer virtuellen Maschine) mit nur den Dingen, die Sie brauchen (in Ihrem Fall Thunderbird, Samba und Ssh). Dann optimieren wir das System und zeichnen auf, wo sich die Optimierungen befinden (z. B. ändern Sie Ihren Desktop-Hintergrund, die Einstellungen befinden sich in ~ / .gconf oder Sie fügen Firefox-Verknüpfungen hinzu, sie befinden sich in ~ / Desktop). Dies ist für Schritt 4 erforderlich.

  1. Richten Sie einige Variablen ein:

    export WORK=~/temp
    export CD=~/livecd
    export FORMAT=squashfs
    export FS_DIR=casper
    

    Ersetzen Sie ~ / temp durch einen Pfad zu einem temporären Verzeichnis, in dem wir arbeiten werden. Ersetzen Sie ~ / livecd durch einen Pfad zum CD-Baum.

  2. Erstellen Sie die Ordnerstruktur. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs

  3. Nun müssen wir einige Pakete installieren:

    sudo apt-get install grub2 xorriso squashfs-tools
    
  4. Jetzt kopieren wir die aktuelle Installation und passen die Ausschluss-Flags an Ihre Bedürfnisse an:

    sudo rsync -av --one-file-system --exclude=/proc/* --exclude=/dev/* \
    --exclude=/sys/* --exclude=/tmp/* --exclude=/home/* --exclude=/lost+found \
    --exclude=/var/tmp/* --exclude=/boot/grub/* --exclude=/root/* \
    --exclude=/var/mail/* --exclude=/var/spool/* --exclude=${WORK}/rootfs \
    --exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts \
    --exclude=/etc/timezone --exclude=/etc/shadow* --exclude=/etc/gshadow* \
    --exclude=/etc/X11/xorg.conf* --exclude=/etc/gdm/custom.conf \
    / ${WORK}/rootfs
    

    Wenn Sie eine separate Startpartition haben, führen Sie Folgendes aus: sudo cp -av /boot/* ${WORK}/rootfs/boot
    In Ihrem Fall möchten Sie Einstellungen und einige Dateien aus dem Ausgangsverzeichnis kopieren. Definieren Sie zuerst, welche Verzeichnisse wir kopieren möchten: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' Und jetzt kopieren wir das:

    cd ~ && for i in $CONFIG
    do
    sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
    done        
    
  5. Jetzt chrooten wir in das neue System und modifizieren es.

    sudo mount  --bind /dev/ ${WORK}/rootfs/dev
    sudo mount -t proc proc ${WORK}/rootfs/proc
    sudo mount -t sysfs sysfs ${WORK}/rootfs/sys
    sudo mount -t devpts devpts ${WORK}/rootfs/dev/pts
    sudo chroot ${WORK}/rootfs /bin/bash
    

    Die nächsten Befehle werden in chroot ausgeführt:

    LANG=
    apt-get update
    apt-get install casper
    

    Casper enthält Live-Skripte. Wenn Sie auch ein Installationsprogramm benötigen, führen Sie Folgendes aus:

    apt-get install ubiquity ubiquity-frontend-gtk
    

    Oder wenn Sie KDE wollen:

    apt-get install ubiquity ubiquity-frontend-kde
    
  6. Aktualisieren Sie modules.dep und initramfs:

    depmod -a $(uname -r)
    update-initramfs -u -k $(uname -r)
    
  7. Entfernen Sie Nicht-Systembenutzer - keine Sorge, wir haben die Einstellungen und Daten in das "Gerüst" der Benutzer kopiert. Das bedeutet, dass alle neuen Benutzer sie haben.

    for i in `cat /etc/passwd | awk -F":" '{print $1}'`
    do
        uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print $3}'`
        [ "$uid" -gt "999" -a  "$uid" -ne "65534"  ] && userdel --force ${i} 2>/dev/null
    done
    
  8. Aufräumen:

    apt-get clean
    find /var/log -regex '.*?[0-9].*?' -exec rm -v {} \;
    find /var/log -type f | while read file
    do
        cat /dev/null | tee $file
    done
    rm /etc/resolv.conf /etc/hostname
    
  9. Chroot verlassen. exit

  10. Nun kopieren wir den Kernel:

    export kversion=`cd ${WORK}/rootfs/boot && ls -1 vmlinuz-* | tail -1 | sed 's@vmlinuz-@@'`
    sudo cp -vp ${WORK}/rootfs/boot/vmlinuz-${kversion} ${CD}/boot/vmlinuz
    sudo cp -vp ${WORK}/rootfs/boot/initrd.img-${kversion} ${CD}/boot/initrd.img
    sudo cp -vp ${WORK}/rootfs/boot/memtest86+.bin ${CD}/boot
    
  11. Wenn Sie das Installationsprogramm installiert haben, müssen Sie dies tun, damit das Installationsprogramm keine Dinge wie casper installiert:

    sudo chroot ${WORK}/rootfs dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ${CD}/${FS_DIR}/filesystem.manifest
    sudo cp -v ${CD}/${FS_DIR}/filesystem.manifest{,-desktop}
    REMOVE='ubiquity casper user-setup os-prober libdebian-installer4'
    for i in $REMOVE 
    do
        sudo sed -i "/${i}/d" ${CD}/${FS_DIR}/filesystem.manifest-desktop
    done        
    
  12. Hängen Sie aus, was wir montiert haben:

    sudo umount ${WORK}/rootfs/proc
    sudo umount ${WORK}/rootfs/sys
    sudo umount ${WORK}/rootfs/dev/pts
    sudo umount ${WORK}/rootfs/dev
    
  13. In Squashfs konvertieren:

    sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
    
  14. Machen Sie filesystem.size: echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size

  15. Und md5: find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt

  16. Nun grub.cfg:

    sudo nano ${CD}/boot/grub/grub.cfg
    

    (Ersetze nano mit deinem Lieblings-Texteditor, das ist egal.) Füge das ein und speichere:

    set default="0"
    set timeout=10
    
    menuentry "Ubuntu GUI" {
    linux /boot/vmlinuz boot=casper quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu in safe mode" {
    linux /boot/vmlinuz boot=casper xforcevesa quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu CLI" {
    linux /boot/vmlinuz boot=casper textonly quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu GUI persistent mode" {
    linux /boot/vmlinuz boot=casper boot=casper persistent quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu GUI from RAM" {
    linux /boot/vmlinuz boot=casper nopersistent toram quiet splash
    initrd /boot/initrd.img
    }
    
    menuentry "Check Disk for Defects" {
    linux /boot/vmlinuz boot=casper integrity-check quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Memory Test" {
    linux16 /boot/memtest86+.bin
    }
    
    
    menuentry "Boot from the first hard disk" {
    set root=(hd0)
    chainloader +1
    }
    
  17. Wenn Sie möchten, können Sie einen zusätzlichen Menüeintrag hinzufügen, mit dem Sie direkt in Ubiquity springen können.

    menuentry "Install Ubuntu" {
    linux /boot/vmlinuz boot=casper only-ubiquity quiet splash
    initrd /boot/initrd.img
    }
    
  18. Machen Sie die CD / DVD! sudo grub-mkrescue -o ~/live-cd.iso ${CD}

  19. Testen Sie es mit einer virtuellen Maschine!

Alle Kredite gehen an capink, weil der Führer von hier ist .


Ich habe eine Frage zur grub.cfg. Wird diese Datei grub.cfg nur während der Installation verwendet oder bleibt sie auch auf dem installierten System erhalten. Was ist, wenn ich die grub.cfg nicht bearbeite?
Roshan George

@RoshanGeorge Konfiguriert GRUB auf der CD. Es sollte nach der Installation nicht bestehen bleiben.
Nickguletskii

Können wir die Installation einfach so haben, wie sie für Ubuntu normalerweise ist, dh das Ubiquity-Installationsprogramm anzeigen, anstatt grub anzuzeigen? Bedeutet, dass in der Ubuntu-Installation, wenn wir die CD einlegen und ausführen, die Ubiquität angezeigt wird und nicht das Grub-Menü. Können wir das tun?
Roshan George

@RoshanGeorge Es sollte möglich sein, durch Hinzufügen eines Menüeintrags mit linux /boot/vmlinuz boot=casper only-ubiquity quiet splash. Ich werde testen und überprüfen.
Nickguletskii

@RoshanGeorge Ich habe erfolgreich eine Option zum Starten von Ubiquity über das Startmenü hinzugefügt. Ich muss den Leitfaden jedoch korrigieren - es fehlen einige Schritte zur Allgegenwart. Ich werde versuchen, es morgen zu beheben.
Nickguletskii

15

Mit uckoder live-magickönnen Sie Ihre Live-CD anpassen.

uckist in allen Ubuntu-Versionen seit 10.04 LTS Lucid Lynx über die offiziellen Software-Quellen von Ubuntu erhältlich. Sie können ucküber das Software Center, apt-getüber die Befehlszeile oder durch Klicken hier installieren Installieren Sie uck.


1
sieht aus wie UCK wurde eingestellt :(
amc

Ubuntu Builder wurde im Jahr 2014 eingestellt; Ubuntu Customization Kit wird installiert, funktioniert aber nicht und wurde 2015 eingestellt. System Imager wurde 2016 eingestellt. Diese Antwort muss dringend aktualisiert werden. Gibt es 2019 eine offiziell unterstützte Methode?
allquixotic

@allquixotic uck befindet sich im Universums-Repository 18.04. Funktioniert diese Version nicht?
30.

10

Ubuntu-Anpassungskit

Es ist eine Sammlung von Skripten, die das Erstellen einer benutzerdefinierten LiveCD aus einem vorhandenen ISO-Image erleichtern. Es ist Remastersys sehr ähnlich, mit dem Unterschied, dass es aktiv gewartet wird. Es hat eine GUI, die bei der Anpassung hilft, man kann aber auch die Befehlszeile verwenden, um dasselbe zu tun.

  1. Sie werden gefragt, welche Sprachpakete auf der CD enthalten sein sollen.
  2. Anschließend werden Sie aufgefordert, die ISO-Image-Datei auszuwählen, die als Basis für die neue CD verwendet wird.
  3. Geben Sie einen Namen für das neue .iso-Image ein, das erstellt werden soll.
  4. Anschließend werden Sie nach den Paketen gefragt, die der LiveCD hinzugefügt / von ihr entfernt werden sollen. Sie erhalten eine Option zwischen der Befehlszeile und der Standard-GUI (Ubuntu Software Center). Hinweis: Sie sollten die Befehlszeile auswählen. Über die Befehlszeile können Sie Pakete entweder mit apt-get oder mit Ubuntu Software Center hinzufügen / entfernen (geben Sie Software-Center über die Befehlszeile ein). Sie können auch die Konfigurationseinstellungen für alle Software / Apps ändern.
  5. Wenn Sie fertig sind (das Herunterladen der erforderlichen Pakete kann einige Zeit dauern), fahren Sie fort.
  6. Lehnen Sie sich jetzt einfach zurück und entspannen Sie sich. Nach einiger Zeit ist Ihre angepasste LiveCD fertig.

2
sieht so aus, als ob das UCK-Projekt eingestellt wurde :(
amc

5

Wenn Sie genauer steuern möchten, welche Änderungen vorgenommen werden, können Sie die Änderung manuell vornehmen.

Das Verfahren besteht darin , die Auspacken SquashFS Datendatei des Live - OS Root - Dateisystem enthält, chrooten in dem extrahierte Dateisystem, so dass Sie Ihre Änderungen, die chroot Verlassen Umpacken die SquashFS Datei, und das ISO - Image zu regenerieren.

Vollständige Details finden Sie auf der LiveCDCustomization- Seite des Ubuntu-Wikis.


5

Im Ubuntu Software Center

Bearbeiten> Softwarequellen> Andere Software> Hinzufügen

Fügen Sie die folgende Zeile in das Feld ein und klicken Sie auf Quelle hinzufügen.

deb http://www.geekconnection.org/remastersys/repository karmic

Laden Sie die Quellen neu und installieren Sie Remastersys über das Software Center.

Sobald Sie fertig sind, installieren Sie alle Mediencodecs und Apps, die Sie möchten, auf Ihrem benutzerdefinierten Ubuntu. Starten Sie remastersys von

System> Administration> Remastersys

Wählen Sie den Dist- Modus, klicken Sie auf OK und warten Sie, bis der Vorgang abgeschlossen ist. Sobald Sie fertig sind, finden Sie Ihre benutzerdefinierte ISO in

/home/remastersys/remastersys/custom.iso


Ich habe genau die gleichen Schritte ausgeführt, die Sie hier beschrieben haben, aber leider wird während des Startvorgangs angezeigt, dass das RAM-Disk-Image / ubninit nicht gefunden wurde, und es wird immer wieder mit einem Intervall von 10 Sekunden aktualisiert. Ergebnis: Ich kann meine angepasste ISO nicht starten. Können Sie mir sagen, wie ich das lösen kann? Bitte.
Smoking

3

Remastersys könnte die Antwort auf Ihre Bedürfnisse sein. Gehen Sie zu http://www.remastersys.com/ubuntu.html und folgen Sie den Anweisungen. Dieses Programm erstellt aus Ihrem Betriebssystem eine ISO-Datei mit allen Einstellungen und Apps. Dann können Sie mit dieser ISO eine CD brennen. Leider gab es in der Vergangenheit ein Problem, es als Live-CD zum Laufen zu bringen, während die Installation kein Problem darstellte (ich weiß nicht, ob dies immer noch ein Problem ist).


1
oder UCK, die GUI verwendet und weniger schwierig ist
Uri Herrera

Remastersys ist tot. Jetzt ist diese Seite im Besitz eines Domain-Squatters.
allquixotic

1

Es gibt keine "GUI", die ich außerhalb von Lucid kenne, aber gNewsense , eine Abzweigung von Ubuntu, stellt ihre Skripte zur Verfügung, um eine Ubuntu-Version zu nehmen und eine benutzerdefinierte Abzweigung frei verfügbar und ziemlich gut dokumentiert zu machen.

Es ist im Grunde ein Prozess von:

  1. Platzieren Sie Ihre benutzerdefinierte Grafik dort, wo die Skripte sie finden können
  2. Entscheiden, was Sie in Ihrem Kernel wollen (oder was Sie nicht wollen)
  3. Entscheiden, welche Pakete Sie möchten (oder was Sie nicht möchten)
  4. Ausführen eines Skripts, das ein passendes Repository spiegelt
  5. Erstellen der Distributions-CD / ISO.

Obwohl sie nicht gerade "Anfängerfreundlich" sind, sind ihre Werkzeuge relativ einfach zu bedienen.


1

Ich habe mit einem neuen webbasierten Dienst namens Reconstructor herumgebastelt . Laut ihrer Website,

Reconstructor ist ein Toolkit zum Erstellen benutzerdefinierter Versionen des GNU / Linux-Betriebssystems, insbesondere Debian und Ubuntu.

Laut einem Artikel im Linux-Journal über Reconstructor erheben sie geringe Gebühren für Anpassungen. Ob es sich lohnt, hängt von Ihren Bedürfnissen ab.


Der Link ist tot und die Domain leitet zu einer potenziell bösartigen Website weiter!
AMC

1

Ich würde dir raten, Reconstructor auszuprobieren

"Reconstructor ist ein Ubuntu GNU / Linux-CD-Ersteller, mit dem Sie eine vorhandene Ubuntu-Distribution ändern und als Ihre eigene Linux-Distribution speichern können. Er verwendet die Desktop- (Live), Alternativ- (Install) oder Server-CD als Basis und ermöglicht es dann Grundsätzlich können Sie die gesamte Umgebung anpassen, z. B. Software hinzufügen / entfernen, das Standardlayout ändern (Begrüßung, Designs, Schriftarten, Hintergrundbild usw.), Desktop-Links hinzufügen usw. "

Für weitere Informationen lesen Sie auch diese Links: http://maketecheasier.com/reconstructor-creating-your-own-ubuntu-distribution/2008/07/05

http://maketecheasier.com/build-your-own-ubuntu-based-distro-with-novo-builder/2010/07/02

http://ubuntuforums.org/showthread.php?t=869659


Aber mit diesen Tools kann ich meine Distribution nicht umbenennen, sondern nur Images erstellen und Pakete hinzufügen, oder zumindest weiß ich das.
user51447

Der Rekonstruktor-Link ist nicht mehr verfügbar und die Domain wird auf eine potenziell schädliche Website umgeleitet.
AMC

1

Sie können mit JLIVECD auch ein ISO-Image anpassen. Es ist ein Befehlszeilen-Tool zum Anpassen von Ubuntu und Ubuntu-basierten Distributionen. Es gibt Ihnen die vollständige Kontrolle über Dinge, die angepasst werden müssen, aber Sie müssen wissen, was zu tun ist, dh es bereitet nur die Chroot-Umgebung für Sie vor (der Rest liegt bei Ihnen) und erstellt die endgültige ISO. Sie können weiterhin neue Änderungen zu den vorhandenen Änderungen hinzufügen und die darauf aufbauenden ISOs überprüfen.


1

Sie können Cubic verwenden - dieses Dienstprogramm wurde (von mir) getestet und funktioniert auf einem Ubuntu 18.04-Host mit einem Ubuntu 18.04-Image. Dies ist mehr, als für die meisten anderen Tools gesagt werden kann, die nicht funktionieren oder nicht mehr angeboten werden.

Hier ist eine Anleitung, um es von der Website Linoxide zu verwenden .

Die groben Schritte beinhalten:

  • Stellen Sie sicher, dass Sie eine unterstützte Version von Ubuntu verwenden (ich habe 18.04 ausprobiert; es funktioniert)
  • Installieren Sie den GPG-Schlüssel für den Cubic PPA
  • Fügen Sie den Cubic PPA zu Ihren Quellen hinzu
  • Installieren Sie das kubische Werkzeug
  • Führen Sie es aus und befolgen Sie die Anweisungen auf der Benutzeroberfläche

Anweisungen finden Sie auch in dieser Antwort unter askubuntu.com/a/741770/100356 .
PJ Singh

0

Download http://sourceforge.net/projects/uck/files/uck/2.4.6/uck_2.4.6-0ubuntu1_all.deb/download Folgen Sie den Anweisungen, und wählen Sie aus, wenn Sie den Paket-Manager, eine Konsolenanwendung ausführen oder das Packen fortsetzen möchten Konsolenanwendung.

Jetzt kannst du rennen

Nautilus

unity-2d-launcher

Einheit-2d-Panel

und mach alles.

Wenn dies nicht funktioniert, führen Sie zuerst den Paketmanager aus und versuchen Sie es dann erneut mit der Konsole.

Hoffe das hilft.


ubuntu customization kit (UCK) wurde eingestellt
amc

0

Sie können die Standarddatei /etc/hosts(sowie einige andere Standarddateien) durch Bearbeiten ändern/usr/share/ubiquity/plugininstall.py

Ich dachte, es wäre hilfreich zu teilen, da ich wissen musste, wie man das macht.


Nach weiteren Überprüfungen scheint es /etc/hosts, dass die zu installierende Datei nicht vom Ubiquity- plugininstall.pyModul generiert wird . Wenn Sie die Standarddatei ändern möchten, müssen /etc/hostsSie wahrscheinlich ein Skript erstellen, das nach dem ersten Start einmal ausgeführt wird und sich selbst löscht oder umbenennt. Es sei denn, Sie kompilieren das netcfg-Modul neu - was nicht empfohlen wird.
SW_user2953243
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.