Thực hành / Image và tương thích

Chọn phiên bản Ubuntu và kiểm tra image trên VPS

Chọn phiên bản Ubuntu và kiến trúc theo toàn bộ ứng dụng trước khi đặt máy. Sau khi tạo VPS, kiểm tra hệ thống thực nhận, trạng thái khởi tạo và gói có thể cài; thử ứng dụng trước khi chuyển dữ liệu hoặc lưu lượng.

VPSuntu · Cập nhật: 27 tháng 9 năm 2026 · khoảng 6 phút đọc

Mục lụcĐối chiếu yêu cầu trước khi tạo VPSXác định image thực nhậnKiểm tra quá trình khởi tạoXem phiên bản gói trước khi càiVí dụ một quyết định tương thíchTheo dõi container và từng lớp phần mềmTách cập nhật gói khỏi nâng phiên bản hệ điều hànhLưu quyết định có thể tái lập

Đối chiếu yêu cầu trước khi tạo VPS

Liệt kê hệ điều hành, runtime, database và kiến trúc mà ứng dụng cùng phần mở rộng hỗ trợ. Tính cả agent sao lưu và giám sát. Phân biệt hỗ trợ chính thức với kết quả nhóm của bạn tự thử.

  1. Ghi các phiên bản Ubuntu, runtime và database ứng dụng hỗ trợ.
  2. Kiểm tra kiến trúc của module native, image container và agent.
  3. Chọn trong các phiên bản tương thích theo thời gian bảo trì còn lại.
  4. Xác nhận nhà cung cấp có image và kiến trúc đó tại region cần dùng.
  5. Kiểm tra sau khi tạo máy và thử ứng dụng trước khi chuyển dữ liệu.

Ubuntu 24.04 LTS là ví dụ cụ thể: phiên bản này đưa Python mặc định 3.12, PHP 8.3 và PostgreSQL 16. Bản vá thay đổi qua cập nhật; hỗ trợ phiên bản major cũ không tự bảo đảm tương thích. Xem bảng vòng đời LTS để đối chiếu thời hạn.

Xác định image thực nhận

Chạy các lệnh chỉ đọc trên VPS và lưu kết quả trước khi cài thêm phần mềm.

cat /etc/os-release
uname -r
dpkg --print-architecture
uname -m

Cuộn bảng sang ngang để xem đủ các cột.

Kết quảÝ nghĩa
VERSION_ID trong /etc/os-releasePhiên bản Ubuntu đã cài, chẳng hạn 24.04
Kernel từ uname -rKernel đang chạy, có thể đổi sau cập nhật và reboot
amd64 / x86_64Tên kiến trúc gói / máy cho x86 64-bit
arm64 / aarch64Tên thường dùng cho Arm 64-bit

Chuỗi kernel không xác định riêng phiên bản Ubuntu hay phạm vi hỗ trợ; cloud có thể dùng kernel riêng. Không mặc nhiên chạy tệp amd64 trực tiếp trên arm64. Cần bản dựng Arm hoặc phương án khác được hỗ trợ.

Kiểm tra quá trình khởi tạo

Nhiều image dùng cloud-init để tạo tài khoản, cài khóa và mạng. Kiểm tra công cụ có tồn tại trước; thiếu cloud-init không tự chứng minh lỗi, vì nhà cung cấp có thể khởi tạo bằng cách khác.

if command -v cloud-init >/dev/null 2>&1; then
    cloud-init status --long
else
    printf '%s\n' 'Chưa cài cloud-init; hãy kiểm tra cách nhà cung cấp khởi tạo máy.'
fi

Trạng thái running là đang làm việc. Error hoặc degraded cần kiểm tra dù SSH đã vào được. Khi có cloud-init, xem log liên quan:

sudo tail -n 50 /var/log/cloud-init.log
sudo tail -n 50 /var/log/cloud-init-output.log

Script khởi tạo có thể in bí mật; xóa thông tin nhạy cảm trước khi chia sẻ log. Không chạy cloud-init clean hoặc thay tệp mạng chỉ để giấu lỗi. Khởi tạo xong không chứng minh ứng dụng, database và sao lưu đều tốt.

Xem phiên bản gói trước khi cài

apt update làm mới chỉ mục mà chưa cài các gói ứng dụng dưới đây. Ghi phiên bản candidate và kho cung cấp.

sudo apt update
apt-cache policy python3 php postgresql
apt-cache policy python3.12 php8.3 postgresql-16

Installed: (none) nghĩa là chưa cài; Candidate: (none) nghĩa nguồn gói hiện không cung cấp phiên bản đó. Kiểm tra tên, kiến trúc và thành phần Ubuntu trước khi thêm kho tùy ý.

Metapackage như php hoặc postgresql chọn triển khai mặc định; kiểm tra cả gói có số phiên bản. Với phần mềm đã có, xem executable hoặc dịch vụ thực chạy: python3 --version và php --version kiểm tra chương trình đó, trong khi client database có thể khác server.

Ví dụ một quyết định tương thích

Giả sử ứng dụng chỉ hỗ trợ Python 3.10 và module native chỉ có amd64. Đây là giả định, không nói về sản phẩm cụ thể. Ubuntu 24.04 arm64 mặc định không đạt hai yêu cầu: Python 3.12 và kiến trúc khác.

Chọn amd64 chỉ giải quyết kiến trúc, không đổi Python mặc định. Virtual environment dùng interpreter tạo nó, không biến 3.12 thành 3.10. Không thay Python hệ thống của Ubuntu để đáp ứng ứng dụng.

Có thể nâng ứng dụng hoặc chọn runtime/container được bảo trì riêng với kế hoạch hỗ trợ rõ ràng. Kiểm tra mọi thành phần native; bản Ubuntu cũ hơn cũng có thời hạn bảo trì riêng, không phải cách sửa tự động.

Trong staging, chạy phần mã dùng extension, thao tác database, tác vụ nền và chu kỳ backup/restore. Ghi build và phiên bản. Cài thành công hoặc tải trang chủ được là phép thử quá hẹp.

Theo dõi container và từng lớp phần mềm

Container tách phụ thuộc khỏi gói mặc định Ubuntu nhưng vẫn dùng kernel, đĩa và mạng của host. Kiểm tra image hỗ trợ kiến trúc đích; giả lập có giả định hiệu năng và hỗ trợ khác.

Giữ dữ liệu ở volume có tài liệu hoặc kho ngoài và thử khôi phục độc lập với container có thể xóa. Ghim release hoặc digest để dựng lại được, đồng thời lên lịch cập nhật. Image có lỗ hổng bị ghim mãi vẫn là hệ thống được bảo trì kém.

Phân biệt hỗ trợ bản Ubuntu với từng gói: bảo trì tiêu chuẩn, Ubuntu Pro, kho bên thứ ba, tệp tải riêng và container có người bảo trì khác nhau. Ghi ai cập nhật từng lớp.

Tách cập nhật gói khỏi nâng phiên bản hệ điều hành

Làm mới metadata trước rồi xem gói chờ cập nhật và dịch vụ lỗi. Khối này liệt kê thông tin, không thực hiện nâng phiên bản phân phối.

apt list --upgradable
systemctl --failed
if [ -f /var/run/reboot-required ]; then cat /var/run/reboot-required; fi

Rà soát và áp dụng cập nhật trong cửa sổ phù hợp, rồi thử lại ứng dụng. Dịch vụ có thể restart trong bảo trì. Dấu reboot-required hữu ích nếu có; không có nó không chứng minh mọi thành phần đã mới nhất.

Thử nâng phiên bản trên bản sao hoặc máy mới: kiểm tra runtime, kho gói, yêu cầu nâng database và extension. Lập đồng bộ dữ liệu cuối và đường quay lại có tính đến dữ liệu ghi sau thay đổi. Snapshot trước nâng cấp không thể chứa đơn hàng xuất hiện sau đó.

Lưu quyết định có thể tái lập

Cuộn bảng sang ngang để xem đủ các cột.

Hồ sơThông tin cần lưu
Hệ điều hànhRelease, kiến trúc, kernel và ID image
Ứng dụngBuild, runtime, lockfile và nguồn kho
Khởi tạoKết quả và cấu hình không có bí mật
Kiểm traLuồng đã thử, kết quả, lỗi còn lại
Bảo trìNgười phụ trách, cửa sổ cập nhật, nơi nhận cảnh báo
Khôi phụcNơi sao lưu, quy trình, lần restore đã xác minh

Giữ bí mật ngoài hồ sơ; đưa cấu hình không nhạy cảm vào quản lý phiên bản. Dựng máy riêng khi phụ thuộc quan trọng thay đổi. Xem tạo VM công khai hoặc triển khai website khi môi trường phù hợp.

Các họ gói Ubuntu 24.04 là ví dụ theo tài liệu. Kiểm tra candidate hiện có trên image đích và thử ứng dụng của bạn; bài viết không tuyên bố đã thử tính tương thích của ứng dụng.

Câu hỏi thường gặp

Ubuntu 24.04 luôn là lựa chọn tốt nhất sao?

Đó là phiên bản minh họa. Chọn bản còn được hỗ trợ mà cả ứng dụng lẫn nhà cung cấp đáp ứng; phiên bản mới hoặc cũ đều có thể cần sửa ứng dụng.

Cài lại image có giữ dữ liệu không?

Cài lại qua panel thường thay ổ hệ thống. Kiểm tra thủ tục, xuất dữ liệu và cấu hình rồi thử khôi phục trước. Cài lại khác với nâng phiên bản tại chỗ.

Kernel cho biết đủ phiên bản Ubuntu không?

Không. Xem /etc/os-release cho release, kernel đang chạy bằng uname và kiến trúc gói bằng dpkg; lưu cả ba thay vì suy từ một chuỗi.

Công việc liên quan

Tiếp tục theo nhu cầu.

Kiểm tra cấu hình đang cung cấp.

Đối chiếu ứng dụng, chi phí và nhu cầu phục hồi.

Xem lựa chọn VPS

Liên kết tiếp thị · Đọc điều kiện nhà cung cấp.