"Canlı Ubuntu CD'sini nasıl kişiselleştiririm?" mevcut kurulumlardan canlı CD'ler oluşturmanın bir yolu ile. Bu, tüm paketleri tekrar indirmeniz gerekmeyeceği anlamına gelir. Bu kılavuz olabilecek uzun ve zor görünebilir, ancak çoğunlukla ve "kopyalama ve yapıştırma" "birlikte takip" dır. İşte, kopyalandı ve biraz düzenledi:
Geçerli bir kurulumdan canlı bir CD yapmak iyi bir yöntem olabilir. Bu sanal bir makine kullanılarak yapılabilir (yalnızca konuk işletim sistemine hiçbir VM aracı yüklemeyin)
Öyleyse, ilk önce yeni bir yüklemeye ihtiyacımız var (bunu gerçekten kuramazsanız, sanal bir makine kullanmayı deneyin) yalnızca ihtiyacınız olan şeylerle (durumunuzda thunderbird, samba ve ssh). Sonra sistemi değiştiririz ve tweaks'ın nerede olduğunu kaydederiz (örneğin, masaüstü arkaplanını değiştirirsiniz, ayarlar ~ / .gconf'dur veya firefox kısayolları eklersiniz, ~ / Desktop içinde bulunurlar). Bu 4. adım için gereklidir.
Bazı değişkenleri ayarlayın:
export WORK=~/temp
export CD=~/livecd
export FORMAT=squashfs
export FS_DIR=casper
~ / Temp işlevini, içinde çalışacağımız geçici bir dizine giden yolla değiştirin. ~ / Livecd dosyasını CD ağacının yoluyla değiştirin.
Klasör yapısını hazırlayın. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs
Şimdi bazı paketleri kurmamız gerekecek:
sudo apt-get install grub2 xorriso squashfs-tools
Şimdi mevcut kurulumu kopyalayacağız, hariç tutma bayraklarını gereksinimlerinize uyacak şekilde değiştirin:
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
Ayrı bir önyükleme bölümünüz varsa, bunu yürütün: sudo cp -av /boot/* ${WORK}/rootfs/boot
Kullanıcı yapılandırmalarınızı ve dosyalarınızı kopyalamak istiyorsanız, bu listeyi gerektiği gibi değiştirin: CONFIG = '.
cd ~ && for i in $CONFIG
do
sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
done
Şimdi yeni sisteme giriyoruz ve onu değiştiriyoruz.
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
Sonraki komutlar chroot ile yapılır:
LANG=
apt-get update
apt-get install casper
Casper'da canlı scriptler var. Şimdi yükleyici (gnome sürümü) apt-get install ubiquity ubiquity-frontend-gtk ya da KDE istiyorsanız:
apt-get install ubiquity ubiquity-frontend-kde
Module.dep ve initramfs dosyalarını güncelleyin:
depmod -a $(uname -r)
update-initramfs -u -k $(uname -r)
Sistem dışı kullanıcıları kaldırın - endişelenmeyin, ayarları ve verileri kullanıcıların "iskeletine" kopyaladık. Bu, tüm yeni kullanıcıların onlara sahip olacağı anlamına gelir.
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
Temizlemek:
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'tan çık. exit
Şimdi çekirdeği kopyaladık:
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
Böylece yükleyici casper gibi şeyler yüklemez:
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
Monte ettiklerimizi çıkarın:
sudo umount ${WORK}/rootfs/proc
sudo umount ${WORK}/rootfs/sys
sudo umount ${WORK}/rootfs/dev/pts
sudo umount ${WORK}/rootfs/dev
Squashfs'e dönüştür:
sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
Filesystem.size yapın:
echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size
Ve md5: find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt
Şimdi grub.cfg:
sudo nano ${CD}/boot/grub/grub.cfg
(nano'yu fav metin editörünüzle değiştirin, farketmez) Bunu yapıştırın ve kaydedin:
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
}
CD / DVD'yi hazırlayın!
sudo grub-mkrescue -o ~/live-cd.iso ${CD}
Sanal bir makine kullanarak test edin!