Hướng Dẫn Dung Lượng Đĩa Ubuntu: Cách Kiểm Tra Dung Lượng Trống và Khắc Phục—Mọi Điều Bạn Cần Biết

目次

1. Kiến thức tiên quyết: Cấu trúc Lưu trữ và Gắn kết trong Linux/Ubuntu

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

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

Chúng ta sẽ đi qua từng điểm một cách từng bước.

1.1 Cơ bản về Thiết bị và Phân vùng

Thiết bị (Ổ đĩa Vật lý & Logic)

Trong Linux, mỗi thiết bị lưu trữ được coi là một tệp thiết bị. Ví dụ, HDD, SSD, ổ USB, v.v., xuất hiện dưới dạng /dev/sda, /dev/sdb, /dev/nvme0n1, và tương tự.
Chữ cái cuối cùng (a, b, c…) chỉ 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ý đơn lẻ có thể được sử dụng nguyên vẹn, nhưng thường thì nó được chia thành nhiều phần logic (phân vùng). Phân vùng cho phép bạn tách biệt hệ điều hành, dữ liệu, nhật ký, v.v., để dễ quản lý hơn.

Ví dụ, /dev/sda1, /dev/sda2 chỉ phân vùng đầu tiên và thứ hai trên thiết bị sda. Một hệ thống tệp được tạo trên mỗi phân vùng, và dữ liệu thực tế được lưu trữ ở đó.
(Giải thích ví dụ về phân vùng trong Linux) Engineer’s Entrance

Phân vùng sử dụng định dạng bảng phân vùng như MBR (cũ) hoặc GPT (mới), mỗi loại có các ràng buộc và ưu điểm riêng.

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

Gắn kết

Để làm cho một hệ thống tệp có thể sử dụng được, bạn phải gắn kết nó—tức là, liên kết một phân vùng (hoặc khối lượng logic) với một thư mục cụ thể (điểm gắn kết). Không có gắn kết, bạn không thể truy cập dữ liệu trên phân vùng đó.

Ví dụ, ngay cả khi /dev/sda1 chứa hệ thống tệp ext4, bạn phải chạy mount /dev/sda1 /mnt/data trước khi có thể làm việc dưới /mnt/data.

Điểm gắn kết

Thư mục nơi bạn gắn kết một hệ thống tệp được gọi là điểm gắn kết. Các ví dụ điển hình:

  • / – gốc, điểm bắt đầu của toàn bộ hệ thống
  • /home – thư mục chính của người dùng
  • /var – nhật ký, bộ đệm, dữ liệu biến đổi
  • /boot – các tệp liên quan đến khởi động

Việc gán các phân vùng khác nhau cho các điểm gắn kết khác nhau là một thực hành phổ biến.

Trong Ubuntu và hầu hết các hệ điều hành Linux, tệp /etc/fstab liệt kê “thiết bị/UUID nào được gắn kết ở đâu (tự động khi khởi động).”

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

Phân vùng thuần túy có thể làm cho các thay đổi sau này trở nên khó khăn. LVM (Logical Volume Manager) giải quyết vấn đề này.

Các Thành phần Cốt lõi của LVM

  • Physical Volume (PV) – một ổ đĩa vật lý hoặc phân vùng.
  • Volume Group (VG) – tổng hợp nhiều PV thành một hồ chứa lớn duy nhất.
  • Logical Volume (LV) – một phần được lấy từ VG; một hệ thống tệp được tạo trên LV.

Cấu trúc phân cấp này cho phép bạn mở rộng hoặc thu nhỏ các khối lượng logic sau này, hoặc thêm nhiều ổ đĩa vật lý hơn vào hồ chứa.

Lợi ích & Lưu ý của LVM

Lợi ích

  • Thay đổi kích thước linh hoạt
  • Kết hợp nhiều ổ đĩa thành một hồ chứa
  • Dễ dàng tạo ảnh chụp nhanh cho sao lưu

Lưu ý

  • Phức tạp hơn để cấu hình và vận hành
  • Rủi ro mất dữ liệu nếu xử lý sai
  • Các bước mở rộng khác với thiết lập không dùng LVM

Trình cài đặt của Ubuntu thường cung cấp tùy chọn LVM, nhưng nhiều người dùng chọn không sử dụng tùy theo nhu cầu của họ.

1.4 Cấu hình Điển hình của Ubuntu

Bố cục chính xác có thể khác nhau, nhưng các mẫu phổ biến bao gồm:

Bố cục Phân vùng Đơn (Đơn giản)

Tất cả các tệp đều nằm dưới gốc (/). Đơn giản hơn, nhưng việc chia tách hoặc mở rộng sau này có thể khó khăn.

Ví dụ Bố cục Chia tách

  • / – tệp hệ thống
  • /home – dữ liệu người dùng
  • /var – nhật ký và dữ liệu biến đổi
  • /boot – tệp bộ tải khởi động
  • Swap (phân vùng swap hoặc tệp swap)

Việc tách biệt những thứ này giúp ngăn chặn sự tăng trưởng của nhật ký hoặc bộ đệm làm đầy toàn bộ hệ thống.

LVM + Khối lượng Logic

Một thiết lập nâng cao hơn:

  • Ổ đĩa vật lý → PV
  • Nhiều PV → VG
  • / , /home , /var , v.v. → các LV riêng biệt
  • Thêm hoặc mở rộng LV sau này theo nhu cầu

Với LVM, bạn có thể thêm ổ đĩa hoặc mở rộng các khối lượng logic một cách linh hoạt.

2. Các Lệnh Cơ bản để Kiểm tra Dung lượng

Trên Ubuntu, việc sử dụng 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. Ngay cả trên các máy chủ không có giao diện (headless), bạn vẫn có thể xem chính xác các đĩa nào đang được dùng và các thư mục nào đang chiếm không gian.

Dưới đây là các lệnh dfdu cốt lõi, kèm một vài công cụ hỗ trợ.

2.1 Kiểm tra toàn bộ hệ thống tệp bằng df

df làm gì

df (disk free) hiển thị tổng dung lượng, đã dùng và còn lại cho mỗi hệ thống tệp. Đây là cách phổ biến nhất để kiểm tra dung lượng trên Linux.

Cách dùng cơ bản

df -h

Lệnh này liệt kê mọi hệ thống tệp ở đơn vị “đọc‑hiểu” (K, M, G). Các cột chính:

ColumnMeaning
FilesystemDevice name (e.g., /dev/sda1)
SizeTotal size of the filesystem
UsedSpace already used
AvailFree space remaining
Use%Percentage used
Mounted onMount point (e.g., /,
OptionDescription
-hDisplay sizes in MB/GB units (handy for a quick view)
-TAlso show the filesystem type (e.g., ext4, xfs)
--totalAppend a total line at the end
df -h /homeShow only the filesystem that contains the specified directory

Ví dụ

$ 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

Từ kết quả này bạn có thể nhìn nhanh được mỗi khu vực đang dùng bao nhiêu không gian.

Ghi chú

  • Các phân vùng chưa gắn sẽ không xuất hiện trong kết quả của df.
  • Nếu các gói Snap (/var/lib/snapd/snaps) đang chiếm không gian, bạn sẽ cần kiểm tra chúng riêng.
  • Một số điểm gắn không hiển thị nếu không có quyền root.

2.2 Kiểm tra mức sử dụng theo thư mục bằng lệnh du

Tổng quan về du

du (disk usage) là lệnh báo cáo kích thước của các thư mục và tệp.
Trong khi df cho bạn “bức tranh tổng thể,” du giúp bạn tìm ra “điểm nóng” là nơi nào.

Cách dùng cơ bản

du -sh /home

Trong ví dụ này, tổng mức sử dụng của thư mục /home được hiển thị ở định dạng “đọc‑hiểu” (-h).

Các tùy chọn thường dùng

OptionDescription
-sShow only the total (suppress details)
-hAuto‑scale units for readability
--max-depth=1List usage of items directly under the specified directory
-cShow a grand total at the end
--exclude=PATTERNExclude specific folders (e.g., caches)

Ví dụ (so sánh tổng quan)

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

Kết quả mẫu:

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

Điều này cho phép bạn nhanh chóng thấy thư mục nào đang chiếm không gian.

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ể dễ dà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 mức sử dụng của mỗi thư mục cấp cao nhất và hiển thị 10 mục đầu.
Nó rất hiệu quả để truy tìm “kẻ ăn không gian” trên hệ thống.

Ghi chú

  • Cây thư mục sâu có thể mất thời gian để xử lý.
  • Nếu không có quyền root, một số thư mục sẽ không báo cáo kích thước chính xác.
  • Ngay cả trên SSD nhanh, việc đo hàng chục gigabyte cũng có thể mất vài phút.

2.3 Các lệnh và công cụ hỗ trợ khác

lsblk: Xem bố cục thiết bị khối

lsblk

lsblk hiển thị các thiết bị đĩa và bố cục phân vùng của chúng dưới dạng cây.
Đây là cách tiện lợi để quan sát kích thước kèm với các điểm gắn.

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: Trình phân tích sử dụng đĩa tương tác

Nếu bạn muốn giao diện trực quan hơn du, hãy thử ncdu (NCurses Disk Usage).
Cài đặt bằng:

sudo apt install ncdu

Chạy:

sudo ncdu /

Dùng các phím mũi tên để mở rộng và thu gọn thư mục, xem thư mục nào đang chiếm không gian.
Vì nó hoạt động mà không cần GUI, nên rất phổ biến trên máy chủ cũng như máy trạm.

Kết hợp với find

Để chỉ tìm các tệp lớn nhất, dùng find:

sudo find / -type f -size +1G

Lệnh này tìm tất cả các tệp lớn hơn 1 GB, giúp bạn xác định các tệp không cần thiết như log hoặc ảnh máy ảo.

2.4 Nên dùng phương pháp nào? (Bảng so sánh)

GoalExample commandCharacteristics
Check overall free spacedf -hShows usage per filesystem
Find size of a specific folderdu -sh /pathDisplays detailed size
Locate space‑eatersdu -hsx /* | sort -rhSorts directories by size
View device layoutlsblkVisualizes partition relationships
Find large filesfind / -type f -size +1GFilters by size condition

3. Kiểm tra sử dụng đĩa bằng giao diện đồ họa (Ubuntu Desktop)

Ubuntu cung cấp các công cụ đồ họa cho phép bạn xem việc sử dụng đĩa mà không cần mở terminal. Dưới đây là hai phương pháp phổ biến.

  • Trình quản lý Tệp tích hợp (Nautilus)
  • Trình phân tích sử dụng đĩa (Baobab)

Chúng ta sẽ xem tính năng và cách sử dụng từng công cụ.

3.1 Kiểm tra không gian trống bằng Trình quản lý Tệp (Nautilus)

Phương pháp mặc định của Ubuntu

Nếu bạn đang dùng Ubuntu Desktop, cách đơn giản nhất để xem không gian đĩa là mở Trình quản lý Tệp (Nautilus).

  1. Nhấp vào biểu tượng Tệp trong dock bên trái (bộ khởi chạy ứng dụng).
  2. Xem thanh trạng thái ở góc trên bên phải hoặc dưới bên trái của cửa sổ.
  3. Bạn sẽ thấy cái gì đó như “xx GB trong số yy GB đã sử dụng” hoặc “zz GB trống.”

Điều này cung cấp cho bạn cái nhìn ngay lập tức về không gian trống của ổ đĩa hệ thống.

Xem chi tiết qua Thuộc tính

Nhấp chuột phải vào biểu tượng thư mục hoặc ổ đĩa và chọn Thuộc tính.
Hộp thoại hiển thị không gian đã sử dụng và trống cho thư mục cụ thể đó, rất hữu ích để kiểm tra các thư mục như /home hoặc /Downloads.

Ưu và nhược điểm

ProsCons
One‑click, very easyHidden or system areas are not obvious
Beginner‑friendlyDoesn’t reveal /var/log, system partitions, etc.

Giao diện đồ họa tuyệt vời cho một cái nhìn nhanh về việc sử dụng tổng thể, nhưng để phân tích sâu hơn, bạn sẽ muốn sử dụng Baobab.

3.2 Công cụ Phân tích Sử dụng Đĩa (Baobab)

Baobab là gì?

Baobab (Disk Usage Analyzer) là một tiện ích đồ họa quét hệ thống tệp của bạn và trình bày kết quả dưới dạng treemap tương tác hoặc biểu đồ vòng. Nó cho phép bạn nhanh chóng phát hiện các thư mục và tệp lớn với cái nhìn tổng quan trực quan.

Cài đặt

sudo apt install baobab

Khởi chạy

Bạn có thể khởi động nó từ menu ứng dụng (tìm kiếm “Disk Usage Analyzer”) hoặc chạy:

baobab

Cách sử dụng

  1. Chọn vị trí để quét (ví dụ: “Home Folder,” “Filesystem,” hoặc đường dẫn tùy chỉnh).
  2. Sau khi quét hoàn tất, treemap hiển thị mỗi thư mục dưới dạng hình chữ nhật có kích thước tỷ lệ với mức tiêu thụ không gian của nó.
  3. Di chuột qua hoặc nhấp vào hình chữ nhật để xem kích thước và đường dẫn chính xác.
  4. Nhấp chuột phải vào thư mục để mở nó trong trình quản lý tệp hoặc xóa trực tiếp.

Vì Baobab hoạt động mà không cần môi trường desktop đầy đủ, nó cũng hữu ích trên các biến thể Ubuntu nhẹ.

Lợi ích

  • Biểu diễn trực quan, trực quan về sử dụng đĩa.
  • Dễ dàng điều hướng đến những người tiêu thụ không gian lớn nhất.
  • Không cần nhớ các tùy chọn dòng lệnh.

Hạn chế

  • Quét hệ thống tệp rất lớn có thể mất vài phút.
  • Yêu cầu phiên đồ họa (không phù hợp cho máy chủ không đầu).

Baobab (tên chính thức: Disk Usage Analyzer) là một công cụ đồ họa có sẵn mặc định trên Ubuntu hiển thị trực quan lượng không gian mà mỗi thư mục đang sử dụng với biểu đồ tròn và treemap.

Nó được cài đặt mặc định trên hầu hết các hệ thống, nhưng nếu không có, bạn có thể thêm nó bằng:

sudo apt install baobab

Cách Khởi chạy

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

Sau một quét ngắn, biểu đồ tròn hoặc chế độ xem cây sẽ hiển thị việc sử dụng của mỗi thư mục một cách trực quan.

Ví dụ Chế độ xem (Hình ảnh)

  • Càng đi xa hơn, phân cấp thư mục càng sâu
  • Kích thước của mỗi phân đoạn được biểu diễn bởi diện tích của lát cắt biểu đồ tròn

Dấu hiệu trực quan làm cho việc dễ dàng thấy thư mục nào bị phình to chỉ trong một cái nhìn.

Tính năng Chính

FeatureDescription
Specify Scan TargetYou can limit the scan to a specific directory such as /home
Tree ViewBrowse the folder structure and sizes in a list
Identify Unneeded FilesSpot large folders instantly
Right‑click → OpenOpen the selected directory directly in the file manager

Lợi ích và Lưu ý

Lợi ích

  • Hiển thị đồ họa làm cho nó trực quan đối với người mới bắt đầu
  • Giúp quyết định những gì cần xóa hoặc tổ chức lại
  • Chạy dưới quyền root cho phép phân tích các phân vùng hệ thống nữa

Lưu ý

  • Quét toàn bộ hệ thống có thể mất thời gian
  • 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ể tăng sử dụng bộ nhớ trong khi quét

3.3 Kiểm tra Thông tin Đĩa với GNOME Disks

Ubuntu cũng bao gồm ứng dụng tiêu chuẩn GNOME Disks (Disk Utility).
Nó cho phép bạn kiểm tra cấu trúc đĩa chính nó, hiển thị nhiều hơn chỉ không gian trống:

  • Tên thiết bị (ví dụ: /dev/sda )
  • Loại hệ thống tệp (ext4, NTFS, v.v.)
  • Điểm gắn
  • Biểu đồ sử dụng

Cách khởi chạy:

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

Một đồng hồ đo trực quan hiển thị việc sử dụng, cung cấp thông tin giống như df dưới dạng đồ họa.

3.4 Khi Nào Sử dụng GUI so với Dòng Lệnh

Trên desktop Ubuntu, các công cụ GUI thường đủ cho quản lý lưu trữ.
Tuy nhiên, đối với khắc phục sự cố chính xác hoặc quản trị máy chủ, các công cụ dòng lệnh như dfdu là thiết yếu.

SituationRecommended Tool
Quick check of free spaceFile manager (Nautilus)
Find large foldersBaobab (Disk Usage Analyzer)
Inspect device layoutGNOME Disks
Server or remote environmentdf, du, lsblk, ncdu

3.5 Nếu Không Có GUI (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, Baobab và các trình quản lý tệp không thể sử dụng được.

Trong trường hợp đó, hãy dựa vào các lệnh df, duncdu đã được giới thiệu trước đó; chúng cung cấp phân tích lưu trữ chi tiết dựa trên văn bản.

Tóm tắt

Sử dụng GUI cho phép bạn kiểm tra lưu trữ và xác định các điểm cần dọn dẹp chỉ với vài cú nhấp chuột.
Baobab, đặc biệt, là công cụ cơ bản được sử dụng bởi mọi người từ người mới bắt đầu Ubuntu đến người dùng nâng cao.
Bằng cách kết hợp các phương pháp được mô tả trong chương này, việc giám sát lưu trữ hàng ngày sẽ trở nên dễ dàng hơn nhiều.

4. Các Bước Điều Tra và Khắc Phục Không Gian Đĩa Thấp

Theo thời gian, việc sử dụng lâu dài và các bản cập nhật gói tích lũy có thể khiến không gian đĩa trên Ubuntu bị thiếu hụt.
Việc để hệ thống ở trạng thái không gian thấp có thể dẫn đến cập nhật thất bại, thiếu nhật ký và sự không ổn định tổng thể.
Phần này hướng dẫn cách chẩn đoán vấn đề không gian thấp và các cách giải quyết hiệu quả từng bước một.

4.1 Nhận Biết Các Triệu Chứng Không Gian Thấp

Đầu tiên, hãy xác định các dấu hiệu cho thấy lưu trữ đang cạn kiệt. Hãy tìm kiếm:

  • apt upgrade báo cáo “không đủ không gian trống”
  • Cảnh báo GUI “không gian đĩa thấp”
  • Các ứng dụng không thể lưu cài đặt hoặc ghi nhật ký
  • /var hoặc /tmp đầy, gây ra hành vi chậm chạp

Khi bạn thấy những điều này, đã đến lúc xác định không gian đang được sử dụng ở đâu, không chỉ để thêm nhiều hơn.

4.2 Bước 1: Lấy Tổng Quan Về Việc Sử Dụng (df)

Bắt đầu với df -h để xem dung lượng tổng thể:

df -h

Kết quả mẫu:

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

Bất kỳ điểm gắn kết nào có Use% ≥ 90% cần được chú ý, đặc biệt là /, /var hoặc /home.

4.3 Bước 2: Tìm Các Thư Mục Tiêu Tốn Không Gian (du)

Một khi bạn biết phân vùng có vấn đề, hãy đi sâu hơn với du.

Ví Dụ: Hiển Thị 10 Mục Tiêu Tốn Không Gian Hàng Đầu

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

Kết quả mẫu:

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

Một /var lớn thường chỉ ra nhật ký hoặc bộ đệm; một /home lớn cho thấy dữ liệu người dùng.

Đi Sâu Hơn Bên Trong /var

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

Bằng cách duyệt qua hệ thống phân cấp, bạn có thể xác định chính xác các thư mục đang chiếm dụng không gian.

4.4 Bước 3: Xóa Các Tệp Và Bộ Đệm Không Cần Thiết

Sau khi xác định thủ phạm, hãy bắt đầu dọn dẹp các mục an toàn để xóa.

(1) Dọn Dẹp Bộ Đệm APT

Ubuntu lưu trữ các tệp gói tạm thời trong /var/cache/apt/archives. Việc xóa chúng có thể giải phóng vài gigabyte.

sudo apt clean
sudo apt autoremove
  • apt clean – xóa tất cả các tệp gói đã lưu trữ
  • apt autoremove – xóa các gói không còn cần thiết

(2) Xóa Các Tệp Nhật Ký Cũ

/var/log là nguồn phổ biến gây phình to.

sudo journalctl --vacuum-time=7d

Lệnh trên xóa các nhật ký hệ thống cũ hơn 7 ngày.
Bạn cũng có thể xóa thủ công các tệp .gz (nhật ký nén) không cần thiết.

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

(3) Xóa Các Phiên Bản Gói Snap Cũ

Trên Ubuntu, các phiên bản cũ của ứng dụng Snap được giữ tự động.
Bạn có thể xóa các snap cũ 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

Thay vào đó, bạn có thể sử dụng tiện ích loại “Snap Cleaner” đơn giản.

(4) Xóa Bộ Đệm Bản Thu Nhỏ

Nếu bạn làm việc với nhiều hình ảnh hoặc video, một lượng lớn bộ đệm sẽ tích tụ trong ~/.cache/thumbnails.

rm -rf ~/.cache/thumbnails/*

(5) Làm Rỗng Thùng Rác

Các tệp bị xóa qua GUI có thể vẫn tồn tại trong ~/.local/share/Trash/files.

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

4.5 Bước 4: Giảm Bớt Sự Phình To Từ Ứng Dụng Và Nhật Ký

(1) Khi Sử Dụng Docker

Khi sử dụng Docker, các hình ảnh và container không cần thiết có thể tiêu tốn không gian.

docker system df
docker system prune -a
  • docker system df : Kiểm tra việc sử dụng liên quan đến Docker
  • docker system prune -a : Xóa các hình ảnh và container không sử dụng

(2) Khi sử dụng Flatpak hoặc Snap nhiều

Trong môi trường có nhiều ứng dụng GUI được cài đặt, các artifact ứng dụng còn sót lại (phiên bản cũ) thường tích tụ.
Dọn dẹp bằng lệnh như flatpak uninstall --unused.

(3) Xem xét cài đặt xoay vòng log

Kiểm tra /etc/logrotate.conf/etc/logrotate.d/, và đặt khoảng thời gian lưu giữ phù hợp cùng giới hạn kích thước để giúp ngăn chặn tái phát.

4.6 Bước 5: Giải quyết cơ bản bằng cách thay đổi kích thước hoặc thêm đĩa

Nếu chỉ xóa file không đủ, hãy xem xét các thay đổi cấu hình sau.

(1) Khi sử dụng LVM

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

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

Điều này cho phép bạn tăng dung lượng của /.

(2) Thêm đĩa mới và mount nó

Mount lưu trữ mới tại /mnt/data (hoặc tương tự), và di chuyển các thư mục lớn (ví dụ: /var/lib/docker hoặc /home) đến đó.

(3) Tận dụng lưu trữ đám mây

Di chuyển log và backup đến Google Drive, Dropbox, Nextcloud, v.v., là một lựa chọn khác.

4.7 Kiểm tra định kỳ để ngăn chặn tái phát

Hết dung lượng là vấn đề có thể tránh được bằng giám sát định kỳ.
Việc áp dụng các thực hành sau là hiệu quả.

  • Kiểm tra định kỳ df -hdu -sh /var
  • Tạo script để tự động kiểm tra các thư mục lớn
  • Thiết lập thông báo email khi sử dụng vượt ngưỡng ( cron + mailutils , v.v.)

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: Ưu tiên các biện pháp tiết kiệm không gian

PriorityMeasureNotes
★★★★★Delete APT cache (sudo apt clean)Immediate effect
★★★★☆Delete logs (sudo journalctl --vacuum-time=7d)Safe and reliable
★★★★☆Remove unnecessary Snap/Flatpak versionsEffective on desktop environments
★★★☆☆Delete unnecessary Docker dataUseful for server use
★★☆☆☆Disk expansion / mount additionEffective as a root solution
★☆☆☆☆Implement regular monitoring scriptsBenefits over long‑term operation

Khi Ubuntu hết dung lượng,
Xác định các yếu tố nặng → Xóa từ các khu vực an toàn → Xem xét cấu hình
Việc tuân theo ba bước này giải quyết hầu hết các vấn đề.

5. Mẹo nâng cao (Mẹo hữu ích & Lưu ý)

Ngay cả sau khi sử dụng các phương pháp trên để kiểm tra và dọn dẹp không gian, đĩa có thể đầy lại theo thời gian.
Dưới đây là một số kỹ thuật nâng cao để giữ Ubuntu chạy mượt mà.

5.1 Tự động hóa kiểm tra đĩa định kỳ

Chạy df hoặc du thủ công là nhàm chán, nhưng script tự động hóa có thể giảm nỗ lực.
Đăng ký một script giám sát đơn giản trong cron để gửi cảnh báo khi sử dụng vượt ngưỡng.

Ví dụ: Script gửi email khi không gian 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

Lưu cái này như /usr/local/bin/check_disk.sh và làm cho nó có thể thực thi với chmod +x.
Sau đó đăng ký nó trong crontab -e như thế này:

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

→ Kiểm tra chạy tự động mỗi sáng lúc 8 giờ.

Điểm hữu ích

  • Thông báo cũng có thể được gửi qua Slack Webhook, LINE Notify, v.v.
  • Có thể mở rộng để giám sát nhiều điểm mount đồng thời

5.2 One-liner để tìm file lớn

Thường thì thiếu hụt do một vài file khổng lồ.
One-liner sau liệt kê file lớn hơn 1 GB.

sudo find / -type f -size +1G -exec ls -lh {} ; | awk '{print $9 ": " $5}'
/var/log/syslog.1: 1.5G
/var/lib/docker/overlay2/.../diff/usr/lib/libchrome.so: 2.3G
/home/user/Downloads/video.mp4: 4.1G

Bằng cách này, bạn có thể nhanh chóng tìm file nên xóa hoặc di chuyển.

Ví dụ: Tìm kiếm chỉ các thư mục cụ thể

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

→ Hữu ích để tìm file lớn hơn 500 MB dưới /var.

5.3 Alias các lệnh thường dùng

Gõ lệnh dài mỗi lần là nhàm chán, vì vậy thiết lập alias là hiệu quả.

Ví dụ: Thêm vào ~/.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'

Áp dụng sau khi thiết lập:

source ~/.bashrc

Bây giờ,

  • dfh → Kiểm tra tổng dung lượng
  • duh → Xem 10 thư mục lớn nhất
  • logs → Điều tra kích thước log

Bạn có thể thực hiện các thao tác này ngay lập tức.

5.4 Liên tục giám sát thay đổi sử dụng đĩa (monitoring)

Khi chạy Ubuntu lâu dài, bạn có thể gặp phải vấn đề “dung lượng đĩa tăng lên một cách âm thầm.”
Do đó, ghi lại các thay đổi sử dụng đĩa dưới dạng lịch sử là hữu ích.

Ví dụ: Script ghi sử dụng đĩa vào tệp

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

Chạy script này một lần mỗi ngày qua cron cho phép bạn theo dõi xu hướng sử dụng đĩa sau này.

Các phương pháp nâng cao hơn

  • Cài đặt collectd hoặc netdata để vẽ đồ thị
  • Sử dụng Prometheus + Grafana để trực quan hoá giám sát
  • Khi trên đám mây, tích hợp với AWS CloudWatch hoặc GCP Ops Agent

Bạn có thể giám sát ở mức quản lý vận hành mà không cần dựa vào công cụ GUI.

5. Cẩn thận với rào cản quyền

Khi kiểm tra hoặc xóa dữ liệu sử dụng đĩa, bạn có thể không nhận được kết quả chính xác nếu không có quyền root.

Ví dụ:

du -sh /var

Ngay khi bạn chạy lệnh này, người dùng thường sẽ bị bỏ qua một số thư mục với thông báo “Permission denied,” dẫn đến giá trị thấp hơn so với thực tế.

→ Để kh phục, hãy thêm sudo vào trước hoặc thực hiện với quyền quản trị.

5.6 Các cân nhắc cho môi trường SSD/HDD

Môi trường SSD

  • Để tránh ghi không cần thiết, chạy TRIM thường xuyên với fstrim : sudo systemctl enable fstrim.timer Điều này cho phép SSD tối ưu hoá các khối đã xóa.

Môi trường HDD

  • Log và cache thường bị phân mảnh, vì vậy khởi động lại sau khi xóa các tệp không cần thiết có thể hiệu quả.
  • Chạy các lệnh du nặng I/O tốt nhất nên thực hiện trong thời gian tải thấp, chẳng hạn như vào cuối đêm.

5.7 Hệ thống hoá quản lý dung lượng để ngăn ngừa tái diễn

Cuối cùng, giải pháp tối ưu cho quản lý dung lượng là thói quen và có hệ thống.

Danh sách kiểm tra thực tế

  • Thường xuyên kiểm tra df -h
  • Kiểm tra sự tăng trưởng của /var/log hàng tháng
  • Chạy apt autoremove hàng tuần
  • Định kỳ xóa dữ liệu Snap và Docker không cần thiết
  • Có một script thông báo tự động

Nếu bạn thực hiện những việc này thường xuyên, hầu hết các vấn đề về dung lượng đĩa có thể được ngăn ngừa.

Tóm tắt

Phần này giới thiệu các kỹ thuật nâng cao để quản lý dung lượng đĩa Ubuntu hiệu quả hơn.
Ba điểm chính là:

  1. Phát hiện sớm thông qua tự động hoá và thông báo
  2. Hiệu quả vận hành qua alias và one‑liners
  3. Quản lý an toàn bằng cách cân nhắc quyền và đặc điểm thiết bị

Kết hợp chúng sẽ biến quản lý dung lượng từ một công việc tẻ nhạt thành một phần không thể thiếu của hoạt động hệ thống.

6. CÂU HỎI THƯỜNG GẶP (FAQ)

Q1. Cách đơn giản để kiểm tra không gian trống hiện tại trên Ubuntu là gì?

Cách dễ 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 trống của mỗi ổ đĩa (phân vùng) một cách nhanh chóng.
Thêm tùy chọn-h` sẽ hiển thị kích thước ở định dạng dễ đọc (GB, MB).

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

Sử dụng lệnh du.
Để kiểm tra dung lượng của một thư mục cụ thể, chạy:

du -sh /home

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

  • -s : chỉ hiển thị tổng
  • -h : hiển thị kích thước ở đơn vị dễ đọc

Để xem chi tiết hơn theo từng thư mục, sử dụng:

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

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

Tóm lại, chúng đo lường các khía cạnh khác nhau.

CommandTargetPrimary Use
dfEntire filesystemCheck free space
duFile/directory levelFind where space is used

Ví dụ, dùng df để xem không gian trống tổng thể trên /, và dùng du để xem một thư mục cụ thể tiêu thụ bao nhiêu.

Q4. Làm sao để kiểm tra không gian trống qua giao diện GUI?

Trên Ubuntu Desktop, bạn có thể kiểm tra trực quan bằng Trình quản lý tệp (Nautilus) hoặc Trình phân tích sử dụng đĩa (Baobab).

  • Trình quản lý tệp → Thanh dưới cùng hiển thị “Còn lại XX GB”
  • Baobab → Phân tích đồ họa về việc sử dụng

Cả hai đều thân thiện với người mới và hiển thị kết quả chỉ với một cú nhấp.

Q5. Nếu tôi nhận được cảnh báo “đĩa đầy”, nên xóa gì trước tiên?

Bắt đầu bằng cách xóa các bộ đệm an toàn và các tệp không cần thiết.
Thứ tự được khuyến nghị là:

  1. Xóa bộ đệm APT sudo apt clean
  2. Xóa các gói không cần thiết sudo apt autoremove
  3. Dọn dẹp nhật ký sudo journalctl --vacuum-time=7d
  4. Xóa thùng rác và bộ đệm hình thu nhỏ rm -rf ~/.cache/thumbnails/* && rm -rf ~/.local/share/Trash/*

Những bước này thôi cũng có thể giải phóng vài gigabyte.

Q6. Tôi nghe nói ứng dụng Snap có thể làm phồng dung lượng đĩa. Tôi có thể làm gì?

Snap giữ mỗi phiên bản của một ứng dụng, vì vậy các phiên bản cũ có thể tồn tại lâu dài.
Bạn có thể xóa các phiên bản cũ không cần thiết 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ể xóa thủ công bằng công cụ GUI Snap Store.

Q7. Tôi nên làm gì khi /var hoặc /home quá lớn?

  • /var – dọn dẹp nhật ký ( /var/log ) và bộ đệm ( /var/cache )
  • /home – sao lưu hoặc di chuyển các tệp tải xuống và video sang lưu trữ bên ngoài

Nếu bạn cần tăng dung lượng, bạn có thể mở rộng khối lượng với LVM hoặc gắn một đĩa mới và quản lý không gian riêng biệt.

Q8. Chạy du mất nhiều thời gian. Có cách nào để tăng tốc không?

du quét mọi tệp một cách đệ quy, vì vậy nó có thể chậm trên các thư mục có nhiều mục.
Các mẹo sau có thể giúp:

  • Sử dụng --max-depth=1 để bỏ qua các thư mục con sâu
  • Loại trừ các thư mục không cần thiết (ví dụ: --exclude=/proc )
  • Sử dụng lệnh ncdu (chế độ xem tương tác)
    sudo apt install ncdu
    sudo ncdu /
    

ncdu cảm thấy nhẹ nhàng và cung cấp cách trực quan để kiểm tra sử dụng đĩa.

Q9. Làm thế nào để tránh hết không gian lần nữa?

Bảo dưỡng định kỳ giúp ích rất nhiều:

  • Chạy sudo apt autoremove một lần mỗi tuần
  • Kiểm tra sử dụng /var/log/home hàng tháng
  • Lưu đầu ra của df -h vào nhật ký và theo dõi thay đổi
  • Định kỳ xóa dữ liệu Snap hoặc Docker cũ
  • Trên SSD, kích hoạt cắt tỉa tự động với sudo systemctl enable fstrim.timer

Tự động hóa các nhiệm vụ này có thể giữ cho các vấn đề không gian đĩa ở mức thấp.

Q10. Các lựa chọn của tôi để mở rộng lưu trữ là gì?

Có ba cách tiếp cận phổ biến:

  1. Mở rộng khối lượng LVM

    bash sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv sudo resize2fs /dev/ubuntu-vg/ubuntu-lv 2. Thêm đĩa mới và gắn nó – tạo điểm gắn như /mnt/data và phân bổ tải. 3. Sử dụng lưu trữ đám mây – di chuyển các tệp lớn sang Google Drive, Nextcloud, v.v.

Nếu việc thêm lưu trữ vật lý không khả thi, lưu trữ các tệp cũ cũng hiệu quả.

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

Lệnh df -h cơ bản hoạt động cho bất kỳ người dùng nào, nhưng du cần quyền để đọc một số thư mục (ví dụ: /var/log).
Trong môi trường không root, giới hạn quét vào thư mục home của bạn:

du -sh ~/*

Q12. Làm thế nào để kiểm tra lưu trữ trên hệ thống không đầu (server)?

Vì phiên bản server của Ubuntu thiếu GUI, hãy sử dụng các lệnh này thay thế:

GoalCommand
Check overall usagedf -h
Check per‑directory usagesudo du -hsx /*
Find large filessudo find / -type f -size +1G
Visual, text‑based viewsudo ncdu /

Kết hợp chúng cho phép bạn phân tích sử dụng đĩa một cách thoải mái mà không cần GUI.

Q13. Có rủi ro làm hỏng hệ thống khi kiểm tra lưu trữ không?

Việc kiểm tra sử dụng đơn giản không mang rủi ro.
Tuy nhiên, hãy cẩn thận khi bạn bắt đầu xóa hoặc thay đổi kích thước:

  • Kiểm tra kép đường dẫn trước khi sử 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
  • Nếu bạn không chắc chắn, hãy sao lưu trước

Q14. Có mẹo ẩn nào để tiết kiệm không gian không?

  • Rút ngắn thời gian lưu trữ nhật ký (cài đặt /etc/logrotate.conf)
  • Xóa các gói ngôn ngữ không cần thiết: sudo apt install localepurge
  • Xóa các kernel cũ (đôi khi chúng tồn tại lâu): sudo apt autoremove --purge

Những bước này có thể giải phóng từ vài trăm MB đến vài GB.

Q15. Các công cụ được khuyến nghị để giám sát sử dụng đĩa?

Ubuntu cung cấp một số công cụ giám sát hữu ích:

ToolFeatures
ncduLightweight, fast CLI explorer
BaobabGUI with visual charts
dufEnhanced df with a clean table layout
Netdata / Prometheus / GrafanaFull‑stack server monitoring and graphing

Tóm tắt

Các điểm chính để quản lý dung lượng đĩa trên Ubuntu là:

  1. Sử dụng df để xem tổng quan và du để kiểm tra chi tiết
  2. Xóa dữ liệu không cần thiết theo thứ tự an toàn (APT → logs → caches)
  3. Tự động hoá việc dọn dẹp và giám sát ngăn ngừa tái phá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ý lưu trữ có thể có vẻ tẻ nhạt, nhưng đó là một trong những nhiệm vụ bảo trì quan trọng nhất để duy trì hệ thống Ubuntu ổn định.

年収訴求