анализировать использование диска, игнорируя установки

42

Ubuntu жалуется на то, что моя корневая файловая система почти заполнена, но когда я использую baobab (aka «Disk Usage Analyzer») или du -h , она суммирует использование всех других смонтированных файловых систем.

Как я могу исключить другие файловые системы, которые монтируются в разных подкаталогах?

    
задан drevicko 01.08.2012 в 04:05
источник

4 ответа

39

баобаб: Если вы хотите использовать baobab, это возможно, установив корневую файловую систему в другое место и проанализируя это. Таким образом, другие файловые системы не будут монтироваться в новом корневом каталоге, и любые файлы, скрытые под монстрами под / , будут обнаружены и учтены в вашем анализе.

Предполагая, что ваша корневая файловая система находится на sda1 ( df сообщит вам, какое устройство оно):

> mkdir deleteme-later
> sudo mount /dev/sda1 deleteme-later
> baobab deleteme-later

, а затем завершите работу, когда вы закончите:

> sudo umount deleteme-later
> rmdir deleteme-later

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

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
    
ответ дан Cumulus007 01.08.2012 в 04:11
источник
4

В зависимости от типа файловой системы вам не разрешено монтировать корневую файловую систему в точке монтирования в / . Вы получите что-то похожее на это:

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

Может быть полезно только чтение на чтение ( -o ro ). Если это не удается, используйте привязку mount:

mount --bind / /mnt

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

    
ответ дан Bram 25.08.2014 в 11:12
3

Этот отчет об ошибке объясняет, как можно настроить baobab для игнорирования каталогов. К сожалению, вы не можете сделать это внутри самого приложения, но вам нужно использовать dconf-editor и открыть org.gnome.baobab.preferences . Здесь вы найдете элемент excluded-uris ; измените это на ['file:///path/to/ignore'] (работайте с одиночными кавычками для меня).

    
ответ дан geira 12.08.2015 в 16:42
2

Baobab пытается дать вам контроль над проверенными вами устройствами / разделами - перейдите в Edit->Preferences . Как правило, вы хотите только сканировать устройство в точке монтирования / . Это не признает все типы ссылки / mounts / bindings , поэтому, в конечном счете, Baobab все еще может создавать запутанные результаты, если у вас нетривиальная конфигурация.

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

function dutop() { du --max-depth=1 --one-file-system -h [email protected] |sort -h; }

Это, скорее всего, сообщит о несущественных ошибках «Разрешения на отказ», если вы примените их к / , но вы можете разрешить те, у которых есть что-то вроде следующего, которые будут запрашивать ваш пароль (если вы его недавно не предоставили).

function sudutop() { sudo du --max-depth=1 --one-file-system -h [email protected] |sort -h; }

Для больших папок это может занять некоторое время. Они не сообщают о каком-либо дополнительном статусе, потому что операция сортировки выполняет буферизацию всех промежуточных результатов. Прекрасно отменять Ctrl-C, если вы устали ждать.

    
ответ дан nobar 11.11.2014 в 02:05