Sao lưu toàn bộ hệ điều hành


20

Tôi phải định dạng toàn bộ đĩa của mình và cài đặt lại Ubuntu.

Tôi đã cài đặt rất nhiều phần mềm trên hệ thống hiện tại của tôi. Và tôi cũng sẽ phải cài đặt lại tất cả các bản cập nhật, trình điều khiển và ứng dụng đó.

Có cách nào để tôi có thể tạo một hình ảnh .iso cho Ubuntu đã cài đặt của mình cùng với tất cả các phần mềm, tùy chọn, trình điều khiển, v.v. không?

Có cách nào tôi có thể sao lưu toàn bộ HĐH của mình cùng với tất cả phần mềm, ổ đĩa, cập nhật và tất cả không?


3
Sao lưu toàn bộ HĐH là một câu hỏi hợp lệ, tuy nhiên, lý do bạn đưa ra: "Tôi phải định dạng toàn bộ đĩa của mình và cài đặt lại Ubuntu" có vẻ kỳ quặc. Tại sao bạn muốn định dạng đĩa bạn có khi bạn muốn cài đặt lại thực sự mọi thứ bạn đang có trên đó?
Martin

Bạn có thể muốn nghĩ về lý do tại sao linux có phân vùng và đây là một hướng dẫn rất tốt để nói về điều này: tldp.org/LDP/intro-linux/html/sect_03_01.html#sect_03_01_02
Chế độ xem hình elip

Câu trả lời:



21

Những gì bạn có thể làm là sao lưu thư mục chính của bạn và lưu danh sách tất cả các gói bạn đã cài đặt. Để lưu danh sách phần mềm đã cài đặt, sử dụng lệnh sau:

sudo dpkg --get-selections > package_list

Điều này sẽ tạo ra một tập tin với một danh sách tất cả các phần mềm / phần mềm được cài đặt trên hệ thống này. Bạn sẽ cần sao lưu tệp này vào nơi an toàn.

Sau đó, khi bạn cài đặt lại Ubuntu trên máy của mình, bạn có thể sử dụng lệnh sau để cài đặt tất cả các phần mềm này

sudo dpkg --set-selections < packages_list

Lệnh này S NOT KHÔNG cài đặt bất cứ thứ gì. Nó sẽ chỉ đánh dấu các gói để cài đặt. Để cài đặt chúng, hãy chạy lệnh sau:

sudo apt-get -u dselect-upgrade

Điều này sẽ mất thời gian để hoàn thành vì hệ thống của bạn sẽ tải xuống và cài đặt tất cả các gói. Sau khi lệnh này hoàn tất, thay thế thư mục chính hiện tại của bạn bằng thư mục bạn đã sao lưu trước đó.

Hi vọng điêu nay co ich


Nhưng tôi không cần phải cài đặt lại các gói trong Ubuntu đã cài đặt mới?
Avinash Sonawane

@Avinash: lệnh đó sẽ cài đặt lại các gói trong Ubuntu mới được cài đặt
Jeremy Kerr

@ Jeremy- ý tôi là .. lệnh đó sẽ tìm nạp (tải xuống) các gói và sau đó cài đặt chúng hoặc tôi không phải tải xuống bất cứ thứ gì tôi đã tải xuống ngay bây giờ? Trên thực tế tôi không muốn tải xuống bất cứ thứ gì tôi đã có vì nó tiêu tốn một lượng thời gian đáng kể để tải xuống dữ liệu khổng lồ này.
Avinash Sonawane

@Avinash: xin lỗi, quên thêm lệnh để cập nhật. Tôi đã cập nhật kiểm tra plz trả lời.
binW

Không hoàn toàn là phương pháp tôi sử dụng, nhưng hiệu quả tổng thể là như nhau.
MBraedley

10

Tôi đã trả lời "Làm cách nào để tùy chỉnh Ubuntu CD trực tiếp?" với cách tạo đĩa CD trực tiếp từ các bản cài đặt hiện tại. Điều này có nghĩa là bạn sẽ không cần phải tải xuống tất cả các gói một lần nữa. Hướng dẫn này có thể vẻ dài và khó, nhưng chủ yếu là "làm theo" và "sao chép và dán". Đây là, sao chép ra và chỉnh sửa một chút:

Tạo CD trực tiếp từ bản cài đặt hiện có / mới

Một cách tốt sẽ là tạo một đĩa CD trực tiếp từ bản cài đặt hiện tại. Điều này có thể được thực hiện bằng máy ảo (chỉ không cài đặt bất kỳ công cụ VM nào bên trong HĐH khách)

Vì vậy, trước tiên chúng tôi cần cài đặt mới (nếu bạn không thể cài đặt thật, hãy thử sử dụng máy ảo) chỉ với những thứ bạn cần (trong trường hợp của bạn là thunderbird, samba và ssh). Sau đó, chúng tôi điều chỉnh hệ thống và ghi lại vị trí của các chỉnh sửa (ví dụ: bạn thay đổi nền màn hình của mình, các cài đặt nằm trong ~ / .gconf hoặc bạn thêm các phím tắt firefox, chúng được đặt trong ~ / Desktop). Điều này là cần thiết cho bước 4.

  1. Thiết lập một số biến:

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

    Thay thế ~ / temp bằng một đường dẫn đến một thư mục tạm thời mà chúng ta sẽ làm việc. Thay thế ~ / livecd bằng một đường dẫn đến cây CD.

  2. Tạo cấu trúc thư mục. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs

  3. Bây giờ chúng ta sẽ cần cài đặt một số gói:

    sudo apt-get install grub2 xorriso squashfs-tools
    
  4. Bây giờ chúng tôi sẽ sao chép cài đặt hiện tại, sửa đổi các cờ loại trừ để phù hợp với nhu cầu của bạn:

    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
    

    Nếu bạn có một phân vùng khởi động riêng, hãy thực hiện điều này: sudo cp -av /boot/* ${WORK}/rootfs/boot
    Nếu bạn muốn sao chép các cấu hình và tệp người dùng của mình, hãy sửa đổi danh sách này nếu cần: CONFIG = '. Config .gconf Desktop một số cách khác

    cd ~ && for i in $CONFIG
    do
    sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
    done        
    
  5. Bây giờ chúng tôi chroot vào hệ thống mới và sửa đổi nó.

    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
    

    Các lệnh tiếp theo được thực hiện trong chroot:

    LANG=
    apt-get update
    apt-get install casper
    

    Casper chứa các kịch bản trực tiếp. Bây giờ trình cài đặt (phiên bản gnome) apt-get install ubiquity-frontend-gtk Hoặc nếu bạn muốn KDE:

    apt-get install ubiquity ubiquity-frontend-kde
    
  6. Cập nhật mô-đun.dep và initramfs:

    depmod -a $(uname -r)
    update-initramfs -u -k $(uname -r)
    
  7. Xóa người dùng không thuộc hệ thống - đừng lo lắng, chúng tôi đã sao chép cài đặt và dữ liệu vào "bộ xương" của người dùng. Điều đó có nghĩa là tất cả người dùng mới sẽ có chúng.

    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. Dọn dẹp:

    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. Thoát khỏi chroot. exit

  10. Bây giờ, chúng tôi sao chép kernel:

    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. Vì vậy, trình cài đặt không cài đặt những thứ như 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        
    
  12. Bỏ kết nối những gì chúng tôi đã gắn kết:

    sudo umount ${WORK}/rootfs/proc
    sudo umount ${WORK}/rootfs/sys
    sudo umount ${WORK}/rootfs/dev/pts
    sudo umount ${WORK}/rootfs/dev
    
  13. Chuyển đổi sang squashfs:

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

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

  16. Bây giờ grub.cfg:

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

    (thay thế nano bằng trình soạn thảo văn bản fav của bạn, điều đó không thành vấn đề) Dán cái này và lưu lại:

    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. Tạo CD / DVD! sudo grub-mkrescue -o ~/live-cd.iso ${CD}

  18. Kiểm tra nó bằng máy ảo!

Tất cả tín dụng đi vào capink, bởi vì hướng dẫn là từ đây .


@ nickguletskii- Vì tôi hoàn toàn là người mới, nên có phần mềm nào để làm việc này không? Nhân tiện cảm ơn bạn đã trả lời.
Avinash Sonawane

@Avinash remastersys và / hoặc Bộ tùy biến Ubuntu.
Uri Herrera

@Avinash Sonawane Sẽ gần như là một thói quen "sao chép và dán" đơn giản, chỉ cần thực hiện các lệnh và thực hiện chúng.
nickguletskii

Vì tôi hoàn toàn là một người mới .. Tôi thích Remastersys hơn là chỉ sao chép n dán và quá nhiều lệnh. Bằng cách này, các lệnh đã làm việc.! :) Cảm ơn bạn @nickguletskii :)
Avinash Sonawane

@Avinash Sonawane Không có vấn đề, và cảm ơn vì đã xác minh! :)
nickguletskii

5

Ở Trung Quốc, một số người bạn sử dụng ucloner trong Ubuntu để sao lưu HĐH.

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

UCloner là một công cụ sao lưu / khôi phục / sao chép được thiết kế cho Ubuntu Linux. Theo một cách nào đó, nó giống như Norton Ghost cho Windows.

Với UCloner, bạn có thể sao lưu hệ thống Ubuntu của mình vào tệp hình ảnh squashfs. Trực tiếp từ tệp hình ảnh này, bạn có thể khởi động PC vào môi trường được gọi là "Live Ubuntu" (cần gói "casper").

Một hệ thống Ubuntu hoạt động có thể tự sao chép vào một / một số phân vùng đích với sự trợ giúp của UCloner. Nhớ đặc vụ Smith trong Ma trận? Vâng, đó là nó.

Nó có cả dòng lệnh và giao diện đồ họa. Nó linh hoạt hơn khi chạy trong giao diện dòng lệnh.

UCloner là phần mềm miễn phí, được phân phối theo GPL v2.

nhập mô tả hình ảnh ở đây


3

Nếu bạn đã cài đặt Ubuntu trên một đĩa cứng duy nhất và bạn có một ổ cứng khác có dung lượng lưu trữ bằng hoặc lớn hơn, thì việc sao chép đĩa rất đơn giản:

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

Vì vậy, ví dụ, nếu bạn muốn sao chép sda vào sdb, thì bạn sẽ làm sudo dd if=/dev/sda of=/dev/sdb . Điều đó sẽ giữ lại tất cả các phân vùng, trình quản lý khởi động, v.v.

Hãy cẩn thận để sử dụng đúng if (tệp đầu vào) và của (tệp đầu ra). Tệp đầu vào là đĩa bạn muốn sao chép. Nếu bạn chuyển đổi thứ tự, sau đó bạn sẽ sao chép đĩa trống vào một đĩa đầy đủ, sẽ để lại cho bạn hai đĩa trống. :)

Cũng đảm bảo rằng đĩa mới có đủ không gian để sao chép đĩa đầu tiên. Nếu không, nó sẽ bị cắt nhỏ ở cuối. Sẽ không có cảnh báo.

Nếu bạn muốn tạo một hình ảnh, sau đó chỉ cần thay thế of=/dev/sdbbằng of=/some_place/disk-image.raw. Lưu trữ nó trên một đĩa khác.


Tôi không có thêm hdd bên ngoài. Tôi chỉ muốn khôi phục hoặc sao lưu toàn bộ HĐH cùng với tất cả các bản cập nhật, trình điều khiển n tất cả vào một tệp .iso. để khi tôi định dạng đĩa của mình và cài đặt lại Ubuntu, tôi sẽ không tải xuống và cài đặt lại lượng dữ liệu khổng lồ đó (phần mềm, trình điều khiển, v.v.)
Avinash Sonawane

chắc chắn rồi. Sau đó, như tôi đã nói ở dòng cuối cùng: dd if = / dev / đĩobobupup của = somefile.img. Đó sẽ là một bản sao hoàn chỉnh của đĩa, vì vậy bạn sẽ phải lưu trữ nó ở đâu đó. Các tệp ISO được gọi là do hệ thống tệp ISO9660 được sử dụng trên CD-ROM. Chúng ta thường gọi chúng là raw hoặc img hoặc một cái gì đó khi chúng ta hình ảnh một đĩa cứng.
Jo-Erlend Schinstad

@ jo-erlend vậy nó có hoạt động khi chuyển từ phân vùng này sang phân vùng khác không? Bộ nạp khởi động và tất cả các loại?
Hari KT

1

Tôi có một tập lệnh di chuyển cài đặt Ubuntu sang một vị trí khác, ví dụ trong trường hợp của bạn, bạn có thể di chuyển nó sang ổ cứng ngoài. Điều thú vị là bạn có thể khởi động độc lập và xác nhận rằng nó hoạt động trước khi định dạng ổ đĩa cũ của bạn. Đây là một bản sao chính xác - không cần cấu hình, cài đặt lại hoặc điều chỉnh. Bạn chỉ cần chuẩn bị phân vùng mục tiêu. (Nó cũng không sửa đổi cài đặt hiện tại để bạn có thể kiểm tra cài đặt đã di chuyển trước khi định dạng cài đặt cũ.)

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

(Vâng, đó là quá trình di chuyển wubi, nhưng nó cũng di chuyển bình thường. Tôi sử dụng tất cả thời gian để sao lưu và khôi phục các cài đặt khác nhau)


1

Khi bạn nhận được tất cả dữ liệu của mình và cài đặt lại, bạn có thể muốn thử sử dụng Clonezilla để chụp ảnh hệ điều hành của bạn. Nếu có sự cố xảy ra, chỉ cần bật hình ảnh hệ điều hành và bạn sẽ đưa hệ thống của mình trở lại vị trí cũ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.