Tuesday, November 14, 2006

Soft and Hard Links

Soft links

  • Pointers to programs, files, or directories located elsewhere.
  • If the original program, file, or directory is renamed, moved, or deleted, the soft link is broken.
  • If you type ls -F you can see which files are soft links because they end with @
  • To create a soft link called filelink.txt that points to a file called file.txt, use this: ln -s file.txt filelink.txt

Hard links

  • Pointers to programs and files, but NOT directories
  • If the original program or file is renamed, moved, or deleted, the hard link is NOT broken
  • Hard links cannot span disk drives, so you CANNOT have a hard link on /dev/hdb that refers to a program or file on /dev/hda
  • To create a hard link called hardlink.txt that points to a file called file.txt, use this: ln file.txt hardlink.txt
Hard and Soft Mounts in NFS

This is a UNIX terminology as to what the client does when it can't talk to an NFS Server. If you just mount a file system without specifying hard or soft, the default is a hard mount. Hard mounts are preferable because of the stateless nature of NFS. If a client sends an I/O request to the server (such as an ls -la), and the server gets rebooted, the client will wait until the server comes back on line. This preserves data transfers in the event of a server failure. There are disadvantages to this, as a simple mount request could hang. A soft mount will return with an error and fail. This kills the wait time, but can cause problems with data transfers.