NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
12/04/2023
Lượt xem

Hướng dẫn cách cập nhật máy chủ Ubuntu 20.04 một cách an toàn

12/04/2023
10 phút đọc
Lượt xem

Đánh giá

5/5 - (69 bình chọn)

Trong hướng dẫn này, Vietnix sẽ hướng dẫn một số phương pháp để bạn luôn có cách cập nhật máy chủ Ubuntu 20.04 của mình liên tục. Cũng như việc tăng cường bảo mật mạng, bạn có thể thực hiện nhiều bước để đảm bảo máy chủ của mình sẽ tiếp tục hoạt động an toàn mà không cần can thiệp sau này. Việc này cũng giúp tránh tình trạng lỗi do các bản vá gây ra.

Điều kiện để có thể hướng dẫn cách cập nhật máy chủ Ubuntu 20.04

  • Máy chủ Ubuntu 20.04. Bạn có thể tham khảo các gói dịch vụ VPS tốc độ cao tại Vietnix. Các gói VPS tại đây có cấu hình đa dạng, chi phí hợp lý, hỗ trợ nhiều hệ điều hành, cho bạn toàn quyền cài đặt và sử dụng theo mục đích riêng.
  • Tài khoản người dùng của bạn không phải root và có quyền sudo.

Bước 1: Sử dụng các phương pháp quản lý ứng dụng

Việc thực hiện các phương pháp quản lý ứng dụng mục đích cơ bản là để việc cấu hình máy chủ của bạn có thể cập nhật tự động và đảm bảo rằng tất cả các ứng dụng đang chạy trên máy chủ đều có khả năng được khởi chạy lại bình thường sau khi cập nhật.

Khi bạn cài đặt các ứng dụng trên máy chủ Ubuntu, hầu hết các ứng dụng này sẽ được quản lý bởi hệ thống systemd. Systemd sẽ giúp bạn tương tác với các dịch vụ và tự động khởi động lại chúng khi cần. Nếu bạn tự phát triển ứng dụng hoặc triển khai từ Git, bạn có thể viết các tệp của riêng mình để tích hợp với systemd. Nếu bạn muốn sử dụng một công cụ nhẹ hơn, bạn có thể sử dụng Supervisor.

Ngoài ra, Nếu bạn muốn chạy một tác vụ nào đó mỗi khi khởi động lại máy chủ, bạn có thể sử dụng lịch trình cron với cú pháp @reboot. Bạn cũng có thể khởi động lại máy chủ bằng cách chạy lệnh:

 sudo shutdown now -r

Lệnh này sẽ dừng các tiến trình đang chạy và khởi động lại máy chủ ngay lập tức. Sau khi khởi động lại, hãy kiểm tra xem các dịch vụ và chức năng của hệ thống có hoạt động bình thường hay không.

Bước 2: Cấu hình cập nhật tự động không giám sát (Unattended Upgrades)

Bạn có thể hiểu đơn giản cấu hình cập nhật tự động không giám sát là một tính năng cho phép bạn cài đặt và cập nhật các bản vá bảo mật cho máy chủ của bạn một cách tự động và không cần sự can thiệp của người dùng.

Máy chủ Ubuntu có một công cụ gọi là apt để quản lý các gói trên máy chủ. Để nâng cấp toàn bộ máy chủ, bạn cần chạy 2 lệnh:

sudo apt update

Lệnh trên dùng để cập nhật danh sách các gói và lệnh dưới đây sẽ nâng cấp các gói đó:

sudo apt upgrade

Tuy nhiên, nếu bạn có các gói của bên thứ ba hoặc muốn giữ lại một số gói không được nâng cấp, thì quy trình sẽ có một số khác biệt.

Để tự động cài đặt các bản vá bảo mật và các nâng cấp cần thiết khác cho máy chủ của bạn, Ubuntu có cung cấp công cụ gọi là unattended-upgrades.

Công cụ này thường được cài đặt sẵn trên hầu hết các máy chủ Ubuntu, nhưng nếu chưa có, bạn có thể cài đặt nó bằng các lệnh đơn giản sau đây:

sudo apt update 
sudo apt install unattended-upgrades

Sau khi cài đặt, bạn có thể kiểm tra để đảm bảo rằng dịch vụ nâng cấp không giám sát đang chạy trong systemctl bằng lệnh:

sudo systemctl status unattended-upgrades.service

Bạn sẽ nhận được output như bên dưới:

Output
● unattended-upgrades.service - Unattended Upgrades Shutdown
     Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-02-14 17:51:49 UTC; 3h 4min ago
       Docs: man:unattended-upgrade(8)
   Main PID: 829 (unattended-upgr)
      Tasks: 2 (limit: 1137)
     Memory: 10.6M
     CGroup: /system.slice/unattended-upgrades.service

Dịch vụ unattended-upgrades sẽ tự động tải và cài đặt các bản vá lỗi và bảo mật cho hầu hết các gói trong kho lưu trữ Ubuntu.

Tuy nhiên, nếu bạn sử dụng các phiên bản cũ của một số gói hoặc sử dụng kho lưu trữ gói (repositories) từ bên thứ ba, bạn cần cấu hình cho dịch vụ này. Để làm điều này, bạn chỉ cần sửa tệp cấu hình bằng lệnh:

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Tệp cấu hình sẽ có dạng như thế này:

// Automatically upgrade packages from these (origin:archive) pairs
//
// Note that in Ubuntu security updates may pull in new dependencies
// from non-security sources (e.g. chromium). By allowing the release
// pocket these get automatically pulled in.
Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}";
        "${distro_id}:${distro_codename}-security";
        // Extended Security Maintenance; doesn't necessarily exist for
        // every release and this system may not have it installed, but if
        // available, the policy for updates is such that unattended-upgrades
        // should also install from here by default.
        "${distro_id}ESMApps:${distro_codename}-apps-security";
        "${distro_id}ESM:${distro_codename}-infra-security";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};
…

Tệp này được chú thích rất rõ ràng về chức năng của từng phần. Phần cấu hình đầu tiên xác định các gói sẽ được cập nhật tự động. Theo mặc định, các tệp trong kho lưu trữ chính và kho lưu trữ -security sẽ được cập nhật, nhưng các dòng lệnh chứa kho lưu trữ -updates, -proposed-backports hiện đang ở chế độ chú thích (lệnh sẽ không thực thi).

Những kho lưu trữ này bị tắt mặc định vì đôi lúc chứa các thay đổi có thể làm hỏng các gói đã cài đặt trên máy chủ của bạn. Tuy nhiên, bạn có thể kích hoạt chúng bằng cách xóa các ký tự chú thích // trên các dòng này.

Bên dưới tệp cấu hình sẽ có phần toggles lựa chọn true/false, ví dụ như Automatic-reboot , … Tuy nhiên hãy chắc chắn rằng việc thực hiện này không gây ảnh hưởng luồng công việc vì điều này có thể dẫn đến tình trạng không thể sử dụng ở những khoảng thời gian ngẫu nhiên sau mỗi đợt cập nhật.

...
//Unattended-Upgrade::Automatic-Reboot "false";
...

Sau khi bạn đã thực hiện các thay đổi cấu hình, lưu và đóng tệp bằng cách nhấn Ctrl + X, sau đó nhấn Y rồi Enter.

Để dịch vụ unattended-upgrades có thể hoạt động như mong muốn sau khi bạn sửa tệp cấu hình thì hãy tiến hành khởi động lại dịch vụ bằng lệnh:

sudo systemctl reload unattended-upgrades.service

Qua một số bước trên, bạn đã có các giải pháp để đảm bảo rằng tất cả các gói trên máy chủ của bạn đều nhận được các cập nhật bảo mật cần thiết mà không cần thêm bất kỳ sự can thiệp bổ sung nào khác.

Bước 3: Cập nhật và cài đặt các bản vá Kernel bằng Livepatching

Đôi khi bạn sẽ cần cập nhật Kernel của hệ thống. Kernel Linux chứa (gần như) tất cả các trình điều khiển phần cứng và chịu trách nhiệm cho hầu hết các tương tác hệ thống cấp thấp. Cập nhật Kernel thường chỉ cần thiết nếu có lỗ hổng cần phải giải quyết hoặc nếu bạn cần sử dụng một tính năng Kernel mới được công bố hoặc nếu Kernel của bạn đã quá cũ, có rủi ro tích tụ các lỗi và lỗ hổng mà bạn có thể không biết được.

Trong quá trình cập nhật, máy chủ phải ngừng hoạt động, vì vậy không có cách nào để chạy các dịch vụ từ máy chủ nữa. Vì vậy để tránh tình trạng này, bạn cần dùng Livepatching.

Tính năng này cho phép thực hiện nâng cấp Kernel mà không cần phải khởi động lại hệ thống. Hiện có hai nhà cung cấp chính cho các bản vá kernel LivePatching đó là Canonical và KernelCare chuyên cung cấp dịch vụ Livepatch cho Ubuntu.

Bạn có thể đăng ký một Livepatch key tại trang chủ của Canonical. Sau khi đăng ký, tiến hành cài đặt gói snap canonical-livepatch bằng lệnh:

sudo snap install canonical-livepatch

Snap là một trình quản lý gói Ubuntu chạy song song với apt, tiến hành kích hoạt canonical-livepatch với một dòng lệnh và sử dụng key mà bạn đã đăng ký:

sudo canonical-livepatch enable your-key

Thay thế your-key bằng key mà bạn đã đăng ký trên Canonical. Kết quả sẽ chứa thông báo Successfully enabled device có nghĩa là đã thành công. Dịch vụ sẽ chạy trong nền từ bây giờ trở đi và bạn có thể kiểm tra trạng thái của nó bằng lệnh:

sudo canonical-livepatch status

Chỉ một vài bước như vậy, bạn đã cấu hình cập nhật Kernel tự động cho máy chủ của mình, điều này có nghĩa là bây giờ bạn không cần khởi động lại máy chủ để cập nhật nữa.

Ngoài ra, bạn cũng có thể tham khảo thêm cách thiết lập Redis làm cache cho MySQL bằng PHP trên Ubuntu 20.04 để có thể tối ưu hóa hiệu suất MySQL và cải thiện ứng dụng web của bạn.

Lời kết

Trong bài hướng dẫn cách cập nhật máy chủ Ubuntu 20.04 luôn được cập nhật một cách an toàn này, bạn đã khám phá nhiều chiến lược để tự động cập nhật các máy chủ Ubuntu của mình. Ngoài ra, bạn cũng đã hiểu sâu hơn về kho lưu trữ gói (repositories), cập nhật Kernel và cách xử lý khởi động lại máy chủ. Những kiến thức cơ bản này là rất quan trọng đối với DevOps và làm việc với máy chủ. Nếu bạn nắm vững được những khái niệm này, bạn có thể dễ dàng xây dựng cũng như quản lý các quá trình cập nhật cho máy chủ của mình.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG