Tôi có thể sao chép toàn bộ Raspberry Pi của mình để triển khai lên một Raspberry Pi khác không?


12

Tôi không chắc liệu tất cả các chủ đề "cách sao lưu thẻ SD của bạn" có phải là những gì tôi đang yêu cầu không ... nhưng chúng ta sẽ đi :)

Có cách nào để tôi có thể tạo bản sao 100% Raspberry Pi của mình và chỉ cần triển khai nó lên một Raspberry Pi khác không? Vì vậy, tôi có hai bản sao giống hệt nhau ... Hoặc điều này được thực hiện bằng cách nhân bản thẻ SD bằng lệnh dd tích hợp ?

Lý do tôi hỏi là tôi có Raspberry Pi được cấu hình đầy đủ với Apache , PHP và một số thư viện khác và bây giờ tôi chỉ muốn một bản sao khác của nó với cùng cấu hình, v.v.

Điều này có thể hay tôi đã trả lời câu hỏi của riêng tôi?


Tôi ngạc nhiên rằng piclone đã không được đề cập cho đến nay. Đối với tôi đó là cách đơn giản nhất để nhân bản thẻ sd trên rpi và nvere có vấn đề với nó. Tôi đã trả lời câu hỏi này trong quá khứ vì vậy đây là một liên kết đến câu trả lời với một số chi tiết khác: raspberrypi.stackexchange.com/questions/66824/ Hy vọng điều này sẽ giúp.
Lí doAndThePi

Tôi không thể tìm thấy tải xuống piclone ở bất cứ đâu
Elia Weiss

Bạn không muốn tải xuống, nó đã ở đó. Chỉ cần gõ piclone trong thiết bị đầu cuối, và nó sẽ khởi chạy GUI.
LecauseAndThePi

Câu trả lời:


9

@naboovalley:

Giả sử kịch bản sau đây:

  • Trên Raspberry Pi của bạn, đi đến một thiết bị đầu cuối và sau đó đi đến thư mục / dev. Bạn sẽ thấy, trong số các thiết bị khác, mmcblk0, mmcblk0p1 và mmcblk0p2.
  • mmcblk0 là thiết bị thẻ SD "trần", trong khi mmcblk0p1 là phân vùng đầu tiên của thẻ SD đó chứa hình ảnh hạt nhân, v.v. và mmcblk0p2 là phân vùng thứ hai của thẻ SD đó chứa hệ thống tệp gốc.
  • Tắt Raspberry Pi của bạn một cách tử tế (gõ lệnh "shutdown", có thể là root)
  • Đặt thẻ SD vào một máy Linux khác. Thông thường, các thư mục được đề cập ở trên phải được tự động gắn trên / media / và nên có 2 thư mục con trong đó (một cho phân vùng 1 của thẻ SD, một cho phân vùng 2 của thẻ SD)
  • Bạn đã tạo một thư mục tạm thời để sao chép nội dung của thẻ SD của bạn. Nói:~/tmp
  • Bạn đang ở ~/tmp

Bây giờ bạn có thể sao chép nội dung của phân vùng đầu tiên o thẻ SD gốc ban đầu bằng cách ban hành lệnh rsync sau:

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

Đừng không đặt một /lúc kết thúc! Lệnh trên sẽ "chạy khô", có nghĩa là nó sẽ cho bạn thấy những gì cuối cùng nó sẽ làm, nhưng sẽ không thực hiện nó thực sự.

Để thực hiện thực sự (sau khi bạn đã xác nhận rằng chạy khô đang làm những gì cần làm), bạn có thể xóa lệnh nkhỏi lệnh trên (vì vậy, rsync -av /media/<user>/<partition1> .).

Sử dụng lệnh tương tự cho các phân vùng khác.

Bây giờ bạn sẽ có một bản sao chính xác của thẻ SD gốc trên máy Linux của bạn.

Tháo thẻ SD gốc, đặt một thẻ SD khác - được định dạng chính xác - vào thẻ Linux của bạn và thực hiện lệnh rsync sau:

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

Đây lại là một hoạt động khô khan, sẽ cho bạn thấy rằng nội dung <partition1>trong /media/<user>sẽ được sao chép vào thẻ SD.

Khi bạn xác nhận tất cả đều ổn, bạn có thể xóa lệnh nkhỏi rsynclệnh.

Làm tương tự cho phân vùng thứ hai.

Điều này sẽ cung cấp cho bạn một bản sao chính xác của thẻ SD gốc vào thẻ SD khác.

Lưu ý: Tôi đã kiểm tra tất cả những thứ này trên máy LubFi. Các thư mục và tên có thể khác nhau trên các bản phân phối Linux khác.

Cũng lưu ý rằng các mục giữa < >là giữ chỗ và bạn phải tự mình xem chúng phù hợp với môi trường của bạn như thế nào.


Hoàn hảo. Cảm ơn bạn! Bản sao "dd" sẽ làm giống như bạn mô tả hay là rsync tốt hơn nhiều khi thực hiện một hệ thống đầy đủ theo cách tôi muốn?
naboovalley

Tôi không có nhiều kinh nghiệm với ddlệnh này, vì vậy tôi không thể nói, xin lỗi ...
GeertVc

Tôi không nhận được hoàn toàn phần bạn nói "- được định dạng chính xác - thẻ SD". Chúng ta có phải định dạng trước thẻ SD với các phân vùng fat32 và ext4 có kích thước phù hợp không? Cảm ơn bạn
Romain Vincent

7

Có, bạn có thể sử dụng ddhoặc Win32 Disk Imager trên Windows để chụp ảnh chính xác từ thẻ này sang thẻ khác. Tuy nhiên, thẻ đích sẽ cần phải có cùng kích thước hoặc lớn hơn để thực hiện điều này.

Bạn cũng có thể sao chép tất cả các tệp trên hệ thống tệp nguồn của mình sang hệ thống tệp đích. Đó là, cắm thẻ đích của bạn vào đầu đọc thẻ USB và dán nó vào Raspberry Pi nguồn của bạn. Sau đó SSH vào và đưa ra các lệnh sao chép thích hợp.

Một điều cần lưu ý nữa là, nếu bạn đã mua khóa cấp phép để giải mã phần cứng của MPEG-2 hoặc VC-1 . Chúng được gắn với phần cứng của bạn, vì vậy bạn sẽ cần đảm bảo rằng bạn chỉnh sửa /boot/config.txt trên bản sao của mình.


Vì vậy, thẻ SD chứa tất cả các tệp cụ thể của hệ thống và các thư viện được cài đặt? Tôi sẽ không cần chạy bất kỳ lệnh cài đặt nào khi cắm bản sao nhân bản của thẻ SD vào R-Pi # 2?
naboovalley

2
Điều này cũng có thể trình bày các vấn đề với Khóa SSH và địa chỉ IP.
Steve Robillard

Vậy trên R-Pi # 2 có thể nghĩ địa chỉ IP giống với R-Pi # 1 không? Tôi đoán tôi chỉ có thể làm mới nó để có được một mạng ip mới?
naboovalley

Nếu bạn đang sử dụng DHCP, RPi sẽ tự động nhận IP mới khi khởi động, nhưng bạn nên thay đổi tên máy chủ nếu bạn dự định sử dụng cả hai trong cùng một mạng con. Nếu bạn sử dụng một ip cố định, bạn nên thay đổi cả IP và tên máy chủ
Roberto

Nếu tôi nhìn vào hệ thống tập tin của mình ("df"), tôi có một thứ gọi là "rootfs" 2.1GB và / dev / root 2.1GB - thẻ sd của tôi / dev / mmcblk0 chỉ mất 10M. Vậy khi tôi sao chép "mmcblk0", toàn bộ hệ thống của tôi sẽ được bao gồm? Cảm ơn mọi người
naboovalley

6

Bạn chỉ có thể sao chép bằng dd như @ me-- gợi ý, nhưng đó không phải là tất cả những gì bạn phải làm khi nhân bản một hệ thống. Có một số định danh hệ thống duy nhất cũng nên được thay đổi.

Mật khẩu nên được đặt lại để sử dụng muối mới. Điều này giúp mọi người biết bạn đã sử dụng cùng một mật khẩu hai lần. Chạy passwdlệnh như cả người dùng của bạn (thường là pi ) và là root.

Nếu bạn sử dụng SSH, các khóa SSH sẽ được tạo lại. Điều này rất quan trọng, ví dụ, để đảm bảo rằng nếu ai đó đánh cắp một Raspberry Pi, họ không thể giải mã được thông tin liên lạc với người khác. Chỉ cần chạy lệnh này:

sudo rm /etc/ssh/ssh_host_*

Cuối cùng và quan trọng nhất, bạn cần thay đổi tên máy chủ. Nếu nó mặc định thì đó là raspberrypi . Nếu bạn giống tôi, tôi ssh với tên máy chủ của Raspberry Pi, vì vậy tôi làm ssh raspberrypi. Có hai "raspberrypis" trên mạng làm cho nó ngừng hoạt động, vì vậy cái thứ hai nên được đổi tên thành rasberrypi2 chẳng hạn. Bạn có thể thực hiện thay đổi này với sudo raspi-config, chọn Advanced Optionsvà sau đó chọn Hostname.


raspi-configkhông có sẵn cho Raspbmc . Có lẽ một cách thủ công để đặt tên máy chủ nên được mô tả?
Peter Mortensen


Để tham khảo, raspberrypi.stackexchange.com/questions/3926/ Khăn bao thay đổi tên máy chủ trong Raspbmc.
Fred

4

Nhân bản micro SD để sao lưu hoặc để chuyển hệ thống của bạn sang RPi3 khác được tích hợp dưới dạng phụ kiện, ít nhất là trên phiên bản hệ điều hành tôi có trên SD khởi động NOOBS:

  • Đi phụ kiện;
  • Nhấn Sao chép SD ;
  • Đặt một micro SD trống vào ngăn chứa USB;
  • Đặt ngăn chứa trong khe cắm USB mở;
  • Chọn SD mới;
  • Lượt sao chép.

Đây phải là câu trả lời chính xác. Quá dễ.
Jordan

1

Bạn có thể thực hiện chính xác điều đó bằng cách sử dụng pi mâm xôi và thẻ SD phương châm mới được kết nối qua USB. Phiên bản mới nhất của phần mềm Raspberry Pi có một phần mềm tích hợp có tên SD cardcopier dưới các phụ kiện thực hiện chính xác điều này.

Bạn chọn thẻ gốc của mình (vì vậy thẻ bạn đang khởi động từ) làm Nguồn và thẻ trống được định dạng mới (được kết nối qua đầu đọc thẻ với usb trên pi) làm Đích. Giao diện người dùng khá đơn giản và nó đã làm việc cho tôi lần đầu tiên. Tùy chọn dòng lệnh trên mac sử dụng dd bằng cách nào đó đã kết thúc có vấn đề hoảng loạn hạt nhân.


0

Một công cụ rất an toàn và đáng tin cậy để sao chép những thứ như hệ thống tệp gốc (vì các liên kết có trong hệ thống tệp gốc) là rsync. Công cụ này sẽ tính đến tất cả những thứ cần thiết như dấu thời gian, liên kết, quyền, ... Hoàn toàn phù hợp để sao chép nội dung như bạn muốn làm.


Nhưng tôi vẫn chỉ sao chép nội dung thẻ sd cho toàn bộ hệ thống trùng lặp - hoặc tôi cần bao gồm cái gì khác? Cảm ơn
naboovalley

Xem trả lời mới tôi đăng dưới đây.
GeertVc
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.