LINUX.ORG.RU

как узнать сколько места доступно на файловой системе


0

1

Довольно странный вопрос, может несколько теоритический, но всё же...

Имеем примерно такую конфигурацию:

  Filesystem      Size  Used Avail Use% Mounted on
  /dev/sda1        19G  6,6G   11G  38% /
  /dev/sda3        92G   66G   22G  76% /home

При этом часть каталогов внутри /home/user является симлинками на /opt/user/somefolder

Как пользователь может узнать сколько осталось места для файликов?

Доп. условие - пользователь не знает куда пишет софт (а пишет он как раз в те папки) и не знает какие папки являются симлинками (ну бред, но я предупреждал что вопрос скорее теоритический).

★★★★★

Последнее исправление: aim1159 (всего исправлений: 1)

Ответ: для файликов, которые пользователь пишет в «те папки», которые являются «симлинками» на /opt/user/somefolder свободного места для записи файликов осталось 11Гб, а для файликов, которые пользователь пишет не в «те папки», осталось 22Гб свободного места.

kostik87 ★★★★★
()

Мне вот кажется, логичный ответ - никак.

Если пользователю будет известно только свободное место в /home, то это будет неверная цифра - в некоторых папках ведь есть место за пределами /home. И наоборот, если показать все свободное место, также неверно - не в каждую папку пользователь сможет что-то положить.

Решением проблемы в данном случае, кажется, будет только табличка вида «в эту папку писать столь-то, а в эту столько-то», что выглядит как жуткий напильник.

l0stparadise ★★★★★
()

Вам борода думать мешает.

anonymous
()

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

l0stparadise ★★★★★
()

Почему бы тогда не сделать

df -h /directory/where/user/write
, чтобы узнать доступный объем?

TuxR ★★★★
()
Ответ на: комментарий от TuxR

Это не учтет симлинки. Чтобы симлинки учлись, нужно сделать df прямо на симлинк, а по условию юзер не знает, где симлинки =)

l0stparadise ★★★★★
()

Вопрос похож на тест из Яндекса - ненависть :)

man du

       -L, --dereference
              dereference all symbolic links

       -P, --no-dereference
              don't follow any symbolic links (this is the default)
gh0stwizard ★★★★★
()
20 ноября 2013 г.

сам спросил - сам нашёл. в du есть ключ -P который позволяет «не следовать симлинкам»!

aim1159 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.