다른 하드웨어로 마이그레이션하는 경우 Linux 환경을 어떻게 복제 할 수 있습니까?


10

현재 Kubuntu에 설정된 Eclipse, MySQL, Python, Firefox 등에 대한 패키지, 모듈, 설정 등이 있습니다. 또한 필요에 따라 쿠분투를 최적으로 구성했습니다. 다른 프로세서가있는 다른 컴퓨터 (현재 Intel Q9450에서는 새 프로세서가 i7 임)에서 환경을 복제하고 싶습니다. 내가 이해하는 것처럼 내 응용 프로그램은 특정 프로세서와 함께 사용할 수 있도록 컴파일되므로 직선 파티션 복사본을 만드는 것은 의문의 여지가 없습니다.

모든 것을 다시 설치하고 재구성하는 데 부족한 환경을이 다른 컴퓨터에 복제 할 수있는 방법이 있습니까?


이 질문은 나에게 믿어지지 않는다. .. 나는 같은 것을 요구하고 있었다!
dag729

"알다시피, 내 응용 프로그램은 특정 프로세서와 함께 사용할 수 있도록 컴파일되었습니다": 그 아이디어를 어디서 얻었습니까? 나는 그렇게하는 배포판을 알고 있지 않습니다 (물론 젠투 제외).
sleske

@ sleske : 데비안의 ppc 버전에 amd64 패키지를 설치하려고 시도한 적이 있습니까? ;)
dag729

1
@ dag729 : 물론 프로세서 아키텍처 를 변경 하면 새 패키지가 필요합니다. 그러나 인텔 Q9450과 i7은 모두 x86 프로세서입니다.
sleske 2012 년

1
내 i7이 x86_64 인 것으로 생각했습니다. 이 컴퓨터에서 64 비트 응용 프로그램을 실행하고 있습니다. 내가 틀렸어?
호기심

답변:


3

내가 이해하는 것처럼 내 응용 프로그램은 특정 프로세서와 함께 사용할 수 있도록 컴파일되므로 직선 파티션 복사본을 만드는 것은 의문의 여지가 없습니다.

이 결론으로 ​​이어지는 것은 무엇입니까? 적어도 x86의 경우 Kubuntu가 설치 한 패키지는 거의 모든 선사 시대가 아닌 CPU에서 실행되도록 컴파일됩니다. 나는 그들이 486보다 새로운 것을 실행할 것이라고 생각합니다. 아마도 귀하의 경우 문제가되지 않습니다 :-).

따라서 직선 파티션 사본은 정상적으로 작동합니다.

  • 파티션 복사 (또는 cp -a파티션 레이아웃이 변경된 경우을 사용하여 파일을 복사하십시오 )
  • 새로운 파티션 레이아웃에 / etc / fstab을 적용
  • 새 파티션에 맞게 부트 로더를 재구성하고 부트 로더를 다시 설치하십시오.
  • 부팅하고 즐기십시오

다음과 같은 경우에만 문제가 예상됩니다.

  • 자체 컴파일 된 패키지이지만 컴파일러 옵션을 사용하지 않는 한 대부분의 최신 CPU는 기본적으로 컴파일됩니다.
  • 장치 드라이버

대부분의 최신 커널은 부팅시 hw를 자동 감지하므로 일반적으로 드라이버도 정상이어야하지만, 실패 할 경우 일반적으로 단일 사용자 모드로 부팅하여 드라이버 문제를 해결할 수 있습니다.


이것이 작동하면 내 인생이 훨씬 쉬워 질 것입니다. 감사! 나는 이것을 먼저 시도 할 것이다.
궁금한

7

변경하지 않고 홈 디렉토리를 가져올 수 있습니다. 홈 디렉토리에 들어가는 거의 모든 것은 NFS와 같은 것을 공유 할 수 있도록 설계되었으므로 좋습니다.

또한 패키지 선택을 저장하여

sudo dpkg --get-selections '*' >file.txt

다른 컴퓨터에서 복원

sudo dpkg --set-selections <file.txt

마찬가지로 debconf 설정을

sudo debconf-get-selections >file2.txt

와 함께 복원

sudo debconf-set-selections <file2.txt

/etcdebconf가 관리하지 않는 나머지 구성의 경우 etckeeper 와 같은 것을 사용하지 않는 한 (아마도 미래에 대한 아이디어) 수동 변경 사항을 추적하기가 어렵습니다 . 따라서 대부분의 구성을 홈 디렉토리에 유지하는 경향이 있습니다. 그러나 관심있는 프로그램을 알고 있으므로 관련 파일을 쉽게 찾아 /etc수동으로 확인 및 복사 할 수 있습니다.


1
예, 다른 아키텍처로 마이그레이션하는 경우이 방법을 사용하십시오. 참고 사항 : / etc /를 안전한 곳에 복사 한 다음 새 시스템에서 필요할 때 선택적으로 구성 파일을 복원 할 수 있습니다.
sleske

1

집을 백업하고 다른 컴퓨터로 복원 할 수 있습니다. 이것은 귀하의 요구를 완전히 충족시킬 수는 없지만 모든 구성을 복원합니다. 그래도 패키지를 다시 설치해야합니다.


1

대부분의 사용자 정의 구성은 / home /에 있고 나머지는 / etc /에 있습니다. / etc 파일 중 일부에는 기계 또는 하드웨어 관련 정보 (/etc/X11/xorg.conf, / etc / hostname, / etc / fstab이 내 머리 꼭대기에 있음)가 있지만 대부분의 경우 복사 할 수 있습니다. 동일한 OS 버전을 사용하게됩니다.


나열된 것 중에서, MySQL은 / ​​etc /에 구성이있을 가능성이있는 유일한 것입니다. 나머지는 / home /에 있습니다.
Justin Smith

1

두 번째로, 선택 항목을 설정하십시오.

어떤 conffile이 변경되었는지 정확히 알려면 다음을 실행하십시오.

dpkg-query --show --showformat='${Conffiles}\n' |sort -u | \
while read f m obsolete; do \
  [[ -r $f ]] || continue; m2=$(md5sum "$f") ;
  [[ $m2 != "$m  $f" ]] && echo "$f";
done |xargs -n1 dlocate  |tee ~/edited-conffiles

dlocate를 아직 설치하지 않은 경우 해당 위치로 바꾸 dpkg -S거나 건너 뛸 수 있습니다 .

모든 conffile을 백업하려면 다음을 수행하십시오.

dpkg-query --show --showformat='${Conffiles}\n' |sort -u | \
while read f m obsolete; do \
  echo "$f"
done |sudo tar cjf ~/conffiles.tbz2 -T -

1

흠. 약간의 방해가 마음에 들지 않으면 새 HDD를 상자에 꽂고 dd를 사용하십시오. 예를 들어, 현재 루트가 / dev / sda3으로 설정되어 있고 새 HDD를 / dev / sdb2에 마운트 한 경우

dd if=/dev/sda3 of=/dev/sdb2

물론 루트로해야합니다. 그런 다음 Grub을 설치하고 싶을 것이므로 Ubuntu LiveCD를 넣고 사용해야합니다.

또는 다음 링크를 살펴보십시오. http://www.ehow.com/how_4924091_clone-hard-drive-linux.html-Linux 하드 드라이브를 복제하는 것은 꽤 좋은 방법으로 보입니다. 그 사이트를 직접 테스트했습니다.

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