Я знаю, что видел "шагомеры мыши" в прошлом, которое сделало бы то, что Вы хотите.
Единственным примером, который я могу найти прямо сейчас, является "kdetoys-mousepedometer", и затем только в некоторых архивах об/мин.
Это, кажется, явно не указано политикой Debian, но Debian действительно поддерживает создание /tmp
отдельная файловая система (а также /home
, /var
и /usr
). Это традиционно поддерживается системами Unix. И я могу подтвердить то создание /tmp
tmpfs файловая система и монтирование его автоматически через /etc/fstab
, действительно работает над Debian.
Существует некоторая трудность при переходе к /tmp
на tmpfs в живой системе, из-за файлов, которые уже находятся в /tmp
и не может быть скопирован. Но никакой файл в /tmp
как ожидают, будет сохранен через перезагрузки. Безопасно смонтировать другую файловую систему к /tmp
в то время разделы в /etc/fstab
смонтированы.
В целом Вы должны telinit 1
прежде, чем смонтироваться по Вашему текущему/tmp каталогу. В однопользовательском режиме не должно быть никаких файлов в/tmp, которые требуются для работы системы, таким образом, необходимо смочь вычистить каталог, размонтировать его (если это - отдельный раздел), и затем смонтируйте что-то еще в той точке монтирования прежде, чем возвратиться к многопользовательскому режиму.
Гарантировать/tmp не используется:
fuser -m /tmp
проверит, что никакие процессы в настоящее время не используют точку монтирования перед изменением ее.find /tmp -print0 | xargs -0 fuser
даст Вам подобные результаты.Вы могли бы также полагать, что монтирование отдельной tmpfs файловой системы и экспорт TMPDIR (или переменные аналогичной среды Вашего компилятора) использовали его. Это принесло бы Вам пользу пространства царапины tmpfs, не требуя изменений в масштабе всей системы.
tmp не должен использоваться для персистентных данных
LSB (Основа Стандарта Linux) определяет в FHS (FilesystemHierarchyStandard) 2.3 это
"Программы не должны предполагать, что любые файлы или каталоги в/tmp сохраняются между вызовами программы".
Как Gilles указал, это может включать сокеты для того, чтобы запустить программы. Большинство этих программ является propably сетевыми службами, расположенными в runlevel 2 или 3.
Получить информацию о детали для Вашей системы:
cd /etc/init.d ; grep tmp *
должен показать Вам использование tmp во время начальной загрузки.
Сделайте дополнительное grep mktemp *
искать высокоуровневое использование tmp.
Каждая программа должна использовать tmp только очень вскоре.
В Вашей рабочей системе делают fuser /tmp/* ; fuser /tmp/*/*
и так далее проверять на выполнение процессов, блокирующихся tmp.
Кроме этого/etc/fstab должен быть стандартным местом для монтирования файловых систем - почему Вы не должны добавлять его с "1 2"?
tmp
это находится в постоянном употреблении: /tmp/.X11-unix/X0
, сокет, что все X использования программ для передачи с сервером.
– Gilles 'SO- stop being evil'
22.04.2012, 02:29
/etc/init.d
, использование grep
действительно enlighting!
– Mark
22.04.2012, 07:57
/tmp
. Это мнение это регистрирует в /tmp
являются недолгими, не общий. Ключевые характеристики /tmp
это, файлы там, как ожидают, не переживут перезагрузку.
– Gilles 'SO- stop being evil'
23.04.2012, 00:23
/tmp
всегда. Эти сокеты, как предполагается, не переживают экземпляр сервера. Это не предотвращает сервер (и следовательно сокет) от оставления в течение долгого времени — для настольной машины, обычно, с нескольких секунд после начальной загрузки к нескольким секундам перед завершением работы.
– Gilles 'SO- stop being evil'
24.04.2012, 23:33
/etc/fstab
только используется, когда что-то работает mount
.
Эти три раза я могу думать:
/etc/rcS.d/S10mountall.sh
)mount -a
mount <mount point mentioned in /etc/fstab>
Если Вы говорите, что хотите создать новый tmpfs для программ, Вы собираетесь работать, но без перезагрузки, я думаю, что необходимо будет смонтировать его где-нибудь кроме /tmp
таким образом, Вы не повреждаете программы, которые уже работают.
Почему не просто
mkdir /tmpnew
mount -t tmpfs tmpfs /tmpnew
TMPDIR=/tmpnew make...
/tmp
очень легкий. Я обычно делаюmv /tmp /tmp.old; mkdir -m 0 /tmp; mount /tmp; ln -s /tmp.old/* /tmp
после добавления упомянутой строки к fstab. Затем открытые файлы в старом/tmp
должны быть найдены в/tmp.old
через и тем не менее можно получить доступ/tmp
. Затем я проверяю, используются ли они еще, и после следующей перезагрузки, я удаляю/tmp.old
. – glglgl 22.04.2012, 12:09