Bagaimana cara memigrasi pengaturan pengguna dan data ke mesin baru?

52

Saya baru di Ubuntu dan baru-baru ini mulai menggunakannya di PC saya. Saya akan mengganti PC itu dengan mesin baru. Saya ingin mentransfer data dan pengaturan saya ke nettop. Aspek apa yang harus saya pertimbangkan?

Jelas saya ingin memindahkan data saya. Apa hal yang saya lewatkan jika saya hanya menyalin seluruh folder rumah?

Ini adalah komputer rumahan (bukan korporat) sehingga hak pengguna dan masalah keamanan lainnya tidak menjadi masalah, kecuali bahwa file-file tersebut harus dapat diakses pada mesin baru!

Harap perhatikan bahwa mesin baru ini adalah nettop yang tidak memiliki drive optik dan tidak memungkinkan saya untuk menghubungkan disk SATA lama ke dalamnya, sehingga transfer data apa pun harus ditangani melalui jaringan rumah (saya dapat memiliki keduanya mesin lama dan baru dihidupkan dan terhubung ke LAN rumah) dan saya memiliki USB thumbdrive dengan kapasitas terbatas (2GB).
Ini terdengar seperti itu mungkin membatasi penerapan umum, tetapi sebenarnya akan membuatnya lebih umum.

Torben Gundtofte-Bruun
sumber

Jawaban:

43

Pengaturan pengguna disimpan di folder Beranda dengan desain. Jadi, jika Anda menyalin /home/your-usernameke komputer baru Anda, Anda seharusnya baik-baik saja ...

... tapi ada peringatan:

  • Izin. Sudah umum bahwa "program" (shellscripts, program build khusus) diletakkan di folder home. Untuk mempertahankan izin, gunakan --preserve=modesakelar (menggunakan cp) atau -p(menggunakan tar)
  • UserID / GroupID. Bahkan jika nama pengguna sama pada kedua sistem, ID pengguna tidak harus. Biasanya, ini bukan masalah, tetapi jika Anda memiliki skrip / program / pengaturan menyampaikan pada UserID, Anda harus memastikan bahwa ID pengguna dan ID grup harus sama pada sistem target.
    Anda dapat menemukan userID dan groupID saat ini dengan menjalankan id. Misalnya, untuk mengubah ID pengguna pengguna "nama pengguna Anda", jalankan sudo usermod --uid 1234 your-username. Untuk mengubah groupID, Anda harus menjalankan sudo groupmod --gid 1234 your-username.

Pengaturan (profil Firefox, penampilan, ...) sering disimpan dalam folder (atau file) yang tersembunyi. Folder / file tersembunyi diawali dengan titik, seperti .mozillauntuk Firefox (dan aplikasi Mozilla lainnya).

Karena keamanan bukan merupakan masalah, dan Anda ingin pekerjaan penyalinan dilakukan secepat mungkin, saya sarankan kombinasi dari program netcat dan tar. Kedua aplikasi diinstal secara default. Pastikan bahwa firewall di kedua komputer memungkinkan masuk ke port tujuan 8888 (komputer sumber) dan keluar ke port tujuan 8888 (komputer target). Letakkan nettop di sebelah komputer sehingga Anda dapat menjalankan perintah dengan cepat.

Di komputer sumber, Anda perlu menginstal program netcat tradisional (alias Swiss Army Knife, bukan yang BSD). Untuk melakukannya, instal netcat-traditionalpaket. Anda mungkin juga ingin mengkonfigurasi program netcat tradisional sebagai default. Perintah untuk menginstal netcat-tradisional dan menggunakannya sebagai default:

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

Di komputer sumber, ketikkan perintah selanjutnya di terminal (jangan tekan Enter):

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

Penjelasan:

  • tar adalah utilitas untuk mengemas file
  • cz c membuat file yang dikemas ("tarball")
  • Tarball yang dikompresi dengan menggunakan G Z algoritma ip untuk menurunkan ukuran file.
  • -C/home $(whoami)mengubah direktori kerja menjadi /homedan menempatkan folder nama pengguna Anda. Alternatif, Anda dapat mengetik your-usernamefolder Anda di tarball
  • nc (netcat) digunakan untuk mengatur koneksi antar mesin dengan mudah
  • -l: Mode Listening, memungkinkan mesin lain terhubung ke mesin saat ini
  • -p 8888: Mendengarkan pada port 8888 (nomor yang dipilih secara acak, bisa jadi nomor lain yang lebih tinggi dari 1024 juga)
  • -w 10: berhenti netcat setelah 10 detik diam. Anda harus terhubung ke komputer sumber ini dalam waktu ini.

Sekarang, masuklah ke komputer target (nettop). Untuk menambahkan file ke mesin target, ketik (jangan jalankan):

nc 192.168.1.2 8888|tar xzp -C/home
  • 192.168.1.2adalah alamat IP komputer sumber. Untuk mendapatkan alamat IP-nya, jalankan: ifconfigpada mesin sumber
  • 8888 adalah nomor port seperti yang dimasukkan pada mesin sumber
  • xzp: e x traktasi tarball terkompresi G Z saat p memesan izin.
  • -C/home: mengekstrak your-usernamefolder ke/home/your-username
  • Secara opsional, tambahkan -vsakelar ke perintah tar untuk ekstraksi verbose, sehingga Anda bisa mendapatkan gagasan tentang perkembangannya. Ini bisa memperlambat proses penyalinan karena setiap file harus dicetak.

Sekarang pergi ke komputer sumber, tekan Enter untuk menjalankan perintah server. Beralih dengan cepat ke nettop Anda dan tekan Enter untuk menjalankan perintah klien.

Jika Anda memiliki pertanyaan, cukup gunakan kolom komentar di bawah ini.

Lekensteyn
sumber
1
Ikhtisar yang sangat bagus! Terima kasih juga atas penjelasan terperinci dari perintah. Karena saya hanya memiliki satu monitor, saya ingin mengatur kedua mesin di samping satu sama lain dan menggunakan semacam VNC untuk mengakses mesin yang lama. Saya yakin saya dapat dengan cepat Google panduan hebat untuk boneka - tapi mungkin Anda bisa merekomendasikannya?
Torben Gundtofte-Bruun
Saya belum menggunakan VNC lain selain aplikasi yang disediakan dengan Kubuntu (Krdc). Jika Anda tidak memerlukan GUI (seperti proses penyalinan ini), cukup instal openssh-serverdan Anda akan dapat terhubung dengan mesin Anda dengan menjalankan ssh [email protected]. Untuk akses GUI jarak jauh , saya tidak menggunakan VNC karena sangat lambat, bahkan melalui jaringan (nirkabel). Saya merekomendasikan X2go untuk kontrol GUI jarak jauh ( panduan instalasi ).
Lekensteyn
Mesin source memberitahu saya: "Ini adalah nc dari paket netcat-openbsd. Alternatif nc tersedia dalam paket netcat-tradisional. Penggunaan: nc [-46DdhklnrStUuvzC] [-i interval] [-P proxy_username] [-p source_port ] [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_protocol] [-x proxy_address [: port]] [hostname] [port [s]] ", prompt terminal terlihat lagi, dan mesin target tidak mendapat apa-apa. Apakah saya melakukan sesuatu yang salah?
Daniel
@Aniel: Satu-satunya hal yang Anda lakukan salah adalah memposting pertanyaan Anda sebagai komentar. Buka pertanyaan baru dan tautkan ke pertanyaan ini.
Torben Gundtofte-Bruun
Hai @Lekensteyn, saya mendapatkan banyak "Tidak bisa membuka" dan "Tidak bisa mkdir: tidak ada file atau direktori" "... Apakah hal yang sama berlaku ketika mencoba melakukan itu pada VM (sebagai tamu)?
George Katsanos
16

Untuk paket perangkat lunak, Anda harus membaca yang berikut: 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

Untuk pengaturan dan data, ini sedikit lebih rumit :-( Sebagian besar pengaturan disimpan di folder rumah Anda, jadi membuat cadangan HOME Anda dapat melakukan trik ... Tapi tentu saja ini tidak mencakup sistem aplikasi, yang konfigurasinya tersimpan di / etc ...

Jawa kecil
sumber
newmachine$ sudo apt-get --show-upgraded dselect-upgradememberikan kesalahanE: Command line option --show-upgrade is not understood
frepie
12

Sebagian besar semua pengaturan untuk aplikasi ada di folder rumah Anda secara default disembunyikan. Jika Anda menekan Ctrl+hdi Nautilus Anda akan melihat folder ini. Saya telah menemukan cara termudah adalah dengan hanya mensinkronkan folder yang Anda perlukan untuk konfigurasi. Sesuatu seperti ini:

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

Anda juga bisa - hanya rsync seluruh folder rumah Anda ke mesin baru - tetapi itu dapat menyebabkan masalah tergantung pada pengaturan Anda.

Marco Ceppi
sumber
12

Ubuntu devs sedang mengerjakannya, itu disebut OneConf .

akshatj
sumber
Oh itu benar - saya sudah lupa tentang itu. Berikut ini tautannya: omgubuntu.co.uk/2010/06/oneconf-to-reinstall-applications.html
eugenemarshall
Telah mendarat hari ini tetapi tidak banyak yang bisa dijelajahi.
akshatj
1
masih terlihat seperti pekerjaan yang sedang berjalan. Apakah paket ini sudah matang?
lenzai
2
terakhir diperbarui 2015 menurut code.launchpad.net/oneconf jadi bukan proyek yang aktif lagi
Greg Bray
8

Jika Anda memiliki instalasi yang Anda sukai pada satu mesin, Anda bisa langsung mengkloningnya. Tidak masalah jika mesin memiliki perangkat keras yang berbeda selama mereka menjalankan arsitektur yang sama (32-bit atau 64-bit, yaitu, i386 atau amd64 atau ...).

Inilah cara untuk melakukannya. Agak panjang, tapi cukup berteknologi rendah. Banyak variasi dimungkinkan.

  1. Colokkan disk mesin baru ke mesin yang ada (atau sebaliknya).
  2. Boot dari instalasi yang ada.
  3. Siapkan disk baru :
    • Jika disk memiliki ukuran yang sama: mulai alat partisi (Sistem / Administrasi / GParted, paket gparted) dan salin seluruh disk lama ke disk baru.
      • Anda harus memberikan salinan filesystem baru pengidentifikasi unik, untuk menghindari kebingungan jika Anda pernah memasang disk satu mesin di komputer lain nanti. Untuk sistem file ext2 / ext3 / ext4, gunakan perintah seperti di sudo tune2fs -U $(uuidgen) /dev/sdz1mana sdzdisk baru dan 1nomor partisi.
      • Jika Anda menetapkan nama ke volume Anda, Anda mungkin ingin menetapkan nama yang berbeda.
    • Jika tidak, siapkan partisi pada disk baru dengan GParted atau System / Administration / Disk Utility dan format mereka. Jika Anda memiliki partisi yang memiliki ukuran yang sama di kedua disk, Anda dapat menyalinnya di GParted.
  4. Pasang partisi root instalasi baru yang sekarang akan muncul di Places.
  5. (Lewati langkah ini jika Anda telah menyalin seluruh disk.) Salin data dari partisi root instalasi lama ke yang baru. Perhatikan bahwa sangat penting untuk mempertahankan izin dan kepemilikan file pada langkah ini, dan ini berarti Anda harus melakukannya sebagai superuser (root). Saya tidak tahu apa cara Ubuntu GUI melakukannya. Pada baris perintah, jalankan sudo cp -ax / /media/disk9(ganti /media/disk9dengan lokasi di mana partisi root baru dipasang).
  6. Ulangi dua langkah sebelumnya untuk partisi lain yang mungkin Anda miliki (mis. Partisi rumah terpisah), kecuali jika Anda menyalin partisi itu (atau disk) secara keseluruhan di langkah 3.
  7. Tweak instalasi baru (dengan asumsi sudah terpasang pada /media/disk9; adjust as needed):
    • Edit untuk mengatur nama mesin baru. Periksa file di bawah untuk kejadian lain dari nama host - itu mungkin muncul dalam , dll/media/disk9/etc/hostname/media/disk9/etc//media/disk9/etc/hosts/media/disk9/etc/mailname
    • Jika Anda menjalankan server ssh , hapus /media/disk9/etc/ssh/ssh_host_*_key*. Server akan menghasilkan kunci baru ketika Anda mem-boot instalasi baru.
    • Jika Anda telah mengkonfigurasi jaringan dengan mengedit /etc/network/interfaces, edit /media/disk9/etc/network/interfacesuntuk instalasi baru.
    • Opsional, menghapus file /etc/udev/rules.d/70-persistent-*.rulesjika ada, sehingga disk Anda dan antarmuka jaringan menggunakan kembali nama yang sama ( sda, eth0, ...) pada mesin baru.
    • Jika Anda menggunakan driver video berpemilik (ATI atau Nvidia) dan mesin baru tidak harus menggunakan driver yang sama, pindah /media/disk9/etc/X11/xorg.confke /media/disk9/etc/X11/xorg.conf.old-machine, jika tidak, Anda mungkin tidak dapat melakukan boot ke GUI di mesin baru.
  8. Pindahkan disk dengan instalasi baru kembali ke mesin yang sah.
  9. Jika Anda tidak mengkloning disk secara keseluruhan, masukkan CD / USB langsung dan perbaiki bootloader .
  10. Boot dari instalasi baru dan lakukan langkah transisi sisa yang diperlukan:
    • Anda mungkin perlu menginstal driver berpemilik baru ( driver Sistem / Administrasi / Perangkat Keras).
    • Jika Anda memiliki alamat IP statis yang diatur melalui Network Manager, atur jaringan untuk mesin baru.
    • Jika Anda menjalankan server ssh , jalankan dpkg-reconfigure openssh-serveruntuk menghasilkan kunci host baru.
Gilles 'SANGAT berhenti menjadi jahat'
sumber
Halo dari 2013 :) Apakah Anda yakin bahwa perangkat keras yang berbeda tidak penting? Bahkan jika saya pindah dari beberapa laptop Cina ke Mac Air?
scythargon
@scythargon Selama itu adalah tipe CPU yang sama (x86 dalam kedua kasus), tidak ada perbedaan besar, mungkin hanya beberapa driver untuk menginstal dan file konfigurasi yang saya sebutkan. Tidak seperti Windows, Linux memusatkan dependensi perangkat kerasnya pada beberapa file yang mudah diidentifikasi.
Gilles 'SANGAT berhenti menjadi jahat'
1
Anda dapat melihat pada panduan ini (serupa) yang saya tulis: positon.org/clone-a-linux-system-install-to-another-computer
Marc M
Terima kasih untuk ringkasannya. Saya akan senang jika Anda dapat menambahkan penghapusan /etc/udev/rules.d/70-persistent-net.rulesyang merupakan file autogenerated oleh udev, ini digunakan untuk menjamin bahwa perangkat jaringan baru tidak mendapatkan nama yang sama seperti yang diinstal sebelumnya.
TVN
@tvn Anda sebenarnya tidak perlu menghapus file itu. Ini akan mencegah nama antarmuka / disk yang sama digunakan kembali, tetapi itu tidak selalu berarti buruk.
Gilles 'SANGAT berhenti menjadi jahat'
6

Semua data dan pengaturan Anda tinggal di rumah Anda.

Jika Anda hanya menyalinnya, Anda akan kehilangan:

  • Program yang diinstal. Tetapi lihat jawaban Sabacon untuk pertanyaan ini .
  • Konfigurasi sistem yang luas, di komputer rumah, biasanya ini hanya PPA tambahan.
  • Program sistem lebar (biasanya daemon) data (seperti database MySQL).

Saya merasa bahwa cara termudah untuk membuat salinan jaringan adalah ini:

  • Instal OpenSSH Server Unduh Gwibber di komputer lama.
  • Pastikan kedua komputer terhubung ke internet.
  • Buka Nautilus (browser file) di komputer baru.
  • Di Lihat Menu, centang "Tampilkan File Tersembunyi".
  • Tekan CTRL + L, pada jenis bilah alamat ssh://ip-of-old-computer/home/
  • Anda harus dimintai nama pengguna dan kata sandi di komputer lama.
  • Salin semua yang Anda inginkan menggunakan GUI.

masukkan deskripsi gambar di sini

Javier Rivera
sumber
4

Dropbox.

Ini adalah bagaimana saya mencadangkan pengaturan saya dari satu mesin ke mesin lain, dan jika saya benar-benar kehilangan hard disk saya tidak masalah.

Dropbox adalah layanan cadangan / sinkronisasi online, dan ini menendang barang rampasan utama, dan Anda bisa mendapatkannya secara gratis. Ini tersedia di bawah ubuntu Karmic dan di bawah repositori Mitra. Anda sedang mencari paket yang disebut nautilus-dropbox. Atau, Anda dapat mengunduhnya dari situs: https://www.dropbox.com/downloading?os=lnx

Seperti yang disebutkan di atas, sebagian besar pengaturan Anda yang relevan disimpan di bawah /home/yourname/.whatever

Misalnya pengaturan konfigurasi gnome disimpan di bawah

/home/username/.gnome2

Jadi, untuk melakukan sinkronisasi:

Bagian satu: Cadangkan pengaturan konfigurasi ke Dropbox. (Ini semua pada mesin "lama", di mana Anda memiliki pengaturan / konfigurasi seperti yang Anda inginkan.)

  1. Buka direktori home Anda, dan temukan sebanyak mungkin "dotfiles" dan direktori. Hampir semua ini akan relevan dengan pengaturan konfigurasi pribadi. (Tekan Control + H di Nautilus untuk melihat file yang tersembunyi.)
  2. Anda akan ingin menyalin file-file konfigurasi tersebut ke folder Dropbox Anda. MEMBUAT CADANGAN JIKA ANDA TAKUT KEHILANGAN MEREKA.
  3. Hapus file asli dari direktori home Anda, lalu buat tautan dari file di home barunya (di bawah folder dropbox Anda) ke direktori home. Anda dapat melakukan ini dengan menyeret dan menjatuhkan file / folder ke nama direktori rumah Anda sambil menahan tombol "Alt", dan pilih "buat tautan".

Bagian dua: (Pada mesin baru.) Membuat tautan dari pengaturan konfigurasi Dropbox-disinkronkan.

  1. Pada mesin "baru" Anda, yaitu. Ubuntu baru menginstal, menghapus ( DAN MEMBUAT JIKA PERLU ) file konfigurasi direktori home lama Anda. Instal dropbox di mesin baru. Biarkan untuk menyinkronkan, AKA unduh pengaturan mesin lama Anda.
  2. Ulangi langkah 3 di atas pada mesin baru - salin tautan dari folder yang disinkronkan Dropbox ke direktori rumah.

Voila. Anda sekarang memiliki cadangan pengaturan dan migrasi berbasis internet.

ggl
sumber
2

Lihatlah Stipple, terlihat menarik bagi saya:

"Simpan daftar aplikasi yang diinstal, file .config, dan pengaturan lainnya ke couchDB. Sinkronkan DB ini ke komputer lain dengan Ubuntu One. Aplikasi ini juga membantu Anda menginstal paket-paket itu dan file .config di komputer Anda yang lain."

https://launchpad.net/stipple

Sabacon
sumber
Ubuntu One tidak akan lagi menjadi opsi karena layanan ditutup.
Tomislav Nakic-Alfirevic
0

Mackup dapat membuat cadangan banyak aplikasi ke cloud atau kontrol versi. Sangat mudah untuk diperluas, misalnya, seperti inilah tampilan plugin ssh

ivotron
sumber