Ich antwortete "Wie kann ich eine Ubuntu-Live-CD anpassen?" mit einer Möglichkeit, Live-CDs aus aktuellen Installationen zu erstellen. Dies bedeutet, dass Sie nicht alle Pakete erneut herunterladen müssen. Diese Anleitung mag lang und schwierig erscheinen, ist jedoch meistens "Folgen" und "Kopieren und Einfügen". Hier ist es, etwas kopiert und bearbeitet:
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.
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.
Erstellen Sie die Ordnerstruktur. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs
Nun müssen wir einige Pakete installieren:
sudo apt-get install grub2 xorriso squashfs-tools
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 sudo cp -av /boot/* ${WORK}/rootfs/boot
Startpartition haben, führen Sie Folgendes aus : Wenn Sie Ihre Benutzerkonfigurationen und -dateien kopieren möchten, ändern Sie diese Liste nach Bedarf: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' Und jetzt kopieren wir Ihre Konfigurationen und Dateien:
cd ~ && for i in $CONFIG
do
sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
done
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. Nun kann der Installer (Gnome-Version) apt-get ubiquity ubiquity-frontend-gtk installieren. Oder wenn Sie KDE wollen:
apt-get install ubiquity ubiquity-frontend-kde
Aktualisieren Sie modules.dep und initramfs:
depmod -a $(uname -r)
update-initramfs -u -k $(uname -r)
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
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
Chroot verlassen. exit
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
Damit der Installer 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
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
In Squashfs konvertieren:
sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
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
Und md5: find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt
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
}
Machen Sie die CD / DVD!
sudo grub-mkrescue -o ~/live-cd.iso ${CD}
Testen Sie es mit einer virtuellen Maschine!