Dọn dẹp ổ đĩa Ubuntu ‘thần tốc’ với ncdu và duf: Thay thế các lệnh cũ kỹ

Ubuntu tutorial - IT technology blog
Ubuntu tutorial - IT technology blog

Khi lệnh df -h truyền thống không còn đủ dùng

Đang ngủ ngon mà nhận quả alert “Disk space critical” lúc 3 giờ sáng thì đúng là ác mộng với bất kỳ Sysadmin nào. Hồi mới vào nghề, mình thường nhảy vào gõ ngay df -h. Lệnh này báo phân vùng nào đầy rất nhanh, nhưng lại “im hơi lặng tiếng” khi bạn muốn biết chính xác file nào đang chiếm dụng hàng chục GB dung lượng.

Tiếp theo, mình lại loay hoay với du -sh * | sort -h. Cách này chạy được nhưng rất chậm. Mỗi lần muốn đào sâu vào thư mục con, bạn lại phải gõ lại lệnh từ đầu, cực kỳ mất thời gian. Sau nửa năm quản lý dàn VPS Production, mình bỏ hẳn thói quen đó. Thay vào đó, mình dùng bộ đôi ncduduf. Hai công cụ này cực nhẹ nhưng giải quyết vấn đề cực kỳ trực quan.

Cài đặt ncdu và duf trong 30 giây

Cả hai đều có sẵn trên kho ứng dụng mặc định của Ubuntu từ bản 20.04. Mình luôn cài sẵn bộ đôi này cùng với htop ngay khi khởi tạo server mới.

sudo apt update
sudo apt install ncdu duf -y

Nếu bạn dùng bản Ubuntu cũ hơn hoặc muốn trải nghiệm bản duf mới nhất viết bằng ngôn ngữ Go, có thể tải file .deb từ GitHub. Tuy nhiên, bản trên repo chính thức thường đã quá đủ dùng cho các tác vụ dọn dẹp hàng ngày.

duf – Phiên bản “tiến hóa” của lệnh df

Lệnh df -h trả kết quả rất thô và khó quan sát nếu server của bạn mount quá nhiều phân vùng. duf (Disk Usage/Free Utility) khắc phục điều này bằng giao diện bảng có màu sắc, biểu đồ thanh (bar chart) và khả năng tự động phân loại thông minh.

Sử dụng cơ bản

Gõ duy nhất một lệnh ngắn gọn:

duf

Kết quả hiện ra được chia rõ thành: thiết bị lưu trữ (local devices), hệ thống file đặc biệt và các phân vùng mạng. Bạn chỉ cần liếc qua cột Usage, chỗ nào hiện màu đỏ nghĩa là đang ở mức báo động.

Mẹo lọc dữ liệu

Tính năng mình thích nhất ở duf là khả năng ẩn bớt các phân vùng “rác” (như loop của snap) để tập trung vào ổ cứng thật:

duf --only local

Hoặc nếu bạn gặp tình trạng ổ cứng vẫn trống dung lượng nhưng không thể tạo file (lỗi Inodes), hãy kiểm tra ngay bằng:

duf --inodes

ncdu – “Kính lúp” soi file dung lượng lớn

Nếu duf giúp bạn biết ngôi nhà nào đầy, thì ncdu (NCurses Disk Usage) cho phép bạn vào tận nơi để xem cái tủ nào đang chứa rác. Đây là công cụ đắc lực nhất để dọn dẹp server mà không cần nhớ nhiều câu lệnh phức tạp.

Cách quét hiệu quả

Để quét thư mục hiện tại, bạn dùng lệnh ncdu. Tuy nhiên, khi quét từ thư mục gốc /, hãy dùng thêm flag -x. Flag này giúp ncdu không quét sang các ổ đĩa mạng hoặc phân vùng mount ngoài, giúp tốc độ nhanh hơn gấp 2-3 lần.

sudo ncdu -x /

Ví dụ thực tế: Mình từng quét 100GB dữ liệu chỉ mất chưa đầy 10 giây để tìm ra một file log Nginx bị phình lên tận 45GB.

Các phím tắt cần nhớ

Giao diện của ncdu cực kỳ dễ dùng bằng phím mũi tên:

  • Lên/Xuống: Di chuyển giữa các file/thư mục.
  • Phải hoặc Enter: Đi sâu vào bên trong thư mục.
  • Trái: Quay lại thư mục cha.
  • Phím s: Sắp xếp theo dung lượng (mặc định).
  • Phím d: Xóa trực tiếp file đang chọn. Đừng lo, nó sẽ hỏi lại để bạn xác nhận.

Kinh nghiệm thực tế: Những nơi thường xuyên “ngốn” ổ đĩa nhất

Qua nhiều lần xử lý sự cố, mình rút ra 3 vị trí bạn nên dùng ncdu để kiểm tra đầu tiên:

1. Log hệ thống (Journald)

Thư mục /var/log luôn là nghi can số một. Đặc biệt là journald có thể chiếm nhiều GB nếu không giới hạn. Hãy thử dọn sạch log cũ hơn 7 ngày bằng lệnh:

sudo journalctl --vacuum-time=7d

2. Docker Resources

Nếu server chạy Docker, thư mục /var/lib/docker sẽ phình to chóng mặt do các image cũ hoặc container rác. Lưu ý: Đừng xóa tay các file trong này. Thay vào đó, hãy quất ngay lệnh:

docker system prune -a --volumes

3. Cache của Apt

Thư mục /var/cache/apt/archives chứa các file cài đặt .deb cũ. Bạn có thể giải phóng vài trăm MB đến cả GB chỉ với:

sudo apt-get clean

Quy trình kiểm tra hàng tuần

Đừng đợi đến khi hệ thống sập mới đi dọn dẹp. Mình thường dành 2 phút mỗi cuối tuần để check nhanh:

  1. duf xem tổng quan xem có phân vùng nào vượt 80% không.
  2. Dùng ncdu để truy đuổi các file log hoặc bản backup cũ.
  3. Xóa những thứ chắc chắn là rác bằng phím d.

Quản lý ổ đĩa Ubuntu sẽ cực kỳ nhàn nhã nếu bạn có công cụ đúng trong tay. Hãy cài thử ncduduf ngay hôm nay, mình tin bạn sẽ không bao giờ muốn quay lại thời kỳ gõ lệnh du -sh thủ công nữa đâu!

Share: