[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles)
From: |
Richard Kreuter |
Subject: |
Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles) |
Date: |
Sun, 12 May 2002 19:19:12 -0400 |
User-agent: |
Mutt/1.2.5i |
On Sun, May 12, 2002 at 06:17:30PM -0400, Richard Kreuter wrote:
> On Sun, May 12, 2002 at 06:06:06PM +0200, Robert Millan wrote:
> > On Sun, May 12, 2002 at 04:33:37PM -0400, Richard Kreuter wrote:
> > > Here's a redraft based on the discussion over the last day or
> > > so.
<snip>
> > Are utilities unrelated with filesystems or partitions allowed to use
> > these names? maybe we should refer to them by their functionality to
> > avoid confusion.
>
> (I'm sending this back to help-hurd, since that's where the thread's
> been.)
>
> FHS 3.14.3 refers to them by name and description. I'll reword the
> requirement to resemble the following.
Okay, here's another refuddling, with descriptions for each named file
and FHS-wordings for all requirements (I think). Also, some sentences
in the first person have been made passive (some of them were Jeroen
Dekkers's sentiments, some mine).
Same punctuation: +++ changed since last time, <> for editorial
remarks.
---
The following things need to change in the FHS itself:
3.5.1 Grub may place its configuration file under /boot.
3.9.3 /lib/modules is not the right place for kernel modules.
It should be moved it to the GNU/Linux specific annex.
5.6.1 says "it not supported under Linux", which is too OS-specific.
---
GNU specific annex:
6.2 GNU
This is the annex for the GNU operating system. We sometimes refer
to this as the GNU/Hurd system, in cases where it is necessary to
distinguish the GNU system from other systems that use large amounts
of GNU software.
The GNU system is special compared to other UNIX-like operating
systems in the way it treats the filesystem namespace. The filesystem
namespace is very flexible, you can do anything with it what you
want. That's why it is reasonable to specify where you should find
directories and files, but not the way those directories and files
should get there.
As a rule, distributors who wish to maintain compatibility between
their distributions of GNU/Hurd, GNU/Linux, or other systems may
maintain symbolic links to files whose locations on GNU systems differ
from their locations on other systems. This accomodates programs with
"hard-coded" filenames. For example, files that should be found under
/libexec may be symbolic links, or may be the targets of symbolic
links located under /sbin, /bin, and so forth.
6.2.x / : The Root Filesystem
It's allowed to create a new subdirectory of the root filesystem by
the distribution creator or user.
6.2.x /boot : Static files of the bootloader
<If the following isn't already in the FHS, then>
The configuration file for the grub bootloader may be found under
/boot.
6.2.x /bin : Essential user command binaries (for use by all users)
+++The following files, or symbolic links to files, used for system boot
and recovery, must be located in /bin:
+++settrans Command to set/remove translators
+++showtrans Translator setting information utility
+++fsysopts File system option manipulator
The following files may be omitted from /bin:
+++dmesg Utility to print or control the kernel message buffer
+++mount Utility to mount a filesystem
+++umount Utility to unmount file systems
The GNU system has been designed with a goal of providing users with
more power than they have traditionally been afforded on Unix and
Unix-compatible systems. As a result, several system binaries are
useful to normal users and should be found in /bin. +++The following
files, or symbolic links to files, must be in /bin if the
corresponding subsystem is installed:
+++fdisk Partition table manipulator (optional)
+++fsck File system check and repair utility (optional)
+++fsck.* File system check and repair utility for a specific filesystem
(optional)
+++mkfs Command to build a filesystem (optional)
+++mkfs.* Command to build a specific filesystem (optional)
+++parted Partition table and file system manipulator (optional)
6.2.x /com : Shareable, variable data.
The /com hierarchy contains files architecture-independent data files
which the programs modify while they run. Some of these files have
been placed in /var or /usr in the past; in case a distributor wishes
to maintain compatibility with systems that expect to find these files
in /var or /usr, symbolic links may be used.
BEGIN RATIONALE:
Having recognized the distinction between shareable and non-shareable
mutable data files, the authors of the GNU Coding Standards intend
that all shareable mutable data files be found under a single
directory, to simplify management of shared file hierarchies among
systems.
END RATIONALE
6.2.x /hurd : The Hurd servers
/hurd contains the Hurd server binaries. Servers with .static appended
to their name must be statically linked servers, servers without
.static appended may be dynamically linked servers.
6.2.x /libexec : Executables only run by other programs
The directory for installing executable programs to be run by other
programs rather than by users.
The following are example programs that could be found in /libexec,
if they exist on a system:
+++in.telnetd Telnet protocol daemon
+++in.ftpd Ftp protocol daemon
+++sendmail Internet mail transport agent
Note that some programs that are normally run only by other programs
may occasionaly be run by users under certain circumstances, such as
debugging. Nevertheless, such programs are to be found in /libexec.
BEGIN RATIONALE:
A number of programs are intended to be run only by other programs.
These programs therefore don't belong in directories containing
commands for users.
END RATIONALE
6.2.x /sbin :
The following files, or symbolic links to files, may be found in /bin:
+++devprobe Hardware device detection utility
6.2.x /servers : Standard location where Hurd servers translate
This is the directory Hurd servers translate rendezvous filesystem
nodes in standard locations, so that other programs can easily find
them and use server-specific interfaces. +++The following files must
be found in /servers:
/servers/crash The node where the crash server translates.
/servers/exec The node where the exec sever translates.
/servers/password The node where the password server translates.
/servers/proc The node where the process server translates.
In addition, all files with names of the form /servers/socket/N, where
N is a string of digits, are reserved as rendezvous points for domain
socket translators. Symbolic links to these files are also permitted
in the /servers/socket directory, as shown in the example below.
/servers/socket/1 The node where the pflocal server translates.
/servers/socket/2 The node where the pfinet server translates.
/servers/socket/local A symbolic link to /servers/socket/1
/servers/socket/inet A symbolic link to /servers/socket/2.
6.2.x /usr : Secondary Hierarchy
In the GNU system, /usr is a symbolic link to . in the root directory.
The / and /usr directory have thus the same name and names of files
and directories within them must not conflict.
BEGIN RATIONALE
The GNU Hurd will have a special filesystem, called shadowfs, which
will be able to "merge" directories. Thus everything from different
sources can be merged (both static and variable data) and /usr isn't
really needed. Instead of /usr, everything will be found under /.
END RATIONALE
6.2.x /usr/share/info
This directory may exist as the primary GNU Info system directory.
6.2.x /usr/share/man This directory is optional on a GNU system.
6.2.x /usr/X11R6 : X Window System, Version 11 Release 6
This directory should not be used. Instead the X Window System should
be placed in /.
6.2.x /var : Mutable, machine-specific data files
The /var hierarchy should normally not contain files that can be
shared among host systems. These files should instead be found in
/com.
BEGIN RATIONALE:
Having recognized the distinction between shareable and
non-shareable mutable data files, the authors of the GNU Coding
Standards intend that all unshareable mutable data files be found
under a single directory, to simplify management of shareable file
hierarchies among host systems.
END RATIONALE
6.2.x /var/spool/cron : cron and at jobs
This directory contains the variable data for the cron and at
programs.
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), (continued)
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), Moritz Schulte, 2002/05/11
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), Alfred M. Szmidt, 2002/05/12
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), Richard Kreuter, 2002/05/12
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), Marcus Brinkmann, 2002/05/12
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), Richard Kreuter, 2002/05/12
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), Marcus Brinkmann, 2002/05/12
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), Richard Kreuter, 2002/05/12
- Message not available
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), Richard Kreuter, 2002/05/12
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles),
Richard Kreuter <=
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), Grant Bowman, 2002/05/20
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), Robert Millan, 2002/05/20
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), Grant Bowman, 2002/05/20
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), Robert Millan, 2002/05/20
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), Gerhard Muntingh, 2002/05/22
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), Marcus Brinkmann, 2002/05/20
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), Richard Kreuter, 2002/05/20
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), Thomas Bushnell, BSG, 2002/05/20
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), Marcus Brinkmann, 2002/05/21
- Re: Hurd FS hierarchy (was Re: LD_LIBRARY_PATH troubles), Richard Kreuter, 2002/05/21