전체 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.