전체 OS 백업


20

전체 디스크를 포맷하고 Ubuntu를 다시 설치해야합니다.

현재 시스템에 많은 소프트웨어를 설치했습니다. 그리고 모든 업데이트, 드라이버 및 응용 프로그램도 다시 설치해야합니다.

설치된 Ubuntu의 .iso 이미지를 모든 소프트웨어, 환경 설정, 드라이버 등과 함께 만들 수있는 방법이 있습니까?

모든 소프트웨어, 드라이브, 업데이트 및 전체와 함께 전체 OS를 백업 할 수있는 방법이 있습니까?


3
전체 OS를 백업하는 것은 유효한 질문이지만 "전체 디스크를 포맷하고 Ubuntu를 다시 설치해야합니다"라는 이유는 이상합니다. 왜 현재 가지고있는 모든 것을 다시 설치하려고 할 때 가지고있는 디스크를 포맷하고 싶습니까?
— Martin

왜 리눅스가 파티션을 가지고 있는지에 대해 생각하고 싶을 수도 있습니다. tldp.org/LDP/intro-linux/html/sect_03_01.html#sect_03_01_02
— Elliptical view

답변:


4

여러 가지 방법이 있습니다. 가장 간단한 방법은 remastersys를 사용하는 것입니다

sudo remastersys dist 

remastersys로 작업하기 전에 유비 쿼티 패키지를 설치해야합니다

또는 fsarchiver , redo-backup (라이브 CD)을 사용할 수 있습니다

운영 체제를 백업하는 방법


Remastersys ..! 바위가 ..! 감사합니다 @ jahid65. :)
— Avinash Sonawane

remastersys가 kubuntu에서 작동합니까?
— Silicomancer

21

수행 할 수있는 작업은 홈 디렉토리를 백업하고 설치 한 모든 패키지 목록을 저장하는 것입니다. 설치된 소프트웨어 목록을 저장하려면 다음 명령을 사용하십시오.

sudo dpkg --get-selections > package_list

이 시스템에 설치된 모든 pakcage / 소프트웨어 목록이있는 파일이 생성됩니다. 이 파일을 안전한 곳으로 백업해야합니다.

그런 다음 컴퓨터에 우분투를 다시 설치할 때 다음 명령을 사용하여 모든 소프트웨어를 설치할 수 있습니다

sudo dpkg --set-selections < packages_list

이 명령은 아무것도 설치하지 않습니다. 설치를 위해 패키지를 표시합니다. 설치하려면 다음 명령을 실행하십시오.

sudo apt-get -u dselect-upgrade

시스템이 모든 패키지를 다운로드하여 설치하므로 완료하는 데 시간이 걸립니다. 이 명령이 완료되면 현재 홈 디렉토리를 이전에 백업 한 디렉토리로 바꾸십시오.

이것이 도움이되기를 바랍니다.


하지만 새로 설치된 Ubuntu에 패키지를 다시 설치할 필요는 없습니까?
— Avinash Sonawane

@Avinash :이 명령은 새로 설치된 우분투에서 패키지를 다시 설치합니다
— Jeremy Kerr

@ Jeremy- i mean ..이 명령은 패키지를 가져 와서 다운로드 한 다음 설치하거나 지금까지 다운로드 한 것을 다운로드하지 않아도됩니까? 실제로이 거대한 데이터를 다운로드하는 데 상당한 시간이 걸리기 때문에 이미 가지고있는 것을 다운로드하고 싶지 않습니다.
— Avinash Sonawane

@Avinash : 죄송합니다. 업데이트 할 명령을 추가하지 않았습니다. 답변 plz check를 업데이트했습니다.
— binW

내가 사용하는 방법은 아니지만 전반적인 효과는 동일합니다.
— MBraedley

10

"라이브 Ubuntu CD를 사용자 정의하는 방법은 무엇입니까?" 현재 설치에서 라이브 CD를 만드는 방법. 즉, 모든 패키지를 다시 다운로드 할 필요가 없습니다. 이 안내서 는 길고 어려워 보일 수 있지만 대부분 "따라 따라 가기"및 "복사하여 붙여 넣기"입니다. 여기에 약간 복사하고 편집했습니다.

기존 / 새 설치에서 라이브 CD 작성

좋은 방법은 현재 설치에서 라이브 CD를 만드는 것입니다. 가상 머신을 사용하여 수행 할 수 있습니다 (게스트 OS 내에 VM 도구를 설치하지 마십시오)

따라서 먼저 필요한 것 (천둥새, 삼바 및 ssh)만으로 새로 설치 (실제로 설치할 수없는 경우 가상 머신을 사용해보십시오)가 필요합니다. 그런 다음 시스템을 조정하고 조정 위치를 기록합니다 (예 : 데스크탑 배경을 변경하거나 설정이 ~ / .gconf에 있거나 파이어 폭스 단축키를 추가 한 경우 ~ / Desktop에 있습니다). 이것은 4 단계에 필요합니다.

  1. 몇 가지 변수를 설정하십시오.

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

    ~ / temp를 작업 할 임시 디렉토리의 경로로 바꿉니다. ~ / livecd를 CD 트리의 경로로 바꿉니다.

  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 Desktop someotherfolder andanotherfolder'이제 구성 및 파일을 복사합니다.

    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
    

    캐스퍼에는 라이브 스크립트가 포함되어 있습니다. 이제 설치 프로그램 (그놈 버전) 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. 설치 프로그램이 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. 마운트 한 것을 마운트 해제하십시오 :

    sudo umount ${WORK}/rootfs/proc
    sudo umount ${WORK}/rootfs/sys
    sudo umount ${WORK}/rootfs/dev/pts
    sudo umount ${WORK}/rootfs/dev
    
  13. squashfs로 변환 :

    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
    

    (fav 텍스트 편집기로 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. CD / DVD를 만드십시오! sudo grub-mkrescue -o ~/live-cd.iso ${CD}

  18. 가상 머신을 사용하여 테스트하십시오!

가이드가 여기에 있기 때문에 모든 크레딧은 capink에갑니다 .


@ nickguletskii- 나는 완전히 초보자이기 때문에 이것을 할 수있는 소프트웨어가 있습니까? 그런데 답장을 보내 주셔서 감사합니다.
— Avinash Sonawane

@Avinash remastersys 및 / 또는 Ubuntu Customization Kit.
— 우리 헤레라

@Avinash Sonawane 그것은 바로 "복사 및 붙여 넣기"루틴 일 것입니다. 명령을 내린 후 실행하면됩니다.
— nickguletskii

나는 완전히 초보자이기 때문에. n 붙여 넣기와 너무 많은 명령을 복사하는 것보다 Remastersys를 선호했습니다. 그런데이 명령들이 작동했습니다! :) 감사합니다 @nickguletskii :)
— Avinash Sonawane

@Avinash Sonawane 문제 없습니다. 확인해 주셔서 감사합니다! :)
— nickguletskii

5

중국의 일부 친구 는 우분투에서 ucloner 를 사용 하여 OS를 백업합니다.

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

UCloner는 Ubuntu Linux 용으로 설계된 백업 / 복원 / 복제 도구입니다. 어떤면에서는 Windows 용 Norton Ghost와 같습니다.

UCloner를 사용하면 Ubuntu 시스템을 squashfs 이미지 파일로 백업 할 수 있습니다. 이 이미지 파일에서 직접 PC를 소위 "Live Ubuntu"환경 ( "casper"패키지 필요)으로 부팅 할 수 있습니다.

활성화 된 우분투 시스템은 UCloner의 도움으로 자체 대상 파티션에 복제 할 수 있습니다. 매트릭스의 스미스 요원을 기억하십니까? 그래, 그거야

명령 행과 그래픽 인터페이스가 있습니다. 명령 행 인터페이스에서 실행할 때 더 유연합니다.

UCloner는 무료 소프트웨어이며 GPL v2에 따라 배포됩니다.

여기에 이미지 설명을 입력하십시오


3

단일 하드 디스크에 Ubuntu가 설치되어 있고 저장 용량이 같거나 더 큰 다른 하드 디스크가있는 경우 디스크 복제는 정말 간단합니다.

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

예를 들어, sda를 sdb에 복제하려면을 수행하십시오 sudo dd if=/dev/sda of=/dev/sdb. 모든 파티션, 부팅 관리자 등이 유지됩니다.

올바른 if (입력 파일) 및 (output 파일)을 사용하도록주의하십시오. 입력 파일은 복사하려는 디스크입니다. 순서를 전환하면 빈 디스크를 전체 디스크로 복제하여 두 개의 빈 디스크를 남겨 둡니다. :)

또한 새 디스크에 첫 번째 디스크를 복제하기에 충분한 공간이 있는지 확인하십시오. 그렇지 않으면 마지막에 잘립니다. 경고가 없습니다.

이미지를 만들려면, 단순히 교체 of=/dev/sdb와 함께 of=/some_place/disk-image.raw. 다른 디스크에 저장하십시오.


여분의 외부 HDD가 없습니다. 모든 업데이트, 드라이버 n을 모두 단일 .iso 파일로 전체 OS를 복원하거나 백업하고 싶습니다. 디스크를 포맷하고 우분투를 다시 설치할 때 그 엄청난 양의 데이터 (소프트웨어, 드라이버 등)를 다운로드하고 재설치하지 않을 것입니다
— Avinash Sonawane

확실한. 마지막 줄에서 말했듯이 dd if = / dev / disktobackup of = somefile.img. 디스크의 완전한 복사본이 될 것이므로 어딘가에 저장해야합니다. ISO 파일은 CD-ROM에서 사용되는 ISO9660 파일 시스템으로 인해 호출됩니다. 우리는 일반적으로 하드 디스크를 이미지화 할 때 원시 또는 img 또는 무언가라고 부릅니다.
— Jo-Erlend Schinstad

@ jo-erlend 그래서 하나의 파티션에서 다른 파티션으로 이동해도됩니까? 부트 로더와 모든 종류의 것들?
— Hari KT

1

Ubuntu 설치를 다른 위치로 마이그레이션하는 스크립트가 있습니다. 예를 들어 외부 하드 드라이브로 마이그레이션 할 수 있습니다. 깔끔한 점은 이전 드라이브를 포맷하기 전에 독립적으로 부팅하고 작동하는지 확인할 수 있다는 것입니다. 정확한 사본이므로 구성, 재설치 또는 조정할 필요가 없습니다. 대상 파티션을 준비하기 만하면됩니다. 또한 이전 설치를 포맷하기 전에 마이그레이션 된 설치를 테스트 할 수 있도록 현재 설치를 수정하지 않습니다.

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

(예, wubi 마이그레이션이지만 일반 마이그레이션도 수행합니다. 다른 설치를 백업하고 복원하는 데 항상 사용합니다)


1

모든 데이터를 얻은 후 다시 설치하면 Clonezilla를 사용하여 OS 이미지를 사용해 볼 수 있습니다. 문제가 발생하면 OS 이미지를 팝업하면 시스템을 원래 위치로 되돌릴 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.