Directory tmpfiles.d

From 탱이의 잡동사니
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Overview

tmpfiles.d 디렉토리 내용 정리.

Basic

Configuration for creation, deletion and cleaning of volatile and temporary files.

/etc/tmpfiles.d/*.conf
/run/tmpfiles.d/*.conf
/usr/lib/tmpfiles.d/*.conf

systemd-tmpfiles uses the configuration files from the above directories to describe the creation, cleaning and removal of volatile and temporary files and directories which usually reside in directories such as /run or /tmp.

Volatile and temporary files and directories are those located in /run (and its alias /var/run), /tmp, /var/tmp, the API file systems such as /sys or /proc, as well as some other directories below /var.

System daemons frequently require private runtime directories below /run to place communication sockets and similar in. For these, consider declaring them in their unit files using RuntimeDirectory if this is feasible.

 df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.7G     0  3.7G   0% /dev
tmpfs           749M   76M  673M  11% /run
/dev/sda1       9.8G  8.5G  868M  91% /
tmpfs           3.7G     0  3.7G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.7G     0  3.7G   0% /sys/fs/cgroup

tmpfiles.d 디렉토리의 설정 파일들은 tmpfs 및 temporary directory 의 임시 파일들을 관리한다. 대부분은 문제가 없으나, 만약 특정 프로세스들을 시스템 시작시 자동 시작하게 설정했을 경우, tmpfs 와 관련해서 문제가 발생하는 경우가 있다.

예를 들면, Asterisk 의 경우, 프로세스가 시작하게 되면 /var/run/asterisk 디렉토리에 소켓 파일을 생성하고, 이후에 asterisk -r 명령을 사용할 때 이 소켓 파일을 이용하는데, 시스템 시작시에 자동으로 동작하도록 설정할 경우, 이 파일들을 생성하는데 문제가 발생하게 되기 때문이다.

$ ls -tlr /var/run/asterisk/
total 4
-rw-r--r-- 1 asterisk asterisk 5 Jun 21 08:51 asterisk.pid
srwxr-xr-x 1 asterisk asterisk 0 Jun 21 08:51 asterisk.ctl

이를 해결하기 위해서는 다음과 같은 tmpfile 을 생성해주면 된다.

#Type Path        Mode UID  GID  Age Argument
d    /var/run/asterisk   0755 asterisk asterisk - -

Configuration format

#Type Path        Mode UID  GID  Age Argument
d    /run/user   0755 root root 10d -
L    /tmp/foobar -    -    -    -   /dev/null

Reference