Ubuntu를 32 비트에서 64 비트 버전으로 업그레이드


14

32 비트 버전의 Ubuntu를 64 비트 버전으로 업그레이드하는 방법이 있습니까? 우분투 9.10을 사용합니다.

간단한 방법이 없다면 집과 /etc디렉토리를 새 설치에 간단히 복사하면 어떻게됩니까?


2
힌트 : etckeeper이전 시스템과 새 시스템 에서 사용하고 이전 시스템에 설치된 모든 추가 패키지 ( dselectdpkg -l)를 설치 한 후 dist 구성 파일과 비교하여 변경 사항을 새 시스템에 병합하십시오.) ...
0xC0000022L

답변:


4

불행히도 다른 OS와 마찬가지로이 작업을 수행하는 '업그레이드 경로'는 없습니다. 거의 다시 설치해야합니다.

데이터 보존과 관련하여 홈 디렉토리를 백업하는 것은 다른 데이터와 함께 사용하는 것이 좋으며 새 설치로 쉽게 가져올 수 있습니다.

무언가를 시도하기 전에 항상 데이터를 백업하십시오!


6

/etc패키지의 64 비트 컴파일에 대한 구성 요구 사항간에 약간의 차이가있는 경우 에만 복사하지 않고 복사 한 다음 diff새로 설치된 64 개 시스템에 대해 복사하면 작동합니다. 변경 횟수가 크지 않기 때문에 필요한 작업을 수동으로 수행하는 것은 큰 어려움이되지 않습니다.

/etc당신이 제안한대로 복사 하면 정상적으로 작동해야합니다-편집증을 위해 더 오래 갈 것입니다. /home한 설치에서 다른 설치로 마이그레이션 할 때 고려해야 할 주요 영역 인 복사 는 완전히 안전합니다.

64 비트 응용 프로그램을 사용해야하기 때문에 64 비트로 이동하여 더 많은 RAM을 사용하려는 경우 32 비트 사용자 공간이있는 64 비트 커널을 사용할 수 있습니다. 데비안은 실제로 i386 리포지토리에 a64 커널 패키지를 제공하므로 간단하게 할 수 aptitude install linux-image-2.6-amd64있지만 우분투는 불행히도 그렇게 할 수는 없습니다. 이 기술적으로 (이것은 즉 경험 이다 , 단순하지만 단지이전에 커널을 컴파일 한 경우 프로세스에 익숙합니다). 32 비트 사용자 랜드로 64 비트 커널을 실행하는 경우 개별 앱은 여전히 ​​최대 3Gb (일부 경우 ~ 2Gb)에만 액세스 할 수 있지만 시스템 전체 (모든 프로세스와 함께 커널과 같은 것) IO 캐시 및 버퍼)를 최대한 많이 사용할 수 있습니다. 각 VMWare VM은 이러한 목적으로 단일 앱으로 계산됩니다. 이전 VM 호스트 중 하나를이 방법으로 실행합니다 (VM은 총 64 비트 커널, 32 비트 사용자 영역 및 32 비트 VMWare에서 ~ 7Gb를 사용함). 머신 CPU를 64 비트 지원 시스템으로 업그레이드하고 추가 RAM을 추가했을 때 전체 64 비트 호스트 OS 업그레이드보다 비슷한 VM 솔루션도 같은 방식으로 작동한다고 생각합니다.


PAE가 활성화 된 상태에서 'linux-image-server'커널을 사용하는 것과 동일하지 않습니까?
Kirill V. Lyadvinsky

AMD64 기반 / 호환 프로세서는 32 비트와 64 비트 코드를 함께 실행하기 위해 모드를 전환 할 필요가 없으므로 추가 비 효율성이 없으며 PAE가 사용하는 메모리 매핑 지그 로키가 없습니다. 32 비트 앱은 가상 주소 공간의 하위 4Gb 이하 만 사용하는 것 같습니다. 나는 틀릴 수 있지만 32 비트 및 64 비트 코드를이 방법으로 혼합하여 추가 주소 지정 가능한 RAM을 얻는 것이 PAE보다 비효율적이라고 생각합니다.
David Spillett

6

지난달 32 비트 10.10에서 64 비트 10.10으로 데이터를 유실하지 않고 컴퓨터를 다시 설치했습니다. 64 비트 우분투 10.10을 다시 설치할 때 전체 디스크를 포맷하지 않고 디스크 크기 조정 도구를 선택하는 것이 유일한 방법입니다.


+1. 실제로 나는 이것도 보았습니다 (데비안과 우분투). 그것은 완벽하게 작동하는 것처럼 보였습니다.
0xC0000022L

0

64 비트 커널에서 32 비트 사용자 영역을 실행하면 시스템 기능이 관여하자마자 문제가 발생할 수 있습니다. 예를 들어, 64 비트 커널에서 32 비트 libalsa를 사용하면 asound.h에 정의 된 ioctl 데이터 구조가 64 비트 및 32 비트 아키텍처로 컴파일 될 때 크기와 배열이 다르기 때문에 거의 작동하지만 상당히 불안정하고 불안정합니다.

따라서 jackd -d alsa -X alsaraw (또는 해당 jackd2에 해당)를 사용하면 64 비트 커널에서 32 비트 유틸리티를 호출 할 때 실패한 어설 션으로 중단됩니다. 버퍼 개수가 잘못 해석되므로 표준 오디오 작동의 안정성이 훨씬 떨어집니다.

일반적으로 커널 데이터 구조는 크기가 32 비트와 64 비트 커널간에 다르지 않은 방식으로 선언되거나 32 비트 코드는 커널 구조에 따라 다른 구조 정의를 사용하는 것이 현명해야합니다.

따라서 처음부터 다시 설치하고 홈 파티션 / 디렉토리를 전송하는 것이 좋습니다.


이것은 7 년 전에 요청 및 답변되었습니다. 어떤 새로운 정보를 가져올 지 좀 더 명확하게 알 수 있습니까? 답변 방법둘러보기 참조하십시오 .
Burgi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.