Nâng cấp Fedora bằng DNF System Upgrade: Nhanh, Sạch và Không Sợ ‘Brick’ Máy

Fedora tutorial - IT technology blog
Fedora tutorial - IT technology blog

Tại sao mình chọn Upgrade thay vì cài mới?

Fedora nổi tiếng với tốc độ ra bản mới “nhanh như chớp”. Cứ khoảng 6 tháng, anh em lại thấy một version mới xuất hiện. Mình đã dùng Fedora làm máy dev chính hơn 2 năm qua. Điểm cộng lớn nhất là Kernel, GCC, Python hay Go luôn được cập nhật bản mới nhất cực nhanh.

Tuy nhiên, vòng đời hỗ trợ của mỗi bản Fedora chỉ kéo dài khoảng 13 tháng. Nghĩa là ít nhất mỗi năm một lần, anh em phải nâng cấp để tiếp tục nhận bản vá bảo mật. Nhiều anh em DevOps thường ngại nâng cấp OS vì sợ lỗi dependency hoặc mất cấu hình quan trọng.

Thực tế, công cụ dnf-plugin-system-upgrade xử lý việc này rất mượt mà. Thay vì tốn 2 tiếng cài lại máy và setup môi trường, việc upgrade trực tiếp giúp giữ nguyên Docker containers, cấu hình Nginx và SSH keys. Nếu tuân thủ đúng quy trình, tỉ lệ lỗi gần như bằng không.

3 bước chuẩn bị để không phải “ăn hành”

Trước khi gõ lệnh, hãy kiểm tra kỹ 3 yếu tố sau để quá trình nâng cấp diễn ra trơn tru:

  • Backup dữ liệu: Dù DNF rất ổn định, đừng chủ quan. Hãy copy các folder quan trọng như /etc, /var/www, và /home ra ổ cứng ngoài hoặc Cloud.
  • Dọn dẹp bộ nhớ: Một đợt nâng cấp thường tải về khoảng 2.5GB – 5GB package. Hãy đảm bảo phân vùng root (/) còn trống ít nhất 10GB.
  • Tạm tắt Repo ngoài: Các repository bên thứ ba (ngoại trừ RPM Fusion) rất dễ gây xung đột version trong lúc tính toán dependency.

Cài đặt công cụ nâng cấp hệ thống

Để nâng cấp giữa các version lớn (ví dụ từ 40 lên 41), anh em cần một plugin chuyên dụng của DNF. Plugin này sẽ quản lý việc tải gói tin và thiết lập môi trường reboot an toàn.

Đầu tiên, hãy đưa hệ thống hiện tại về trạng thái mới nhất:

sudo dnf upgrade --refresh

Sau khi cập nhật xong, nếu có Kernel mới, anh em nên reboot một lần. Tiếp theo, cài đặt plugin nâng cấp bằng lệnh:

sudo dnf install dnf-plugin-system-upgrade

Tải gói tin cho phiên bản mới

Đây là giai đoạn hệ thống chuẩn bị dữ liệu. Giả sử anh em đang ở Fedora 40 và muốn lên Fedora 41, hãy chạy lệnh sau:

sudo dnf system-upgrade download --releasever=41

Trong đó, --releasever=41 là số phiên bản mục tiêu. DNF sẽ bắt đầu check metadata và liệt kê danh sách hàng nghìn package cần tải về.

Xử lý xung đột Dependency

Nếu gặp lỗi “Problem: package X requires Y…”, nguyên nhân thường do các package cũ từ repo ngoài. Anh em có thể thêm flag --allowerasing để DNF tự động gỡ bỏ các gói gây nghẽn:

sudo dnf system-upgrade download --releasever=41 --allowerasing

Lưu ý: Hãy đọc kỹ danh sách package bị gỡ. Nếu thấy nó định xóa mất IDE hay Database engine quan trọng, hãy dừng lại để kiểm tra thủ công.

Tiến hành nâng cấp và Reboot

Khi thấy dòng chữ “Download complete!”, hãy lưu lại toàn bộ công việc và đóng các ứng dụng đang chạy. Gõ lệnh cuối cùng để bắt đầu quá trình cài đặt thực tế:

sudo dnf system-upgrade reboot

Máy sẽ khởi động lại vào một môi trường tối giản. Anh em sẽ thấy logo Fedora kèm thanh tiến trình chạy trên màn hình. Quá trình này thường mất từ 20 đến 45 phút tùy vào tốc độ SSD và số lượng phần mềm trên máy. Tuyệt đối không rút điện hay ép tắt máy trong lúc này.

Kiểm tra và tối ưu sau nâng cấp

Khi đã vào được màn hình Desktop mới, hãy mở Terminal và xác nhận phiên bản:

cat /etc/fedora-release

Dọn dẹp tàn dư

Hệ thống sau nâng cấp thường sót lại các gói tin cũ (obsolete) làm chật ổ cứng. Hãy chạy bộ lệnh dọn dẹp sau:

# Xóa các package không còn được hỗ trợ
sudo dnf autoremove

# Rebuild lại database của RPM để tránh lỗi index
sudo rpm --rebuilddb

# Dọn sạch cache tải về
sudo dnf clean all

Kiểm tra log lỗi

Nếu thấy máy khởi động chậm hoặc service Nginx/Docker không chạy, hãy check log hệ thống ngay:

journalctl -p 3 -xb

Lệnh này chỉ liệt kê các lỗi nghiêm trọng (Priority 3). Thông thường, anh em chỉ cần cập nhật lại syntax trong file config của các service theo chuẩn của version mới là xong.

Nâng cấp Fedora qua DNF thực sự rất nhàn nếu anh em nắm vững quy trình. Hy vọng trải nghiệm này giúp anh em tự tin hơn khi nâng cấp máy làm việc. Nếu gặp lỗi lạ trong quá trình upgrade, anh em cứ để lại comment bên dưới nhé!

Share: