Cách tốt nhất để sao chép một bản cài đặt (sao chép vào phần cứng giống hệt nhau)


53

Giống như câu hỏi này nhưng hơi khác (tôi nghĩ vậy), trong đó tôi có 6 máy Acer Aspire Revo R3610 giống hệt nhau. Một là (gần như) được cấu hình theo yêu cầu của tôi - khi tôi hoàn thành việc chuẩn bị, tôi muốn làm cho 5 máy còn lại hoàn toàn giống nhau. Tôi rất mới với Ubuntu, cách đơn giản nhất (dễ nhất) để làm điều này là gì?

Các máy sẽ hoạt động trên các mạng khác nhau nếu đó có thể là một vấn đề (ví dụ với Windows, bạn có thể sao chép đĩa nhưng sau đó bạn phải thực hiện thay đổi sổ đăng ký nếu chúng chạy trên cùng một mạng, v.v.). Phần cứng trong tất cả 6 máy là, tôi nhấn mạnh, giống nhau!

Làm cách nào tôi có thể sao chép một cách hiệu quả một hình ảnh nguồn vào các máy giống hệt nhau này?

Vui lòng hạn chế một phần mềm / giải pháp cho mỗi câu trả lời

Câu trả lời:


31

Clonezilla nghe có vẻ phù hợp với nhu cầu của bạn


1
Hoàn toàn là công cụ phù hợp cho công việc. Mẹ tôi chạy 'Mumbfox' và tôi chụp ảnh Acer Revo định kỳ bằng clonezilla và mang nó về nhà để khôi phục trên Revo mà tôi sở hữu như một bản sao lưu. Làm việc một điều trị.
popey

7
Một lợi ích của việc sử dụng các công cụ như partimage và ntfsclone (đó là những gì Clonezilla sử dụng để tạo hình ảnh đĩa) là họ hiểu hệ thống tập tin cơ bản trên mỗi phân vùng, cho phép họ sao chép chỉ các khối được sử dụng. Vì dd không có chức năng này, nó phải sao chép từng byte của phân vùng, bất kể nó có được sử dụng hay không.
Evan

1
Nó thật tệ Không thể nhân bản sau hai ngày làm việc. Treo trên bitmap tính toán ... Sử dụng Windows và Acronis Trueimage
Olcay Ertaş

DD sẽ không tạo CD sao lưu có thể khởi động? Đó có phải là lý do sử dụng CloneZilla?

@YumYumYum: ddtạo bản sao của tệp / phân vùng / ổ đĩa. Vì vậy, nếu bạn sao chép CD có thể khởi động ( .isohình ảnh hoặc CDFSphân vùng), kết quả cũng sẽ có khả năng khởi động. Nhưng ddsẽ không "chuyển đổi" một tập hợp các thư mục / tệp đã cho thành một hình ảnh có thể khởi động.
MestreLion

17

đ

Một bản sao cấp thấp sử dụng dd sẽ thực hiện các mẹo!

Cảnh giác với các địa chỉ IP và tên máy chủ xung đột.

Về cơ bản đặt ổ đĩa nguồn và ổ đĩa đích trong cùng một máy, khởi động vào một đĩa CD trực tiếp. Và chạy một cái gì đó như sau đây /dev/sdalà nguồn và /dev/sdblà đích:

dd if=/dev/sda of=/dev/sdb bs=4096

Tôi nhớ các toán hạng bằng cách:

if -> tập tin đầu vào

of -> tập tin đầu ra

bs -> kích thước khối (có bao nhiêu byte để đọc cùng một lúc)


3
Chắc chắn tại sao không? = / Tôi đã thấy mọi người làm điều đó và tôi đã thấy mọi người không làm điều đó. Có một hướng dẫn phong cách ở đâu đó để trả lời?
Derek

nếu bạn đã bật IP động, tạm thời trước khi tạo CD / USB có thể khởi động / sao lưu đó. Không nên có bất kỳ vấn đề nào tôi tin cho xung đột IP. Miễn là nó sao lưu từ A đến Z thực sự quan trọng với tôi, vì tôi có rất nhiều trình điều khiển.

2
Điều này an toàn đến mức nào, xem xét bất kỳ khóa công khai / riêng nào được sử dụng bởi ví dụ OpenSSH sẽ giống hệt nhau? Chúng ta cần thay đổi những gì để giữ cho hệ thống an toàn (khác với nơi chúng ta không khác biệt)?
jos

Ý bạn là gì khi chạy "một cái gì đó như thế này? Tôi tích cực về sda và sdb nhưng không hiểu tại sao bạn lại chọn bs đó
SDsolar

3

Tạo một hình ảnh bằng Remastersys , chuyển nó vào ổ đĩa bút bằng tiện ích Startup Disk Creator và cài đặt trên hệ thống khác.


3

Cách dễ nhất để làm điều này là chạy cài đặt Ubuntu đơn giản trên ổ cứng của bạn, cài đặt VirtualBox và thiết lập máy Ubuntu ảo. Chạy máy ảo của bạn và thiết lập cài đặt đó giống như bạn muốn với tất cả chuông và còi bạn muốn. Làm tất cả công việc và chơi của bạn trên máy tính ảo.

VirtualBox duy trì máy ảo dưới dạng tệp hình ảnh đĩa lớn (.vdi) cùng với một vài tệp cấu hình nhỏ hơn nhiều khác. Bất cứ khi nào bạn muốn sao lưu máy ảo của mình, chỉ cần tắt nó và sao chép thư mục của nó vào vị trí sao lưu của bạn. Tôi sử dụng một ổ đĩa ngoài hộ chiếu cho mục đích này.

Ngay bây giờ, có cả Windows 7 và máy ảo Ubuntu 12 trên ổ đĩa ngoài đó. Tất cả các bản cập nhật hệ thống, chương trình, tệp cá nhân, hình ảnh, bất cứ thứ gì, được lưu trong các máy ảo đó. Một bản sao lưu loại này rất nhanh, vì một tệp hình ảnh đĩa lớn sẽ truyền nhanh hơn nhiều so với một loạt các tệp riêng lẻ. Vì VirtualBox luôn duy trì các tệp ở định dạng đó, nên máy ảo luôn được cấu hình để sao lưu.

Một lợi thế của thiết lập đó là tôi có thể chạy các máy ảo đó khỏi ổ đĩa ngoài trên bất kỳ máy tính nào đã cài đặt VirtualBox, vì vậy, bây giờ, thay vì sử dụng máy tính của mình xung quanh, tôi chỉ cần mang ổ đĩa ngoài của mình bằng cả Windows và Ubuntu, cài đặt VirtualBox bất cứ máy tính nào tôi dự định sử dụng (tôi cũng có tất cả các tệp cài đặt VirtualBox trên hd bên ngoài của mình - chúng có sẵn cho tất cả các hệ điều hành chính) và tôi đã sẵn sàng để sử dụng. Tôi có thể sao chép máy ảo của mình vào máy tính tôi đang sử dụng hoặc chỉ cần chạy nó ra khỏi ổ đĩa ngoài.

Nếu máy tính của bạn gặp sự cố và chết vào một lúc nào đó, ai quan tâm, bạn chỉ cần lấy đĩa cài đặt Ubuntu, cài đặt nó trên máy tính mới hoặc đã sửa chữa, kết nối ổ đĩa ngoài, cài đặt VirtualBox và sao chép lại máy ảo của bạn vào máy tính của bạn - vấn đề được giải quyết với sự căng thẳng tối thiểu, mất thời gian và mất dữ liệu. Bạn mất bao nhiêu dữ liệu tùy thuộc vào lần cuối bạn sao lưu. Đối với bản thân tôi, tôi thực hiện sao lưu mới bất cứ khi nào tôi thực hiện một thay đổi lớn hoặc thêm một chương trình khó để có được. Chỉ cần đảm bảo rằng máy ảo của bạn hoạt động bình thường khi bạn làm điều đó. Bạn sẽ không muốn sao chép một máy bị hỏng qua một máy tốt.

Và không, tôi không làm việc cho VirtualBox.


Yêu nó. Upvote. Tôi chỉ có thể làm điều này trên máy tiếp theo của tôi.
SDsolar


2

Tôi sẽ có một máy tính theo cách bạn muốn và cài đặt gói openssh-server. Tạo một cặp khóa ssh với ssh-keygen -t rsa. Thêm khóa công khai vào /root/.ssh/authorized_keys2. Sau đó, tôi sẽ khởi động các máy tính mới với một đĩa CD trực tiếp và cắm một thanh USB với khóa riêng ssh. Sử dụng gparted để tạo một phân vùng mới. Sau đó gắn kết phân vùng mới và chạy một cái gì đó nhưsudo rsync -avzx -e "ssh -i /media/disk/path/to/privatekey" --exclude=".gvfs" root@<ImageComputerIP>:/ /path/to/new/partition/

Sử dụng blkidlệnh để tìm UUID của hệ thống tệp bạn vừa tạo. Chỉnh sửa /path/to/new/partition/etc/fstabđể phản ánh UUID mới (và loại hệ thống tệp nếu bạn đã sử dụng một hệ thống tệp khác.)

Sau đó, tôi sẽ làm theo các hướng dẫn trên https://help.ubfox.com/community/Grub2/Installing#via_ChRoot về cách cài đặt từ một chroot.

Phiên bản đơn giản hóa của trang đó (không chiếm tài khoản lvm, đột kích phần mềm hoặc bcache hoặc tách / khởi động như trang wiki hiện):

Gắn kết các hệ thống tập tin ảo quan trọng. Chạy các lệnh sau dưới dạng một lệnh:

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

Chroot vào thiết bị hệ thống bình thường của bạn:

sudo chroot /mnt

Cài đặt lại GRUB 2 (thay thế thiết bị chính xác bằng sda, sdb, v.v. Không chỉ định số phân vùng):

grub-install /dev/sdX

Tạo lại tệp menu GRUB 2 (grub.cfg)

update-grub

Thoát chroot: CTRL-D trên bàn phím

Nhân tiện, điều này cũng hoạt động tốt để sao lưu. Ubuntu, không giống như Windows, dường như không có vấn đề gì khi được ghép vào các phần cứng khác nhau. Tôi đã đặt các đĩa cứng từ một máy tính vào một máy tính khác và nó đã hoạt động tốt và tôi đã sao chép các cài đặt sang các phần cứng khác nhau và nó đã hoạt động tốt.


Cảm ơn vì điều này - Tôi đã có một cái khác sắp xuất hiện, tôi sẽ thử cái này. Chúc mừng
robsoft

Liên kết được tham chiếu hiện không đề cập đến chroot cũng như bất kỳ phương pháp nào. Đó là lý do tại sao nên trích dẫn các phần có liên quan trong nguồn của bạn.
Henno

@Henno Trang wiki đã được di chuyển. Vấn đề với việc bao gồm trang là wiki luôn cập nhật những thứ mới như bcache và chỉ cần sao chép nội dung của trang sẽ bỏ lỡ những cập nhật đó, nhưng nhược điểm của việc liên kết chỉ là thứ có thể chuyển sang bạn. Dù bằng cách nào, liên kết được cập nhật và bao gồm một phiên bản rút gọn.
Azendale


1

G4L

Ma cho Linux

Ghost cho Linux là một công cụ nhân bản và sao chép đĩa cứng và phân vùng tương tự như Norton Ghost (c) và (tm) của Symantec. Các hình ảnh được tạo ra được nén tùy ý và chúng có thể được lưu trữ trên ổ cứng cục bộ hoặc được chuyển đến một máy chủ FTP ẩn danh. Một ổ đĩa có thể được sao chép bằng chức năng Click'n'Clone. g4l hỗ trợ chia tách tệp nếu hệ thống tệp cục bộ không hỗ trợ ghi tệp> 2GB. Hạt nhân đi kèm hỗ trợ các ổ đĩa ATA, serial-ATA và SCSI. Card mạng thông thường được hỗ trợ. Nó được đóng gói dưới dạng hình ảnh CD có thể khởi động với GUI ncurses để dễ sử dụng.


CHÚA ƠI. Đây chính xác là những gì tôi đã muốn từ lâu. Ngay cả đối với Windows. TNX cho bài. Tôi sẽ kiểm tra nó ngay lập tức.
SDsolar

1

Fsarchiver

Tôi không biết tại sao không ai đề cập đến điều này. Điều này đặc biệt hữu ích khi bạn muốn khôi phục nội dung của phân vùng trên một loại hệ thống tệp khác (ví dụ: khôi phục nội dung ext4 thành ext2 hoặc reiserfs) hoặc bạn muốn khôi phục lại phân vùng nhỏ hơn.

Tôi đã sử dụng nó và nó rất dễ dàng. Ví dụ: để sao chép một phân vùng, /dev/sda1bạn phải sử dụng một lệnh như thế này

fsarchiver -A -j 2 -z 1 savefs /media/anwar/USB_Drive/myrootpartition /dev/sda1

Các -Atùy chọn cho phép bạn sao chép phân vùng ngay cả khi nó được sử dụng! Tính năng tuyệt vời!

-j 2nói để sử dụng 2 lõi CPU để nén. Hữu ích cho CPU đa lõi và nếu bạn sử dụng nén

-z 1 đặt mức nén.

Để khôi phục hệ thống tập tin bạn đã sử dụng

fsarchiver restfs /data/myrootpartition.fsa id=0,dest=/dev/sda2

Giả sử id=0bạn đang khôi phục hệ thống tệp đầu tiên từ kho lưu trữ (Ngay cả khi bạn không lưu nhiều phân vùng trên một tệp lưu trữ, bạn cần chỉ định nó). Và dest=/dev/sda2đặt đích đến của sự phục hồi.


0

Tôi làm điều này rất nhiều, sử dụng rsync.

Trước tiên, bạn có thể chạy rsync để tải tất cả dữ liệu vào ổ cứng ngoài (ổ cứng ngoài của bạn phải ở ext4 - Tôi sử dụng cái này, vì vậy tôi biết nó hoạt động): Tôi giả sử bạn có hai phân vùng: / dev / sda1 (root) và / dev / sda2 (trao đổi).

Chạy trong máy tính ban đầu của bạn:

sudo rsync -avuorpESHAX /* /your/hard/drive

Sau khi sao chép dữ liệu, hãy khởi động máy tính tiếp theo của bạn bằng thẻ nhớ USB và định dạng ổ cứng bên trong là ổ cứng ban đầu.

Gắn ổ đĩa ngoài của bạn vào /mntvà sao chép UUID của tất cả các phân vùng. Chỉnh sửa các UUID của các phân vùng của máy tính mới và đặt cùng các UUID mà bạn đã sao chép từ dữ liệu gốc (nó nằm trong /mnt/etc/fstab).

Tắt trao đổi:

sudo swapoff -a

Tạo một trao đổi mới bằng cách sử dụng UUID gốc, được sao chép từ /mnt/etc/fstab:

sudo mkswap /dev/sda2 -U original-UUID

(Tôi cho rằng trao đổi của bạn là trong /dev/sda2)

Tiếp theo, thay đổi UUID của /dev/sda1: (phân vùng nên được ngắt kết nối để thay đổi UUID)

sudo umount /mnt
sudo tune2fs /dev/sda1 -U old-UUID

Xong việc này, gắn kết phân vùng đích:

sudo mount /dev/sda1 /mnt

Đảo ngược rsync đến đích:

sudo rsync -avuorpESHAX /media/your-backup /mnt

Cài đặt lại grub:

sudo grub-install --root-directory /mnt /dev/sda

Điều này sẽ làm việc. Nhớ chỉnh sửa /etc/hostname/etc/hoststhay đổi tên máy chủ cho mỗi máy để tránh xung đột mạng.


-1

Chưa bao giờ được thực hiện trong tình trạng khó khăn này (tôi không có hàng trăm máy chủ - tôi luôn chỉ sử dụng hình ảnh cơ bản), tôi chỉ có thể cung cấp cho bạn bản năng ruột của tôi.

Điều đó sang một bên, tôi sẽ nói netboot có lẽ là đặt cược tốt nhất của bạn. Tạo một máy chủ chính, làm cho nó làm những gì bạn muốn và sau đó cho tất cả các máy khác của bạn khởi động và cài đặt từ nó. Kịch bản mọi thứ sẽ tự động xảy ra (ala run-once) không quá khó. Bạn làm tất cả những điều thứ yếu thông qua khởi động.

Khác (mặc dù hơi cũ): https://help.ubfox.com/community/PXEInstallServer

Chỉnh sửa: Có một ứng dụng được gọi là system-config-kickstartsẽ giúp việc tạo tệp khởi động dễ dàng hơn một chút. YMMV.

văn bản thay thế


Theo như tôi biết điều này system-config-kickstartđược thực hiện đặc biệt cho fedora.
Shaharia Azam

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.