09-12-2017
Putting ordinary users on a system directory tree (disk or lun) is not a great idea.
Why?
Example: Users do dumb thing like inflate a bunch of compressed files, causing the disk to be full. Having a full system disk is not good at all. Filling the users disk is annoying but not a potential system problem. Put the user directories where they cannot cause problems.
Next - sysadmins have different ways of handling applications. They generally add new directories for the application and separate new directories for runtime (shared) libraries. This requires a change to the PATH variable and also to the LD_LIBRARY_PATH variable (or whatever OSX uses now). Again, keeping this stuff off the /usr tree is the best approach.
Example:
Oracle does this as part of installation, and creates special variables that you add to the system-wide .profile file. So any oracle system has a simple way of getting those variables set to a default during login. And these directories are not put on the /usr tree by default.
9 More Discussions You Might Find Interesting
1. AIX
I need help figuring out why I lose /usr/bin directory sometimes it goes down 3-4 times a day and I have to link them back using ln - /usr/bin bin I cannot figure out why this is happenning (23 Replies)
Discussion started by: smatherly
23 Replies
2. Solaris
Hi all,
below is the problem details:
ora10g@CNORACLE1>which ld
/usr/ucb/ld
ora10g@CNORACLE1>cd /usr/ccs/bin
ora10g@CNORACLE1>ln -s /usr/ucb/ld ld
ln: cannot create ld: File exists
ora10g@CNORACLE1>
how to link it to /usr/ccs/bin? (6 Replies)
Discussion started by: SmartAntz
6 Replies
3. UNIX for Advanced & Expert Users
hi i have some perl scripts with shebang line as (#! /usr/bin/env perl ) instead of actual absolute path of perl ( i know why its that way ) everything works fine from command line , the problem is when i am trying to run those scripts from web ( local web tool ) it throws error as /usr/bin/env :... (6 Replies)
Discussion started by: zedex
6 Replies
4. UNIX for Dummies Questions & Answers
I got these results.
PID TTY TIME CMD
8535 pts/24 0:00 ksh
8528 ? 0:00 sshd
7949 pts/23 0:00 ksh
7878 ? 0:00 sshd
I've got two sessions running - is that the ksh entries?
I have one background job running that I submitted # 7435 - that'... (2 Replies)
Discussion started by: ido1957
2 Replies
5. UNIX for Advanced & Expert Users
My whatis file is missing from my /usr/share/lib directory. I know I can recreate it by using catman -w command.
My question is, why do all of my other servers have it and this one doesn't. Maybe due to a recent move of old to new servers and it just wasn't copied over. Unlikely, 'cause all... (0 Replies)
Discussion started by: zixzix01
0 Replies
6. OS X (Apple)
Q1. I understand that /usr/local/bin means I can install/uninstall stuff in here and have any chance of messing up my original system files or effecting any other users. I created this directory myself.
But what about the directory I didn't create, namely /Users/m/bin? How is that directory... (1 Reply)
Discussion started by: michellepace
1 Replies
7. Solaris
Hi All,
I am trying to uninstall jdk 1.5 from my Solaris 10 64 bit but some how was not successful.so tried to delete the folder of jdk from /usr but its throughing error as:
Unable to remove directory jdk: Read-only file system
Even I tried to create a dir in /usr but its not allowing me... (4 Replies)
Discussion started by: Pshah
4 Replies
8. BSD
I'm not sure if this is the default behavior for the ld command, but it does not seem to be looking in /usr/local/lib for shared libraries.
I was trying to compile the latest version of Kanatest from svn. The autorgen.sh script seems to exit without too much trouble:
$ ./autogen.sh
checking... (2 Replies)
Discussion started by: AntumDeluge
2 Replies
9. Shell Programming and Scripting
Hi,
I installed ruby using rvm with root user on Linux.
Now i m trying the below command as a non root user with sudo privileges.
sudo /usr/local/rvm/rubies/ruby-2.2.5/bin/gem install passenger
I get the below error:
I had even reset the path for both gem as well as ruby as you... (8 Replies)
Discussion started by: mohtashims
8 Replies
LEARN ABOUT NETBSD
ldconfig
LDCONFIG(8) BSD System Manager's Manual LDCONFIG(8)
NAME
ldconfig -- configure the a.out shared library cache
SYNOPSIS
ldconfig [-cmrsSv] [directory ...]
DESCRIPTION
ldconfig is used to prepare a set of ``hints'' for use by the a.out run-time linker ld.so to facilitate quick lookup of shared libraries
available in multiple directories. ldconfig is only available on systems that use the ``a.out'' format for executables and libraries - on
ELF systems, all the work is done by ld.elf_so.
By default, it scans a set of built-in system directories, directories listed in /etc/ld.so.conf, and any directories specified on the com-
mand line (in the given order) looking for shared libraries and stores the results in the file /var/run/ld.so.hints to forestall the overhead
that would otherwise result from the directory search operations ld.so would have to perform to load required shared libraries.
The shared libraries so found will be automatically available for loading if needed by the program being prepared for execution. This obvi-
ates the need for storing search paths within the executable.
The LD_LIBRARY_PATH environment variable can be used to override the use of directories (or the order thereof) from the cache or to specify
additional directories where shared libraries might be found. LD_LIBRARY_PATH is a ':' separated list of directory paths that are searched
by ld.so when it needs to load a shared library. It can be viewed as the run-time equivalent of the -L switch of ld.
ldconfig is typically run as part of the boot sequence.
The following options are recognized by ldconfig:
-c Do not scan directories listed in /etc/ld.so.conf for shared libraries.
-m Merge the result of the scan of the directories given as arguments into the existing hints file. The default action is to build the
hints file afresh.
-r Lists the current contents of ld.so.hints on the standard output. The hints file will not be modified.
-s Do not scan the built-in system directory (/usr/lib), nor any directories listed in /etc/ld.so.conf for shared libraries.
-S Do not scan the built-in system directory (/usr/lib), for shared libraries. (Directories listed in /etc/ld.so.conf are still
scanned.)
-v Switch on verbose mode.
FILES
/var/run/ld.so.hints, /etc/ld.so.conf
SEE ALSO
ld(1), ld.so(1), ld.so.conf(5), link(5)
HISTORY
A ldconfig utility first appeared in SunOS 4.0, it appeared in its current form in NetBSD 0.9A.
SECURITY CONSIDERATIONS
Special care must be taken when loading shared libraries into the address space of set-user-ID programs. Whenever such a program is run,
ld.so will only load shared libraries from the ld.so.hints file. In particular, the LD_LIBRARY_PATH and LD_PRELOAD is not used to search for
libraries. Thus, the role of ldconfig is dual. In addition to building a set of hints for quick lookup, it also serves to specify the
trusted collection of directories from which shared objects can be safely loaded. It is presumed that the set of directories specified to
ldconfig is under control of the system's administrator. ld.so further assists set-user-ID programs by erasing the LD_LIBRARY_PATH and
LD_PRELOAD from the environment.
BSD
October 8, 2000 BSD