J'ai répondu "Comment personnaliser un CD Ubuntu en direct?" avec un moyen de créer des CD live à partir des installations actuelles. Cela signifie que vous n'aurez pas besoin de télécharger à nouveau tous les packages. Ce guide peut sembler long et difficile, mais il s'agit principalement de «suivre» et de «copier-coller». Le voici, copié et édité un peu:
Un bon moyen serait de créer un CD live à partir d'une installation actuelle. Cela peut être fait à l'aide d'une machine virtuelle (il suffit de ne pas installer d'outils VM dans le système d'exploitation invité)
Donc, nous avons d'abord besoin d'une nouvelle installation (si vous ne pouvez pas l'installer pour de vrai, essayez d'utiliser une machine virtuelle) avec uniquement les choses dont vous avez besoin (dans votre cas, thunderbird, samba et ssh). Ensuite, nous ajustons le système et enregistrons où se trouvent les ajustements (par exemple, vous modifiez l'arrière-plan de votre bureau, les paramètres sont dans ~ / .gconf ou vous ajoutez des raccourcis firefox, ils sont situés dans ~ / Desktop). Cela 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 travaillerons. 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 certains packages:
sudo apt-get install grub2 xorriso squashfs-tools
Nous allons maintenant copier l'installation actuelle, modifier les drapeaux 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
Si vous souhaitez copier vos configurations et fichiers utilisateur, modifiez cette liste selon vos besoins: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' Et maintenant nous copions vos configurations et fichiers:
cd ~ && for i in $CONFIG
do
sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
done
Nous allons maintenant chrooter dans le nouveau système et le modifier.
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 commandes suivantes se font en chroot:
LANG=
apt-get update
apt-get install casper
Casper contient des scripts en direct. Maintenant, le programme d'installation (version gnome) 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 en 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, nous 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
Pour que l'installateur n'installe pas des choses comme 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}
Créez 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é, peu importe) Collez-le 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
}
Faites le CD / DVD!
sudo grub-mkrescue -o ~/live-cd.iso ${CD}
Testez-le à l'aide d'une machine virtuelle!