Làm cách nào tôi có thể sao chép môi trường Linux của mình nếu tôi đang di chuyển sang các phần cứng khác nhau?


10

Tôi hiện có các gói, mô-đun, cài đặt, v.v. cho Eclipse, MySQL, Python, Firefox, v.v. được thiết lập trên Kubfox. Tôi cũng đã cấu hình tối ưu Kubfox cho nhu cầu của mình. Tôi muốn nhân đôi môi trường của mình trên một máy khác có bộ xử lý khác (hiện tại trên Intel Q9450, bộ xử lý mới là i7). Theo tôi hiểu, các ứng dụng của tôi được biên dịch để sử dụng với bộ xử lý cụ thể của tôi, vì vậy việc tạo một bản sao phân vùng thẳng là không cần thiết.

Có cách nào để sao chép môi trường của tôi vào máy khác này không, cài đặt lại và định cấu hình lại mọi thứ?


Câu hỏi này thật khó tin đối với tôi ... Tôi đã hỏi điều tương tự!
dag729

"Theo tôi hiểu, các ứng dụng của tôi được biên dịch để sử dụng với bộ xử lý cụ thể của tôi": Bạn lấy ý tưởng đó từ đâu? Tôi không biết bất kỳ bản phân phối nào (ngoại trừ Gentoo) làm điều đó.
sleske

@sleske: bạn đã bao giờ thử cài đặt gói amd64 trên phiên bản ppc của Debian chưa? ;)
dag729

1
@ dag729: Tất nhiên, nếu bạn thay đổi kiến trúc bộ xử lý , bạn sẽ cần các gói mới. Nhưng Intel Q9450 và i7 đều là bộ xử lý x86.
sleske

1
Tôi nghĩ i7 của tôi là x86_64. Tôi đang chạy các ứng dụng 64 bit trên máy này. Tôi có sai không?
tò mò

Câu trả lời:


3

Theo tôi hiểu, các ứng dụng của tôi được biên dịch để sử dụng với bộ xử lý cụ thể của tôi, vì vậy việc tạo một bản sao phân vùng thẳng là không cần thiết.

Điều gì dẫn bạn đến kết luận này? Ít nhất là đối với x86, các gói được cài đặt bởi Kubfox được biên dịch để chạy trên thực tế tất cả các CPU không có thời tiền sử. Tôi tin rằng họ sẽ chạy trên bất cứ thứ gì mới hơn 486, điều này có thể không gây ra vấn đề gì trong trường hợp của bạn :-).

Vì vậy, một bản sao phân vùng thẳng sẽ hoạt động tốt:

  • sao chép phân vùng (hoặc chỉ sao chép các tệp bằng cách sử dụng cp -a, nếu bố cục phân vùng của bạn thay đổi)
  • thích ứng / etc / fstab với bố cục phân vùng mới
  • cấu hình lại bộ nạp khởi động cho các phân vùng mới và cài đặt lại bộ nạp khởi động
  • khởi động và tận hưởng

Các vấn đề chỉ được dự kiến ​​cho:

  • Các gói tự biên dịch, nhưng ngay cả ở đó, hầu hết sẽ được biên dịch theo mặc định cho tất cả các CPU hiện đại, trừ khi bạn chơi với các tùy chọn trình biên dịch
  • trình điều khiển thiết bị

Hầu hết các nhân hiện đại tự động phát hiện hw khi khởi động, do đó, ngay cả các trình điều khiển cũng sẽ ổn, nhưng nếu mọi thứ không thành công, bạn thường có thể khởi động ở chế độ một người dùng và khắc phục mọi sự cố trình điều khiển.


Nếu điều này làm việc cuộc sống của tôi sẽ dễ dàng hơn nhiều. Cảm ơn! Tôi sẽ thử điều này đầu tiên.
tò mò

7

Bạn có thể lấy thư mục nhà của bạn mà không có bất kỳ thay đổi. Hầu hết mọi thứ đi vào một thư mục chính được thiết kế để có thể chia sẻ trên một cái gì đó như NFS, vì vậy bạn tốt.

Ngoài ra, lưu lựa chọn gói của bạn với

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

và khôi phục nó trên máy khác với

sudo dpkg --set-selections <file.txt

Tương tự, lưu các cài đặt gỡ lỗi của bạn với

sudo debconf-get-selections >file2.txt

và khôi phục với

sudo debconf-set-selections <file2.txt

Đối với phần còn lại của cấu hình /etckhông được quản lý bởi debconf, thật khó để theo dõi những gì đã được thay đổi bằng tay, trừ khi bạn đã sử dụng một cái gì đó như etckeeper (có lẽ là một ý tưởng cho tương lai). Vì lý do đó, tôi có xu hướng giữ hầu hết cấu hình của mình trong thư mục nhà. Nhưng vì bạn biết chương trình nào bạn quan tâm, nên dễ dàng tìm thấy các tệp có liên quan /etcvà kiểm tra và sao chép chúng theo cách thủ công.


1
Vâng, nếu bạn đang di chuyển đến một kiến ​​trúc khác, đây là cách để đi. Như một lưu ý phụ: Chỉ cần tạo một bản sao của / etc / ở đâu đó an toàn, sau đó bạn có thể khôi phục có chọn lọc các tệp cấu hình khi bạn cần chúng trên hệ thống mới.
sleske

1

Bạn có thể sao lưu nhà của mình và khôi phục nó sang máy khác. Điều này không thể đáp ứng đầy đủ nhu cầu của bạn, nhưng nó sẽ khôi phục lại tất cả cấu hình. Bạn phải tự cài đặt lại các gói.


1

Phần lớn các cấu hình tùy chỉnh sẽ ở / home /, với phần lớn còn lại trong / etc /. một số tệp / etc có thông tin cụ thể về máy hoặc phần cứng (/etc/X11/xorg.conf, / etc / hostname, / etc / fstab ở trên đỉnh đầu của tôi), nhưng phần lớn có thể được sao chép nếu bạn sẽ được sử dụng cùng một phiên bản hệ điều hành.


Trong số những thứ bạn đã liệt kê, MySQL là thứ duy nhất có khả năng sẽ có cấu hình trong / etc / bạn có thể muốn sao chép, phần còn lại nằm trong / home /
Justin Smith

1

Thứ hai nhận, thiết lập điều lựa chọn.

Để biết chính xác những conffile đã thay đổi, hãy chạy nó:

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

Nếu bạn chưa cài đặt dlocate, bạn có thể thay thế dpkg -Shoặc bỏ qua phần đó.

Để sao lưu tất cả các conffiles:

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

1

Hừm. Nếu bạn không bận tâm một chút, bạn có thể cắm ổ cứng mới vào hộp của mình, gắn nó sau đó sử dụng dd. Ví dụ: nếu gốc hiện tại của bạn được đặt thành / dev / sda3 và bạn đã gắn ổ cứng mới vào / dev / sdb2, bạn sẽ sử dụng

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

Tất nhiên, bạn sẽ cần phải làm điều đó như root. Sau đó, bạn sẽ muốn cài đặt Grub, vì vậy bạn cần đặt Ubuntu LiveCD vào và sử dụng nó.

Hoặc bạn có thể xem liên kết này: http://www.ehow.com/how_4924091_clone-hard-drive-linux.html - Có vẻ như một bước đi khá tốt để nhân bản ổ cứng Linux, mặc dù tôi chưa đã tự mình kiểm tra trang web đó.

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.