[Gluster-devel] Architecture-dependent directories

Gordan Bobic gordan at bobich.net
Thu Apr 30 10:05:07 UTC 2009


On Thu, 30 Apr 2009 02:28:12 -0400, Hak Mem <while1hak at gmail.com> wrote:
> In the really old days of AFS we used to have  architecture dependent
> directories - this would map
> cd /afs/foo/bar/@sys/toto to ---> cd /afs/foo/bar/i386_linux/toto
> 
> I was wondering what the chance of incorporating this on GlusterFS
> was? This would not only be very cool but also make glusterfs very
> very useful especially for user files (so dot files can go in the
> right places) and also development purposes and production rollouts.

[...]

> Example: on a PC Linux box running RedHat7.3 the path $HOME/. at sys/bin
> is equivalent to $HOME/.i386_redhat73/bin. The same path name
> $HOME/. at sys/bin on a Mac OS X system would automatically translate
> into $HOME/.ppc_darwin_60/bin. This can be used to access programs for
> different architectures under thesame name regardless of the
> architecture, e.g. by setting up a directory per architecture and
> appropriate symbolic links:
> 
>> cd
>> mkdir -p .alpha_dux40/bin
>> mkdir -p .i386_redhat90/bin
>> ln -s . at sys/bin bin
> 
> Now the following works on both Solaris and Linux, with nobody
> "stepping on the other's feet":
> 
> on Solaris:
> 
>> cc -o bin/helloworld helloworld.c
> 
> on Linux:
> 
>> cc -o bin/helloworld helloworld.c
> 
> on both:
> 
>> bin/helloworld
> 
> The architecture string is compiled into the AFS kernel and varies
> according to the processor type and operating system characteristics.
> 
> The architecture string for the machine you are working on can always
> be queried with the fs sysname command.

I'm not sure this is a particularly useful feature. You can do two
things to get most of the same effect:

1) put "ln -sf ~/$(uname -i)/bin bin" in your .bashrc
2) put "export PATH=$PATH:~/$(uname -i)/bin" in your .bashrc

It sounds like it will achieve pretty much the same thing most of
the time.

Gordan





More information about the Gluster-devel mailing list