Analysieren Sie die Datenträgernutzung, indem Sie die Bereitstellungen ignorieren

67

Ubuntu beschwert sich, dass mein Root-Dateisystem fast voll ist, aber wenn ich es verwende baobab(auch als "Disk Usage Analyzer" bezeichnet) oder du -hes die Verwendung aller anderen bereitgestellten Dateisysteme zusammenfasst.

Wie kann ich die anderen Dateisysteme ausschließen, die in verschiedenen Unterverzeichnissen bereitgestellt werden?

drevicko
quelle

Antworten:

72

baobab: Wenn Sie baobab verwenden möchten, können Sie das Root-Dateisystem an einem anderen Ort mounten und analysieren. Auf diese Weise werden andere Dateisysteme nicht in den neuen Root-Mount eingebunden, und alle Dateien, die von den Mounts unter ausgeblendet /werden, werden in Ihrer Analyse aufgedeckt und gezählt.

Angenommen, Ihr Root-Dateisystem ist eingeschaltet sda1( dfzeigt an, um welches Gerät es sich handelt):

mkdir root-rebound
sudo mount /dev/sda1 root-rebound
baobab root-rebound

und dann aufräumen, wenn du fertig bist:

sudo umount root-rebound
rmdir root-rebound

Alternativ können Sie die Dateisysteme manuell aushängen. Sie können auch nur Ihren privaten Ordner scannen, da er höchstwahrscheinlich die Quelle der übermäßigen Speicherplatzbelegung enthält.

du hat zwei Optionen, die verhindern können, dass andere Dateisysteme gezählt werden:

 -x, --one-file-system
         skip directories on different file systems
     --exclude=PATTERN
         exclude files that match PATTERN

Somit,

du -hx

würde alle anderen gemounteten Dateisysteme ignorieren oder

du -h --exclude /media

würde alle Dateien ignorieren, in /mediadenen die meisten Dateisysteme eingehängt sind.

Wenn Sie die Funktion verwenden du, können Sie die Ausgabe leichter entschlüsseln, indem Sie so sortieren, dass die wichtigsten Elemente am Ende der Liste angezeigt werden. z.B:

du -hx | sort -h
Cumulus007
quelle
2
Cool, ich habe die Option -x nicht gesehen. Ich habe auch einen anderen Weg gefunden: Sie können das Dateisystem wieder irgendwo einbinden und es dann mit du oder baobab analysieren. Ich finde es auch nützlich zu tun du -hx | sort -h, obwohl Baobab leichter zu interpretieren ist.
Drevicko
@ Cumulos007 - wenn es bei dir cool ist, füge ich meine Lösung und meinen Vorschlag zu deiner Antwort hinzu und akzeptiere sie
drevicko
Das ist okay für mich!
Cumulus007
1
@wim nein, die GUI-Version scheint die Option -x von du nicht verwenden zu können. Das Mounten des Root-Dateisystems an einem anderen Ort funktioniert jedoch - das ist, was ich heutzutage mache (:
drevicko
1
du -kx | sort -nist mein Weg
Alejandro Teixeira Muñoz
6

Abhängig vom Typ des Dateisystems ist es möglicherweise nicht möglich, das Root-Dateisystem an einem Mount-Punkt unter bereitzustellen /. Sie werden so etwas bekommen:

mount: /dev/sda1 already mounted or /mnt busy
mount: according to mtab, /dev/sda1 is mounted on /

Das Mounten von read only ( -o ro) könnte helfen. Wenn dies fehlschlägt, verwenden Sie ein Bind-Mount:

mount --bind / /mnt

Verwenden Sie nach dem Mounten ein beliebiges Tool, um die Festplattennutzung zu analysieren, z du -sh * | sort -h

Bram
quelle
3

Dieser Fehlerbericht erklärt, wie es möglich ist, Baobab so zu konfigurieren, dass Verzeichnisse ignoriert werden. Leider kannst du es nicht in der App selbst machen, sondern musst es benutzen dconf-editorund öffnen org.gnome.baobab.preferences. Hier finden Sie einen Artikel excluded-uris; ändere dies auf ['file:///path/to/ignore'](arbeitete für mich mit einfachen Anführungszeichen).

geira
quelle
Dies beantwortet die Frage nicht wirklich, aber es sind nützliche Informationen, und jemand, der nach solchen Informationen sucht, landet möglicherweise hier. Ich stimme also zu (:
drevicko
Es beantwortet die Frage, wie Mounts in Baobab ignoriert werden können (indem die Mount-Punkte ausgeschlossen werden), ohne dass die Root-Partition erneut gemountet werden muss. Die andere Hälfte der Frage (du) ist bereits im angenommenen Beitrag beantwortet.
Geira
2

Baobab versucht, Ihnen die Kontrolle über die Geräte / Partitionen zu geben, die Sie scannen - gehen Sie zu Edit->Preferences. In der Regel möchten Sie das Gerät nur am Einhängepunkt scannen /. Dies erkennt jedoch nicht alle Arten von Links / Mounts / Bindungen , so dass Baobab letztendlich immer noch verwirrende Ergebnisse liefern kann, wenn Sie eine nicht triviale Konfiguration haben.


Bei duder folgenden aufgerufenen Shell-Funktion dutopwird die oberste Ebene des angegebenen Ordners (oder des aktuellen Ordners) angezeigt. Mit dieser Option können Sie die Unterordner einzeln prüfen.

function dutop() { du --max-depth=1 --one-file-system -h $@ |sort -h; }

Dies wird wahrscheinlich unwichtige "Erlaubnis verweigert" -Fehler melden, wenn Sie es anwenden /, aber Sie könnten diese mit etwas wie dem folgenden beheben, das Sie nach Ihrem Passwort fragt (falls Sie es nicht kürzlich angegeben haben).

function sudutop() { sudo du --max-depth=1 --one-file-system -h $@ |sort -h; }

Bei großen Ordnern kann dies eine Weile dauern. Sie melden keinen inkrementellen Status, da die Sortieroperation alle Zwischenergebnisse puffert. Es ist in Ordnung, mit Strg-C abzubrechen, wenn Sie das Warten satt haben.

kein Balken
quelle