สำรองข้อมูลทั้งระบบปฏิบัติการ


20

ฉันต้องฟอร์แมตดิสก์ทั้งหมดและติดตั้ง Ubuntu ใหม่

ฉันติดตั้งซอฟต์แวร์จำนวนมากในระบบปัจจุบันของฉันแล้ว และฉันจะต้องติดตั้งอัพเดตไดรเวอร์และแอพพลิเคชั่นทั้งหมดใหม่อีกครั้ง

มีวิธีใดบ้างที่ฉันสามารถสร้างอิมเมจ. iso ของ Ubuntu ที่ติดตั้งพร้อมกับซอฟต์แวร์การตั้งค่าไดรเวอร์และอื่น ๆ ทั้งหมดได้หรือไม่

มีวิธีใดบ้างที่ฉันสามารถสำรองระบบปฏิบัติการทั้งหมดของฉันพร้อมกับซอฟต์แวร์ไดรฟ์การอัปเดตและทั้งหมดได้หรือไม่


3
การสำรองระบบปฏิบัติการทั้งหมดเป็นคำถามที่ถูกต้องอย่างไรก็ตามเหตุผลที่คุณให้: "ฉันต้องฟอร์แมตดิสก์ทั้งหมดและติดตั้ง Ubuntu ใหม่" ดูแปลก ทำไมคุณต้องการฟอร์แมตดิสก์ที่คุณมีเมื่อคุณต้องการติดตั้งทุกสิ่งที่คุณมีอยู่ในปัจจุบัน
มาร์ติน

คุณอาจต้องการคิดว่าเหตุใด linux จึงมีพาร์ติชันและนี่เป็นคำแนะนำที่ดีมากในการพูดคุยเกี่ยวกับเรื่องนี้: tldp.org/LDP/intro-linux/html/sect_03_01.html#sect_03_01_02
มุมมองแบบวงรี

คำตอบ:


4

มีหลายวิธีที่จะทำเช่นนั้น สิ่งที่ง่ายที่สุดคือการใช้ remastersys

sudo remastersys dist 

คุณควรติดตั้งแพคเกจ ubiquity ก่อนทำงานกับ remastersys

หรือคุณสามารถใช้fsarchiver , ทำซ้ำการสำรองข้อมูล (ซีดีสด)

วิธีสำรองข้อมูลระบบปฏิบัติการของคุณ


Remastersys .. ! มันหิน .. ! ขอบคุณ @ jahid65 :)
Avinash Sonawane

remastersys จะทำงานกับ kubuntu หรือไม่
Silicomancer

21

สิ่งที่คุณสามารถทำได้คือการสำรองข้อมูลไดเรกทอรีบ้านของคุณและบันทึกรายการแพ็คเกจทั้งหมดที่คุณติดตั้งไว้ หากต้องการบันทึกรายการซอฟต์แวร์ที่ติดตั้งให้ใช้คำสั่งต่อไปนี้:

sudo dpkg --get-selections > package_list

สิ่งนี้จะสร้างไฟล์ที่มีรายการ pakcages / ซอฟต์แวร์ทั้งหมดที่ติดตั้งในระบบนี้ คุณจะต้องสำรองไฟล์นี้ให้ปลอดภัย

จากนั้นเมื่อคุณติดตั้ง Ubuntu บนเครื่องของคุณคุณสามารถใช้คำสั่งต่อไปนี้เพื่อติดตั้งซอฟต์แวร์เหล่านี้ทั้งหมด

sudo dpkg --set-selections < packages_list

คำสั่งนี้จะไม่ติดตั้งอะไรเลย มันจะทำเครื่องหมายแพ็กเกจสำหรับการติดตั้ง หากต้องการติดตั้งให้รันคำสั่งต่อไปนี้:

sudo apt-get -u dselect-upgrade

การดำเนินการนี้จะใช้เวลาสักครู่เนื่องจากระบบของคุณจะดาวน์โหลดและติดตั้งแพ็คเกจทั้งหมด หลังจากคำสั่งนี้เสร็จสมบูรณ์ให้แทนที่โฮมไดเรกทอรีปัจจุบันของคุณด้วยไดเรกทอรีที่คุณสำรองไว้ก่อนหน้านี้

หวังว่านี่จะช่วยได้


แต่ฉันไม่จำเป็นต้องติดตั้งแพ็คเกจใหม่ใน Ubuntu ที่ติดตั้งใหม่หรือไม่?
Avinash Sonawane

@Avinash: คำสั่งนั้นจะติดตั้งแพ็กเกจใหม่ใน Ubuntu ที่เพิ่งติดตั้งใหม่
Jeremy Kerr

@ Jeremy- ฉันหมายถึง .. คำสั่งนั้นจะดึง (ดาวน์โหลด) แพ็คเกจแล้วติดตั้งหรือไม่ต้องดาวน์โหลดอะไรก็ตามที่ฉันดาวน์โหลดมาจนถึงตอนนี้? จริงๆแล้วฉันไม่ต้องการดาวน์โหลดอะไรที่ฉันมีอยู่แล้วเนื่องจากใช้เวลานานมากในการดาวน์โหลดข้อมูลขนาดใหญ่นี้
Avinash Sonawane

@Avinash: ขออภัยลืมเพิ่มคำสั่งเพื่ออัปเดต ฉันได้อัปเดตคำตอบตรวจสอบแล้ว
binW

ไม่ใช่วิธีที่ฉันใช้ แต่ผลโดยรวมก็เหมือนกัน
MBraedley

10

ฉันตอบว่า "จะปรับแต่งไลฟ์อูบุนตูซีดีได้อย่างไร" ด้วยวิธีการสร้างซีดีสดจากการติดตั้งปัจจุบัน ซึ่งหมายความว่าคุณไม่จำเป็นต้องดาวน์โหลดแพ็คเกจทั้งหมดอีกครั้ง คำแนะนำนี้อาจดูยาวและยาก แต่ส่วนใหญ่จะ "ทำตาม" และ "คัดลอกและวาง" นี่คือคัดลอกออกและแก้ไขเล็กน้อย:

การสร้างไลฟ์ซีดีจากการติดตั้งที่มีอยู่ / ใหม่

วิธีที่ดีคือการสร้างซีดีสดจากการติดตั้งปัจจุบัน สิ่งนี้สามารถทำได้โดยใช้เครื่องเสมือน (ไม่ต้องติดตั้งเครื่องมือ VM ภายในระบบปฏิบัติการเกสต์)

ดังนั้นก่อนอื่นเราต้องติดตั้งใหม่ (ถ้าคุณไม่สามารถติดตั้งได้จริงลองใช้เครื่องเสมือน) กับสิ่งต่าง ๆ ที่คุณต้องการ (ในกรณีของคุณธันเดอร์เบิร์ดแซมบ้าและ ssh) จากนั้นเราปรับแต่งระบบและบันทึกตำแหน่งที่ปรับแต่ง (เช่นคุณเปลี่ยนพื้นหลังเดสก์ท็อปของคุณการตั้งค่าอยู่ใน ~ / .gconf หรือคุณเพิ่มทางลัด firefox ซึ่งอยู่ใน ~ / Desktop) สิ่งนี้จำเป็นสำหรับขั้นตอนที่ 4

  1. ตั้งค่าตัวแปรบางอย่าง:

    export WORK=~/temp
    export CD=~/livecd
    export FORMAT=squashfs
    export FS_DIR=casper
    

    แทนที่ ~ / temp ด้วยพา ธ ไปยังไดเร็กทอรีชั่วคราวที่เราจะใช้งานแทนที่ ~ / livecd ด้วยพา ธ ไปยังทรีซีดี

  2. สร้างโครงสร้างโฟลเดอร์ sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs

  3. ตอนนี้เราจะต้องติดตั้งแพคเกจบางอย่าง:

    sudo apt-get install grub2 xorriso squashfs-tools
    
  4. ตอนนี้เราจะคัดลอกการติดตั้งปัจจุบันแก้ไขการแยกสถานะเพื่อให้เหมาะกับความต้องการของคุณ:

    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 เดสก์ท็อปอื่น ๆ โฟลเดอร์อื่นและอีกโฟลเดอร์'

    cd ~ && for i in $CONFIG
    do
    sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
    done        
    
  5. ตอนนี้เรา chroot เข้าสู่ระบบใหม่และแก้ไขมัน

    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
    

    คำสั่งต่อไปจะทำใน chroot:

    LANG=
    apt-get update
    apt-get install casper
    

    แคสเปอร์มีสคริปต์สด ตอนนี้ตัวติดตั้ง (รุ่น gnome) apt-get install ubiquity ubiquity-frontend-gtk หรือถ้าคุณต้องการ KDE:

    apt-get install ubiquity ubiquity-frontend-kde
    
  6. อัปเดต modules.dep และ initramfs:

    depmod -a $(uname -r)
    update-initramfs -u -k $(uname -r)
    
  7. ลบผู้ใช้ที่ไม่ใช่ระบบ - ไม่ต้องกังวลเราได้คัดลอกการตั้งค่าและข้อมูลลงใน "โครงกระดูก" ของผู้ใช้ นั่นหมายความว่าผู้ใช้ใหม่ทุกคนจะมีพวกเขา

    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
    
  8. ทำความสะอาด:

    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
    
  9. ออกจาก chroot exit

  10. ตอนนี้เราคัดลอกเคอร์เนล:

    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
    
  11. เพื่อให้โปรแกรมติดตั้งไม่ได้ติดตั้งสิ่งต่าง ๆ เช่นแคสเปอร์:

    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        
    
  12. ถอนติดตั้งสิ่งที่เราติดตั้ง:

    sudo umount ${WORK}/rootfs/proc
    sudo umount ${WORK}/rootfs/sys
    sudo umount ${WORK}/rootfs/dev/pts
    sudo umount ${WORK}/rootfs/dev
    
  13. แปลงเป็นสควอช:

    sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
    
  14. ทำ filesystem.size: echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size

  15. และ md5: find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt

  16. ตอนนี้ grub.cfg:

    sudo nano ${CD}/boot/grub/grub.cfg
    

    (แทนที่ nano ด้วยโปรแกรมแก้ไขข้อความที่ชอบไม่สำคัญ) วางสิ่งนี้และบันทึก:

    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
    }
    
  17. ทำซีดี / ดีวีดี! sudo grub-mkrescue -o ~/live-cd.iso ${CD}

  18. ทดสอบโดยใช้เครื่องเสมือน!

เครดิตทั้งหมดไปที่ capink เพราะคำแนะนำจากที่นี่


@ nickguletskii- ตั้งแต่ฉันเป็นมือใหม่ทั้งหมดมีซอฟต์แวร์ที่จะทำเช่นนี้หรือไม่? ขอบคุณมากสำหรับการตอบกลับของคุณ
Avinash Sonawane

@Avinash remastersys และ / หรือ Ubuntu Customization Kit
Uri Herrera

@Aavash Sonawane มันจะเป็นชุดคำสั่ง "copy and paste" ที่ตรงไปตรงมาเพียงแค่ใช้คำสั่งและดำเนินการ
nickguletskii

เนื่องจากฉันเป็นมือใหม่ทั้งหมด .. ฉันชอบ Remastersys มากกว่าเพียงแค่คัดลอกและวาง n และมันก็มีคำสั่งมากมายเช่นกัน โดยวิธีการที่คำสั่งเหล่านี้ทำงาน! :) ขอบคุณ @nickguletskii :)
Avinash Sonawane

@Avinash Sonawane ไม่มีปัญหาและขอบคุณสำหรับการยืนยัน! :)
nickguletskii

5

ในประเทศจีนเพื่อนบางคนใช้uclonerใน Ubuntu เพื่อสำรองข้อมูลระบบปฏิบัติการ

https://code.google.com/p/ucloner/

UCloner เป็นเครื่องมือสำรอง / กู้คืน / โคลนที่ออกแบบมาสำหรับ Ubuntu Linux ในบางวิธีมันก็เหมือนกับ Norton Ghost สำหรับ Windows

ด้วย UCloner คุณสามารถสำรองข้อมูลระบบ Ubuntu ของคุณไปยังไฟล์รูปภาพ squashfs โดยตรงจากไฟล์ภาพนี้คุณสามารถบูทเครื่องพีซีในสภาพแวดล้อมที่เรียกว่า "Live Ubuntu" (ต้องใช้แพ็คเกจ "casper")

ระบบอูบุนตูที่ใช้งานอยู่สามารถโคลนตัวเองลงใน / พาร์ติชั่นเป้าหมายด้วยความช่วยเหลือของ UCloner จำ Agent Smith ในเมทริกซ์ได้ไหม ใช่นั่นแหละ

มันมีทั้งบรรทัดคำสั่งและส่วนต่อประสานกราฟิก มันยืดหยุ่นมากขึ้นเมื่อทำงานในอินเตอร์เฟสบรรทัดคำสั่ง

UCloner เป็นซอฟต์แวร์แจกฟรีภายใต้ GPL v2

ป้อนคำอธิบายรูปภาพที่นี่


3

หากคุณติดตั้ง Ubuntu ไว้ในฮาร์ดดิสค์เดียวและคุณมีฮาร์ดดิสค์อื่นที่มีความจุเท่ากันหรือใหญ่กว่านั้นการโคลนดิสก์นั้นง่ายมาก:

sudo dd if=/<from disk> of=<to disk>

ดังนั้นสำหรับตัวอย่างเช่นถ้าคุณต้องการที่จะโคลน SDA เพื่อ SDB sudo dd if=/dev/sda of=/dev/sdbแล้วคุณจะทำอย่างไร ที่จะรักษาพาร์ติชันทั้งหมดตัวจัดการการบูต ฯลฯ

ระวังการใช้ที่ถูกต้องหาก (ไฟล์อินพุต) และของ (ไฟล์เอาต์พุต) ไฟล์อินพุตคือดิสก์ที่คุณต้องการคัดลอก หากคุณเปลี่ยนคำสั่งซื้อจากนั้นคุณจะโคลนดิสก์เปล่าลงบนดิสก์เต็มซึ่งจะทำให้คุณมีดิสก์เปล่าสองแผ่น :)

ตรวจสอบให้แน่ใจว่าดิสก์ใหม่มีพื้นที่เพียงพอที่จะโคลนดิสก์แผ่นแรก มิฉะนั้นจะถูกสับออกในตอนท้าย จะไม่มีการเตือนใด ๆ

หากคุณต้องการที่จะสร้างภาพแล้วก็แทนที่ด้วยof=/dev/sdb of=/some_place/disk-image.rawเก็บไว้ในดิสก์อื่น


ฉันไม่มี HDD ภายนอกพิเศษใด ๆ ฉันแค่ต้องการคืนค่าหรือสำรองข้อมูลทั้งระบบปฏิบัติการพร้อมกับการอัพเดททั้งหมดไดรเวอร์และไฟล์ทั้งหมดเป็นไฟล์. iso ดังนั้นเมื่อฉันจะฟอร์แมตดิสก์ของฉันและติดตั้ง Ubuntu ฉันจะไม่ดาวน์โหลดและติดตั้งข้อมูลจำนวนมากอีกครั้ง (ซอฟต์แวร์ไดรเวอร์และอื่น ๆ )
Avinash Sonawane

แน่ใจ จากนั้นฉันก็พูดในบรรทัดสุดท้าย: dd if = / dev / disktobackup ของ = somefile.img นั่นจะเป็นสำเนาที่สมบูรณ์ของดิสก์ดังนั้นคุณจะต้องเก็บมันไว้ที่ไหนสักแห่ง ISO-files ถูกเรียกเช่นนั้นเนื่องจากระบบไฟล์ ISO9660 ที่ใช้กับซีดีรอม เรามักจะเรียกพวกมันว่า raw หรือ img หรืออะไรบางอย่างเมื่อเรานึกภาพฮาร์ดดิสก์
Jo-Erlend Schinstad

@ jo-erlend ดังนั้นมันจะย้ายจากพาร์ติชันหนึ่งไปยังอีกพาร์ติชั่นหรือไม่? bootloader และสิ่งต่าง ๆ ทั้งหมดหรือไม่
Hari KT

1

ฉันมีสคริปต์ที่โอนย้ายการติดตั้ง Ubuntu ไปยังตำแหน่งอื่นเช่นในกรณีของคุณคุณสามารถโยกย้ายไปยังฮาร์ดไดรฟ์ภายนอก สิ่งที่เรียบร้อยคือคุณสามารถบูตได้อย่างอิสระและยืนยันว่ามันทำงานได้ก่อนที่จะฟอร์แมตไดรฟ์เก่าของคุณ เป็นสำเนาที่แน่นอน - ไม่ต้องทำการกำหนดค่าติดตั้งใหม่หรือปรับแต่ง คุณเพียงแค่ต้องเตรียมพาร์ติชันเป้าหมาย (นอกจากนี้ยังไม่แก้ไขการติดตั้งปัจจุบันเพื่อให้คุณสามารถทดสอบการโยกย้ายก่อนที่จะจัดรูปแบบเก่า)

http://ubuntuforums.org/showthread.php?t=1519354

(ใช่เป็นการโยกย้าย wubi แต่ก็ทำการโยกย้ายปกติเกินไปฉันใช้มันตลอดเวลาในการสำรองข้อมูลและคืนค่าการติดตั้งที่แตกต่างกัน)


1

เมื่อคุณได้รับข้อมูลทั้งหมดและติดตั้งใหม่คุณอาจลองใช้ Clonezilla เพื่อถ่ายภาพระบบปฏิบัติการของคุณ หากมีข้อผิดพลาดเกิดขึ้นเพียงปรากฏในอิมเมจระบบปฏิบัติการแล้วคุณจะได้ระบบของคุณกลับไปสู่ที่เดิม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.