Назад | Перейти на главную страницу

remount / tmp для текущей оболочки

У меня есть команда, которая жестко запрограммирована для использования /tmp как его рабочий каталог.

/tmp довольно мала, и команда наверняка ее заполнит, что вызовет проблемы для других системных процессов.

Я не могу изменить команду, поэтому хочу перемонтировать /tmp в другом месте, видимом только текущему пользователю / оболочке, не затрагивая других пользователей / процессы.

Это возможно?

Обновление: обнаружено, что команда использует TMPDIR переменная, которую я могу переопределить, но мне все еще интересно узнать, есть ли команда пользовательского пространства Linux, которую я могу использовать.

Команда unshare может сделать практически то, о чем вы просите:

unshare -m "$SHELL"

После этого вы можете локально изменить любые крепления только на эту оболочку.

Я рекомендую, чтобы любые команды монтирования, которые вы запускаете внутри оболочки без общего доступа, использовали -n флаг, потому что иначе он изменится /etc/mtab который будет виден всей системе. Ты наверное хочешь df и mount команды запускаются вне этой оболочки, чтобы по-прежнему отображать правильную файловую систему, установленную на /tmp.