이 폴더는 / run / user / 1000입니까?


84

/run/user/1000Fedora 시스템 에서이 폴더는 무엇 이며 어떤 역할을합니까?

~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           1.2G   20K  1.2G   1% /run/user/1000

편집 : 2019 년 6 월 7 일.

내 두 대답은이 디렉토리에 저장된 디렉토리 또는 파일 위치에 동의하지 않습니다.

패트릭 :

이전에는 systemd이러한 응용 프로그램이 일반적으로 파일을에 저장했습니다 /tmp.

그리고 다시 여기 :

/tmp에 의해 지정된 유일한 위치 FHS는 로컬이며 모든 사용자가 쓸 수 있습니다.

브라이 암 :

이 디렉토리의 목적은 한 번에 의해 제공되었습니다 /var/run. 일반적으로 프로그램은 이전 버전과의 호환성 /var/run을 위해 제시된 요구 사항을 충족하기 위해 계속 사용할 수 있습니다 /run.

그리고 다시 여기 :

사용하도록 마이그레이션 된 프로그램 은의 섹션에 명시된 경우를 제외하고는 /run사용을 중단해야합니다 ./var/run/var/run

그래서 어느 쪽이 아버지 /run/user/1000였는지, 왜 다른 쪽이 이전에 사용한 디렉토리에 대해 말한 것에 대한 언급이 없는지 왜입니까 /run/user?


다른 사람이 / run / user 이전에 사용한 디렉토리에 대해 다른 사람이 말하는 것에 대한 언급은 없습니다. Braiam의 답변은 / run / user가 아니라 / run 이전에 사용 된 디렉토리에 대해 설명합니다.
David Yockey

1
Patrick은 "/ run / user / 1000의 아버지"라는 질문에 대한 대답을 근거가 있지만 근거없는 진술로 제시합니다. Braiam은이 질문을 다루지 않습니다. 과거에 프로세스를 실행하는 데 사용 된 파일 (예 : 임시 파일)의 저장 위치는 표준 / tmp 디렉토리라고 가정했을 수 있습니다. 그렇다면 기존의 사람이나 명백한 사람에 대한 서면 기록을 제공하는 사람이 거의 없기 때문에 입증하기가 어려울 것입니다. 입증 된 답변을 제공하려면 아마도 컴퓨터 역사를 파헤쳐 야 할 것이다.
David Yockey

귀하의 의견에 감사드립니다
뭔가

답변:


94

/run/user/$uid에 의해 생성 pam_systemd하고 그 사용자에 대한 프로세스를 실행하여 사용 파일을 저장하기 위해 사용된다. 이것은 키링 데몬, 펄스 오디오 등과 같은 것일 수 있습니다.

시스템화 되기 전에 이러한 응용 프로그램은 일반적으로 파일을에 저장했습니다 /tmp. /home/$user홈 디렉토리는 종종 네트워크 파일 시스템에 마운트 되기 때문에 위치를 사용할 수 없으므로 이러한 파일을 호스트간에 공유해서는 안됩니다. FHS/tmp지정한 유일한 위치 이며 로컬이며 모든 사용자가 쓸 수 있습니다.

그러나이 모든 파일을 저장하는 것은 모든 사람이 쓸 수 /tmp있으므로 문제가되며 /tmp생성되는 파일의 소유권 및 모드를 변경할 수는 있지만 작업하기가 더 어렵습니다.

그래서 systemd가 와서 창조되었습니다 /run/user/$uid. 이 디렉토리는 시스템에 로컬이며 대상 사용자 만 액세스 할 수 있습니다. 따라서 파일을 로컬로 저장하려는 응용 프로그램은 더 이상 액세스 제어에 대해 걱정할 필요가 없습니다.
또한 일을 훌륭하고 체계적으로 유지합니다. 사용자가 로그 아웃하고 활성 세션이 남아 있지 않으면 디렉토리 pam_systemd가 지워 /run/user/$uid집니다. 다양한 파일이 흩어져 있으므로이 /tmp작업을 수행 할 수 없습니다.



어떻게합니까? :로 "백그라운드"계산 프로세스를 시작 nohup했으며 중간 결과 / 데이터를 임시 파일에 저장합니다. 프로세스가 실행 중일 때 데이터가 지워지지 않았거나 지워지거나 프로세스가 시작 nohup되면 데이터가 손실 될 수 있습니까?
imz-Ivan Zakharyaschev 9

지워지지는 않지만 / run / user는 fedora의 tmpfs 파일 시스템이므로 할당 된 공간으로 제한됩니다. 위의 df 출력을 참조하십시오.
jsbillings

pidfile이 루트에서 실행되는 서비스 인 경우 어떻게됩니까? PID가 / var / run 또는 / var / run / user / 0 아래에 있어야합니까? 활성 세션이 없기 때문에 제거됩니까?
TSG

11

FHS (File Hierarchy Standard)의 최신 초안에 따르면 / run :

이 디렉토리에는 시스템 부팅 이후 시스템을 설명하는 시스템 정보 데이터가 들어 있습니다. 이 디렉토리 아래의 파일은 부트 프로세스 시작시 지워야합니다 (적절한 경우 제거 또는 잘림).

이 디렉토리의 목적은 한 번 / var / run에 의해 제공되었습니다. 일반적으로 프로그램은 이전 버전과의 호환성을 위해 / var / run을 사용하여 / run에 대해 설정된 요구 사항을 충족 할 수 있습니다. / run을 사용하도록 마이그레이션 된 프로그램은 / var / run의 섹션에 명시된 경우를 제외하고 / var / run의 사용을 중단해야합니다.

프로그램은 / run의 하위 디렉토리를 가질 수 있습니다. 이것은 하나 이상의 런타임 파일을 사용하는 프로그램에 권장됩니다. / run 자체와 다른 하위 디렉터리의 무단 사용을 방지하기 위해 액세스 권한을 적절하게 제한하도록주의를 기울여야하지만 사용자에게는 / run 하위 디렉터리가있을 수도 있습니다.

/run/user디렉토리 의 경우 잠금 파일 및 소켓을위한 장소가 필요한 dconf, pulse, systemd 등과 같은 다른 사용자 서비스에서 사용됩니다. 다른 사용자 UID가 시스템에 기록되는만큼 많은 디렉토리가 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.