Tmp папка в линуксе

Where is the temporary directory in Linux?

Does Linux have a standard temporary directory for general use, like Windows’s C:\Temp folder? If so, where is it located? I found an SO question about finding a tmp directory programmatically, but I want to set a temp location in an XML config file ahead of time.

I know this looks like a really easy question, but I couldn’t find a clear, simple answer through searching. Many of the results I got were for program-specific temp directories/files. I did see multiple references to /tmp , but they were ambiguous about whether that’s standard for Linux or just a common convention.

Windows’s C:\Temp is most certainly not standard. Windows 95 already had %TEMP% pointing to C:\WINDOWS\Temp .

5 Answers 5

/tmp : Temporary files

The /tmp directory must be made available for programs that require temporary files.

Programs must not assume that any files or directories in /tmp are preserved between invocations of the program.

Rationale

IEEE standard POSIX.1-2008 lists requirements similar to the above section. Although data stored in /tmp may be deleted in a site-specific manner, it is recommended that files and directories located in /tmp be deleted whenever the system is booted.

FHS added this recommendation on the basis of historical precedent and common practice, but did not make it a requirement because system administration is not within the scope of this standard.

/var/tmp : Temporary files preserved between system reboots

The /var/tmp directory is made available for programs that require temporary files or directories that are preserved between system reboots. Therefore, data stored in /var/tmp is more persistent than data in /tmp .

Files and directories located in /var/tmp must not be deleted when the system is booted. Although data stored in /var/tmp is typically deleted in a site-specific manner, it is recommended that deletions occur at a less frequent interval than /tmp .

TMPDIR This variable shall represent a pathname of a directory made available for programs that need a place to create temporary files.

  1. /tmp/ should be used for smaller, size-bounded files only; /var/tmp/ should be used for everything else.
  2. Data that shall survive a boot cycle shouldn’t be placed in /tmp/ .
$ systemd-path temporary /tmp $ systemd-path temporary-large /var/tmp 

FreeBSD, NetBSD, OpenBSD and DragonFly have something similar described in the hier(7) man page.

Источник

Все, что вам нужно знать о каталоге Linux / tmp

Каталог «/ tmp» или tmp (временный каталог) в Linux — это место, где любая программа хранит необходимые файлы, которые она может использовать во время исполнительного сеанса. Это один из наиболее часто используемых каталогов в Linux. Допустим, вы пишете документ. Вы делаете это в vscode. Vscode сохранит временную копию вашего документа в файле tmp и будет регулярно ее обновлять. Вы всегда можете пойти туда и при необходимости восстановите.

Читайте также:  Vkp 80 ii драйвер linux

Тщательное изучение каталога tmp необходимо, если вы хотите стать эффективным пользователем Linux. Знание того, как это работает, каковы атрибуты этого каталога и т. Д., Значительно улучшит ваш Linux-контроль. Мы ответим на все возможные вопросы, которые могут прийти вам в голову. Оставайтесь с нами, чтобы учиться.

Каталог Linux tmp: какова цель?

Каталог / tmp содержит все необходимые файлы, которые потребуются «временно» во время выполнения программы. В случае сбоя или непредвиденного события вы можете получить свой файл из каталога. Кроме того, вы можете видеть, какие подпрограммы используются во время выполнения программы.

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

Можно ли пополнить этот каталог?

Обычному пользователю Linux очень сложно заполнить каталог tmp. Файлы, которые хранятся в каталоге tmp, действительно маленькие, несколько килобайт. Таким образом, вам нужно собрать огромное количество файлов, чтобы заполнить каталог. Это не невозможно, но действительно сложно.

Обычно мы запускаем одного или двух пользователей на нашем ПК и часто выключаем его. Использование меньшего количества пользователей создает меньшее количество временных файлов. А выключение ПК стирает все временные файлы — не о чем беспокоиться.

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

Очистка каталога tmp вручную

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

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

Чтобы эффективно удалять файлы из каталога tmp, вам необходимо иметь crontab в вашей системе . Если вы ничего не знаете о crontab, позвольте мне вкратце рассказать об этом.

Crontab — это приложение, которое выполняет определенную заранее запланированную операцию в системе Linux. Например, предположим, что вам необходимо регулярно обновлять свою систему.

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

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

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

Чтобы выполнить эти автоматизированные операции, вам потребуется помощь crontab. Вот почему я недавно обсуждал это. Допустим, вы хотите удалять неиспользуемые файлы из каталога tmp один раз в неделю.

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

Читайте также:  Linux route remove route

Процедура очистки каталога

Затем вам нужно ввести сценарий, который найдет нужные файлы. Команда выглядит следующим образом:

find / tmp -тип f \ (! -пользователь корень \) -atime +7

поиск мусора из каталога tmp directory-tmp в Linux

После его выполнения вы сможете найти все файлы (кроме файлов пользователя root), к которым не осуществлялся доступ в течение последних семи дней. Теперь вы наполовину готовы. Вы нашли те ненужные файлы, которые нужно удалить. Чтобы удалить их, вы должны выполнить это:

find / tmp -тип f \ (! -user root \) -atime +7 -delete

Итак, мы нашли способ систематически очищать каталог tmp в Linux. Но владелец сервера должен каждую неделю запускать скрипт вручную. Этого можно избежать, используя crontab. Чтобы скрипт периодически выполнялся, давайте создадим файл, содержащий синтаксис. Теперь мы создаем файл с именем «tmp.swipe.sh» (без кавычек).

Затем нужно установить команду crontab. Сначала выполните это:

Откроется файл crontab. Затем выполните эту команду там. Он будет запускать наш скрипт каждый понедельник в 12 часов.

0 0 * * пн /opt/scripts/tmp.swipe.sh

планирование для crontab

Написав это, сохраните выход.

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

Есть каталог с именем / var / tmp. В чем разница между этим и / tmp?

Оба они в основном играют одинаковую роль в операционной системе. Единственное отличие — период удаления.

Если мы перезагружаем нашу систему, файлы в / tmp удаляются автоматически, в то время как файлы, оставшиеся в / var / temp, не удаляются только при перезагрузке системы.

Кроме того, файлы внутри / tmp автоматически очищаются через десять дней. Напротив, файлы внутри / var / tmp удаляются раз в месяц.

Что делать, если я случайно удалю каталог tmp?

Часто требуется восстановление каталога tmp, потому что многие пользователи Linux случайно удаляют весь каталог. Процесс восстановления — совсем не сложная задача. Выполните следующие команды, указанные ниже:

«Mkdir» создает новый каталог tmp. А затем мы даем пользователям доступ к каталогу. Еще раз проверьте разрешения, выполнив следующее:

Теперь выключите компьютер. И снова включи. Ваш новый каталог tmp готов к использованию. Вы все сделали.

Заключение

Мы много обсуждали здесь каталог tmp в Linux. Помнить об этих моментах будет достаточно для любого пользователя, чтобы с легкостью запустить систему Linux.

Хотя, на мой взгляд, этого будет достаточно, возможно, у вас есть что-то, о чем следует рассказать в этом посте, но я этого не делал. Человек заблуждается. Оставьте комментарий с той необходимой частью, которую здесь предполагалось упомянуть. На сегодня все.

Источник

Manage the Linux /tmp directory like a boss

The /tmp directory is a temporary landing place for files. Users also have write access to this directory, which can be a bad thing, but there is a solution.

/tmp as a dumping ground

Great Linux resources

By a show of hands, how many of you like to reboot your servers? I don’t see any hands.

Long uptimes are impressive, aren’t they? It makes you one of the cool kids to brag about your 853-day uptime on a production system. What’s not so cool is that your users like to use /tmp as their personal dumping ground without regard for the overall system’s health, or your uptime bragging rights. And rebooting doesn’t get rid of user files, only system ones—even that relief is temporary until services restart and users open applications.

Note: An exception to not deleting user temp files after a reboot is to enable tmp.mount , but that’s a topic for a different article. Plus, there are system housekeeping scripts in place for RHEL 7 and later.

It’s impossible to force users to comply with the policy of removing files from the /tmp directory in a timely manner. So, what’s a frustrated system administrator to do when you have dozens, hundreds, or even thousands of /tmp directories and users to deal with? The answer is to deploy user file housekeeping scripts.

Читайте также:  Чем распаковывать gzip linux

You can create housekeeping scripts and place them in crontab to periodically remove user files from the /tmp directory. It’s an unfortunate but necessary service to provide for your users. Most seasoned system administrators will tell you that you shouldn’t remove files from /tmp unless you know that they’re not being used, though. That’s good advice. Some services write lock files to /tmp , some applications use it, and users use it. So, how do you determine which files your housekeeping script can sweep away without any issue?

How about filtering files by last accessed time? It’s a good choice if you have a time limit on files left in /tmp . For example, if you warn your users that files left in the /tmp directory will be removed if they haven’t been accessed in two days, on a rolling basis, they should take notice. Using the last accessed time for user files solves the problem if you also exclude files owned by the root user. For example, use:

find /tmp -type f \( ! -user root \) -atime +2

This script displays all files in the /tmp directory not owned by root that have been accessed more than two days ago. Now to add the command’s removal switch:

find /tmp -type f \( ! -user root \) -atime +2 -delete

Copy that text into a file, make it executable, and create a crontab entry that runs this script every eight hours. For example, you might add this to your crontab :

This script and schedule ensure that your /tmp directory is kept relatively free of garbage. It isn’t foolproof, however. If a user decides to dump a huge amount of data into the /tmp directory, this action can cause other problems, such as not being able to log into the system via SSH.

Maintaining the /tmp directory isn’t easy. Users love to dump files into /tmp and leave them there indefinitely. Fortunately, for repeat offenders, there’s always the possibility of locking their account or sending a strongly worded email about losing access to a system until the matter is cleared through their manager. These tactics usually get the user’s attention and further offenses are rare.

Источник

Оцените статью
Adblock
detector