隨著時間的推移, 任何Linux系統最終都會累積垃圾檔案。未使用的軟體包、舊核心、過期的縮圖、無窮無盡的日誌、舊的備份…不知不覺中,「磁碟空間不足」的警告就會在你最需要它的時候彈出。無論你使用的是 Ubuntu、Linux Mint、Plesk 伺服器還是外接硬碟,如果不及時清理,磁碟空間都會被佔滿。
好消息是 在 Linux 系統中釋放磁碟空間比看起來容易得多。 如果您知道該去哪裡查找以及哪些內容可以安全刪除,那麼本指南將收集、整理並擴展排名靠前的網站上關於此主題的所有技巧,並將它們整合到一篇實用的文章中。本文為西班牙文(西班牙)版本,適用於桌上型電腦和伺服器。
1. 如何在Linux系統中查看可用空間
在刪除任何內容之前,建議先… 想知道你究竟佔用了多少空間以及原因。在Linux系統中,你可以使用命令列或圖形工具來完成這項操作,這取決於你的個人喜好。 終端 或桌面環境。
1.1. 使用圖形化磁碟分析工具(Ubuntu 及其衍生版本)
在像 Ubuntu、Linux Mint 或 elementary OS 這樣的桌面作業系統上,你擁有… 圖形化磁碟使用情況分析器 (例如,「磁碟使用情況分析器」)。您可以在應用程式選單中搜尋並開啟它,然後會看到一個圖表,顯示已使用空間和可用空間,以及按資料夾劃分的詳細資料。
這種工具可以讓你 一眼就能看出哪些路線佔用空間最大 (例如 /var、主資料夾等),如果您不想費力使用輸入終端,這將非常有用。
1.2. 使用 df -h 檢查磁碟使用情況
查看每個檔案系統可用空間的基本命令是: df -h在終端機中執行以下命令:
df -h
有選項 -h 你會看到「人類」尺寸(K、M、L),並能立即找到它們。 哪個分區達到 90-100%?如果您的根分割區「/」或外部磁碟的掛載點幾乎已滿,則需要進行清理。
1.3. 使用 du 指令找出哪些目錄佔用空間最多。
一旦找到問題分區,下一步是: 找出哪些資料夾造成了混亂。這就是該命令的用途。 du這顯示每條路線佔用了多少空間。
例如,要查看根系統目錄的大小:
cd /
sudo du -sh *
選項 -s 按目錄和匯總 -h 它顯示清晰易讀的尺寸。這樣你就能看到類似這樣的線條: 4.0G /var, 15G /home等等,這告訴你 接下來該如何繼續調查「黑洞」位於…是很常見的。 /var (紀錄, 數據庫(備份)或您的使用者資料夾。
例如,如果您想分析一條特定路線。 /var, 您可以使用:
sudo du -sh /var/*
這樣你就可以一層一層往下走了,直到你找到 佔用空間的具體目錄 (例如,Plesk 伺服器上的 /var/log、/var/lib/mysql、/var/lib/psa/dumps 等)。
2. 清理不再需要的孤立軟體包和依賴項
在基於 Debian/Ubuntu 的系統(Ubuntu、Linux Mint 以及許多桌面和伺服器發行版)上,APT 軟體套件管理器 它會累積不再需要的依賴項。這些被稱為孤立軟體包:它們是因為另一個軟體包請求它們而被安裝的,但該軟體包已不再可用。
要一次刪除所有這些內容,只需使用 apt-get autoremove:
sudo apt-get autoremove
系統將顯示要刪除的軟體包清單以及 騰出的空間 在請求確認之前。在某些實際案例中,只有這條指令才能釋放 幾千兆位元組 (例如,舊核心和過時的程式庫佔用了 9 GB 的空間)。
在通常出現的包裹中,你會看到許多 linux-image-*, linux-headers-* 以及它們對應的模組,這些模組是舊的內核,由於您使用的是較新的內核版本,因此不再使用這些舊內核。
2.1. 刪除不再使用的軟體
除了孤立的依賴項之外,我們最終都會安裝其他元件。 我們曾經試用過一次,之後就再也沒用過的程序遊戲、編輯器、實用程式等等,每一樣都佔空間,加起來會填滿你的空間。 SSD 在你沒有意識到的情況下。
您可以從此處卸載應用程式 軟件中心 或使用終端。例如:
sudo apt-get remove nombre-paquete1 nombre-paquete2
如果您還想清理設定文件,可以使用以下方法: 清除 而不是移除,以便 這樣可以騰出更多空間,留下更少痕跡。 在系統中。
2.2 清理已刪除軟體包的設定文件
APT有這樣的習慣 保留已卸載軟體包的設定檔。它們通常不會像核心那樣佔用大量空間,但如果你多年來一直使用相同的安裝,它們也會累積起來佔用大量空間。
有一種常見的配方,它結合了 的dpkg y 埃格雷普 一次刪除所有狀態標記為“rc”的痕跡:
sudo dpkg --purge `COLUMNS=300 dpkg -l | egrep "^rc" | cut -d' ' -f3`
此命令會刪除與已卸載軟體包關聯的配置,從而實現 系統更簡潔,在某些情況下,還能額外節省幾兆位元組的空間。.
3. 清理 APT 快取和其他組件
另一種廢棄物來源是… 下載快取和縮圖 系統會保存這些資訊以加快處理速度。問題是,這些資訊很少會自動清除。
3.1. APT 快取:自動清理和清理
APT商店 /var/cache/apt/archives 你下載的所有 .deb 軟體包這包括當前版本和您不再需要的舊版本。要查看它們佔用多少空間:
sudo du -sh /var/cache/apt
在各種情況下,都曾發現過藏匿點。 150 MB、350 MB 或更多當你的空間有限時,這一點就顯得尤為重要。
你有 兩種清潔方案:
- 僅移除過時的軟體包 (由於有新版本,這些版本已無法下載):
sudo apt-get autoclean - 清除所有 APT 緩存 (這樣可以釋放更多空間,但代價是以後安裝時需要重新下載所有內容):
sudo apt-get clean
許多用戶經常將它們結合起來使用。 須藤的apt-get autoremove y sudo apt-get clean 無需費力即可保持系統相對清晰。
3.2. 圖片縮圖緩存
像 Ubuntu 或 Linux Mint 這樣的桌面系統上的檔案總管會生成 照片、影片和文件的縮圖 在瀏覽資料夾時顯示美觀的圖示。這些縮圖保存在… ~/.cache/thumbnails.
同 El Temppo該資料夾可能會成長到 數百兆位元組 (153 MB、300 MB 等),包括已不存在檔案的縮圖。要查看其佔用空間:
du -sh ~/.cache/thumbnails
並清除所有縮圖快取:
rm -rf ~/.cache/thumbnails/*
系統會在需要時重新產生縮圖,因此 偶爾清空一下是可以的。這是一個簡單且相對安全的清潔過程。
4. 管理遺留內核和系統內核
在許多 Ubuntu 及其衍生發行版中,尤其是在頻繁更新的情況下,很容易出現這種情況。 幾十個舊內核 以及它們對應的頭部和模組。每套檔案大約有 300 MB,因此 20-30 個過時的版本就意味著丟失了幾 GB 的資料。
正如我們討論過的,命令 須藤的apt-get autoremove 通常會負責刪除 linux-image-*, linux-headers-* y linux-modules-* 這些內核已不再使用。舉個實際例子,清理這些核心集合釋放了大約 9 GB 的空間。
黃金法則是 至少保留當前內核,如果願意,為了安全起見,還可以保留一個舊內核。其餘部分可以安全刪除,始終讓 APT 處理,而不是手動刪除 /boot 中的檔案。
5. 清理系統日誌(systemd 日誌和 journal)
Linux 會記錄所有資訊: 系統訊息、服務、錯誤、核心活動這對於診斷問題非常有用,但如果日誌沒有適當的輪換或壓縮,它們可能會失控成長。
5.1. Systemd 日誌大小
在採用 systemd 的系統中, 二元日誌記錄 通常儲存在 /var/log/journal為了查看它們佔用多少空間:
journalctl --disk-usage
有些情況下,期刊會佔據… 1,8 GB或更多對於小型圓盤魚來說,這是一個不錯的咬口。
您 只留下最近幾天的那些。 使用此命令:
sudo journalctl --vacuum-time=3d
一個典型的例子是,此操作釋放了 1,7 GB 的存檔記錄大幅減少 /var/log/journal 中的資料消耗,同時又不至於耗盡用於調試的最新資訊。
5.2. /var/log 中的傳統日誌
除了期刊之外,許多系統仍然有 /var/log 目錄下的文字日誌文件 (例如,Apache 日誌、Nginx、郵件、資料庫等)。在安裝了 Plesk 的伺服器上,這一點更加明顯。
在這些類型的環境中,像這樣的路由非常常見。 / var / log / 它們可能會累積大量文件,尤其是在日誌輪換配置不正確的情況下。在刪除任何檔案之前,最好先檢查一下檔案是什麼、大小以及是否可以立即刪除。
例如,如果您偵測到 /var/log/apache2/error.log o /var/log/httpd/error_log 它們的價格已經飆升,你可以:
- 清空或刪除目前日誌 (例如,
sudo rm /var/log/apache2/error.log知道該服務會重新創建它,或將其截斷為零。 - 在 logrotate 中調整輪替策略 這樣它們就不會再次無限增長了。
對於高使用率的伺服器,需要定期審查 /var/log 幫助 避免磁碟空間不足導致網路或電子郵件服務崩潰.
6. 清理舊版的 Snap 包
在採用以下方式的分佈中 卡扣包裝 (例如 Ubuntu),每個應用程式都與其依賴項打包在一起,這使得軟體包比傳統的 .deb 檔案更大。另外,Snap 它保留了每個應用程式的幾個舊版本。 這樣你就可以進行回滾,而且這會在光碟上顯示出來。
要查看 Snap 應用在您的系統上佔用多少空間:
sudo du -h /var/lib/snapd/snaps
一些用戶已經看到了超過這個數字。 僅 5 GB 快照其中很大一部分是較舊的、已停用的版本。
有一個小 腳本 一個知名的 shell(由 Snapcraft 團隊的部分成員創建),它可以掃描所有 Snap 應用程式並刪除它們。 評論功能已關閉:
#!/bin/bash
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu
snap list --all | awk '/desactivado/{print $1, $3}' | while read snapname revision; do
snap remove "$snapname" --revision="$revision"
done
基本步驟如下:將此內容複製到文件(例如, limpia-snaps.sh),並賦予其執行權限 chmod +x limpia-snaps.sh 並運行它 根:
sudo ./limpia-snaps.sh
在一個有記錄的案例中,腳本運行完畢後,佔用的空間 /var/lib/snapd/snaps 他下去了 5,6GB至2,5GB也就是說,它獲得了 Snap 所佔空間的一半以上。
7. 清理伺服器上的暫存檔案和常用目錄
在伺服器上,尤其是在使用像 Plesk 這樣的控制面板時,存在許多路徑… 它們通常是導致磁碟空間被佔滿的直接罪魁禍首。在申請擴大空間之前,了解這些問題並加以解決至關重要。
7.1. 通常佔用最多空間的目錄
在分析時 杜-什 在根目錄和 /var 目錄中,你會發現以下目錄是常見的嫌疑犯:
- / var / log /系統日誌、網路伺服器日誌、電子郵件日誌等。
- /var/lib/psa/dumps/Plesk 備份如果不進行輪換,可能會累積數 GB 甚至數 GB 的資料。
- /usr/local/psa/PMM/tmp/:來自 Plesk 備份管理員的暫存檔案。
- 的/ tmp /: 臨時文件 該系統及各種應用程式。
- /var/www/虛擬主機/伺服器上託管的網站及其文件、日誌和備份。
- /var/qmail/mailnames/:由 Plesk 管理的網域的郵箱。
- /var/lib/mysql/MySQL/MariaDB 資料庫在活躍應用程式中可能會顯著成長。
找到問題目錄後,您需要… 決定哪些內容可以刪除,哪些內容可以歸檔,哪些內容應該移動到另一個磁碟區。始終注意不要中斷生產環境中的服務。
7.2. 清理臨時檔案和舊備份
很多情況下,問題可以歸結為: 您不再需要的舊備份 以及廢棄的臨時文件。例如:
- 刪除非常舊的備份 /var/lib/psa/dumps/ 只留下最後幾個必需品。
- 空的 的/ tmp / 修改長時間未修改的文件,注意不要幹擾正在進行的進程。
- 檢查並清理虛擬主機上的快取和臨時目錄。 /var/www/虛擬主機/.
將這些操作與我們之前看到的日誌清理結合起來,這很常見。 從過載的伺服器上回收數GB空間 無需調整磁碟大小。
8.刪除重複的文件
另一個悄無聲息的空間消耗來源是 重複文件散落在不同資料夾中 (照片、項目副本、重複影片等)。在老舊的桌上型電腦上,這些檔案加起來可能高達幾個GB。
有些工具帶有圖形介面,例如 FSlint 或命令列實用程序,例如 fdupes 負責掃描一組目錄,尋找相同的文件,並允許您刪除它們或只保留副本。
其想法是仔細選擇要分析的路徑(例如,您的使用者資料夾和資料磁碟機),然後進行分析。 刪除前請先查看結果避免不小心損壞重要物品。
9. Linux 清理圖形工具(Stacer 及類似工具)
如果您不想記住命令或逐一管理它們,可以使用具有圖形介面的實用程式。 他們將大部分清潔和維護工作集中起來進行。 只需點擊幾下。
在Ubuntu及其衍生版本中,最知名的之一是 Stacer它將以下內容集中在一個視窗中:
- 的信息 資源使用 和磁碟空間。
- 管理 啟動應用 和服務。
- 清潔器 快取、日誌、臨時檔案等。
雖然這類程序讓生活更輕鬆,但有些人更喜歡… 請勿安裝任何其他軟體,以免佔用額外空間。而且它完全可以透過終端完成。這就涉及到個人偏好了:如果你的空間有限,你可能想學習一下命令,這樣就不用使用額外的應用程式了。
10. 遷移應用程式和進程,並監控空間
在某些桌上型電腦系統中,空間不足的主要原因之一是 在同一分區上安裝了太多應用程式 您個人資料的儲存位置。
一種選擇是 卸載不使用的軟體但如果您不想放棄某些程序,您可以移動它們或 將大數據重新分配到其他分割區或磁碟 (例如,掛載第二個磁碟用於 /home、/var 或資料資料夾)。
在伺服器上,減少以下數量: 不必要的流程和服務 它也能間接地有所幫助:活動服務減少意味著日誌減少、快取減少,在某些情況下,產生的資料也會減少。
11. 安全擦除 Linux 磁碟上的可用空間
有些情況下,你不僅想要騰出空間──例如, 釋放空閒的交換空間- 但 清除已刪除檔案的所有可恢復痕跡如果您要出售電腦、重複使用硬碟或處理敏感訊息,這一點尤其重要。
例如,如果您有一個 4TB 的外接硬碟,其中 3TB 已被佔用,1TB 可用,那麼您想要的是: 僅覆蓋可用空間,不觸及現有資料。在 Linux 系統中,可以透過建立一個大檔案來填補空白,然後再刪除來實現這一點。
典型的方法是使用 dd 將零或隨機資料寫入外部磁碟檔案系統中的暫存檔案:
cd /ruta/al/disco/externo
dd if=/dev/zero of=relleno bs=1M
該命令會一直寫入數據,直到可用空間被填滿為止。 此時你刪除文件:
rm relleno
由此,你已經實現了 踩在空白處,那裡有零這使得恢復先前刪除的檔案變得極其困難,但可以確保您的 3 TB 資料完好無損。如果您喜歡隨機性,可以使用 if=/dev/urandom明知速度會比較慢。
除了 dd 之外,還有一些實用工具,例如 撕碎其經典目標是 重複覆蓋文件或設備 具有隨機的 1 和 0 的模式。 現代硬碟與固態硬碟 這些方法的絕對有效性存在一些技術上的細微差別,但實際上它們大大增加了康復的難度。
12. 大清理前的備份和預防措施
在您開始隨意刪除檔案之前,尤其是在伺服器或生產機器上,強烈建議您先執行以下操作: 有最近的備份 重要數據。雖然本指南側重於釋放空間,但值得注意的是,編寫不佳的命令(例如,一個 rm -rf 如果放在錯誤的地方),可能會讓你沒有系統。
某些商業套件,例如某些適用於 Linux 的資料復原解決方案,允許 從問題磁碟備份或還原文件如果你已經失去了訊息,它們可能會有用,但最好的策略始終是預防。
在伺服器環境中,安裝 磁碟使用情況監視器 當超過一定百分比(80%、90% 等)時收到通知,可以提前發現問題並安排清潔或升級,這是一個好主意。 存儲 及時。
結合所有這些方法——從 自動移除、清理和縮圖清理 從管理核心、日誌、snap、Plesk 備份到安全地擦除可用空間,您可以使您的 Linux 系統(無論是桌面系統還是伺服器系統)保持健康狀態,擁有足夠的空間進行工作,並且不會在您最不需要的時候出現可怕的「磁碟已滿」警告。
對字節世界和一般技術充滿熱情的作家。我喜歡透過寫作分享我的知識,這就是我在這個部落格中要做的,向您展示有關小工具、軟體、硬體、技術趨勢等的所有最有趣的事情。我的目標是幫助您以簡單有趣的方式暢遊數位世界。