एक अच्छा तरीका एक वर्तमान स्थापना से एक लाइव सीडी बना रहा होगा। यह एक आभासी मशीन का उपयोग करके किया जा सकता है (बस अतिथि ओएस के अंदर कोई वीएम उपकरण स्थापित न करें)
तो, पहले हमें एक ताजा स्थापित करने की आवश्यकता है (यदि आप इसे असली के लिए स्थापित नहीं कर सकते हैं, तो एक आभासी मशीन का उपयोग करने का प्रयास करें) केवल उन चीजों के साथ जो आपको चाहिए (आपके मामले में गरज, सांबा और एसश)। फिर हम सिस्टम को ट्विक करते हैं और रिकॉर्ड करते हैं कि ट्वीक कहां हैं (जैसे आप अपनी डेस्कटॉप पृष्ठभूमि बदलते हैं, सेटिंग्स ~ / .gconf में हैं या आप फ़ायरफ़ॉक्स शॉर्टकट जोड़ते हैं, वे ~ / डेस्कटॉप में स्थित हैं)। चरण 4 के लिए यह आवश्यक है।
कुछ चर सेट करें:
export WORK=~/temp
export CD=~/livecd
export FORMAT=squashfs
export FS_DIR=casper
एक अस्थायी निर्देशिका में पथ के साथ ~ / अस्थायी को बदलें जिसमें हम काम करेंगे। सीडी पेड़ के लिए एक पथ के साथ बदलें ~ / livecd।
फ़ोल्डर संरचना बनाएँ। sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs
अब हमें कुछ पैकेज स्थापित करने होंगे:
sudo apt-get install grub2 xorriso squashfs-tools
अब हम वर्तमान इंस्टॉलेशन को कॉपी करेंगे, अपनी आवश्यकताओं को पूरा करने के लिए अलग किए गए झंडे को संशोधित करेंगे:
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
यदि आपके पास एक अलग बूट पार्टीशन है, तो इसे निष्पादित करें: sudo cp -av /boot/* ${WORK}/rootfs/boot
अपने मामले में, आप होम निर्देशिका से सेटिंग्स और कुछ फ़ाइलों को कॉपी करना चाहते हैं। सबसे पहले, परिभाषित करें कि हम किन निर्देशिकाओं को कॉपी करना चाहते हैं: CONFIG = '। Config .gconf डेस्कटॉप someotherfolder andanotherfolder' और अब हम उसकी प्रतिलिपि बनाते हैं:
cd ~ && for i in $CONFIG
do
sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
done
अब हम नई प्रणाली में परिवर्तन करते हैं और इसे संशोधित करते हैं।
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
अगले आदेश चुरोट में किए गए हैं:
LANG=
apt-get update
apt-get install casper
कैस्पर में लाइव स्क्रिप्ट होती है। यदि आप एक इंस्टॉलर चाहते हैं, तो इसे चलाएं:
apt-get install ubiquity ubiquity-frontend-gtk
या यदि आप केडीई चाहते हैं:
apt-get install ubiquity ubiquity-frontend-kde
अपडेट करें.dep और initramfs:
depmod -a $(uname -r)
update-initramfs -u -k $(uname -r)
गैर-सिस्टम उपयोगकर्ताओं को निकालें - चिंता न करें, हमने सेटिंग्स और डेटा को उपयोगकर्ताओं के "कंकाल" में कॉपी किया है। इसका मतलब है कि सभी नए उपयोगकर्ता उनके पास होंगे।
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
साफ - सफाई:
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
चिरोट से बाहर निकलें। exit
अब, हम कर्नेल को कॉपी करते हैं:
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
यदि आपने इंस्टॉलर स्थापित किया है, तो आपको यह करने की आवश्यकता होगी, ताकि इंस्टॉलर आवरण जैसी चीजों को स्थापित न करे:
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
हमने जो माउंट किया है, उसे अनमाउंट करें:
sudo umount ${WORK}/rootfs/proc
sudo umount ${WORK}/rootfs/sys
sudo umount ${WORK}/rootfs/dev/pts
sudo umount ${WORK}/rootfs/dev
स्क्वैश में परिवर्तित करें:
sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
Filesystem.size करें:
echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size
और md5: find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt
अब grub.cfg:
sudo nano ${CD}/boot/grub/grub.cfg
(नैनो को अपने fav टेक्स्ट एडिटर से बदलें, इससे कोई फर्क नहीं पड़ता) इसे पेस्ट करें और सहेजें:
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
}
यदि आप चाहते हैं, तो आप एक अतिरिक्त मेनू प्रविष्टि जोड़ सकते हैं, जो आपको सीधे यूबिकिटी में कूदने की अनुमति देता है।
menuentry "Install Ubuntu" {
linux /boot/vmlinuz boot=casper only-ubiquity quiet splash
initrd /boot/initrd.img
}
सीडी / डीवीडी बनाओ!
sudo grub-mkrescue -o ~/live-cd.iso ${CD}
एक आभासी मशीन का उपयोग करके इसका परीक्षण करें!