Có một điểm khôi phục điểm nào trong Linux (Debian / Ubuntu) như Windows không?


17

Tôi đang làm việc trực tiếp trong Máy ảo Ubuntu (VM). Một số cập nhật (như kernel) đã có sẵn tại trình quản lý cập nhật.

Nếu tôi không sử dụng VM, tôi sẽ không cập nhật vì nó có nguy cơ làm hỏng thứ gì đó. Vì là máy ảo, bạn có thể tạo Ảnh chụp nhanh hoặc xuất thiết bị và khôi phục nếu có sự cố.

Giả sử tôi không sử dụng VM với cài đặt Debian / Ubuntu. Có cách tiếp cận cài đặt khôi phục không phụ thuộc vào cấu hình VM để khôi phục chính xác hệ thống của bạn trước khi nâng cấp (Giống như "Điểm khôi phục" trong Windows), có dễ khôi phục như thiết bị VM không?

(Tôi không tìm kiếm "hình ảnh ma" hoặc thứ gì đó tương tự (Norton Ghost, Clonezilla, v.v.), tôi đang tìm kiếm thứ gì đó được tích hợp trong Hệ thống Linux)


3
Tôi biết rằng đây là ngoài chủ đề, vì vậy tôi sẽ thêm nó dưới dạng nhận xét, nhưng OpenSolaris có thể tạo ảnh chụp nhanh toàn bộ hệ thống tệp ZFS và khôi phục lại sau. Nó cũng không chiếm nhiều dung lượng đĩa, vì sự trùng lặp. Trên thực tế, cách tiêu chuẩn để thực hiện các nâng cấp lớn là tạo ảnh chụp nhanh FS mới và cài đặt các nâng cấp trên đó. Nếu ti hoạt động, bạn có thể xóa cái cũ. Nếu không, bạn có thể quay lại cái đã hoạt động.
AndrejaKo

3
@AndrejaKo: +1 Tuy nhiên, đó là một "bản sao" (ảnh chụp nhanh có thể ghi được trong hệ thống tập tin COW. Tức là bạn cũng nhận được cùng một không gian đĩa tiết kiệm trên các nhóm không khấu trừ.
knweiss

@knweiss Vâng, đúng vậy. Tôi chỉ nhìn nó lên!
AndrejaKo

Câu trả lời:


15

Không có tính năng tương tự được tích hợp trong bất kỳ bản phân phối Linux nào mà tôi biết. Có một số lý do tại sao nó sẽ ít hữu ích hơn nhiều so với Windows.

  • Về cơ bản, các bản phân phối Linux nghiêm trọng hơn nhiều so với Microsoft về các bản phát hành ổn định chỉ được nâng cấp để sửa các lỗi quan trọng và với các thay đổi tối thiểu. Ví dụ: với Ubuntu và Debian, bạn có thể chọn chỉ nhận các bản cập nhật bảo mật ( -security) hoặc chỉ các bản cập nhật bảo mật và các bản sửa lỗi quan trọng ( -updates).

  • Nâng cấp kernel là những rủi ro cao nhất, vì có khả năng một thay đổi dường như có lợi sẽ gây rắc rối cho một cấu hình phần cứng cụ thể. Đây là lý do tại sao hầu hết các bản phân phối cho phép nhiều hơn một phiên bản kernel được cài đặt cùng một lúc; ví dụ, tại thời điểm tôi viết bài này, Ubuntu 10.04 có sẵn ba phiên bản kernel: 2.6.32.21.22từ bản phát hành gốc, 2.6.32.22.23với các bản cập nhật bảo mật và 2.6.32.23.24với các bản cập nhật không bảo mật. Nếu bản phát hành ... 24 gây ra sự cố trên máy tính của bạn, bạn có thể khởi động lại dưới ... 23 (và thậm chí đánh dấu ... 24 là cấm cài đặt, ít nhất là nếu bạn đang sử dụng năng khiếu).

  • Không có đăng ký: tất cả dữ liệu cấu hình nằm trong các tệp (trong /etchệ thống phân cấp), có thể dễ dàng khôi phục riêng lẻ nếu có sự cố. Ngay cả sau đó, các bản cập nhật cho bản phát hành ổn định hiếm khi ảnh hưởng đến các tệp bên dưới /etc.

  • Nếu bạn đang cài đặt các gói từ một số nguồn khác ngoài bản phát hành ổn định, thì bạn có thể muốn giữ các bản sao của các phiên bản cũ hơn của gói và giữ bản sao lưu của các tệp cấu hình của mình. Dưới đây là một vài gợi ý về điều này trong Debian và Ubuntu.

    • Các gói tải về được giữ trong /var/cache/apt/archives. Nếu bạn có dung lượng đĩa, chỉ cần không xóa các tệp gói cũ cho đến khi bạn xác nhận phiên bản mới hơn phù hợp với bạn.
    • Nhiều nguồn giữ các phiên bản cũ hơn, do đó bạn có thể hạ cấp dễ dàng (bằng cách tải xuống và cài đặt phiên bản cũ hơn bằng tay hoặc bằng cách sử dụng tùy chọn apt). Đối với Debian, hãy xem snapshot.debian.org .
    • Có một cách rất dễ dàng để thiết lập kiểm soát phiên bản /etc: cài đặt etckeepergói và kích hoạt nó bằng lệnh etckeeper init. (Tôi làm điều đó, nhưng không phải vì tôi lo lắng về việc nâng cấp phá vỡ thứ gì đó, mà vì tôi lo lắng về những thay đổi của mình phá vỡ thứ gì đó.)

Có, đơn giản là không có sự so sánh giữa tính ổn định của Windows và Debian / ổn định. Ngay cả khi một cái gì đó bị hỏng (hầu như luôn luôn do lỗi người dùng rõ ràng), có rất nhiều công cụ để gỡ lỗi và khắc phục vấn đề.
liori

2
"Nâng cấp hạt nhân là những thứ rủi ro nhất" - Đó là lý do tại sao tôi giữ một bản sao của Knoppix bên cạnh máy tính của mình. 5 chứ không phải 6.
amphetamachine

Bạn cũng có thể tìm thấy [rsnapshot] hữu ích (rsnapshot.org), một tiện ích chụp nhanh hệ thống tập tin dựa trên rsync .
Pablo A

5

Không cần thiết, vì trình quản lý gói sẽ quan tâm đến tệp nào từ gói nào và cũng có thể khôi phục lại bản cập nhật hoặc cài đặt gói.


2
nhưng nếu gói bị hỏng thứ gì đó trong quá trình khởi động lại, việc thực hiện khôi phục có thể trở nên khó khăn (đặc biệt liên quan đến sửa đổi kernel)
warren

1
Đó là lý do tại sao thường nhân trước đó được giữ và có thể được chọn để khởi động trong grub.
mbq

1
Tôi không đồng ý. Sẽ rất hữu ích khi có thể chuyển đổi giữa cập nhật hệ điều hành x và cập nhật x + 1 (sự khác biệt có thể bao gồm nhiều hơn một gói kernel) với khởi động lại đơn giản. Điều này là có thể với OpenSolaris.
knweiss

Mọi thứ đều có thể với Solaris, ngoại trừ việc tìm kiếm các trình điều khiển ổn định ;-)
mbq

5

Bạn có thể thử sử dụng một công cụ như etckeeper . Công cụ này chỉ đơn giản là giữ các tệp cấu hình trên toàn hệ thống trong kho lưu trữ kiểm soát phiên bản và giúp dễ dàng khôi phục và áp dụng lại mọi thay đổi.

Nhưng, thành thật mà nói, tôi không bao giờ cần phải khôi phục bất kỳ thay đổi nào đến từ các bản cập nhật trên hệ thống ổn định / ổn định của tôi. Tôi sử dụng nó để sửa chữa sai lầm tôi đã làm bằng tay.


Tôi sử dụng etckeeper, nhưng thực sự thấy hữu ích hơn khi xem dòng thời gian thay đổi so với rollback (tất nhiên bạn có cả hai khả năng). Sử dụng máy chủ web tích hợp (ví dụ: hg, git, bzr, v.v.) thường là dễ nhất:sudo hg serve -R /etc

3

TMK, tính năng khôi phục Windows chỉ đảo ngược các thay đổi đối với sổ đăng ký và một số thư mục quan trọng. Linux không có cái này.

Bạn có thể thử cách tiếp cận thủ công với các bản sao lưu. Chỉ cần sao lưu thư mục chính của bạn và danh sách các chương trình từ Synaptic và sử dụng nó làm điểm khôi phục.


3

Lưu ý rằng Ubuntu nói riêng (nhưng có lẽ cả Debian) sẽ không xóa các gói kernel cũ khi cài đặt các bản cập nhật và bạn có thể định cấu hình bộ tải khởi động để đưa ra danh sách các hạt nhân cần chọn khi khởi động.

Điều này tự động tạo ra "điểm khôi phục" - chỉ dành cho kernel - bởi vì bạn có thể chọn phiên bản trước nếu phiên bản mới hơn gây ra sự cố. Theo tôi biết, Windows không có gì giống như vậy cho các bản cập nhật kernel của nó. (Và đặc biệt đối với người dùng gia đình, tôi sẽ không muốn giúp một người chẩn đoán và sửa chữa một hệ thống không thể khởi động do cập nhật kernel.)


3

Có một công cụ gọi là Timeshift. ( http://www.teejeetech.in/p/timeshift.html ) Tôi chưa sử dụng nó, nhưng có vẻ đầy hứa hẹn và tôi đã nghe những điều tốt về nó từ người dùng. Ảnh chụp nhanh được thiết kế để tránh trùng lặp dữ liệu. Và đừng sợ hãi bởi trang web trông tối nghĩa. :)


2

Nếu bạn sử dụng Trình quản lý khối tin hợp lý để quản lý nội dung của các đĩa cứng, thì bạn sẽ nhận được điều này miễn phí ở một mức độ nào đó bằng cách sử dụng ảnh chụp nhanh. Để trích dẫn HOWTO tuyệt vời : "Một ví dụ là chụp nhanh một âm lượng, gắn ảnh chụp nhanh và thử một chương trình thử nghiệm thay đổi các tệp trên âm lượng đó. Nếu bạn không thích những gì nó đã làm, bạn có thể ngắt kết nối ảnh chụp nhanh, xóa nó, và gắn hệ thống tập tin gốc vào vị trí của nó. "


Tôi muốn lưu ý, phân vùng đĩa được đề xuất trên Ubuntu 12.04+ sử dụng LVM, vì vậy đây thực sự là gợi ý tốt nhất.
kevinf

1

Tùy thuộc vào công nghệ VM của bạn, bạn có thể dừng / tạm dừng / tạm dừng VM, kết xuất lõi và sao chép hình ảnh của VM. Nếu thất bại, chỉ cần khôi phục lại bản gốc.

Nếu bạn đi thẳng vào âm lượng hợp lý, bạn có thể tạo ảnh chụp nhanh LVM dựa trên LV gốc. Kiểm tra bản nâng cấp và nếu nó hoạt động, bạn làm lại trên VM gốc (xem lvcreate (8) -s)

Hoặc sử dụng tar cũ vàng (1). Bạn tạo một bóng tar hoàn chỉnh của không gian người dùng, khôi phục các tệp và xóa các tệp không có trong bóng tar ban đầu.


Từ câu hỏi: "Có cách tiếp cận cài đặt khôi phục nào không phụ thuộc vào cấu hình VM" không?
Ben Voigt

1

Ngay bây giờ Linux không thực sự cung cấp một tính năng như vậy mặc dù nó sẽ rất hữu ích.

Tuy nhiên, bài viết Nâng cấp không thể phá vỡ, ZFS và Apt mô tả tính năng apt-clone của phân phối lưu trữ Nexenta dựa trên Linux và gợi ý ...

Ngoài ra còn có một hệ thống tập tin mới được tạo ra như là một phản ứng với ZFS, được gọi là BTRFS, sẽ có nhiều ưu điểm của ZFS và có thể có khả năng cho phép nâng cấp không thể phá vỡ được đối với các bản phân phối Linux trung bình như Ubuntu trong tương lai.

IMHO trước tiên chúng ta cần một hệ thống tập tin Copy-On-Write (COW) có thể sử dụng được cho Linux trước khi tính năng này có thể được triển khai trong trình cài đặt / cập nhật hệ thống theo cách lành mạnh.

Lưu ý: Mặc dù Nexenta dựa trên Linux nhưng nó không sử dụng nhân Linux. Nó sử dụng kernel OpenSolaris và ZFS.


Tôi không có ý chọn nits của bạn, nhưng Linux không có nhân Linux là một chút oxymoron.
Seamus Connor
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.