/usr/share/doc/libghc-unixutils-doc/html/System-Unix-Mount.html is in libghc-unixutils-doc 1.50-3build4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>System.Unix.Mount</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_System-Unix-Mount.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/System-Unix-Mount.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Unixutils-1.50: A crude interface between Haskell and Unix-like operating systems</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe-Inferred</td></tr></table><p class="caption">System.Unix.Mount</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>functions for mounting, umounting, parsing /proc/mounts, etc
</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:umountBelow">umountBelow</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a> -> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/System-IO.html#t:FilePath">FilePath</a> -> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/System-IO.html#t:IO">IO</a> [(<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/System-IO.html#t:FilePath">FilePath</a>, (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/System-Exit.html#t:ExitCode">ExitCode</a>, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a>, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a>))]</li><li class="src short"><a href="#v:umount">umount</a> :: [<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a>] -> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/System-Exit.html#t:ExitCode">ExitCode</a>, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a>, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a>)</li><li class="src short"><a href="#v:isMountPoint">isMountPoint</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/System-IO.html#t:FilePath">FilePath</a> -> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:umountBelow" class="def">umountBelow</a><a href="src/System-Unix-Mount.html#umountBelow" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></td><td class="doc"><p>Lazy (umount -l flag) if true
</p></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>canonicalised, absolute path
</p></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/System-IO.html#t:IO">IO</a> [(<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/System-IO.html#t:FilePath">FilePath</a>, (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/System-Exit.html#t:ExitCode">ExitCode</a>, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a>, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a>))]</td><td class="doc"><p>paths that we attempted to umount, and the responding output from the umount command
</p></td></tr></table></div><div class="doc"><p><code><a href="System-Unix-Mount.html#v:umountBelow">umountBelow</a></code> - unmounts all mount points below <em>belowPath</em>
/proc/mounts must be present and readable. Because of the way
linux handles changeroots, we can't trust everything we see in
/proc/mounts. However, we make the following assumptions:
</p><ol><li> there is a one-to-one correspondence between the entries in
/proc/mounts and the actual mounts, and
(2) every mount point we might encounter is a suffix of one of
the mount points listed in /proc/mounts (because being in a
a chroot doesn't affect /proc/mounts.)
</li></ol><p>So we can search /proc/mounts for an entry has the mount point
we are looking for as a substring, then add the extra text on
the right to our path and try to unmount that. Then we start
again since nested mounts might have been revealed.
</p><p>For example, suppose we are chrooted into
/home/david/environments/sid and we call <a href="umountBelow /proc.html">umountBelow /proc</a>. We
might see the mount point /home/david/environments/sid/proc/bus/usb
in /proc/mounts, which means we need to run <a href="umount /proc/bus/usb.html">umount /proc/bus/usb</a>.
</p><p>See also: <code>umountSucceeded</code>
</p></div></div><div class="top"><p class="src"><a name="v:umount" class="def">umount</a> :: [<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a>] -> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/System-Exit.html#t:ExitCode">ExitCode</a>, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a>, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a>)<a href="src/System-Unix-Mount.html#umount" class="link">Source</a></p><div class="doc"><p><code><a href="System-Unix-Mount.html#v:umount">umount</a></code> - run umount with the specified args
NOTE: this function uses exec, so you do <em>not</em> need to shell-escape
NOTE: we don't use the umount system call because the system call
is not smart enough to update /etc/mtab
</p></div></div><div class="top"><p class="src"><a name="v:isMountPoint" class="def">isMountPoint</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/System-IO.html#t:FilePath">FilePath</a> -> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a><a href="src/System-Unix-Mount.html#isMountPoint" class="link">Source</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.13.2</p></div></body></html>
|