/run Forest, /run
Linuksowi administratorzy w nadchodzących wydaniach swoich ulubionych
dystrybucji natkną się na nowy wpis w katalogu głównym. Będzie to
/run
.
Katalog /run
jest dostępny zaraz po zamountowaniu
głównego /
, przed pojawieniem się /var,
który może być na osobnym wolumenie. Zawiera rzeczy odnoszące się do aktualnie
działających programów i usług (nie przechowuje wpisów przy reboocie). Są to:
- pliki blokad (
/run/lock
, dostępne również jako/var/lock
) - różne pliki uruchomieniowe, dotąd w
/var/run
- zbiór rzeczy do tej pory ukrywanych w .katalogach w
/dev
:- dane udev z
/dev/.udev
- informacje przekazane przez programy z initramfs, działające przed
zamountowaniem /, dotąd w
/dev/.initramfs
- informacje z systemach plików z
/dev/.mount/utab
(wszystko to, co nie jest zawarte w/proc/self/mounts
) - pliki kontrolne w
/dev/.systemd
- pliki tymczasowe z
/dev/.mdadm
- dane udev z
- pamięć podręczną z
/etc/lvm2/cache
dracut
, plymouth
, bootchart
i wszystkie programy, które do tej pory potrzebowały takiego miejsca. Użycie
/dev
było podyktowane obecnością tego katalogu od samego
początku uruchamiania systemu. Nie do końca prawidłowe jest jednak przechywanie
w /dev wpisów nie będących urządzeniami, a zwłaszcza ukrywanie ich kropką
w nazwach.
Poza nadużywaniem /dev, dystrybucje do problemu podchodziły
różnie. Debian daje /lib/init/rw
, który z kolei narusza
przestrzeń /lib
dla bibliotek. Ubuntu udostępnia
/var/run
i /var/lock
przy starcie, a przy
mountowaniu właściwego /var
dokonuje przypięcia (bindmount).
Jest to jednak rozwiązanie podatne na wyścigi.
Wynik międzydystrybucyjnych uzgodnień ogłosił
Kay Sievers, jednocześnie odpowiedzialny za wdrożenie tego rozwiązania
w SUSE.
Zawtórował mu Scott James Remnant, opiekun upstart
i członek
rady technicznej Ubuntu. Rozwiązanie wdrożyła Fedora,
poddane zostało również pod dyskusję
w Debianie.
Nasuwać się może pytanie, co z File Hierarchy Standard? Wersja 2.3 nie zakazuje, jednak wymaga rozwagi:
Distributions should not create new directories in the root hierarchy without extremely careful consideration of the consequences including for application portability.Twórcy najważniejszych dystrybucji porozumieli się między sobą i stosowna poprawka do FHS została zgłoszona. Ostatecznie będziemy mieli:
/var
do rzeczy zmiennych,
dostępnych pomiędzy restartami i /run
dla tych mających sens
jedynie w działającym systemie (wskazane więc użycie tmpfs
). Coraz bliżej jest do umożliwienia funkcjonowania
systemu z kluczowymi katalogami (/usr
, /etc
itp.)
zamountowanymi w trybie tylko-do-odczytu.
Archived comments:
liori 2011-03-30 18:38:34
Aaa... czym to się różni od /tmp? Tym że dane w środku będą jakoś konkretnie poukładane?
zdz 2011-03-30 18:42:43
/tmp też może znajdować się na osobnej partycji lub wolumenie wymagającym zachodu (składanie RAID, logowanie iSCSI itp). /tmp nie daje gwarancji, że dane tam zapisane nie znikną pomiędzy dwoma uruchomieniami programu. W końcu /tmp może być odrębne dla każdego użytkownika (chociaż /run jest dla rzeczy systemowych, nie związanych z użytkownikiem). I tak, /run ma odrobinę bardziej sformalizowaną zawartość.
mh 2011-03-30 18:49:27
Ja bym poszedł na całość:
runfs on /run type runfs
Stanisław 'dozzie' Klekot 2011-03-31 11:52:51
> Debian daje /lib/init/rw, który z kolei narusza przestrzeń /lib dla bibliotek
Osobiście bym się tym nie przejmował. Kernelowe moduły też naruszają tę przestrzeń, podobnie jak firmware dla modułów, baza terminfo (pod Debianem) czy binarki i skrypty udeva.
Comments
Comments powered by Disqus