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 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
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
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
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
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
}
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
}
Machen Sie die CD / DVD!
sudo grub-mkrescue -o ~/live-cd.iso ${CD}
Testen Sie es mit einer virtuellen Maschine!