Cách Kiểm Tra Dung Lượng Ổ Đĩa trên Ubuntu: Hướng Dẫn Toàn Diện Sử Dụng df, du, Giao Diện Đồ Họa và Kỹ Thuật Dọn Dẹp

.## 1. Kiến Thức Tiền Đề: Cấu Trúc Lưu Trữ và Gắn Kết (Mount) trong Linux / Ubuntu

Khi kiểm tra dung lượng đĩa trên Ubuntu (và hầu hết các hệ điều hành dựa trên Linux), có một số khái niệm cấu trúc cơ bản cần được hiểu đúng. Phần này sắp xếp các khái niệm sau thường gây nhầm lẫn:

  • Ý nghĩa của thiết bị và phân vùng
  • Gắn kết (mount) và điểm gắn kết (mount point)
  • Những điều cơ bản về LVM (Logical Volume Management)
  • Các cấu hình lưu trữ điển hình trong Ubuntu

Chúng tôi sẽ giải thích từng mục một cách tuần tự.

目次

1.1 Những Điều Cơ Bản về Thiết Bị và Phân Vùng

Thiết Bị (Ổ Đĩa Vật Lý và Logic)

Trong Linux, mỗi đơn vị lưu trữ được xử lý như một tập tin thiết bị. Ví dụ, HDD, SSD và ổ USB được biểu diễn bằng các tên như /dev/sda, /dev/sdb, hoặc /dev/nvme0n1.
Hậu tố chữ cái (a, b, c, …) cho biết thứ tự mà hệ thống phát hiện các thiết bị.

Phân Vùng

Một thiết bị vật lý duy nhất có thể được sử dụng nguyên trạng, nhưng trong hầu hết các trường hợp nó sẽ được chia thành nhiều khu vực logic gọi là phân vùng. Việc phân vùng cho phép bạn quản lý hệ điều hành, dữ liệu người dùng và log một cách riêng biệt.

Ví dụ, /dev/sda1/dev/sda2 đại diện cho các phân vùng. Những tên này có nghĩa là “phân vùng 1 / phân vùng 2 trên thiết bị sda.”
Mỗi phân vùng sẽ được tạo một hệ thống tập tin, và dữ liệu thực tế được lưu trữ ở đó.
(Ví dụ giải thích về phân vùng Linux: Engineer’s Entrance)

Các phân vùng sử dụng các định dạng như MBR (cũ) hoặc GPT (mới), mỗi loại có những hạn chế và ưu điểm riêng.

1.2 Gắn Kết và Điểm Gắn Kết

Gắn Kết

Để một hệ thống tập tin có thể sử dụng được, cần thực hiện một quá trình gọi là gắn kết. Thao tác này liên kết một phân vùng (hoặc logical volume) với một thư mục cụ thể (điểm gắn kết).
Nếu không gắn kết, dữ liệu trên phân vùng sẽ không thể truy cập.

Ví dụ, ngay cả khi có một hệ thống tập tin ext4 trên /dev/sda1, bạn vẫn không thể truy cập nội dung của nó dưới /mnt/data nếu không thực hiện lệnh như mount /dev/sda1 /mnt/data.

Điểm Gắn Kết

Thư mục mà hệ thống tập tin được gắn vào được gọi là điểm gắn kết.
Các ví dụ điển hình bao gồm:

  • / (dấu gạch chéo): Thư mục gốc (điểm bắt đầu của toàn bộ hệ thống)
  • /home : Vị trí chứa các thư mục home của người dùng
  • /var : Vị trí chứa log, cache và dữ liệu biến đổi
  • /boot : Vị trí chứa các tập tin liên quan tới quá trình khởi động

Trong Ubuntu và nhiều bản phân phối Linux khác, tập tin /etc/fstab định nghĩa thiết bị hoặc UUID nào sẽ được gắn tại các vị trí nào khi hệ thống khởi động.

1.3 Tổng Quan về LVM (Logical Volume Management)

Với việc chỉ dùng phân vùng truyền thống, việc thay đổi bố cục đĩa một cách linh hoạt sau này có thể gặp khó khăn. Để giải quyết vấn đề này, Linux cung cấp LVM (Logical Volume Manager).

Các Thành Phần Cơ Bản của LVM

  • Physical Volume (PV) – Một ổ đĩa vật lý hoặc một phân vùng.
  • Volume Group (VG) – Một lớp kết hợp nhiều PV lại thành một kho lưu trữ ảo lớn.
  • Logical Volume (LV) – Một khu vực được cấp phát logic tạo ra từ VG. Hệ thống tập tin được tạo trên LV.

Cấu trúc lớp này cho phép các logical volume được mở rộng hoặc thu hẹp sau này, và dễ dàng thêm cũng như tích hợp các ổ đĩa vật lý mới.

Ưu Điểm và Lưu Ý Khi Sử Dụng LVM

Ưu điểm

  • Mở rộng dung lượng lưu trữ linh hoạt
  • Khả năng kết hợp nhiều ổ đĩa
  • Dễ dàng tạo snapshot để sao lưu

Lưu ý

  • Cấu hình và vận hành phức tạp hơn một chút
  • Nguy cơ mất dữ liệu nếu cấu hình sai
  • Quy trình mở rộng khác so với môi trường không dùng LVM

Trình cài đặt Ubuntu thường cung cấp tùy chọn sử dụng LVM, nhưng không bắt buộc và phụ thuộc vào nhu cầu sử dụng cũng như chính sách quản lý.

1.4 Các Cấu Hình Lưu Trữ Điển Hình trong Ubuntu

Cấu Hình Phân Vùng Đơn (Cài Đặt Đơn Giản)

Trong cấu hình đơn giản nhất, mọi thứ đều được đặt dưới thư mục gốc (/). Cách tiếp cận này dễ quản lý ban đầu, nhưng sau này việc mở rộng hoặc tách riêng các phần có thể gặp khó khăn.

Cấu Hình Phân Miền Đa Phổ Biến

Một bố cục thường được sử dụng chia lưu trữ thành nhiều phân miền, chẳng hạn như:

  • / (gốc): Các tệp hệ thống cốt lõi
  • /home : Dữ liệu người dùng
  • /var : Nhật ký và dữ liệu biến đổi
  • /boot : Tệp khởi động
  • Khu vực Swap (phân miền hoặc tệp swap)

Cấu trúc này giúp ngăn chặn nhật ký hoặc bộ đệm làm quá tải toàn bộ hệ thống.

Cấu Hình Khối Lượng Lô Gic Dựa Trên LVM

Một cấu hình nâng cao hơn sử dụng LVM như sau:

  • Đĩa vật lý → PVs
  • Nhiều PVs kết hợp thành một VG
  • Các khối lượng lôgic được tạo cho / , /home , /var , v.v.
  • Có thể mở rộng trong tương lai hoặc thêm các LV mới

Cách tiếp cận này cung cấp tính linh hoạt cao khi thêm đĩa hoặc mở rộng lưu trữ.

2. Các Phương Pháp Dòng Lệnh Cơ Bản Để Kiểm Tra Dung Lượng Đĩa

Trên Ubuntu, việc sử dụng các công cụ dòng lệnh là cách đáng tin cậy và linh hoạt nhất để kiểm tra việc sử dụng đĩa.
Các lệnh cho phép phân tích chính xác ngay cả trong môi trường máy chủ không có GUI.

Phần này tập trung vào các lệnh cơ bản dfdu , cùng với các công cụ hỗ trợ.

2.1 Kiểm Tra Việc Sử Dụng Hệ Thống Tệp Với Lệnh df

Tổng Quan Về df

df (disk free) hiển thị việc sử dụng đĩa tổng thể và không gian có sẵn cho các hệ thống tệp.
Đây là cách phổ biến nhất để kiểm tra dung lượng đĩa trên các hệ thống Linux, bao gồm Ubuntu.

Sử Dụng Cơ Bản

df -h

Lệnh này liệt kê tất cả các hệ thống tệp sử dụng các đơn vị dễ đọc cho con người (K, M, G).
Các cột chính có ý nghĩa như sau:

Giải Thích Các Cột Chính

ColumnDescription
FilesystemTarget device name (e.g., /dev/sda1)
SizeTotal filesystem size
UsedUsed disk space
AvailRemaining available space
Use%Usage percentage
Mounted onMount point (e.g., /, /home)

Các Tùy Chọn Thường Sử Dụng

OptionDescription
-hDisplay sizes in MB / GB (essential for readability)
-TAlso display filesystem type (ext4, xfs, etc.)
--totalAdd a total summary line at the end
df -h /homeDisplay only the filesystem containing a specific directory

Ví Dụ Thực Thi

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       100G   55G   40G  59% /
/dev/sda1       512M  120M  392M  24% /boot
tmpfs            16G   32M   16G   1% /run

Đầu ra này cho phép bạn nhanh chóng hiểu cách phân bổ và sử dụng không gian đĩa.

Lưu Ý Quan Trọng

  • Các phân miền chưa được gắn kết không được hiển thị bởi df .
  • Các gói Snap (ví dụ: /var/lib/snapd/snaps ) có thể tiêu tốn không gian đĩa đáng kể và nên được kiểm tra riêng biệt.
  • Một số điểm gắn kết chỉ có thể nhìn thấy khi chạy với quyền root.

2.2 Kiểm Tra Việc Sử Dụng Thư Mục Với Lệnh du

Tổng Quan Về du

du (disk usage) đo lường việc sử dụng không gian đĩa bởi các thư mục và tệp.
Trong khi df cung cấp cái nhìn tổng quan ở mức cao, du lý tưởng để xác định nơi không gian đĩa thực sự đang được tiêu thụ.

Sử Dụng Cơ Bản

du -sh /home

Lệnh này hiển thị tổng việc sử dụng đĩa của thư mục /home ở định dạng dễ đọc cho con người.

Các Tùy Chọn Thường Sử Dụng

OptionDescription
-sShow only the summary total
-hAutomatically convert units for readability
--max-depth=1List usage of directories directly under the specified path
-cDisplay a grand total at the end
--exclude=PATTERNExclude specific directories (e.g., caches)

Ví Dụ: So Sánh Kích Thước Thư Mục

sudo du -h --max-depth=1 /var

Đầu ra ví dụ:

1.2G    /var/log
2.5G    /var/lib
800M    /var/cache
4.5G    /var

Điều này làm cho việc xác định các thư mục tiêu thụ không gian nhiều nhất trở nên dễ dàng.

Sử Dụng Nâng Cao: Sắp Xếp Theo Kích Thước

Bằng cách kết hợp du với sort, bạn có thể nhanh chóng xác định các thư mục lớn.

sudo du -hsx /* | sort -rh | head -10

Lệnh này tính toán việc sử dụng đĩa cho các thư mục trực tiếp dưới thư mục gốc và hiển thị 10 thư mục lớn nhất.

Lưu Ý Quan Trọng

  • Việc thực thi có thể mất thời gian đối với các hệ thống thư mục sâu.
  • Không có quyền root, việc sử dụng đĩa cho một số thư mục có thể không được hiển thị chính xác.
  • Ngay cả trên SSD nhanh, việc quét hàng chục gigabyte có thể mất vài phút.

2.3 Các Lệnh Và Công Cụ Hỗ Trợ Hữu Ích Khác

lsblk: Xem Cấu Trúc Thiết Bị Khối

lsblk

lsblk hiển thị các thiết bị đĩa và bố cục phân miền của chúng dưới dạng cây.
Nó hữu ích để hiểu trực quan cách các thiết bị, phân miền và điểm gắn kết liên quan đến nhau.

Ví dụ:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0   100G  0 disk
├─sda1   8:1    0   512M  0 part /boot
└─sda2   8:2    0  99.5G  0 part /

ncdu: Công Cụ Phân Tích Việc Sử Dụng Đĩa Tương Tác

Nếu bạn muốn một lựa chọn trực quan hơn cho du, ncdu (NCurses Disk Usage) được khuyến nghị mạnh mẽ.

Cài đặt:

sudo apt install ncdu

Khởi chạy:

sudo ncdu /

Bạn có thể duyệt các thư mục bằng các phím mũi tên và tương tác để xác định các điểm nóng về việc sử dụng đĩa. Công cụ này đặc biệt phổ biến trong cộng đồng quản trị hệ thống cho môi trường máy chủ.

Kết hợp với lệnh find

Để tìm các tệp lớn riêng lẻ, sử dụng find:

sudo find / -type f -size +1G

Lệnh này tìm kiếm tất cả các tệp lớn hơn 1GB, hữu ích để xác định các nhật ký lớn hoặc ảnh đĩa.

2.4 Chọn Phương Pháp Phù Hợp (Tóm Tắt So Sánh)

PurposeCommand ExampleCharacteristics
Check overall free disk spacedf -hFilesystem-level overview
Check a specific directorydu -sh /pathDetailed size measurement
Find disk usage hotspotsdu -hsx /* | sort -rhQuick identification of large directories
View device and partition layoutlsblkVisual representation of structure
Find large filesfind / -type f -size +1GFilter by file size

3. Kiểm Tra Dung Lượng Đĩa Bằng Công Cụ GUI (Ubuntu Desktop)

Ubuntu cung cấp các công cụ đồ họa (GUI) tiện lợi cho phép bạn kiểm tra dung lượng đĩa mà không cần dùng terminal. Phần này giới thiệu hai phương pháp chính sau:

  • Sử dụng trình quản lý tệp mặc định (Nautilus)
  • Sử dụng Disk Usage Analyzer (Baobab)

3.1 Kiểm Tra Dung Lượng Có Sẵn Với Trình Quản Lý Tệp (Nautilus)

Phương Pháp Chuẩn Trên Ubuntu

Trên Ubuntu Desktop, cách dễ nhất để kiểm tra dung lượng đĩa là mở trình quản lý tệp (Nautilus).

  1. Nhấn vào biểu tượng “Files” trên thanh dock bên trái (trình khởi chạy ứng dụng)
  2. Kiểm tra thanh trạng thái hiển thị ở góc trên bên phải hoặc góc dưới bên trái
  3. Dung lượng còn lại được hiển thị dưới dạng “XX GB free” hoặc “XX GB used out of YY GB”

Điều này cho phép bạn nhanh chóng xác minh dung lượng còn lại trên ổ hệ thống.

Xem Chi Tiết Qua Thuộc Tính

Nhấp chuột phải vào một thư mục hoặc biểu tượng ổ đĩa và chọn [Properties] để xem thông tin sử dụng chi tiết cho thư mục hoặc ổ cụ thể đó.

Điều này đặc biệt hữu ích để kiểm tra kích thước của các thư mục như /home hoặc /Downloads.

Ưu Điểm và Hạn Chế

AdvantagesLimitations
Simple, click-based operationDifficult to analyze system-wide or hidden areas
Beginner-friendlyHard to detect growth in /var/log or system directories

Mặc dù hữu ích cho một cái nhìn nhanh, nhưng phân tích sâu hơn nên được thực hiện bằng công cụ Baobab được mô tả tiếp theo.

3.2 Disk Usage Analyzer (Baobab)

Baobab là gì?

Baobab (còn gọi là Disk Usage Analyzer) là một công cụ đồ họa được bao gồm trong Ubuntu, hiển thị việc sử dụng đĩa một cách trực quan bằng biểu đồ tròn và bản đồ cây.

Nó thường được cài đặt sẵn, nhưng nếu chưa, bạn có thể cài đặt bằng lệnh sau:

sudo apt install baobab

Cách Khởi Chạy Baobab

  1. Tìm “Disk Usage” trong Activities (tìm kiếm góc trên bên trái)
  2. Nhấn “Disk Usage Analyzer (Baobab)” để khởi chạy
  3. Sau khi khởi động, chọn “Scan Folder” hoặc “Scan Filesystem”

Khi quá trình quét hoàn tất, việc sử dụng đĩa sẽ được hiển thị trực quan bằng biểu đồ tròn hoặc dạng cây.

Hiển Thị Ví Dụ (Khái Niệm)

  • Các vòng ngoài đại diện cho các cấp thư mục sâu hơn
  • Kích thước khu vực tương ứng với việc sử dụng đĩa

Điều này giúp dễ dàng nhận diện ngay lập tức các thư mục tiêu thụ nhiều không gian nhất.

Các Tính Năng Chính

FeatureDescription
Target SelectionScan specific directories such as /home
Tree ViewView folder hierarchy and sizes in a list format
Identifying Unnecessary FilesQuickly spot large directories at a glance
Right-click → OpenOpen the corresponding directory directly in the file manager

Ưu Điểm và Lưu Ý

Ưu điểm

  • Trực quan đồ họa, phù hợp cho người mới bắt đầu
  • Dễ dàng quyết định dọn dẹp và tổ chức tệp
  • Các thư mục hệ thống có thể được phân tích khi khởi chạy với quyền root

Lưu ý

  • Quét toàn bộ hệ thống tệp có thể mất thời gian
  • Các hạn chế quyền có thể ngăn đo lường chính xác một số thư mục
  • Ổ đĩa lớn có thể yêu cầu bộ nhớ đáng kể trong quá trình phân tích

3.3 Kiểm Tra Thông Tin Đĩa Với GNOME Disks

Ubuntu cũng bao gồm một ứng dụng tiêu chuẩn gọi là GNOME Disks (Disk Utility). Công cụ này dùng để kiểm tra cấu trúc đĩa chứ không chỉ dung lượng khả dụng.

Bạn có thể xem các thông tin sau:

  • Tên thiết bị (ví dụ: /dev/sda)
  • Kiểu hệ thống tệp (ext4, NTFS, v.v.)
  • Điểm gắn kết
  • Đồ thị sử dụng và dung lượng khả dụng

Cách khởi chạy:

  1. Tìm “Disks” trong Activities
  2. Mở GNOME Disks
  3. Chọn một ổ đĩa từ danh sách bên trái

Việc sử dụng đĩa được hiển thị bằng các đồng hồ đo trực quan, cung cấp thông tin tương đương lệnh df dưới dạng đồ họa.

.### 3.4 Lựa chọn giữa công cụ GUI và dòng lệnh

Trên Ubuntu Desktop, các công cụ GUI đơn độc đã đủ cho việc quản lý không gian đĩa cơ bản.
Tuy nhiên, đối với việc khắc phục sự cố chính xác và quản trị máy chủ, các công cụ dòng lệnh như dfdu là thiết yếu.

ScenarioRecommended Tool
Quickly check available spaceFile Manager (Nautilus)
Analyze which folders are largeBaobab (Disk Usage Analyzer)
Inspect disk and partition layoutGNOME Disks
Server or remote environmentsdf, du, lsblk, ncdu

3.5 Môi trường không có GUI (Dành cho người dùng máy chủ)

Nếu bạn đang chạy Ubuntu Server hoặc môi trường khác không có GUI,
các công cụ như Baobab hoặc trình quản lý tệp sẽ không khả dụng.

Trong những trường hợp như vậy, các lệnh đã giới thiệu trước đó df, duncdu cung cấp phân tích đĩa chi tiết đủ bằng cách chỉ sử dụng terminal.

Tóm tắt

Sử dụng các công cụ GUI cho phép kiểm tra việc sử dụng đĩa và phân tích dọn dẹp được thực hiện hoàn toàn bằng các cú nhấp chuột.
Đặc biệt, Baobab là một công cụ tiêu chuẩn được sử dụng rộng rãi, phù hợp cho cả người mới bắt đầu và người dùng nâng cao.
Bằng cách kết hợp các phương pháp được giới thiệu trong phần này, việc giám sát lưu trữ thường ngày trở nên dễ dàng hơn đáng kể.

4. Điều tra và biện pháp khắc phục khi không gian đĩa thấp

Khi sử dụng Ubuntu trong thời gian dài, không gian đĩa có thể dần bị hạn chế do các bản cập nhật và dữ liệu tích lũy.
Để hệ thống ở trạng thái không gian thấp có thể gây ra lỗi cập nhật, vấn đề ghi log và sự không ổn định chung.

Phần này giải thích các quy trình từng bước để xác định vấn đề không gian đĩa và áp dụng các giải pháp hiệu quả.

4.1 Xác định các dấu hiệu của việc cạn kiệt không gian đĩa

Đầu tiên, kiểm tra các triệu chứng cho thấy không gian đĩa không đủ.
Nếu bạn gặp bất kỳ điều nào sau đây, đã đến lúc điều tra việc sử dụng lưu trữ:

  • apt upgrade báo cáo “không đủ không gian đĩa”
  • Cảnh báo GUI như “Không gian đĩa thấp” xuất hiện
  • Một số ứng dụng không thể lưu cài đặt hoặc ghi log
  • Các thư mục như /var hoặc /tmp đầy, gây chậm chạp

Trong những tình huống này, chỉ giải phóng không gian không đủ—bạn phải xác định điểm nào đang tiêu thụ không gian đĩa.

4.2 Bước 1: Kiểm tra tổng quan việc sử dụng đĩa (df)

Bắt đầu bằng cách kiểm tra tổng quan tình trạng đĩa bằng lệnh df -h.

df -h

Ví dụ đầu ra:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        50G   48G  1.2G  98% /
/dev/sda1       512M  120M  392M  24% /boot

Bất kỳ hệ thống tệp nào có giá trị Use% trên 90% đều cần chú ý ngay lập tức.
Nếu các thư mục quan trọng như / (gốc), /var, hoặc /home gần đầy, hãy tiến tới bước tiếp theo.

4.3 Bước 2: Xác định thư mục nào đang tiêu thụ không gian (du)

Sau khi xác định phân vùng bị ảnh hưởng, phân tích nội dung của nó bằng lệnh du.

Ví dụ: Hiển thị 10 thư mục lớn nhất

sudo du -hsx /* | sort -rh | head -10

Ví dụ đầu ra:

15G /var
10G /home
5.2G /usr
3.1G /snap

Nếu /var lớn, thường là do log hoặc cache. Nếu /home lớn, dữ liệu người dùng thường là nguyên nhân.

Tiếp tục khám phá sâu hơn bên trong /var

sudo du -hsx /var/* | sort -rh | head -10

Bằng cách duyệt qua cấu trúc thư mục theo cách này, bạn có thể xác định chính xác các thư mục tiêu thụ không gian đĩa.

4.4 Bước 3: Xóa các tệp và cache không cần thiết

Sau khi xác định nguồn tiêu thụ đĩa, bắt đầu dọn dẹp từ các tệp không cần thiết an toàn để xóa.

(1) Xóa cache APT

Ubuntu lưu trữ các tệp gói tạm thời trong /var/cache/apt/archives trong quá trình cập nhật.
Xóa chúng thường có thể khôi phục vài gigabyte không gian đĩa.

sudo apt clean
sudo apt autoremove
  • apt clean : Xóa tất cả các tệp gói đã cache
  • apt autoremove : Xóa các gói phụ thuộc không còn dùng

(2) Xóa các tệp log cũ

/var/log là một trong những nguyên nhân phổ biến nhất gây bùng phình không gian đĩa.

sudo journalctl --vacuum-time=7d

Lệnh này xóa các log hệ thống cũ hơn bảy ngày.
Bạn cũng có thể tự xóa các tệp log nén không cần thiết (.gz).

sudo rm -f /var/log/*.gz

(3) Xóa các phiên bản Snap cũ

.Trên Ubuntu, các ứng dụng Snap giữ nhiều phiên bản theo mặc định. Các phiên bản đã vô hiệu hoá cũ có thể được xóa bằng lệnh sau:

sudo snap list --all | grep disabled | awk '{print $1, $3}' | \
while read snapname revision; do
  sudo snap remove "$snapname" --revision="$revision"
done

Ngoài ra, bạn có thể sử dụng các tiện ích “Snap Cleaner” chuyên dụng.

(4) Xóa bộ nhớ đệm hình thu nhỏ

Nếu bạn thường xuyên xử lý hình ảnh hoặc video, một lượng lớn bộ nhớ đệm có thể tích lũy trong ~/.cache/thumbnails.

rm -rf ~/.cache/thumbnails/*

(5) Dọn sạch Thùng rác

Các tệp bị xóa qua giao diện GUI thường vẫn được lưu trong ~/.local/share/Trash/files.

rm -rf ~/.local/share/Trash/*

4.5 Bước 4: Giải quyết sự tăng dung lượng đĩa do Ứng dụng và Log

(1) Môi trường Docker

Nếu Docker đang được sử dụng, các image và container không dùng thường tiêu tốn đáng kể dung lượng đĩa.

docker system df
docker system prune -a
  • docker system df : Kiểm tra dung lượng đĩa liên quan đến Docker
  • docker system prune -a : Xóa các image và container không dùng

(2) Sử dụng mạnh mẽ Flatpak hoặc Snap

Môi trường desktop với nhiều ứng dụng GUI thường tích lũy dữ liệu còn lại từ các phiên bản cũ. Sử dụng các lệnh như flatpak uninstall --unused để dọn dẹp.

(3) Xem xét Cài đặt Quay vòng Log

Kiểm tra /etc/logrotate.conf và các tệp trong /etc/logrotate.d/ để đảm bảo thời gian giữ log và giới hạn kích thước được cấu hình đúng. Điều này giúp ngăn ngừa các vấn đề về dung lượng đĩa trong tương lai.

4.6 Bước 5: Giải quyết Nguyên nhân Gốc bằng Việc Mở rộng hoặc Thêm Dung lượng Đĩa

Nếu việc dọn dẹp một mình không đủ, hãy xem xét các thay đổi cấu trúc sau.

(1) Mở rộng Logical Volume bằng LVM

Trong môi trường sử dụng LVM (Logical Volume Manager), các logical volume có thể được mở rộng một cách dễ dàng.

sudo lvextend -L +20G /dev/ubuntu-vg/ubuntu-lv
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

Điều này tăng không gian khả dụng của hệ thống tệp root.

(2) Thêm và Gắn một Đĩa Mới

Bạn có thể gắn một thiết bị lưu trữ mới dưới các thư mục như /mnt/data, và di chuyển các thư mục lớn (ví dụ: /var/lib/docker hoặc /home) sang đĩa mới.

(3) Sử dụng Lưu trữ Đám mây

Một tùy chọn khác là di chuyển log hoặc sao lưu lên các dịch vụ lưu trữ đám mây như Google Drive, Dropbox hoặc Nextcloud.

4.7 Ngăn ngừa Tái phát với Giám sát Định kỳ

Thiếu dung lượng đĩa là có thể ngăn ngừa bằng việc giám sát định kỳ. Các thực hành vận hành sau đây hiệu quả:

  • Thường xuyên kiểm tra df -hdu -sh /var
  • Tạo script để tự động phát hiện các thư mục lớn
  • Gửi cảnh báo email khi dung lượng đĩa vượt quá ngưỡng định sẵn (sử dụng cronmailutils )

Ví dụ đơn giản:

#!/bin/bash
THRESHOLD=90
USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
  echo "Disk usage on / has exceeded ${THRESHOLD}%!" | mail -s "Disk Alert" admin@example.com
fi

4.8 Tóm tắt: Thứ tự Ưu tiên cho Các biện pháp Đối phó với Dung lượng Đĩa

PriorityCountermeasureNotes
★★★★★Remove APT cache (sudo apt clean)Immediate effect
★★★★☆Log cleanup (sudo journalctl --vacuum-time=7d)Safe and reliable
★★★★☆Remove unused Snap / Flatpak versionsEffective on desktop systems
★★★☆☆Remove unused Docker dataEffective for server use
★★☆☆☆Disk expansion or additional mountsEffective as a fundamental solution
★☆☆☆☆Introduce monitoring scriptsMost effective for long-term operations

Khi dung lượng đĩa trở nên hạn chế trên Ubuntu, “xác định việc sử dụng nặng → an toàn loại bỏ dữ liệu không cần thiết → xem xét cấu trúc hệ thống”
Thực hiện theo ba bước này sẽ giải quyết hầu hết các vấn đề.

5. Mẹo Nâng cao (Kỹ thuật Hữu ích và Lưu ý)

Ngay cả sau khi đã nắm vững các kiểm tra và phương pháp dọn dẹp dung lượng đĩa cơ bản, việc sử dụng đĩa vẫn có thể tăng dần lại trong quá trình vận hành lâu dài. Phần này giới thiệu các kỹ thuật nâng cao để giúp hệ thống Ubuntu hoạt động trơn tru.

5.1 Tự động Kiểm tra Đĩa Định kỳ

Việc chạy thủ công dfdu có thể gây mệt mỏi, nhưng script tự động giảm đáng kể công sức. Bằng cách đăng ký một script giám sát đơn giản với cron, bạn có thể nhận cảnh báo khi mức sử dụng đĩa vượt quá một ngưỡng nhất định.

Ví dụ: Thông báo Email Khi Dung lượng Trống Giảm Dưới 10%

#!/bin/bash
THRESHOLD=90
USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')

if [ "$USAGE" -gt "$THRESHOLD" ]; then
  echo "Warning: Root disk usage has reached ${USAGE}%." | \
  mail -s "Ubuntu Disk Warning" user@example.com
fi

Save this as /usr/local/bin/check_disk.sh and grant execute permission with chmod +x.
Then register it using crontab -e:

0 8 * * * /usr/local/bin/check_disk.sh

→ This runs the check automatically every morning at 8:00.

Helpful Enhancements

  • Notifications can be sent not only by email but also via Slack webhooks or LINE Notify
  • The script can be extended to monitor multiple mount points simultaneously

5.2 One-Liners to Find Large Files

Disk space shortages are often caused by a single large file.
The following one-liner lists all files larger than 1GB:

sudo find / -type f -size +1G -exec ls -lh {} \; | awk '{print $9 ": " $5}'

Example output:

/var/log/syslog.1: 1.5G
/var/lib/docker/overlay2/.../diff/usr/lib/libchrome.so: 2.3G
/home/user/Downloads/video.mp4: 4.1G

This allows you to quickly identify files that should be deleted or moved.

Variation: Search Only a Specific Directory

sudo find /var -type f -size +500M

This is useful when investigating large files under /var.

5.3 Creating Aliases for Frequently Used Commands

Typing long commands repeatedly is inefficient, so setting up aliases improves productivity.

Example: Add to ~/.bashrc

alias dfh='df -h --total'
alias duh='sudo du -hsx /* | sort -rh | head -10'
alias logs='sudo du -hs /var/log/* | sort -rh | head -10'

Apply the changes:

source ~/.bashrc

After this, you can quickly run:

  • dfh : Check total disk usage
  • duh : Show top 10 largest directories
  • logs : Analyze log directory usage

5.4 Continuously Monitoring Disk Usage Changes

During long-term Ubuntu operation, disk usage can grow unnoticed.
Keeping a history of disk usage is an effective countermeasure.

Example: Log Disk Usage to a File

#!/bin/bash
df -h / | awk 'NR==2 {print strftime("%Y-%m-%d %H:%M:%S"), $3, $4, $5}' >> /var/log/disk_usage.log

Running this daily via cron allows you to track growth trends over time.

More Advanced Approaches

  • Visualize usage with collectd or netdata
  • Use Prometheus + Grafana for enterprise monitoring
  • Integrate with AWS CloudWatch or GCP Ops Agent in cloud environments

5.5 Be Aware of Permission Barriers

Accurate disk analysis may require root privileges.

Example:

du -sh /var

Without sufficient permissions, some directories may be skipped with “Permission denied,”
resulting in smaller reported sizes than actual usage.

→ Use sudo or administrative privileges when performing system-wide analysis.

5.6 Considerations for SSD and HDD Environments

SSD Environments

  • Enable regular TRIM operations to avoid unnecessary writes: sudo systemctl enable fstrim.timer This allows SSDs to optimize deleted blocks automatically.

HDD Environments

  • Log and cache fragmentation may occur more easily, so rebooting after cleanup can be effective
  • Run I/O-intensive commands such as du during low-load periods (e.g., late at night)

5.7 Turning Disk Management into a Preventive System

The optimal approach to disk management is habitual and systematic prevention.

Practical Checklist

  • Regularly check df -h
  • Review /var/log growth monthly
  • Run apt autoremove weekly
  • Clean up unused Snap and Docker data regularly
  • Enable automated alert scripts

By following these practices, most disk space issues can be prevented in advance.

Summary

This section introduced advanced techniques for efficient disk management on Ubuntu.
The key points are:

  1. Phát hiện sớm thông qua tự động hoá và cảnh báo
  2. Cải thiện hiệu suất bằng cách sử dụng alias và one‑liners
  3. Quản lý an toàn với nhận thức về quyền hạn và đặc điểm lưu trữ

Kết hợp các phương pháp này nâng quản lý đĩa từ một công việc tẻ nhạt lên thành một phần cốt lõi của hoạt động hệ thống.

6. FAQ (Câu hỏi thường gặp)

Q1. Cách dễ nhất để kiểm tra dung lượng đĩa hiện tại trên Ubuntu là gì?

Phương pháp đơn giản nhất là chạy lệnh sau trong terminal:

df -h

Lệnh này hiển thị kích thước tổng, dung lượng đã dùng và dung lượng còn lại cho mỗi hệ thống tập tin.
Tùy chọn -h định dạng các giá trị theo cách dễ đọc (GB / MB).

Q2. Làm sao kiểm tra việc sử dụng đĩa theo thư mục?

Sử dụng lệnh du.
Để kiểm tra một thư mục cụ thể:

du -sh /home

Ý nghĩa các tùy chọn:

  • -s : Chỉ hiển thị tổng cộng
  • -h : Hiển thị kích thước ở định dạng dễ đọc

Để phân tích chi tiết hơn:

sudo du -h --max-depth=1 /var

Q3. Sự khác nhau giữa dfdu là gì?

Tóm lại, chúng đo các mục tiêu khác nhau.

CommandTargetMain Purpose
dfEntire filesystemCheck available space
duFiles and directoriesIdentify disk usage sources

Q4. Làm sao kiểm tra dung lượng đĩa bằng công cụ GUI?

Trên Ubuntu Desktop, bạn có thể dùng Trình quản lý Tập tin (Nautilus) hoặc Bộ phân tích Dung lượng Đĩa (Baobab).

  • Trình quản lý Tập tin: Hiển thị dung lượng còn lại trên thanh trạng thái
  • Baobab: Trực quan hoá việc sử dụng đĩa bằng biểu đồ và bản đồ cây

Q5. Nên xóa gì đầu tiên khi nhận cảnh báo “đĩa đầy”?

Bắt đầu với các mục an toàn theo thứ tự sau:

  1. Bộ nhớ đệm APT : sudo apt clean
  2. Gói không dùng : sudo apt autoremove
  3. Log cũ : sudo journalctl --vacuum-time=7d
  4. Thùng rác và bộ nhớ đệm hình thu nhỏ : rm -rf ~/.cache/thumbnails/* ~/.local/share/Trash/*

Q6. Các ứng dụng Snap có tiêu tốn nhiều dung lượng đĩa không?

Có. Snap giữ lại nhiều phiên bản theo thiết kế.
Xóa các phiên bản không dùng bằng:

sudo snap list --all | grep disabled | awk '{print $1, $3}' | \
while read snapname revision; do
  sudo snap remove "$snapname" --revision="$revision"
done

Q7. Nếu /var hoặc /home quá lớn thì sao?

  • /var : Dọn dẹp log ( /var/log ) và bộ nhớ đệm ( /var/cache )
  • /home : Lưu trữ hoặc chuyển các tệp người dùng lớn sang bộ nhớ ngoài

Nếu cần, cân nhắc mở rộng lưu trữ bằng LVM hoặc gắn thêm một đĩa.

Q8. Lệnh du chạy quá lâu. Làm sao tăng tốc?

  • Giới hạn độ sâu bằng --max-depth=1
  • Loại trừ các thư mục không cần (ví dụ --exclude=/proc )
  • Dùng ncdu để phân tích tương tác

Q9. Làm sao ngăn ngừa vấn đề dung lượng đĩa tái diễn?

  • Chạy sudo apt autoremove hàng tuần
  • Kiểm tra /var/log/home hàng tháng
  • Ghi log kết quả df -h để theo dõi xu hướng
  • Thường xuyên dọn dẹp dữ liệu Snap và Docker
  • Bật TRIM trên hệ thống SSD

Q10. Các tùy chọn nào có sẵn để mở rộng dung lượng đĩa?

  1. Mở rộng các volume LVM sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
  2. Thêm và gắn một đĩa mới dưới các thư mục như /mnt/data
  3. Sử dụng lưu trữ đám mây cho các tệp lớn và sao lưu

Q11. Tôi có thể kiểm tra việc sử dụng đĩa mà không có quyền root không?

Bạn có thể chạy df -h, nhưng du cần quyền để kiểm tra một số thư mục.
Nếu không có quyền root, hãy giới hạn phân tích trong thư mục home của bạn:

du -sh ~/*

Q12. Làm sao kiểm tra dung lượng đĩa trên máy chủ mà không có GUI?

Sử dụng bộ lệnh sau:

PurposeCommand
Check overall usagedf -h
Directory-level analysissudo du -hsx /*
Find large filessudo find / -type f -size +1G
Interactive analysissudo ncdu /

Q13. Có rủi ro nào khi kiểm tra việc sử dụng đĩa không?

Việc chỉ kiểm tra việc sử dụng đĩa là an toàn.
Tuy nhiên, các thao tác xóa hoặc thay đổi kích thước đòi hỏi phải cẩn thận.

  • Kiểm tra lại đường dẫn khi dùng sudo rm -rf
  • Không bao giờ xóa các thư mục hệ thống như /bin, /lib hoặc /etc
  • Tạo bản sao lưu nếu không chắc chắn

Q14. Có mẹo nào để tiết kiệm dung lượng đĩa không?

  • Rút ngắn thời gian lưu log trong /etc/logrotate.conf
  • Gỡ bỏ các gói ngôn ngữ không dùng ( sudo apt install localepurge )
  • Tự động xóa các kernel cũ ( sudo apt autoremove --purge )

Q15. Các công cụ giám sát đĩa được khuyến nghị là gì?

ToolFeatures
ncduLightweight and fast CLI tool
BaobabGUI-based visual analysis
dufEnhanced df with readable tables
Netdata / Prometheus / GrafanaAdvanced server monitoring and visualization

Tóm tắt Cuối cùng

Qua FAQ này, các điểm chính về quản lý đĩa trên Ubuntu có thể được tóm tắt như sau:

  1. Sử dụng cả df (tổng quan) và du (chi tiết)
  2. Xóa dữ liệu không cần thiết theo thứ tự an toàn (APT → logs → cache)
  3. Ngăn chặn tái phát thông qua tự động hóa và giám sát

Bằng cách biến những thực hành này thành thói quen, các vấn đề về không gian đĩa sẽ trở nên hiếm gặp.
Quản lý đĩa có thể không hấp dẫn, nhưng nó là một trong những nhiệm vụ bảo trì quan trọng nhất để vận hành Ubuntu ổn định.