Dnia 20 czerwca 2010 22:09 Jacek Konieczny <[email protected]> napisał(a): > On Sun, Jun 20, 2010 at 05:12:51PM +0200, Bartłomiej Zimoń wrote: > > Dnia 20 czerwca 2010 13:43 Pawel Kwiatkowski <[email protected]> napisał(a): > > > Dnia 2010-06-18, pią o godzinie 09:05 +0200, Bartłomiej Zimoń pisze: > > > > Witam! > > > > Mala propozycja: /var/lock jako tmpfs lub podobny > > > > Pozdrawiam > > > > > > Zgaduję, że dotyczy to pozostawiania śmieci po przemontowaniu systemu > > > plików w RO lub po nagłym padzie systemu. Ten sam problem mamy > > > z /var/run i plikami z PID-ami. Tyle że tam też są rzeczy należące do > > > pakietów. > > > > > Tez ale glownie chodzi o mozliwosc startu serwisu zanim / filesystem bedzie > > mial dostep rw > > Co znaczaco przyspiesza uruchamianie systemu zwlaszcza w systemd. > > I potem będzie debugowanie tysiąca problemów wynikłych z tego, że w imię > najszybszego uruchomienia serwisy są startowane zanim mają to czego > potrzebują (u niektórych oczywiście będzie działać u innych nie)… > > No i czy z nowoczesnym initem (a zakładam, że takim systemd jest), który > wie co w systemie uruchomił, wciąż potrzeba tego /var/lock/subsys/cośtam? >
Cos spłodziłem w wolnej chwili, a wynik poniżej (fragment z systemd wrzuce oddzielnie do svn) Co o tym sadzicie, moge wrzucac? Pozdrawiam Bartłomiej Zimoń http://starowa.one.pl/~uzi/pld/rc-scripts-tmpfs.patch Index: rc.sysinit =================================================================== --- rc.sysinit (wersja 11564) +++ rc.sysinit (kopia robocza) @@ -117,10 +117,22 @@ if ! is_yes "$VSERVER" ; then # we need /proc mounted before everything is_fsmounted proc /proc || mount -n -o gid=17 -t proc /proc /proc + + if is_yes "$SUBSYS_AS_TMPFS" ; then + mount -n -o mode=755,nosuid,nodev,noexec -t tmpfs none /var/lock/subsys + fi + if is_yes "$VAR_RUN_AS_TMPFS" ; then + mkdir /tmp/.copy_of_run + cp -aRf /var/run/* /tmp/.copy_of_run + mount -n -o mode=755,nosuid,nodev,noexec -t tmpfs none /var/run + cp -aRf /tmp/.copy_of_run/* /var/run + rm -rf /tmp/.copy_of_run + fi + # Only read this once. cmdline=$(cat /proc/cmdline) - if strstr "$cmdline" "pld.no-upstart" ; then + if strstr "$cmdline" "pld.no-upstart" || grep -q systemd /proc/1/cmdline 2>/dev/null ; then USE_UPSTART="no" fi Index: rc.shutdown =================================================================== --- rc.shutdown (wersja 11565) +++ rc.shutdown (kopia robocza) @@ -110,6 +110,14 @@ force="-f" done + if is_yes "$VAR_RUN_AS_TMPFS" ; then + mkdir /tmp/.copy_of_run + cp -aRf /var/run/* /tmp/.copy_of_run + umount /var/run + cp -aRf /tmp/.copy_of_run/* /var/run + rm -rf /tmp/.copy_of_run + fi + run_cmd "Remounting root filesystem in ro mode" mount -n -o remount,ro / if [ -x /sbin/vgchange ]; then _______________________________________________ pld-devel-pl mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
