Jump to content

Root directory

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Cordless Larry (talk | contribs) at 13:46, 30 September 2023 (Undid revision 1177920718 by 88.154.54.87 (talk)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

View of the root directory in the OpenIndiana operating system

In a computer file system, and primarily used in the Unix and Unix-like operating systems, the root directory is the first or top-most directory in a hierarchy.[1] It can be likened to the trunk of a tree, as the starting point where all branches originate from. The root file system is the file system contained on the same disk partition on which the root directory is located; it is the filesystem on top of which all other file systems are mounted as the system boots up.[2]

Unix-like systems

Unix abstracts the nature of this tree hierarchy entirely and in Unix and Unix-like systems the root directory is denoted by the / (slash) sign. Though the root directory is conventionally referred to as /, the directory entry itself has no name – its path is the "empty" part before the initial directory separator character (/). All file system entries, including mounted file systems are "branches" of this root.[1]

chroot

In UNIX-like operating systems, each process has its own idea of what the root directory is. For most processes this is the same as the system's actual root directory, but it can be changed by calling the chroot system call. This is typically done to create a secluded environment to run software that requires legacy libraries and sometimes to simplify software installation and debugging. Chroot is not meant to be used for enhanced security as the processes inside can break out.[3]

Super-root

Some Unix systems support a directory below the root directory. Normally, "/.." points back to the same inode as "/", however, under MUNIX [de], this can be changed to point to a super-root directory, where remote trees can be mounted.[4][5] If, for example, two workstations "pcs2a" and "pcs2b" were connected via "connectnodes" and "uunite" startup script, "/../pcs2b" could be used to access the root directory of "pcs2b" from "pcs2a".

On many Unixes, there is also a directory named /root (pronounced "slash root").[6] This is the home directory of the 'root' superuser. On many Mac and iOS systems this superuser home directory is /var/root.[6]

See also

References

  1. ^ a b "Root Directory Definition". techterms.com. Archived from the original on 2020-10-26. Retrieved 2020-03-14.
  2. ^ "Root Filesystem Definition by The Linux Information Project". LInfo.org. Archived from the original on 2021-07-10. Retrieved 2020-03-14.
  3. ^ "What chroot() is really for". LWN.net. Archived from the original on 2020-11-12. Retrieved 2014-02-12.
  4. ^ Brownbridge, David R.; Marshall, Lindsay F.; Randell, Brian (1982). "The Newcastle Connection" (PDF). Software: Practice and Experience. 12: 1147–1162. doi:10.1002/spe.4380121206. S2CID 1840438. Archived from the original (PDF) on 2016-08-16. Retrieved 2016-08-16.
  5. ^ Callaghan, Brent (2000). NFS Illustrated. Addison Wesley. ISBN 0-201-32570-5.
  6. ^ a b "Root Definition". LInfo.org. The Linux Information Project. 2007-10-27. Archived from the original on 2021-05-08. Retrieved 2021-11-03.