This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Junctions != Symlinks; Treat Junctions as MS-FS mounts; MS-symlinks are symlinks
- From: cyg Simple <cygsimple at gmail dot com>
- To: cygwin at cygwin dot com
- Date: Sat, 11 Mar 2017 11:41:50 -0500
- Subject: Re: Junctions != Symlinks; Treat Junctions as MS-FS mounts; MS-symlinks are symlinks
- Authentication-results: sourceware.org; auth=none
- References: <58C31431.1020408@tlinx.org>
On 3/10/2017 4:01 PM, L A Walsh wrote:
> I want to be able to mount other areas of other file
> systems onto directories. Symlinks are destroyed by Cygwin's
> SETUP.EXE and the install process For example. I have
> a smallish "/usr" partition, but a large "/Users" partition.
> "/usr/share" grew to hold more and more data over time, and
> currently is using 16G, all by itself. My "/usr" partition is
> 15GB with 4.7GB free, 11G used. So I needed to split
> "/usr/share" off to somewhere else. I don't have room for another
> drive, but I do have room on "/Users". So tell me,
> why shouldn't I be able to create "/Users/share" and mount
> "/Users/share" at "/usr/share"?
>
Linda, I'm not trying to reject what you're saying which I find very
sound. But for this scenario why not just use an entry in /etc/fstab
similar to the below example?
# $ represents original mintty
# % represents the elevated bash
$cygstart --action=runas bash
%cp -a /usr/share /cygdrive/c/Users/
%mv /usr/share /usr/share-bak
%mkdir /usr/share
%vi /etc/fstab
:$
o
c:/Users/share /usr/share ntfs binary,posix=0,acl,user,notexec 0 0
<esc>
:wq
%exit
$ mount /usr/share
> Same problem under "/opt" under linux. "/opt" is
> a directory on my root partition. When I wanted to
> install "VirtualBox" (which lives under "/opt/VirtualBox" it
> refused to run from a path that had a symlink in it. How
> would you solve that?
>
> I used a 'bind' mount. VirtualBox rejected
> symlinks in its base path, but it does work with mounted
> filesystems.
>
> In the same way, not only Cygwin's "setup.exe"
> but also many of the "install" scripts that install programs
> under cygwin, check to see if there is a symlink as part
> of their base path. If they find one -- they remove it
> and re-create the directory where there used to be a
> symlink. Result: "/usr/share/man/man1/newprog1.gz"
> s all alone under 'man' as "/usr/share/info/newprog.gz"
> is by itself under /usr/share/info. Where did the rest
> of my files go?
>
> They are still there -- but under
> "/Users/share/...". That's my main problem. Cygwin
> doesn't install things in "/usr/share/<location>/<prog>"
> But first, removes all existing symlinks in its base
> path.
>
Have you considered the Windows mountvol to resolve this issue? Using a
similar example as above you could use mountvol to assign a VolumeName
to [A-Z]:/Users/share as e.g. S: and modify the /etc/fstab entry to:
S:/ /usr/share ntfs binary,posix=0,acl,user,notexec 0 0
--
cyg Simple
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple