Reading Time: 8 minutes

Bài viết này sẽ hướng dẫn chi tiết cách nâng cấp Ubuntu 20.04 lên Ubuntu 22.04.

nâng cấp Ubuntu 20.04 lên Ubuntu 22.04

Ubuntu 22.04 (Jammy Jellyfish) là phiên bản mới nhất thuộc dòng phát hành hỗ trợ dài hạn (Long Term Support – LTS) của hệ điều hành Ubuntu, đã được phát hành vào ngày 21 tháng 4 năm 2022.

Cảnh báo: Giống như hầu hết các quá trình nâng cấp giữa các bản phát hành chính của hệ điều hành, việc nâng cấp này tiềm ẩn nguy cơ phát sinh lỗi, mất dữ liệu hoặc hỏng cấu hình phần mềm. Do đó, trước khi tiến hành, bạn cần thực hiện sao lưu đầy đủ và kiểm tra kỹ lưỡng.

Để giảm thiểu các rủi ro trên, bạn nên thực hiện cài đặt mới một máy chủ Ubuntu 22.04 thay vì nâng cấp tại chỗ. Mặc dù, khi áp dụng phương án này, bạn vẫn cần xem xét các khác biệt trong cấu hình phần mềm, nhưng hệ thống lõi sẽ có tính ổn định cao hơn. Bạn có thể tham khảo bộ hướng dẫn di chuyển sang máy chủ Linux mới của chúng tôi để biết cách thực hiện quá trình chuyển đổi giữa các máy chủ.

Điều kiện tiên quyết

Trong hướng dẫn này, giả định là bạn đang sử dụng hệ thống Ubuntu 20.04 hoặc cao hơn và có sẵn một người dùng không phải root có quyền sudo.

Các rủi ro tiềm ẩn

Mặc dù nhiều hệ thống có thể được nâng cấp tại chỗ mà không gặp sự cố, nhưng phương án an toàn và dễ dự đoán hơn là thực hiện di chuyển sang phiên bản phát hành lớn. Cách tiếp cận này bao gồm việc cài đặt lại hệ điều hành từ đầu, cấu hình lại các dịch vụ, tiến hành kiểm thử kỹ lưỡng trong suốt quá trình, và cuối cùng là di chuyển dữ liệu ứng dụng hoặc dữ liệu người dùng như một bước riêng biệt.

Tuyệt đối không nên nâng cấp một hệ thống production mà chưa kiểm thử toàn bộ phần mềm và dịch vụ hiện có trên môi trường staging. Cần lưu ý rằng các thư viện, ngôn ngữ lập trình và dịch vụ hệ thống có thể đã thay đổi đáng kể. Trước khi nâng cấp, hãy đọc kỹ Ghi chú Phát hành (Release Notes) của phiên bản Jammy Jellyfish để nắm rõ các thay đổi và yêu cầu tương thích.

Các bước nâng cấp Ubuntu 20.04 lên Ubuntu 22.04

Bước 1: Sao lưu hệ thống

Trước khi tiến hành nâng cấp lớn trên bất kỳ hệ thống nào, phải đảm bảo dữ liệu sẽ không bị mất nếu xảy ra sự cố trong quá trình nâng cấp. Giải pháp an toàn nhất là tạo bản sao lưu toàn bộ hệ thống tệp. Nếu điều này không khả thi, tối thiểu hãy sao lưu các thư mục người dùng (/home), các tệp cấu hình tùy chỉnh, và dữ liệu do các dịch vụ như hệ quản trị cơ sở dữ liệu quan hệ lưu trữ.

Với máy chủ ảo (Droplet) trên nền tảng DigitalOcean, một phương án hiệu quả là tắt hệ thống và tạo ảnh chụp (snapshot). Việc tắt máy giúp hệ thống tệp đạt trạng thái nhất quán hơn. Tham khảo bài viết Cách tạo ảnh chụp (Snapshot) của Droplet để biết hướng dẫn chi tiết. Sau khi xác nhận quá trình nâng cấp Ubuntu thành công, bạn có thể xóa ảnh chụp để tránh phát sinh chi phí lưu trữ.

Để tìm hiểu các phương pháp sao lưu áp dụng được cho hầu hết hệ thống Ubuntu, vui lòng tham khảo bài viết Cách lựa chọn chiến lược sao lưu hiệu quả cho VPS của bạn.

Bước 2: Cập nhật các gói hiện có

Trước khi bắt đầu nâng cấp phiên bản hệ điều hành, bạn nên cập nhật tất cả các gói hiện tại lên phiên bản mới nhất để đảm bảo quá trình nâng cấp diễn ra an toàn hơn.

Đầu tiên, cập nhật danh sách gói:

sudo apt update

Tiếp theo, nâng cấp các gói đã cài đặt lên phiên bản mới nhất có sẵn:

sudo apt upgrade

Bạn sẽ được hiển thị danh sách các gói sẽ được nâng cấp và được hỏi xác nhận. Nhấn y để đồng ý và nhấn Enter.

Quá trình này có thể kéo dài. Sau khi hoàn tất, sử dụng lệnh dist-upgrade với apt-get, lệnh này sẽ xử lý các nâng cấp bổ sung liên quan đến thay đổi phụ thuộc, đồng thời cài thêm hoặc gỡ bớt các gói cần thiết. Đây là những nâng cấp có thể đã bị trì hoãn trong bước apt upgrade trước đó.

sudo apt dist-upgrade

Một lần nữa, nhập y khi được yêu cầu xác nhận và chờ quá trình nâng cấp hoàn tất.

Sau khi đã cập nhật đầy đủ hệ thống Ubuntu, bạn có thể sử dụng lệnh do-release-upgrade để nâng cấp lên bản phát hành 22.04.

Bước 3: Nâng cấp bằng công cụ do-release-upgrade của Ubuntu

Theo cách làm trước đây, các bản phát hành Ubuntu có thể được nâng cấp bằng cách chỉnh sửa tệp /etc/apt/sources.list, nơi định nghĩa các repository chứa gói, rồi chạy lệnh apt-get dist-upgrade để tiến hành nâng cấp. Dù phương pháp này hiện vẫn có thể hoạt động nhưng Ubuntu đã cung cấp công cụ do-release-upgrade để giúp quá trình nâng cấp diễn ra an toàn và thuận tiện hơn.

Công cụ do-release-upgrade sẽ tự động kiểm tra phiên bản mới, cập nhật sources.list và thực hiện nhiều tác vụ cần thiết khác. Đây là phương pháp nâng cấp được khuyến nghị chính thức cho máy chủ, đặc biệt khi thao tác qua kết nối mạng từ xa.

Để bắt đầu, chỉ cần chạy lệnh do-release-upgrade mà không kèm tùy chọn:

sudo do-release-upgrade

Nếu phiên bản Ubuntu mới chưa được phát hành chính thức, bạn có thể thấy thông báo sau:

Checking for a new Ubuntu release
No new release found

Lưu ý, đối với Ubuntu Server, bản phát hành LTS mới sẽ không được hiển thị trong do-release-upgrade cho đến khi có bản phát hành điểm đầu tiên, ví dụ trong trường hợp này là 22.04.1, thường được phát hành vài tháng sau bản chính thức.

Nếu không thấy bản phát hành mới, bạn có thể thêm tùy chọn -d để nâng cấp lên phiên bản phát triển:

sudo do-release-upgrade -d

Nếu bạn đang kết nối tới hệ thống qua SSH, công cụ sẽ hỏi bạn có muốn tiếp tục hay không. Đối với các máy ảo hoặc máy chủ được quản lý từ xa, đặc biệt cần lưu tâm tới nguy cơ mất kết nối SSH, nhất là khi bạn không có phương tiện khác để truy cập trực tiếp vào console của hệ thống (chẳng hạn tính năng console qua giao diện web).

Với các hệ thống khác do bạn quản lý, nguyên tắc an toàn là chỉ tiến hành nâng cấp hệ điều hành lớn khi bạn có quyền truy cập vật lý trực tiếp vào máy chủ.

Tại dấu nhắc, nhập y và nhấn Enter để tiếp tục:

Reading cache
Checking package manager
Continue running under SSH?

This session appears to be running under ssh. It is not recommended
to perform a upgrade over ssh currently because in case of failure it
is harder to recover.

If you continue, an additional ssh daemon will be started at port
'1022'.
Do you want to continue?

Continue [yN]

Tiếp theo, bạn sẽ được thông báo rằng do-release-upgrade sẽ khởi chạy một phiên SSH bổ sung tại cổng 1022:

Starting additional sshd

To make recovery in case of failure easier, an additional sshd will
be started on port '1022'. If anything goes wrong with the running
ssh you can still connect to the additional one.

If you run a firewall, you may need to temporarily open this port. As
this is potentially dangerous it's not done automatically. You can
open the port with e.g.:
'iptables -I INPUT -p tcp --dport 1022 -j ACCEPT'

To continue please press [ENTER]

Nhấn Enter. Tiếp theo, bạn có thể nhận được cảnh báo rằng không tìm thấy mirror. Đối với các hệ thống trên DigitalOcean, bạn có thể bỏ qua cảnh báo này và tiếp tục nâng cấp vì mirror của bản 22.04 vẫn khả dụng. Nhấn y:

Updating repository information
No valid mirror found

While scanning your repository information no mirror entry for the
upgrade was found. This can happen if you run an internal mirror or
if the mirror information is out of date.

Do you want to rewrite your 'sources.list' file anyway? If you choose
'Yes' here it will update all 'focal' to 'jammy' entries.
If you select 'No' the upgrade will cancel.

Continue [yN]

Sau khi tải xuống danh sách gói mới và tính toán các thay đổi cần thiết, hệ thống sẽ yêu cầu bạn xác nhận việc bắt đầu nâng cấp. Nhập y để tiếp tục:

Do you want to start the upgrade?

4 packages are going to be removed. 107 new packages are going to be
installed. 554 packages are going to be upgraded.

You have to download a total of 547 M. This download will take about
1 minute with a 40Mbit connection and about 14 minutes with a 5Mbit
connection.

Fetching and installing the upgrade can take several hours. Once the
download has finished, the process cannot be canceled.

Continue [yN]  Details [d]

Bạn có thể nhận thêm một cảnh báo về vấn đề không thể tắt màn hình khóa:

Unable to disable lock screen

It is highly recommended that the lock screen be disabled during the
upgrade to prevent later issues. Please ensure your screen lock is
disabled before continuing.

Nếu đang nâng cấp trên máy chủ Ubuntu (không phải desktop), bạn có thể bỏ qua cảnh báo này bằng cách nhấn Enter.

Tiếp theo, các gói mới sẽ được tải xuống, giải nén và cài đặt. Ngay cả khi sử dụng kết nối mạng tốc độ cao, quá trình này vẫn có thể kéo dài.

Trong quá trình cài đặt, có thể xuất hiện một số hộp thoại tương tác. Ví dụ, hệ thống có thể hỏi bạn có muốn tự động khởi động lại dịch vụ khi cần thiết hay không:

Cách nâng cấp Ubuntu 20.04 lên Ubuntu 22.04

Hộp thoại khởi động lại dịch vụ

Trong trường hợp này, nên chọn Yes. Tuy nhiên, bạn cũng có thể gặp các câu hỏi khác, chẳng hạn như có muốn thay thế tệp cấu hình đã chỉnh sửa không. Quyết định này phụ thuộc vào kinh nghiệm và hiểu biết cụ thể về phần mềm, nên không nằm trong phạm vi hướng dẫn này.

Sau khi tất cả gói mới đã được cài đặt, hệ thống sẽ hỏi có muốn xóa các gói lỗi thời hay không. Trên hệ thống tiêu chuẩn không có cấu hình tùy chỉnh đặc biệt, bạn có thể nhập y để xác nhận. Nếu hệ thống đã được tùy chỉnh nhiều, nên nhập d để xem danh sách gói trước khi xóa.

Remove obsolete packages?
53 packages are going to be removed.

Continue [yN]  Details [d]

Cuối cùng, nếu mọi thứ diễn ra thuận lợi, bạn sẽ được thông báo cho biết quá trình nâng cấp đã hoàn tất và yêu cầu khởi động lại. Nhập y để tiếp tục:

System upgrade is complete.

Restart required

To finish the upgrade, a restart is required.
If you select 'y' the system will be restarted.

Continue [yN]

Trên phiên SSH, bạn có thể thấy thông báo như sau:

Connection to 203.0.113.241 closed by remote host.
Connection to 203.0.113.241 closed.

Lúc này bạn có thể phải nhấn một phím để trở về terminal cục bộ vì phiên SSH đã bị máy chủ ngắt kết nối.

Chờ máy chủ khởi động lại, sau đó kết nối lại. Khi đăng nhập, bạn sẽ thấy một thông báo xác nhận rằng bạn hiện đang sử dụng Focal Fossa:

Welcome to Ubuntu 22.04 LTS (GNU/Linux 5.15.0-25-generic x86_64)

Kết luận

Bạn hiện đã có hệ thống Ubuntu 22.04 hoạt động ổn định. Từ đây, bạn nên kiểm tra và thực hiện các thay đổi cấu hình cần thiết cho dịch vụ và ứng dụng đã triển khai.

Bạn có thể tìm thêm hướng dẫn và câu hỏi liên quan đến Ubuntu 22.04 tại trang tổng hợp các bài viết về Ubuntu 22.04.

0 Bình luận

Đăng nhập để thảo luận

Chuyên mục Hướng dẫn

Tổng hợp các bài viết hướng dẫn, nghiên cứu và phân tích chi tiết về kỹ thuật, các xu hướng công nghệ mới nhất dành cho lập trình viên.

Đăng ký nhận bản tin của chúng tôi

Hãy trở thành người nhận được các nội dung hữu ích của CyStack sớm nhất

Xem chính sách của chúng tôi Chính sách bảo mật.

Đăng ký nhận Newsletter

Nhận các nội dung hữu ích mới nhất