2010/9/6 Lennart Poettering <[email protected]>: > On Fri, 03.09.10 16:44, Michael Biebl ([email protected]) wrote: >> I thus created separate service files called >> umountfs.service, umountnfs.service and umountroot.service. >> I've installed them to /lib/systemd/system, and symlinked them to >> /lib/systemd/system/umount.target.wants (I did not choose /etc for >> that as I don't think this should be configurable). > > Sounds like a good approach. > >> If this is considered the correct approach to umount the file systems >> (on Debian), I'll post a patch for that too. > > Please do!
Patch is attached. Tollef, I'd be particularly interested in your feedback. -- Why is it that all of the instruments seeking intelligent life in the universe are pointed away from Earth?
From 83ad6f27105926591ed729b1460a4c046cc65579 Mon Sep 17 00:00:00 2001 From: Michael Biebl <[email protected]> Date: Mon, 6 Sep 2010 05:44:00 +0200 Subject: [PATCH] units: add umount unit files for Debian Add unit files to call /etc/init.d/umountnfs.sh stop (unmount network file systems) /etc/init.d/umountfs stop (unmount local file systems) /etc/init.d/umountroot stop (mount root file system read-only) in the right order and hook them up in the umount.target so they are run on shutdown and reboot. --- Makefile.am | 14 +++++++++++++- units/debian/umountfs.service | 18 ++++++++++++++++++ units/debian/umountnfs.service | 18 ++++++++++++++++++ units/debian/umountroot.service | 18 ++++++++++++++++++ 4 files changed, 67 insertions(+), 1 deletions(-) create mode 100644 units/debian/umountfs.service create mode 100644 units/debian/umountnfs.service create mode 100644 units/debian/umountroot.service diff --git a/Makefile.am b/Makefile.am index a665904..2bafe16 100644 --- a/Makefile.am +++ b/Makefile.am @@ -236,7 +236,10 @@ dist_systemunit_DATA += \ units/debian/killall.service \ units/debian/poweroff.service \ units/debian/reboot.service \ - units/debian/fsck.target + units/debian/fsck.target \ + units/debian/umountfs.service \ + units/debian/umountnfs.service \ + units/debian/umountroot.service endif if TARGET_SUSE @@ -963,6 +966,15 @@ if TARGET_GENTOO rm -f xdm.service && \ $(LN_S) $(systemunitdir)/xdm.service xdm.service ) endif +if TARGET_DEBIAN + $(MKDIR_P) -m 0755 \ + $(DESTDIR)$(systemunitdir)/umount.target.wants + ( cd $(DESTDIR)$(systemunitdir)/umount.target.wants && \ + rm -f umountfs.service umountnfs.service umountroot.service && \ + $(LN_S) ../umountfs.service umountfs.service && \ + $(LN_S) ../umountnfs.service umountnfs.service && \ + $(LN_S) ../umountroot.service umountroot.service ) +endif if !TARGET_SUSE if !TARGET_DEBIAN ( cd $(DESTDIR)$(systemunitdir) && \ diff --git a/units/debian/umountfs.service b/units/debian/umountfs.service new file mode 100644 index 0000000..ab14c76 --- /dev/null +++ b/units/debian/umountfs.service @@ -0,0 +1,18 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +[Unit] +Description=Turn off swap and umount all local file systems +DefaultDependencies=no +After=killall.service +Before=reboot.service poweroff.service halt.service umountroot.service + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/etc/init.d/umountfs stop +StandardInput=tty diff --git a/units/debian/umountnfs.service b/units/debian/umountnfs.service new file mode 100644 index 0000000..f42b4a9 --- /dev/null +++ b/units/debian/umountnfs.service @@ -0,0 +1,18 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +[Unit] +Description=Umount all network file systems +DefaultDependencies=no +After=killall.service +Before=reboot.service poweroff.service halt.service umountfs.service + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/etc/init.d/umountnfs.sh stop +StandardInput=tty diff --git a/units/debian/umountroot.service b/units/debian/umountroot.service new file mode 100644 index 0000000..fcdbeec --- /dev/null +++ b/units/debian/umountroot.service @@ -0,0 +1,18 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +[Unit] +Description=Mount the root file system read-only +DefaultDependencies=no +After=killall.service +Before=reboot.service poweroff.service halt.service + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/etc/init.d/umountroot stop +StandardInput=tty -- 1.7.1
_______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
