Bagaimana saya bisa menduplikasi lingkungan Linux saya jika saya bermigrasi ke perangkat keras yang berbeda?

10

Saat ini saya memiliki paket, modul, pengaturan, dll. Untuk Eclipse, MySQL, Python, Firefox, dll. Yang diatur di Kubuntu. Saya juga telah mengkonfigurasi Kubuntu secara optimal untuk kebutuhan saya. Saya ingin menduplikasi lingkungan saya di komputer lain yang memiliki prosesor yang berbeda (saat ini pada Intel Q9450, prosesor baru adalah i7). Seperti yang saya pahami, aplikasi saya dikompilasi untuk digunakan dengan prosesor spesifik saya, jadi membuat salinan partisi langsung adalah tidak mungkin.

Apakah ada cara untuk menduplikasi lingkungan saya ke mesin lain ini, singkat menginstal ulang dan mengkonfigurasi ulang semuanya?

ingin tahu
sumber
Pertanyaan ini luar biasa bagi saya ... Saya menanyakan hal yang sama!
dag729
"Seperti yang saya mengerti, aplikasi saya dikompilasi untuk digunakan dengan prosesor spesifik saya": Dari mana Anda mendapatkan ide itu? Saya tidak tahu distro apa pun (kecuali tentu saja Gentoo) yang melakukan itu.
sleske
@sleske: apakah Anda pernah mencoba menginstal paket amd64 pada Debian versi ppc? ;)
dag729
1
@ dag729: Tentu saja, jika Anda mengubah arsitektur prosesor , Anda akan memerlukan paket baru. Tetapi Intel Q9450 dan i7 keduanya adalah prosesor x86.
sleske
1
Saya pikir i7 saya adalah x86_64. Saya menjalankan aplikasi 64-bit pada mesin ini. Apakah saya salah?
penasaran

Jawaban:

3

Seperti yang saya pahami, aplikasi saya dikompilasi untuk digunakan dengan prosesor spesifik saya, jadi membuat salinan partisi langsung adalah tidak mungkin.

Apa yang mengarahkan Anda ke kesimpulan ini? Setidaknya untuk x86, paket-paket yang diinstal oleh Kubuntu dikompilasi untuk dijalankan pada hampir semua CPU non-prasejarah. Saya percaya mereka akan berjalan pada sesuatu yang lebih baru dari 486, yang mungkin tidak menimbulkan masalah dalam kasus Anda :-).

Jadi salinan partisi langsung seharusnya bekerja dengan baik:

  • salin partisi (atau salin saja file menggunakan cp -a, jika tata letak partisi Anda berubah)
  • adaptasikan / etc / fstab ke tata letak partisi baru
  • mengkonfigurasi ulang bootloader untuk partisi baru, dan instal ulang bootloader
  • boot & nikmati

Masalah hanya diharapkan untuk:

  • paket yang dikompilasi sendiri, tetapi bahkan di sana, sebagian besar akan secara default mengkompilasi untuk semua CPU modern, kecuali jika Anda bermain dengan opsi kompilator
  • driver perangkat

Sebagian besar kernel modern mendeteksi secara otomatis saat boot, jadi biasanya bahkan driver tidak apa-apa, tetapi jika ada yang gagal, Anda biasanya dapat mem-boot dalam mode single-user dan memperbaiki masalah driver.

sleske
sumber
Jika ini berhasil, hidup saya akan jauh lebih mudah. Terima kasih! Saya akan coba ini dulu.
penasaran
7

Anda dapat mengambil direktori home Anda tanpa perubahan apa pun. Hampir semua yang masuk ke direktori home dirancang agar bisa dibandingkan dengan sesuatu seperti NFS, jadi Anda baik.

Juga, simpan pilihan paket Anda dengan

sudo dpkg --get-selections '*' >file.txt

dan mengembalikannya di mesin lain dengan

sudo dpkg --set-selections <file.txt

Demikian pula, simpan pengaturan debconf Anda dengan

sudo debconf-get-selections >file2.txt

dan kembalikan dengan

sudo debconf-set-selections <file2.txt

Untuk sisa konfigurasi /etcyang tidak dikelola oleh debconf, sulit untuk melacak apa yang diubah secara manual, kecuali jika Anda telah menggunakan sesuatu seperti dllkeeper (mungkin ide untuk masa depan). Karena alasan itu, saya cenderung menyimpan sebagian besar konfigurasi saya di direktori home saya. Tetapi karena Anda tahu program mana yang Anda minati, seharusnya mudah untuk menemukan file yang relevan /etcdan memeriksa dan menyalinnya secara manual.

Peter Eisentraut
sumber
1
Ya, jika Anda bermigrasi ke arsitektur yang berbeda, inilah caranya. Sebagai catatan: Buat salinan / etc / somewhere aman, maka Anda dapat secara selektif mengembalikan file konfigurasi saat Anda membutuhkannya di sistem baru.
sleske
1

Anda dapat membuat cadangan rumah Anda, dan mengembalikannya ke mesin lain. Ini tidak dapat sepenuhnya memenuhi kebutuhan Anda, tetapi ini akan mengembalikan semua konfigurasi. Anda harus menginstal ulang paket sendiri.

phhehehe
sumber
1

Sebagian besar konfigurasi khusus adalah di / home /, dengan sebagian besar sisanya di / etc /. beberapa file / etc memiliki informasi spesifik mesin atau perangkat keras (/etc/X11/xorg.conf, / etc / hostname, / etc / fstab dari atas kepala saya), tetapi banyak dari itu hanya dapat disalin jika Anda akan menggunakan versi OS yang sama.

Justin Smith
sumber
Dari hal-hal yang Anda daftarkan, MySQL adalah satu-satunya yang kemungkinan akan memiliki konfigurasi di / etc / Anda mungkin ingin menyalin, sisanya ada di / home /
Justin Smith
1

Menambah get, mengatur pilihan.

Untuk mengetahui persis conffile mana yang telah berubah, jalankan ini:

dpkg-query --show --showformat='${Conffiles}\n' |sort -u | \
while read f m obsolete; do \
  [[ -r $f ]] || continue; m2=$(md5sum "$f") ;
  [[ $m2 != "$m  $f" ]] && echo "$f";
done |xargs -n1 dlocate  |tee ~/edited-conffiles

Jika Anda belum menginstal dlocate, Anda dapat menggantinya dengan dpkg -Satau melewati bagian itu.

Untuk mencadangkan semua konfigurasi:

dpkg-query --show --showformat='${Conffiles}\n' |sort -u | \
while read f m obsolete; do \
  echo "$f"
done |sudo tar cjf ~/conffiles.tbz2 -T -
Tobu
sumber
1

Hmm. Jika Anda tidak keberatan sedikit mengotak-atik Anda bisa mencolokkan HDD baru ke dalam kotak Anda, pasang kemudian gunakan dd. Sebagai contoh, jika root Anda saat ini diatur ke / dev / sda3 dan Anda memasang HDD baru ke / dev / sdb2 Anda akan menggunakan

dd if=/dev/sda3 of=/dev/sdb2

Anda harus melakukannya sebagai root, tentu saja. Setelah itu Anda akan ingin menginstal Grub, jadi Anda harus memasukkan LiveCD Ubuntu dan menggunakannya.

Atau Anda bisa melihat tautan ini: http://www.ehow.com/how_4924091_clone-hard-drive-linux.html - Sepertinya berjalan cukup baik untuk mengkloning hard drive Linux, meskipun saya belum menguji situs itu sendiri.

pengguna26528
sumber