Date: Mon, 16 Mar 2009 11:39:40 -0400 From: John Almberg <jalmberg@identry.com> To: freebsd-questions@freebsd.org Subject: Re: links vs real directories Message-ID: <751DE4C1-73B1-4430-8373-A57B59676BBC@identry.com> In-Reply-To: <AA5A8761-794A-427B-9E9F-2872BD746038@identry.com> References: <AA5A8761-794A-427B-9E9F-2872BD746038@identry.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mar 16, 2009, at 11:22 AM, John Almberg wrote: > I always thought that links to real directories were pretty much > the same as real directories, but I've just discovered a situation > where they are not and I'm wondering if I'm doing something wrong... > > I have a Ruby on Rails application running on a FreeBSD server. All > Rails apps use the same directory structure, that consists of an > application directory, plus a number of subdirectories. One of > these sub directories is called 'config'. > > I would like to move this config directory out of the main Rails > app directory, and then add a link from the app directory to the > moved config directory. > > so: > > app --> config > > will become > > app --> config(link) --> config > > Basically, what I'm doing is: > > cd ~/app # now in directory with real 'config' dir > mv config ~/shared/config > ln -s ~/shared/config config > > That moves the directory and creates a functional link to it (I > tested it), but Rails doesn't like it and refuses to run the app. > The permissions are correct, I believe: > > [master@on:current]> ls -l > total 34 > ... snip ... > drwxrwxr-x 3 master master 512 Mar 16 11:06 bin > drwxrwxr-x 3 master master 512 Mar 16 11:06 components > lrwxr-xr-x 1 master master 26 Mar 16 11:07 config -> /home/ > master/shared/config > drwxr-xr-x 4 master master 512 Mar 16 11:06 db > etc... > > > So, I guess a link is NOT exactly equivalent to a directory. At > least not the way I am doing it. > > I'm guessing I'm making a real newbie mistake, so if anyone can set > me straight, I'd appreciate it. > > Thank: John > _______________________________________________ > freebsd-questions@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to "freebsd-questions- > unsubscribe@freebsd.org" A little more information on this... from the Rails log, I can see that a Ruby script in the config directory cannot load ('require') a needed file because it can't find it: /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- application (MissingSource File) It looks like this require statement is using a relative path, like '../path/to/file'. Does '..' not work properly with a soft link? In other words, '..', should mean ~/app, but since the config directory is really in '~/shared', perhaps '..' translates to '~/shared'? That would cause the problem finding the file. Is there a way around this problem? Digging in man ls, right now.. -- John
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?751DE4C1-73B1-4430-8373-A57B59676BBC>