Kullanıcı ayarları ve veriler yeni makineye nasıl taşınır?


52

Ubuntu'da yeniyim ve son zamanlarda bilgisayarımda kullanmaya başladım. Bu bilgisayarı yeni bir makine ile değiştireceğim. Verilerimi ve ayarlarımı nettop'a aktarmak istiyorum. Hangi yönleri dikkate almalıyım?

Açıkçası verilerimi taşımak istiyorum. Yalnızca tüm ev klasörünü kopyalarsam hangi şeyleri özlüyorum?

Bu bir ev bilgisayarıdır (kurumsal değil), bu nedenle kullanıcı hakları ve diğer güvenlik sorunları endişe duymaz, ancak dosyaların yeni makinede erişilebilir olması gerekir!

Lütfen yeni makinenin bir optik sürücüye sahip olmayan ve eski SATA diskini takmama izin vermeyen bir ağ olduğunu unutmayın, bu nedenle herhangi bir veri aktarımı ev ağı üzerinden yapılmalıdır (her ikisini de alabilirim) eski ve yeni makine açıldı ve ev LAN'ına bağlı) ve sınırlı kapasiteye (2GB) sahip bir USB flaş sürücüm var.
Bu, genel uygulanabilirliği sınırlandırabilir gibi görünmektedir, ancak aslında daha genel hale getirecektir .

Yanıtlar:


43

Kullanıcı ayarları, taslak olarak Ana klasörde saklanır. Bu yüzden, eğer /home/your-usernamebilgisayarınızı yeni bilgisayarınıza kopyalarsanız , iyi olmalısınız ...

... ama uyarılar var:

  • İzinler. "Programların" (kabuk komut dosyaları, özel derleme programları) giriş klasörüne yerleştirilmesi yaygındır. İzinleri korumak için, --preserve=modedüğmesini kullanın (kullanarak cp) veya -p(kullanarak tar)
  • Kullanıcı Kimliği / Grup Kimliği. Kullanıcı adları her iki sistemde de eşit olsa bile, kullanıcı kimliği gerekmez. Genellikle, bu bir sorun değildir, ancak Kullanıcı Adında geçiş yapan komut dosyaları / programlar / ayarlar kullanıyorsanız, kullanıcı kimliği ve grup kimliğinin hedef sistemde aynı olduğundan emin olmalısınız.
    Yürüterek mevcut kullanıcı kimliği ve grup kimliğini bulabilirsiniz id. Örneğin, "kullanıcı adınız" kullanıcısının kullanıcı kimliğini değiştirmek için çalıştırın sudo usermod --uid 1234 your-username. GroupID'yi değiştirmek için koşmanız gerekir sudo groupmod --gid 1234 your-username.

Ayarlar (Firefox profili, görünüm, ...) genellikle gizli klasörlerde (veya dosyalarda) saklanır. Gizli klasörler / dosyalar, .mozillaFirefox (ve diğer Mozilla uygulamaları) için bir noktaya eklenmiştir .

Güvenlik bir sorun olmadığından ve kopyalama işini olabildiğince çabuk yapmak istiyorsanız, netcat ve tar programlarının bir kombinasyonunu öneririm. Her iki uygulama da varsayılan olarak yüklenir. Her iki bilgisayardaki güvenlik duvarlarının 8888 numaralı hedef bağlantı noktasına (kaynak bilgisayar) ve 8888 numaralı hedef bağlantı noktasına (hedef bilgisayar) giden erişime izin verdiğinden emin olun. Nettop'u bilgisayarın yanına yerleştirin, böylece komutları hızlı bir şekilde çalıştırabilirsiniz.

Kaynak bilgisayarda, geleneksel netcat programının kurulu olması gerekir (aka İsviçre Çakısı, BSD değil). Bunu yapmak için netcat-traditionalpaketi kurun . Geleneksel netcat programını varsayılan olarak yapılandırmak da isteyebilirsiniz. Netcat-traditional'i yüklemek ve bunu varsayılan olarak kullanmak için komutlar:

sudo apt-get install netcat-traditional 
sudo update-alternatives --set nc /bin/nc.traditional

Kaynak bilgisayarda, bir sonraki komutu bir terminale yazın (henüz Enter tuşuna basmayın):

 tar cz -C/home $(whoami) | nc -l -p 8888 -w 10

Açıklama:

  • tar dosyaları paketlemek için bir yardımcı programdır
  • cz c böyle bir dosyayı okur ("tarball")
  • Tarball, dosya boyutunu azaltmak için G Z ip algoritması kullanılarak sıkıştırılır .
  • -C/home $(whoami)çalışma dizinini değiştirir /homeve kullanıcı adı klasörünüzü koyar. Alternatif olarak, your-usernameklasörünüzü tarball'a yazabilirsiniz.
  • nc (netcat), makineler arasında kolayca bağlantı kurmak için kullanılır
  • -l: Dinleme modu, diğer makinelerin mevcut makineye bağlanmasına izin verir
  • -p 8888: 8888 numaralı bağlantı noktasını dinler (rastgele seçilen sayı, 1024'ten daha yüksek herhangi bir sayı da olabilir)
  • -w 10: 10 saniye sessizlikten sonra netcat'ten çıkın. Bu kaynak bilgisayara bu süre içinde bağlanmanız gerekir.

Şimdi hedef bilgisayara git (nettop). Dosyaları hedef makineye eklemek için şunu yazın (henüz çalıştırmayın):

nc 192.168.1.2 8888|tar xzp -C/home
  • 192.168.1.2kaynak bilgisayarın IP adresidir. IP adresini almak ifconfigiçin, kaynak makinede çalıştırın:
  • 8888 kaynak makineye girilen bağlantı noktası numarasıdır.
  • xzp: E x G yollar , Z ise ip sıkıştırılmış tarball s rezerv izinleri.
  • -C/home: your-usernameklasörü çıkartır/home/your-username
  • İsteğe bağlı olarak, -vayrıntılı çıkarım için tar komutuna anahtarı ekleyin , böylece ilerleme hakkında bir fikir edinebilirsiniz. Bu, her bir dosyanın yazdırılması gerektiğinden kopyalama işlemini yavaşlatabilir.

Şimdi kaynak bilgisayara gidin, server komutunu çalıştırmak için Enter tuşuna basın. İstemci komutunu çalıştırmak için hızlıca nettop'unuza geçin ve Enter (Giriş) düğmesine basın.

Herhangi bir sorunuz varsa, sadece aşağıdaki yorum alanını kullanın.


1
Kesinlikle mükemmel bir bakış! Ayrıca komutların ayrıntılı açıklaması için teşekkür ederiz. Yalnızca bir monitörüm olduğu için, her iki makineyi yan yana kurmak ve eski makineye erişmek için bir çeşit VNC kullanmak istiyorum. Google’a aptallar için harika bir rehber bulabileceğime eminim - belki bir tane önerebilirsin?
Torben Gundtofte-Bruun

Kubuntu (Krdc) ile birlikte verilen uygulama dışında başka bir VNC kullanmadım. Bir GUI'ye ihtiyacınız yoksa (bu kopyalama işlemi gibi), yalnızca yükleyin openssh-server; çalıştırarak makinenize bağlanabilirsiniz ssh your-username@192.168.1.2. Uzaktan GUI erişimi için (kablosuz) bir ağ üzerinden bile acı verici şekilde yavaş olduğundan VNC kullanmıyorum. Ben tavsiye X2go uzaktan için GUI kontrolü ( kurulum kılavuzu ).
Lekensteyn

Kaynak makinesi bana şöyle diyor: "Bu netcat-openbsd paketinden nc. Netcat-geleneksel paketinde alternatif bir nc var. Use: nc [-46DdhklnrStUuvzC] [-i aralığı] [-P proxy_username] [-p source_port ] [-s source_ip_adresi] [-T ToS] [-w zaman aşımı] [-X proxy_protocol] [-x proxy_adresi [: port]] [ana bilgisayar adı] [port [s]] ", terminal istemi yeniden görünür ve Hedef makine hiçbir şey alamaz. Yanlış bir şey mi yapıyorum?
Daniel

@Daniel: Yanlış yaptığın tek şey, sorunuzu yorum olarak göndermek. Yeni bir soru açın ve bununla bağlantı kurun.
Torben Gundtofte-Bruun

Merhaba @Lekensteyn, pek çok "Açamıyorum" ve "Mkdir: böyle bir dosya veya dizin yok" u alıyorum ... Bunu bir VM'de (misafir olarak) yapmaya çalışırken de geçerli mi?
George Katsanos

16

Yazılım paketleri için aşağıdakileri okumalısınız: http://www.omgubuntu.co.uk/2010/05/transfer-your-packages-to-a-clean-install/

oldmachine$ sudo dpkg --get-selections > installedsoftware
newmachine$ sudo dpkg --set-selections < installedsoftware
newmachine$ sudo apt-get --show-upgraded dselect-upgrade

Ayarlar ve veriler için, biraz daha karmaşık :-( Ayarların çoğu ana klasörünüzde saklanır, bu nedenle HOME'unuzun yedeğini almak hile yapabilir ... Ama sonra elbette bu sistemi kapsamaz. config / etc içinde saklanan uygulamalar ...


newmachine$ sudo apt-get --show-upgraded dselect-upgradehata veriyorE: Command line option --show-upgrade is not understood
frepie

12

Uygulamalar için tüm ayarların çoğu, varsayılan olarak gizlenmiş ana klasörünüzdedir. Ctrl+hNautilus'ta basarsanız bu klasörleri göreceksiniz. En kolay yolu, yapılandırmalar için ihtiyaç duyduğunuz klasörleri basitçe bulmaktır. Bunun gibi bir şey:

rsync -avz me@remote:/home/me/.foo me@remote:/home/me/.var me@remote:/home/me/.ack me@remote:/home/me/.bar /home/me/

Ayrıca - tüm ana klasörünüzü yeni makineye bağlayabilirsiniz - ancak bu, kurulumunuza bağlı olarak sorunlara neden olabilir.




8

Bir makinede sevdiğiniz bir kurulum varsa, basitçe klonlayabilirsiniz. Makinelerin aynı mimariyi çalıştırdıkları sürece farklı donanımları olması farketmez (32 bit veya 64 bit, yani i386 veya amd64 veya ...).

İşte bunu yapmanın bir yolu. Biraz uzun, ama oldukça düşük teknolojili. Birçok varyasyon mümkündür.

  1. Plug mevcut makine (veya tersi), yeni makinenin diski.
  2. Mevcut kurulumdan önyükleme yapın .
  3. Yeni diski ayarlayın :
    • Disklerin boyutu aynıysa: bölümleme aracını başlatın (Sistem / Yönetim / GPartlı, paket gparted) ve tüm eski diski yeni diske kopyalayın.
      • Bir makinenin diskini daha sonra diğer makineye monte ederseniz herhangi bir karışıklığı önlemek için, dosya sistemlerinin kopyalarını yeni benzersiz tanımlayıcılar vermelisiniz. Ext2 / ext3 / ext4 dosya sistemi için, yeni diskin sudo tune2fs -U $(uuidgen) /dev/sdz1nerede sdzolduğu ve 1bölüm numarası gibi bir komut kullanın .
      • Birimlerinize adlar atadıysanız, farklı adlar atamak isteyebilirsiniz.
    • Aksi takdirde, yeni diskte GParted veya System / Administration / Disk Utility ile bölümler kurun ve biçimlendirin. Her iki diskte de aynı boyutta bölümler varsa, GParted'e kopyalayabilirsiniz.
  4. Monte şimdi Yerlerde görünmelidir yeni Yüklemenin kök bölümü.
  5. (Eğer bütün diski kopyaladıysanız,. Bu adımı atlayın) Kopya eski yüklemenin verileri kök bölüm yenisi için. Bu adımda izinleri ve dosya sahipliğini korumanın hayati önem taşıdığına dikkat edin ve bu, bunu süper kullanıcı (kök) olarak yapmanız gerektiği anlamına gelir. Ubuntu GUI'nin nasıl bir yöntem olduğunu bilmiyorum. Komut satırında çalıştırın sudo cp -ax / /media/disk9( /media/disk9yeni kök bölümünün monte edildiği konumla değiştirin ).
  6. Bu bölümü (veya diski) 3. adımda bir bütün olarak kopyalamadıysanız , önceki iki adımı başka bir bölüm için (örneğin, ayrı bir ev bölümü) tekrarlayın .
  7. Yeni kurulumun ince ayarını yapın (monte edildiği varsayılarak /media/disk9; adjust as needed):
    • Yeni makinenin adını ayarlamak için Düzenle . Altındaki dosyaları kontrol konak adının geçtiği diğer için - bu görünebilir , vb/media/disk9/etc/hostname/media/disk9/etc//media/disk9/etc/hosts/media/disk9/etc/mailname
    • Bir ssh sunucusu kullanıyorsanız , kaldırın /media/disk9/etc/ssh/ssh_host_*_key*. Yeni yüklemeyi başlattığınızda sunucu yeni anahtarlar üretecektir.
    • Ağı düzenleyerek yapılandırdıysanız , yeni yüklemeyi /etc/network/interfacesdüzenleyin /media/disk9/etc/network/interfaces.
    • İsteğe bağlı olarak, dosyaları kaldırmak /etc/udev/rules.d/70-persistent-*.rulesiçin diskler ve ağ arayüzleri aynı adları (yeniden böylece eğer varsa sda, eth0yeni makinede, ...).
    • Eğer kullanıyorsanız özel bir video sürücülerini taşımak, aynı sürücüyü kullanmamalısınız (ATI veya Nvidia) ve yeni makineyi /media/disk9/etc/X11/xorg.confiçin /media/disk9/etc/X11/xorg.conf.old-machine, aksi takdirde yeni makinede GUI'ya önyükleme için mümkün olmayabilir.
  8. Yeni kurulumla diski tekrar gerçek makinesine taşıyın .
  9. Diski bir bütün olarak klonlamadıysanız, canlı bir CD / USB takın ve önyükleyiciyi onarın .
  10. Yeni kurulumdan önyükleme yapın ve gerekli tüm geçiş aşamalarını uygulayın:
    • Yeni özel sürücüler yüklemeniz gerekebilir (Sistem / Yönetim / Donanım sürücüleri).
    • Ağ Yöneticisi aracılığıyla ayarlanmış statik bir IP adresiniz varsa , yeni makine için ağı ayarlayın.
    • Bir ssh sunucusu çalıştırıyorsanız dpkg-reconfigure openssh-server, yeni bir ana bilgisayar anahtarı oluşturmak için çalıştırın .

2013'ten merhaba :) Farklı donanımın önemli olmadığından emin misin? Bazı Çince dizüstü bilgisayarlardan Mac Air'e geçsem bile mi?
scythargon

@scythargon Aynı CPU tipi olduğu sürece (her iki durumda da x86), önemli bir fark yoktur, belki de sadece kurmanız gereken bazı sürücüler ve bahsettiğim yapılandırma dosyaları. Windows'un aksine, Linux donanım bağımlılıklarını tanımlaması kolay birkaç dosyada toplamaktadır.
Gilles 'SO- kötü olmaktan vazgeç'


Özet için teşekkürler. Kaldırma /etc/udev/rules.d/70-persistent-net.rulesişleminin udev tarafından otomatikleştirilmiş bir dosya olduğunu eklerseniz çok sevinirim , yeni ağ aygıtlarının daha önce yüklenmiş olan adları almadığını garanti etmek için kullanılır.
TVn

@tvn Bu dosyayı gerçekten kaldırmanıza gerek yok. Aynı arabirim / disk adlarının yeniden kullanılmasını önler, ancak bu mutlaka kötü bir şey değildir.
Gilles 'SO- kötülük olmayı'

6

Tüm verileriniz ve ayarlarınız evinizde yayınlanıyor.

Yalnızca kopyalarsanız kaybedersiniz:

  • Yüklü programlar Fakat bu soruya Sabacon'un cevabını görün .
  • Sistem genelinde yapılandırmaları, bir ev bilgisayarında, bu genellikle sadece ekstra PPA'lardır.
  • Sistem genelinde programlar (genellikle daemons) verileri (MySQL veritabanları gibi).

Bir ağ kopyasını çıkarmanın en kolay yolunun şu olduğunu hissediyorum:

  • OpenSSH Server'ı Gwibber indir eski bilgisayara kurun .
  • Her iki bilgisayarın da ağa bağlı olduğundan emin olun.
  • Nautilus'u (dosya tarayıcısı) yeni bilgisayarda açın.
  • Görünüm menüsünde, "Gizli Dosyaları Göster" i işaretleyin.
  • Adres çubuğu türünde CTRL + L tuşlarına basın. ssh://ip-of-old-computer/home/
  • Eski bilgisayarda kullanıcı adınızı ve şifrenizi girmeniz istenmelidir.
  • GUI'yi kullanarak istediğiniz her şeyi kopyalayın.

görüntü tanımını buraya girin


4

Dropbox.

Bu, ayarlarımı bir makineden diğerine yedeklemem ve sabit diskimi tamamen kaybetmem önemli değil.

Dropbox çevrimiçi bir yedekleme / senkronizasyon servisidir ve büyük bir ganimet başlatır ve ücretsiz olarak alabilirsiniz. Ubuntu Karmic ve daha sonra Partner depoları altında bulunur. Nautilus-dropbox adlı bir paket arıyorsunuz. Veya siteden indirebilirsiniz: https://www.dropbox.com/downloading?os=lnx

Yukarıda belirtilen kişilerin söylediği gibi, ilgili ayarlarınızın çoğu /home/yourname/.whatever

Örneğin gnome yapılandırma ayarları altında kaydedilir

/home/username/.gnome2

Yani, senkronizasyonu yapmak için:

Birinci bölüm: yapılandırma ayarlarını Dropbox'a yedekleyin. (Bunların hepsi "eski" makinededir, burada ayarlarınızı / konfigürasyonlarınızı istediğiniz gibi yapabilirsiniz.)

  1. Ana dizininize gidin ve olabildiğince çok "dotfiles" ve dizin bulun. Bunların hemen hepsi kişisel yapılandırma ayarlarıyla ilgili olacak. (Gizli dosyaları görüntülemek için Nautilus'ta Control + H tuşlarına basın.)
  2. Bu yapılandırma dosyaları dosyalarını Dropbox klasörünüze kopyalamak isteyeceksiniz. Bunları kaybetmekten korkuyorsanız YEDEKLEME YAPIN.
  3. Orijinal dosyaları giriş dizininizden çıkarın, ardından yeni girişindeki dosyadan (dropbox klasörünüzün altında) giriş dizinine bir bağlantı oluşturun. Bunu, "Alt" tuşunu basılı tutarken dosya / klasörü sürükleyip ana dizin isminize bırakarak yapabilirsiniz ve "bağlantı oluştur" u seçebilirsiniz.

İkinci bölüm: (Yeni makinede.) Dropbox ile senkronize edilmiş yapılandırma ayarlarından bağlantılar oluşturun.

  1. "Yeni" makinenizde, yani. yeni Ubuntu'yu kurun, eski ev dizini yapılandırma dosyalarınızı silin ( VE GEREKLİDEN YEDEK ). Yeni makineye dropbox yükleyin. Senkronize olmasına izin ver, AKA eski makine ayarlarınızı indirin.
  2. Yeni makinede yukarıdaki 3. adımı tekrarlayın - Dropbox senkronize klasörlerindeki ana dizine bağlantıları kopyalayın.

Voila. Artık internet tabanlı ayar yedekleme ve taşıma işlemlerine sahipsiniz.


2

Stipple'a bir bak, bana ilginç geliyor:

"Yüklü uygulamaların, .config dosyalarının ve diğer ayarların bir sofaDB'ye kaydedilmesini sağlayın. Bu DB'yi Ubuntu One olan diğer bilgisayarlarla eşitleyin. Bu uygulama aynı zamanda bu paketleri ve .config dosyalarını diğer bilgisayarlara yüklemenize yardımcı olur."

https://launchpad.net/stipple


Ubuntu One, hizmet kapatıldığı için artık bir seçenek değil.
Tomislav Nakic-Alfireviç

0

Mackup , birçok uygulamayı buluta veya sürüm kontrolüne yedekleyebilir. Uzatması kolaydır, örneğin, ssh eklentisi nasıl göründüğüdür

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.