다른 Raspberry Pi에 배포하기 위해 전체 Raspberry Pi를 복제 할 수 있습니까?


12

모든 "SD 카드를 백업하는 방법"주제가 내가 요구하는 내용인지 확실하지 않지만 여기에 있습니다.)

Raspberry Pi를 100 % 복제하여 다른 Raspberry Pi에 배포 할 수있는 방법이 있습니까? 그래서 정확히 두 개의 동일한 사본이 있습니다 ... 아니면 내장 dd 명령을 사용하여 SD 카드를 복제하여 수행 합니까?

내가 묻는 이유는 Apache , PHP 및 기타 라이브러리로 Raspberry Pi를 완전히 구성 했으며 이제는 정확히 동일한 구성으로 다른 복제본을 원하기 때문입니다.

이것이 가능합니까 아니면 내 질문에 대답 했습니까?


piclone이 지금까지 언급되지 않은 것에 놀랐습니다. 나에게 그것은 rpi에서 sd 카드를 복제하는 가장 간단한 방법이며, nvere는 그것에 문제가있었습니다. 나는 이미 과거 에이 질문에 대답 했으므로 여기에 더 자세한 내용이있는 답변 링크가 있습니다 : raspberrypi.stackexchange.com/questions/66824/… 이것이 도움이되기를 바랍니다.
LecauseAndThePi

나는 어디에서나 piclone 다운로드를 찾을 수 없었다
Elia Weiss

다운로드하지 않았으며 이미 있습니다. 터미널에 piclone을 입력하면 GUI가 시작됩니다.
LecauseAndThePi

답변:


9

@naboovalley :

다음 시나리오를 가정하십시오.

  • Raspberry Pi에서 터미널로 이동 한 다음 / dev 디렉토리로 이동하십시오. 다른 장치 중에서 mmcblk0, mmcblk0p1 및 mmcblk0p2가 표시되어야합니다.
  • mmcblk0은 "베어"SD 카드 장치 인 반면, mmcblk0p1은 커널 이미지를 포함하는 SD 카드의 첫 번째 파티션이며, mmcblk0p2는 루트 파일 시스템을 포함하는 SD 카드의 두 번째 파티션입니다.
  • 적절한 방식으로 Raspberry Pi를 종료하십시오 ( "shutdown"명령을 루트로 입력하십시오)
  • SD 카드를 다른 Linux 시스템에 넣습니다. 일반적으로 위에서 언급 한 디렉토리는 / media /에 자동으로 마운트되어야하며 2 개의 서브 디렉토리가 있어야합니다 (SD 카드의 파티션 1에 대한 하나, SD 카드의 파티션 2에 대한 하나)
  • SD 카드의 내용을 복사하기 위해 임시 디렉토리를 만들었습니다. 말하다:~/tmp
  • 당신은에 위치하고 있습니다 ~/tmp

이제 다음 rsync 명령을 실행하여 원본 원본 SD 카드의 첫 번째 파티션 내용을 복사 할 수 있습니다.

rsync -avn /media/<user>/<partition1> .

마십시오 하지 를 넣어 /마지막에! 위의 명령은 "드라 이런 (dry run)"상태가되므로 결국 수행 할 작업이 표시되지만 실제로 실행되지는 않습니다.

드라이 런이 수행해야하는 작업을 확인한 후 실제 실행하려면 n위 명령에서를 제거 할 수 있습니다 ( rsync -av /media/<user>/<partition1> .).

다른 파티션에 동일한 명령을 사용하십시오.

이제 Linux 시스템에 원본 SD 카드의 정확한 사본이 있어야합니다.

원래 SD 카드를 제거하고 Linux 시스템에 올바르게 포맷 된 다른 SD 카드를 넣고 다음 rsync 명령을 실행하십시오.

rsync -avn <partition1> /media/<user>

이것은 다시 드라이 런이며 <partition1>in 의 내용 /media/<user>이 SD 카드에 복사 된다는 것을 보여줍니다 .

모든 것이 정상임을 확인 n하면 rsync명령 에서 다시 제거 할 수 있습니다 .

두 번째 파티션에 대해서도 동일하게 수행하십시오.

원본 SD 카드를 다른 SD 카드에 정확하게 복사해야합니다.

참고 : Lubuntu 컴퓨터에서이 모든 것을 확인했습니다. 디렉토리와 이름은 다른 Linux 배포판에서 다를 수 있습니다.

또한 사이에 < >있는 항목 은 자리 표시 자 이므로 해당 항목 이 사용자 환경과 어떻게 일치하는지 직접 확인해야합니다.


완전한. 감사합니다! "dd"카피는 당신이 묘사 한 것과 동일하게 작동합니까?
naboovalley

나는 dd명령에 대한 경험이 많지 않아서 말할 수 없다, 미안 ...
GeertVc

나는 당신이 "- 올바르게 포맷 된 -SD 카드" 라고 말하는 부분을 완전히 얻지는 못합니다 . 적절한 크기의 fat32 및 ext4 파티션으로 SD 카드를 미리 포맷해야합니까? 감사합니다
Romain Vincent

7

예 . Windows에서 dd또는 Win32 디스크 이미 저 를 사용 하여 한 카드에서 다른 카드로 정확한 이미지를 찍을 수 있습니다. 그러나이 기능을 사용하려면 대상 카드의 크기가 동일하거나 커야합니다.

소스 파일 시스템의 모든 파일을 대상 파일 시스템으로 복사 할 수도 있습니다. 즉, 대상 카드를 USB 카드 리더에 꽂고 소스 Raspberry Pi에 꽂습니다. 그런 다음 SSH를 입력하고 적절한 복사 명령을 발행하십시오.

MPEG-2 또는 VC-1 의 하드웨어 디코딩을위한 라이센스 키를 구입 한 경우에도 명심해야합니다 . 이들은 하드웨어에 연결되어 있으므로 사본 에서 /boot/config.txt 를 편집해야합니다 .


SD 카드는 모든 시스템 특정 파일과 설치된 라이브러리를 가지고 있습니까? 복제 된 SD 카드 사본을 R-Pi # 2에 꽂을 때 설치 명령을 실행할 필요가 없습니까?
naboovalley

2
또한 SSH 키 및 IP 주소와 관련된 문제가 발생할 수 있습니다.
Steve Robillard

R-Pi # 2에서 ip-address가 R-Pi # 1과 같다고 생각할 수 있습니까? 새 네트워크 IP를 얻기 위해 새로 고칠 수 있다고 생각합니까?
naboovalley

DHCP를 사용하는 경우 RPi는 부팅시 자동으로 새 IP를 수신하지만 동일한 서브넷에서 둘 다 사용하려는 경우 호스트 이름을 변경해야합니다. 고정 IP를 사용하는 경우 IP와 호스트 이름을 모두 변경해야합니다
Roberto

파일 시스템 ( "df")을 보면 "rootfs"2.1GB 및 / dev / root 2.1GB라는 이름이 있습니다. 내 / dev / mmcblk0 sd-card는 10M 만 걸립니다. "mmcblk0"을 복사하면 전체 시스템이 포함됩니까? 감사합니다
naboovalley

6

@me에서 제안한 것처럼 dd 로 복사 할 수 있지만 시스템을 복제 할 때해야하는 전부는 아닙니다. 변경해야 할 고유 시스템 식별자도 있습니다.

새 솔트가 사용되도록 비밀번호를 재설정해야합니다. 이렇게하면 사람들이 동일한 비밀번호를 두 번 사용한 것을 알 수 없습니다. passwd사용자 (보통 pi )와 루트로 명령을 실행하십시오 .

SSH를 사용하는 경우 SSH 키를 다시 생성해야합니다. 예를 들어 누군가 누군가 라즈베리 파이를 훔치면 다른 사람과의 통신을 해독 할 수 없도록하는 것이 중요합니다. 이 명령을 실행하십시오.

sudo rm /etc/ssh/ssh_host_*

마지막으로 가장 중요한 것은 호스트 이름을 변경해야합니다. 기본값 인 경우 raspberrypi 입니다. 당신이 나처럼 있다면, 나는 Raspberry Pi의 호스트 이름으로 ssh합니다 ssh raspberrypi. 네트워크에 두 개의 "라즈베리 피"가 있으면 작동이 중지되므로 두 번째는 rasberrypi2 로 이름을 바꿔야합니다 . 당신은이 변화를 만들 수 있습니다 sudo raspi-config선택 Advanced Options하고 선택 Hostname.


raspi-configRaspbmc 에는 사용할 수 없습니다 . 호스트 이름을 수동으로 설정하는 방법을 설명해야합니까?
피터 Mortensen


참고로 raspberrypi.stackexchange.com/questions/3926/… 은 Raspbmc에서 호스트 이름 변경을 다룹니다.
Fred

4

백업을 위해 마이크로 SD를 복제하거나 시스템을 다른 RPi3으로 옮기는 것은 최소한 NOOBS 시작 SD에있는 운영 체제 버전에 액세서리로 내장되어 있습니다.

  • 액세서리로 이동;
  • 적중 복사 SD ;
  • 빈 마이크로 SD를 USB 홀더에 넣습니다.
  • 열린 USB 슬롯에 홀더를 놓습니다.
  • 새로운 SD를 선택하십시오.
  • 사본을 누르십시오.

이것이 정답이어야합니다. 너무 쉽게.
Jordan

1

USB를 통해 연결된 라즈베리 파이와 새로운 모토 SD 카드를 사용하여 정확하게 할 수 있습니다. 최신 버전의 Raspberry Pi 소프트웨어에는 SD 카드 복사기 라는 소프트웨어가 내장되어 있습니다 .

원래 카드 (부팅하는 카드)를 소스로 선택하고 새로 포맷 된 빈 카드 (카드 판독기를 통해 pi의 usb에 연결)를 대상으로 선택합니다. 매우 간단한 UI이며 처음으로 작동했습니다. dd를 사용하는 mac의 명령 줄 옵션은 결국 커널 패닉 문제가 발생했습니다.


0

루트 파일 시스템 (루트 파일 시스템에있는 링크로 인해)과 같은 것을 복사하는 매우 안전하고 안정적인 도구는 rsync입니다. 이 도구는 타임 스탬프, 링크, 권한 등 필요한 모든 것을 고려합니다. 원하는 작업을 복사하는 데 가장 적합합니다.


그러나 여전히 전체 시스템 복제본에 대한 SD 카드 내용 만 복사합니까 아니면 다른 것을 포함해야합니까? 감사합니다
naboovalley

아래에 게시 한 새 답변을 참조하십시오.
GeertVc
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.