Różnica między / run i / var / run

34

Czy jest jakaś różnica między /runkatalogiem a var/runkatalogiem. Wydaje się, że to drugie jest linkiem do tego pierwszego. Jeśli zawartość jest taka sama, jakie są potrzeby dwóch katalogów?

Jackzz
źródło

Odpowiedzi:

26

Ze strony Wikipedii w Hierarchii Standardów Systemu Plików :

Nowoczesne dystrybucje Linuksa zawierają katalog / run jako tymczasowy system plików (tmpfs), który przechowuje zmienne dane środowiska wykonawczego, zgodnie z wersją 3.0 FHS. Zgodnie z wersją 2.3 FHS, dane te powinny być przechowywane w / var / run, ale w niektórych przypadkach był to problem, ponieważ ten katalog nie zawsze jest dostępny przy wczesnym uruchomieniu. W rezultacie programy te musiały uciekać się do oszustw, takich jak używanie katalogów /dev/.udev, /dev/.mdadm, /dev/.systemd lub /dev/.mount, chociaż katalog urządzenia nie jest przeznaczony dla takich danych. Między innymi korzyściami sprawia to, że system jest łatwiejszy w użyciu z głównym systemem plików zamontowanym tylko do odczytu.

Jeśli więc stworzyłeś już tymczasowy system plików /run, połączenie /var/runz nim byłoby kolejnym logicznym krokiem (w przeciwieństwie do przechowywania plików na dysku lub tworzenia osobnego tmpfs).

Graeme
źródło
1
Żeby było jasne, /runjest nowy /var/run. Tak więc /var/runjest generalnie symlinkowany do /run.
x-yuri
9

Niektóre narzędzia są tradycyjnie używane /var/run, inne /rundo przechowywania materiałów związanych z procesem. Gdy były prawdziwe w katalogach płyt, nie miało większego znaczenia, że ​​były to osobne katalogi.

W dzisiejszych czasach /run/często jest implementowany jako tmpfs( mount | fgrep run), a dane w tych katalogach nie przetrwają restartu (co jest dobrą rzeczą). Trochę sensowniej jest zmapować je razem za pomocą dowiązania symbolicznego i zapisać mount, zwłaszcza że uprawnienia i ustawienia dla tych katalogów i tak byłyby takie same (w przeciwieństwie do niektórych innych „katalogów”, które są włączone tmpfs)

Anthon
źródło