Làm thế nào Ubuntu có thể cập nhật các ứng dụng đang chạy mà không cần phải đóng chúng trong khi Windows không thể?


11

Chạy Ubuntu 12.04 64-bit.

Tôi chủ yếu cập nhật thông qua thiết bị đầu cuối bằng cách sử dụng sudo apt-get update && sudo apt-get upgrade.

Tôi không hiểu điều này: có Firefox hoặc bất kỳ ứng dụng tích hợp nào như vậy đang tích cực chạy cùng với quá trình cập nhật chạy đồng thời trong thiết bị đầu cuối, đang cập nhật Firefox lên phiên bản mới hơn. Tôi biết rằng việc khởi động lại Firefox sẽ khiến Firefox được mở dưới dạng phiên bản mới hơn.

Ví dụ: khi cập nhật trong MS Windows 7, nó yêu cầu đóng phiên bản hoạt động của cùng một ứng dụng (nếu nó đang hoạt động) trước khi cập nhật.

Làm thế nào để Ubuntu thay thế ứng dụng hoạt động tích cực sang phiên bản mới hơn mà không can thiệp vào phiên bản hoạt động của nó?

Điều gì chính xác xảy ra ở phần cuối của quá trình cập nhật trong trường hợp này?

Câu trả lời:


19

Ví dụ - Cập nhật trong MS Windows 7, nó yêu cầu đóng Instance hoạt động của cùng một ứng dụng (nếu hoạt động) để cập nhật.

Làm thế nào Ubuntu thay thế ứng dụng hoạt động tích cực sang phiên bản mới hơn mà không can thiệp vào Instance hoạt động của nó. [Thông báo cho nhiều gói]

Tôi sẽ cố gắng giải thích điều này một cách đơn giản nhất có thể. Hầu hết các hệ thống tệp Linux hơi khác so với các hệ thống tệp của Windows (NTFS). Về cốt lõi, cả hai về cơ bản đều chứa một bảng chỉ mục tên tệp (mục nhập) trỏ đến dữ liệu thực được lưu trữ trên đĩa. Trong NTFS, nó được gọi là MFT (bảng tệp chính) - bạn có thể đã thấy cuộn tên đó nếu bạn chạy a chkdsk.

Tuy nhiên, "sự khác biệt nhỏ" mà tôi đã đề cập là các bảng chỉ mục của Linux, nếu bạn muốn, sẽ bao gồm hai cấp độ: chỉ mục và inodes . Các nút chứa siêu dữ liệu tệp thực tế, bao gồm cả vị trí vật lý của nó trên đĩa; "tên tệp" trong chỉ mục chỉ đơn giản là một liên kết (cứng) đến nút.

Khi bạn cập nhật / nâng cấp một ứng dụng đang chạy, các tệp đã cập nhật được ghi vào đĩa, các nút trỏ đến dữ liệu mới được tạo / cập nhật và tên tệp cũng được cập nhật để liên kết với các nút mới này. Nhưng , đối với bất kỳ tệp nào đã được sử dụng bởi một ứng dụng đang chạy (tức là xử lý tệp tồn tại), tên tệp của chúng sẽ tiếp tục trỏ đến các nút cũ (chứa dữ liệu cũ) cho đến khi đóng tệp xử lý. Điều này thường xảy ra khi bạn thoát khỏi ứng dụng hoặc cho một số tệp hệ thống khi bạn khởi động lại. Tại thời điểm này, dữ liệu cũ thực sự bị xóa khỏi đĩa của bạn.

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.