The Missing Link

Posted on 2011-09-12
Medium Priority
Last Modified: 2013-11-17
I have two directories named /sunquest/bin and /usr/local/bin that are, apparently, linked. When I compare their content, it is identical. The problem is that I can't figure out how they're linked. I haven't found a soft link, and information I've found elsewhere claims that hard links to directories cannot be created. Regardless, this is what the ls command is showing me...

# ls -lid /usr/local/bin
   32 drwxr-xr-x   10 root     system         8192 Aug 15 12:13 /usr/local/bin
# ls -lid /sunquest/bin
   32 drwxr-xr-x   10 root     system         8192 Aug 15 12:13 /sunquest/bin

...but when I run find like this...

  find / -inum 32

... the /sunquest/bin directory shows up but /usr/local/bin does not.
Question by:babyb00mer
LVL 68

Accepted Solution

woolmilkporc earned 750 total points
ID: 36525446
Maybe /usr/local and /sunquest are softlinked?
Given that /usr and / are  separate FSs hardlinks are not possible anyway.

LVL 38

Expert Comment

ID: 36526863
It is a hardlink, since they are sharing the same inode and data.
LVL 62

Assisted Solution

gheist earned 375 total points
ID: 36530089
It shows 10 hard links to named directory, like subdirectories
ls -ld /sunquest
ls -ld /sunquest/bin
ls -ldi /sunquest/bin/*
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

LVL 14

Assisted Solution

sjm_ee earned 375 total points
ID: 36535261
One other possibility is that you can get these if the same directory has been mounted over two other directories:

# ls -lid mnt*
131177 drwxrwxrwx   3 root     sys             512 07 Jul 2008  mnt1
131177 drwxrwxrwx   3 root     sys             512 07 Jul 2008  mnt2
# mount
  node       mounted        mounted over    vfs       date        options
-------- ---------------  ---------------  ------ ------------ ---------------
         /aix/cache       /aix/mnt1        namefs 14 Sep 11:34 rw
         /aix/cache       /aix/mnt2        namefs 14 Sep 11:34 rw

Author Comment

ID: 36556750
I'll check that out.

Author Comment

ID: 36556784
I've never mounted the same device in two different places. Usually, I get an error message stating that the device is already mounted. Is this a feature of AIX?
LVL 68

Expert Comment

ID: 36556851
You can't mount the same device twice on AIX, different mountpoints or not.
AIX will always tell you that the "... requested resource is busy".

And again, on AIX "/" and "/usr" are on different devices, so hardlinks between them are not possible, only symbolic links.
AIX will tell you that source and target "... are located on different file systems" if you try to hardlink them.

Moreover, hardlinks between directories are not allowed on AIX.
The error message will say that the source "... is a directory.  Cannot hard link" if you try.

The identical inode numbers must be the result of some very strange hazard, otherwise I, personally, couldn't explain them.

Anyway, please double check for symbolic links!


LVL 68

Assisted Solution

woolmilkporc earned 750 total points
ID: 36556879
>> You can't mount the same device twice <<

but OK, as sjm_ee stated, you can mount a directory over a directory or a file over a file by means
of AIX's "namefs" functionality.

You stated that you never tried something similar, but please check with "mount" for the existence of "namefs" mounts anyway, as sjm_ee suggested above.


Author Comment

ID: 36557060
I don't have access to the AIX system right now, but I'll check all of these things tomorrow,

Author Comment

ID: 36561140
There are no "namefs" mounts.

Author Closing Comment

ID: 36583578
Unfortunately, I never really solved this riddle. It remains a mystery. Everything suggested by the experts was reasonable, just not applicable.

Featured Post

Train for your Pen Testing Engineer Certification

Enroll today in this bundle of courses to gain experience in the logistics of pen testing, Linux fundamentals, vulnerability assessments, detecting live systems, and more! This series, valued at $3,000, is free for Premium members, Team Accounts, and Qualified Experts.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

I promised to write further about my project, and here I am.  First, I needed to setup the Primary Server.  You can read how in this article: Setup FreeBSD Server with full HDD encryption (http://www.experts-exchange.com/OS/Unix/BSD/FreeBSD/A_3660-S…
Why Shell Scripting? Shell scripting is a powerful method of accessing UNIX systems and it is very flexible. Shell scripts are required when we want to execute a sequence of commands in Unix flavored operating systems. “Shell” is the command line i…
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

624 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question