аналізувати використання диска ігноруючи кріплення


67

Ubuntu скаржиться, що моя коренева файлова система майже повна, але коли я використовую baobab(він же "Disk Usage Analyzer") або du -hпідсумовує використання всіх інших встановлених файлових систем.

Як я можу виключити інші файлові системи, встановлені в різних підкаталогах?

Відповіді:


72

baobab: Якщо ви хочете використовувати baobab, це можливо, встановивши кореневу файлову систему в іншому місці та проаналізувавши це. Таким чином, інші файлові системи не змонтуватимуться в новому кореневому кріпленні, а будь-які файли, приховані монтажами під, /будуть виявлені та враховані у вашому аналізі.

Якщо припустити, що ваша коренева файлова система увімкнена sda1( dfпідкаже, який це пристрій):

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

а потім прибирайте, коли закінчите:

sudo umount root-rebound
rmdir root-rebound

Крім того, ви можете демонтувати вказані файлові системи вручну. Ви також можете сканувати лише домашню папку, оскільки вона, швидше за все, містить джерело надмірного використання дискового простору.

du має два варіанти, які можуть запобігти підрахунку інших файлових систем:

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

Таким чином,

du -hx

ігнорує всі інші встановлені файлові системи або

du -h --exclude /media

ігнорував би всі файли, /mediaде встановлена ​​більшість файлових систем.

Якщо ви використовуєте du, сортування так, щоб найбільші речі відображалися внизу списку, може допомогти розшифрувати результат. наприклад:

du -hx | sort -h

2
Класно, я не бачив опцію -x. Я також знайшов інший спосіб: можна знову десь змонтувати файлову систему, а потім використати du чи baobab для її аналізу. Також мені здається корисним робити du -hx | sort -h, хоча баобаб простіше інтерпретувати.
drevicko

@ Cumulos007 - якщо з вами це здорово, я додам своє рішення та пропозицію до вашої відповіді і прийму це
drevicko

Це добре мені!
Cumulus007

1
@wim ні, версія GUI, здається, не може використовувати параметр -x du. Монтаж кореневої файлової системи де-небудь ще працює - ось що я роблю в ці дні (:
drevicko

1
du -kx | sort -nмій шлях
Алехандро Тейшейра Муньос

6

Залежно від типу файлової системи вам може бути заборонено монтувати кореневу файлову систему в точку монтажу під /. Ви отримаєте щось подібне до цього:

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

Монтаж лише для читання ( -o ro) може допомогти. Якщо це не вдається, використовуйте кріплення для прив’язки:

mount --bind / /mnt

Після встановлення використовуйте будь-який інструмент для аналізу використання диска, тобто du -sh * | sort -h


3

Цей звіт про помилку пояснює, як можна налаштувати baobab на ігнорування каталогів. На жаль, ви не можете зробити це всередині самого додатка, але вам доведеться використовувати dconf-editorта відкривати org.gnome.baobab.preferences. Тут ви знайдете предмет excluded-uris; змінити це на ['file:///path/to/ignore'](працював з єдиними цитатами для мене).


Це насправді не дає відповіді на питання, але це корисна інформація, і хтось, хто шукає таку інформацію, може потрапити сюди, тому я надсилаю заявку (:
drevicko

Він відповідає на питання про те, як ігнорувати версії в baobab (виключаючи точки монтажу) без необхідності повторного кореневого розділу. Інша половина запитання (du) вже відповідає у прийнятому дописі.
geira

2

Baobab намагається надати вам контроль над пристроями / перегородками, на які ви скануєте - перейдіть до Edit->Preferences. Зазвичай потрібно сканувати пристрій лише в Mount Point /. Це не розпізнає всі типи посилань / кріпок / прив’язок , тому в кінцевому підсумку Baobab все ще може призвести до заплутаних результатів, якщо у вас нетривіальна конфігурація.


Для duцього наступна функція оболонки, що називається dutop, відображатиме верхній рівень зазначеної папки (або поточної папки). За допомогою цього ви можете зондувати підпапки одна за одною.

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

Це, ймовірно, повідомить про несуттєві помилки "Відмовлено у дозволі", якщо ви застосуєте до них /, але ви можете вирішити ті, що містять щось таке, як нижче, яке запитає ваш пароль (якщо ви нещодавно не вказали його).

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

Для великих папок це може зайняти деякий час. Вони не повідомлять про будь-який додатковий статус, оскільки операція сортування буферизує всі проміжні результати. Чудово перервати Ctrl-C, якщо вам набридло чекати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.