Raspberry Pi'nin tamamını başka bir Raspberry Pi'ye yerleştirilmek üzere klonlayabilir miyim?


12

Tüm "SD kartınızı nasıl yedekleyebilirsiniz" konularının ne istediğimi bilmiyorum ... ama işte başlıyoruz :)

Raspberry Pi'nin% 100'ünü klonlamamın ve başka bir Raspberry Pi'ye konuşlandırmamın bir yolu var mı? Yani tam olarak aynı iki kopyam var ... Yoksa bu, dahili dd komutunu kullanarak SD kartı klonlayarak mı yapılıyor ?

Sormamın nedeni, Raspberry Pi'm Apache , PHP ve diğer bazı kütüphanelerle tamamen yapılandırılmış olması ve şimdi sadece aynı yapılandırmalarla vb.

Bu mümkün mü yoksa kendi sorumu cevapladım mı?


Piclone'dan şu ana kadar bahsedilmediğine şaşırdım. Bana göre bu bir rpi üzerinde bir sd kart klonlamanın en basit yolu ve nvere onunla ilgili sorunlar vardı. Geçmişte bu soruyu daha önce cevapladım, bu yüzden cevap ile ilgili daha fazla ayrıntı içeren bir bağlantı var: raspberrypi.stackexchange.com/questions/66824/… Umarım bu yardımcı olur.
2017

Ben hiçbir yerde piclone indir bulamadım
Elia Weiss

İndirmeye karar vermediniz, zaten orada. Terminalde piclone yazmanız yeterlidir ve GUI'yi başlatır.
2018

Yanıtlar:


9

@naboovalley:

Aşağıdaki senaryoyu varsayalım:

  • Raspberry Pi'nizde bir terminale gidin ve / dev dizinine gidin. Diğer cihazların yanı sıra mmcblk0, mmcblk0p1 ve mmcblk0p2'yi de görmelisiniz.
  • mmcblk0 "çıplak" SD kart aygıtıdır, mmcblk0p1 ise çekirdek görüntüsünü içeren SD kartın ilk bölümüdür ve böyle devam eder ve mmcblk0p2, kök dosya sistemini içeren SD kartın ikinci bölümüdür.
  • Raspberry Pi'nizi iyi bir şekilde kapatın (muhtemelen root olarak "shutdown" komutunu yazın)
  • SD kartı başka bir Linux makinesine yerleştirin. Normalde, yukarıda belirtilen dizinler otomatik olarak / media / dizinine bağlanmalı ve orada 2 alt dizin bulunmalıdır (biri SD kartın 1. bölümü için, biri SD kartın 2. bölümü için)
  • SD kartınızın içeriğini kopyalamak için geçici bir dizin oluşturdunuz. Söyle:~/tmp
  • Bulunduğunuz yer ~/tmp

Şimdi ilk rsync komutunu vererek orijinal orijinal SD karttaki ilk bölümün içeriğini kopyalayabilirsiniz:

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

Do not bir koyun /sonunda! Yukarıdaki komut "kuru çalışma" yapacak, yani sonunda ne yapacağını gösterecek, ancak gerçek için yürütmeyecektir.

Gerçek için yürütmek için (kuru çalışmanın yapması gerekeni yaptığını onayladıktan sonra), nyukarıdaki komuttan (yani, rsync -av /media/<user>/<partition1> .) kaldırabilirsiniz .

Diğer bölüm için aynı komutu kullanın.

Şimdi Linux makinenizde orijinal SD kartınızın tam bir kopyasına sahip olmalısınız.

Orijinal SD kartı çıkarın, Linux makinenize başka bir - doğru biçimlendirilmiş - SD kart yerleştirin ve aşağıdaki rsync komutunu yürütün:

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

Bu da içeriği olduğunu göstermelidir bir kuru işlem olup <partition1>in /media/<user>SD karta kopyalanacaktır.

Her şeyin yolunda olduğunu onayladıktan sonra n, rsynckomutunu tekrar kaldırabilirsiniz .

İkinci bölüm için de aynısını yapın.

Bu, orijinal SD kartın diğer SD karta tam bir kopyasını vermelidir.

Not: Tüm bunları bir Lubuntu makinesinde kontrol ettim. Dizinler ve adlar diğer Linux dağıtımlarında farklılık gösterebilir.

Ayrıca, öğelerin < >yer tutucu olduğunu ve ortamınızla nasıl eşleştiklerini kendiniz görmeniz gerektiğini unutmayın.


Mükemmel. Teşekkür ederim! "Dd" kopyası tarif ettiğiniz ile aynı mı olacak yoksa rsync tam sistem kopyasını istediğim gibi yapıyor mu?
naboovalley


Tamamen "- doğru biçimlendirilmiş - SD kart" dediğin kısmı alamıyorum . SD kartı düzgün boyutlandırılmış yağ32 ve ext4 bölümleriyle önceden biçimlendirmemiz gerekiyor mu? Teşekkür ederim
Romain Vincent

7

Evet, bir karttan diğerine tam bir görüntü çekmek için Windows'ta ddveya Win32 Disk Imager'ı kullanabilirsiniz . Ancak, bunu pratik hale getirmek için hedef kartın aynı boyutta veya daha büyük olması gerekir.

Ayrıca, kaynak dosya sisteminizdeki tüm dosyaları bir hedef dosya sistemine kopyalayabilirsiniz. Yani, hedef kartınızı bir USB kart okuyucusuna takın ve bunu Raspberry Pi kaynağınıza yapıştırın. Ardından SSH'yi girin ve uygun kopyalama komutlarını verin.

Akılda tutulması gereken bir şey de, MPEG-2 veya VC-1'in donanım kod çözme için lisans anahtarları satın aldıysanız . Bunlar donanımınıza bağlıdır, bu nedenle kopyanızda /boot/config.txt dosyasını düzenlediğinizden emin olmanız gerekir .


SD kart sisteme özgü tüm dosyaları ve kurulu kütüphaneleri tutar mı? SD kartın klonlanmış kopyasını R-Pi # 2'ye takarken herhangi bir kurulum komutu çalıştırmam gerekmeyecek mi?
naboovalley

2
Bu ayrıca SSH Anahtarları ve IP adresleriyle ilgili sorunları da gösterebilir.
Steve Robillard

Peki R-Pi # 2'de ip-adresinin R-Pi # 1 ile aynı olduğunu düşünebilir mi? Sanırım sadece yeni bir ağ ip almak için yenileyebilir?
naboovalley

DHCP kullanıyorsanız, RPi otomatik olarak önyüklemede yeni bir IP alacaktır, ancak her ikisini de aynı alt ağda kullanmayı planlıyorsanız ana bilgisayar adını değiştirmeniz gerekir. Sabit bir ip kullanırsanız, hem IP'yi hem de ana bilgisayar adını değiştirmeniz gerekir
Roberto

Dosya sistemime ("df") bakarsam, "rootfs" 2.1GB ve / dev / root 2.1GB olarak adlandırılan bir şeyim var - / dev / mmcblk0 sd kartım sadece 10M alır. Peki "mmcblk0" kopyaladığımda tüm sistemim dahil edilecek? Thanks guys
naboovalley

6

Sen ile kopyalama sadece edebilir gg @ bana-- anlaşılacağı gibi, ama bu bir sistem klonlama zaman yapmanız gereken tek şey bu değil. Değiştirilmesi gereken bazı benzersiz sistem tanımlayıcıları da vardır.

Yeni bir tuz kullanılması için şifreler sıfırlanmalıdır. Bu, insanların aynı şifreyi iki kez kullandığınızı bilmelerini engeller. Run passwdkullanıcınızda (genellikle hem de komutunu pi ) ve kök olarak.

SSH kullanıyorsanız, SSH anahtarları yeniden oluşturulmalıdır. Bu, örneğin biri Raspberry Pi'yi çalarsa diğeriyle olan iletişimin şifresini çözemeyeceğinden emin olmak için önemlidir. Sadece şu komutu çalıştırın:

sudo rm /etc/ssh/ssh_host_*

Son olarak ve en önemlisi, ana bilgisayar adını değiştirmeniz gerekir. Varsayılan değerinde ise ahududu . Eğer benim gibiysen, Raspberry Pi'nin ev sahibi adına ssh ediyorum, ben de öyle ssh raspberrypi. Ağ üzerinde iki "ahududu" olması, çalışmayı durdurur, bu nedenle ikincisi örneğin rasberrypi2 olarak yeniden adlandırılmalıdır . Bu değişikliği sudo raspi-config, seçimini yaparak Advanced Optionsve ardından seçimiyle yapabilirsiniz Hostname.


raspi-configRaspbmc için kullanılamaz . Belki de ana bilgisayar adını ayarlamanın manuel bir yolu açıklanmalıdır?
Peter Mortensen


Referans olarak raspberrypi.stackexchange.com/questions/3926/… , Raspbmc altındaki ana bilgisayar adının değiştirilmesini kapsar.
Fred

4

Yedekleme veya sisteminizi başka bir RPi3'e taşımak için bir mikro SD'yi klonlamak, en azından NOOBS başlangıç ​​SD'sinde aldığım işletim sisteminin sürümünde bir aksesuar olarak yerleşiktir:

  • Aksesuarlara gidin;
  • SD Kopyala'ya basın ;
  • Bir USB tutucuya boş bir mikro SD yerleştirin;
  • Tutucuyu açık USB yuvasına yerleştirin;
  • Yeni SD'yi seçin;
  • Vuruş kopyası.

Bu doğru cevap olmalı. Çok kolay.
Ürdün

1

Bunu ahududu pi ve USB ile bağlı yeni bir slogan SD kart kullanarak yapabilirsiniz. Raspberry Pi yazılımının en son sürümü , tam olarak bunu yapan aksesuarlar altında SD cardcopier adlı yerleşik bir yazılıma sahiptir .

Orijinal kartınızı (böylece önyüklediğiniz kart) Kaynak olarak ve yeni biçimlendirilmiş boş kartı (kart okuyucu aracılığıyla pi üzerindeki usb'ye bağlı) Hedef olarak seçersiniz. Oldukça basit bir kullanıcı arayüzü ve ilk kez benim için çalıştı. Mac'te dd kullanan komut satırı seçeneği bir şekilde bir çekirdek panik sorunu yaşadı.


0

Kök dosya sistemleri gibi şeyleri kopyalamak için çok güvenli ve güvenilir bir araçtır (kök dosya sisteminde bulunan bağlantılar nedeniyle) rsync. Bu araç, zaman damgaları, bağlantılar, izinler, ... gibi tüm gerekli şeyleri dikkate alacaktır. Yapmak istediğiniz şeyleri kopyalamak için mükemmeldir.


Ama yine de sadece tam sistem kopyası için sd kart içeriğini kopyaladım - ya da başka bir şey eklemem gerekiyor mu? Teşekkürler
naboovalley

Aşağıda gönderdiğim yeni yanıta bakın.
GeertVc
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.