Un bon moyen serait de créer un CD live à partir d’une installation en cours. Cela peut être fait en utilisant une machine virtuelle (n'installez aucun outil de VM dans le SE invité)
Donc, nous avons d’abord besoin d’une nouvelle installation (si vous ne pouvez pas l’installer réellement, essayez d’utiliser une machine virtuelle) avec uniquement les éléments dont vous avez besoin (dans votre cas, thunderbird, samba et ssh). Ensuite, nous ajustons le système et enregistrons l'emplacement des ajustements (par exemple, vous changez l'arrière-plan de votre bureau, les paramètres sont dans ~ / .gconf ou vous ajoutez des raccourcis firefox, ils se trouvent dans ~ / Desktop). Ceci est nécessaire pour l'étape 4.
Configurez quelques variables:
export WORK=~/temp
export CD=~/livecd
export FORMAT=squashfs
export FS_DIR=casper
Remplacez ~ / temp par un chemin d'accès à un répertoire temporaire dans lequel nous allons travailler. Remplacez ~ / livecd par un chemin d'accès à l'arborescence du CD.
Faites la structure du dossier. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs
Maintenant nous devrons installer quelques paquets:
sudo apt-get install grub2 xorriso squashfs-tools
Maintenant, nous allons copier l'installation actuelle, modifier les indicateurs d'exclusion pour répondre à vos besoins:
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
Si vous avez une partition de démarrage distincte, exécutez ceci: sudo cp -av /boot/* ${WORK}/rootfs/boot
Dans votre cas, vous souhaitez copier les paramètres et certains fichiers du répertoire de base. Tout d’abord, définissez les répertoires que nous voulons copier: CONFIG = '. Config .gconf Desktop someotherfolder and anotherfolder' Et maintenant, nous copions ce qui suit:
cd ~ && for i in $CONFIG
do
sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
done
Maintenant, nous chrootons dans le nouveau système et le modifions.
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
Les prochaines commandes se font en chroot:
LANG=
apt-get update
apt-get install casper
Casper contient des scripts live. Si vous voulez aussi un installateur, lancez ceci:
apt-get install ubiquity ubiquity-frontend-gtk
Ou si vous voulez KDE:
apt-get install ubiquity ubiquity-frontend-kde
Mettez à jour modules.dep et initramfs:
depmod -a $(uname -r)
update-initramfs -u -k $(uname -r)
Supprimer les utilisateurs non-système - ne vous inquiétez pas, nous avons copié les paramètres et les données dans le "squelette" des utilisateurs. Cela signifie que tous les nouveaux utilisateurs les auront.
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
Nettoyer:
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
Quittez chroot. exit
Maintenant, copions le noyau:
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
Si vous avez installé le programme d’installation, vous devrez le faire afin que ce dernier n’installe pas des tâches telles que casper:
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
Démontez ce que nous avons monté:
sudo umount ${WORK}/rootfs/proc
sudo umount ${WORK}/rootfs/sys
sudo umount ${WORK}/rootfs/dev/pts
sudo umount ${WORK}/rootfs/dev
Convertir en squashfs:
sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
Assurez filesystem.size:
echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size
Et md5: find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt
Maintenant grub.cfg:
sudo nano ${CD}/boot/grub/grub.cfg
(remplacez nano par votre éditeur de texte préféré, cela n'a pas d'importance) Collez ceci et enregistrez:
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
}
Si vous le souhaitez, vous pouvez ajouter une entrée de menu supplémentaire, qui vous permet de vous lancer directement dans Ubiquity.
menuentry "Install Ubuntu" {
linux /boot/vmlinuz boot=casper only-ubiquity quiet splash
initrd /boot/initrd.img
}
Faites le CD / DVD!
sudo grub-mkrescue -o ~/live-cd.iso ${CD}
Testez-le en utilisant une machine virtuelle!