]> git.donarmstrong.com Git - debian/debian-policy.git/blob - FSSTND-FAQ
Synchronized with patch 75 from Manojs tree
[debian/debian-policy.git] / FSSTND-FAQ
1 This is a collection of Frequently Asked Questions (and answers!)
2 about the Linux FSSTND project and document.  It was composed by Ian
3 McCloghrie <ian@ucsd.edu>.  Questions, corrections, clarifications,
4 etc. about this FAQ should be directed to him.
5
6 Sun Oct  9 22:55:25 PDT 1994
7
8 Note:  This FAQ is wrtten by me, personally, as an attempt to help out
9 the FSSTND project.  This FAQ reflects my personal views and, while I
10 am a member of the FSSTND project, should not be construed as
11 necessarily reflecting the views of everyone on the project.
12
13
14 ========= General Questions ==========
15
16
17 Q)  Who wrote the FSSTND, and where can I get in contact with them?
18
19 A)  The FSSTND is a consensus effort of many Linux activists; the main
20 arm of their discussion takes place on the FSSTND mailing list.
21 The principal co-ordinator is Daniel Quinlan <Daniel.Quinaln@linux.org>
22 Any questions you may have regarding the standard should be directed
23 to him or to any of the contributors listed in the FSSTND document or
24 this FAQ.
25
26 The FSSTND discussion mailing list is "linux-fsstnd@ucsd.edu"; if you
27 wish to participate in future expansion of the standard, you can
28 subscribe to this list by sending mail to "listserv@ucsd.edu", with the
29 body of "add linux-fsstnd".
30
31
32 Q)  What's the current status of the FSSTND?
33
34 A)  As of this writing, (Oct 9, 1994), Linux FSSTND 1.2 has been
35 released as an interim draft, and is available for anonymous FTP
36 from tsx-11.mit.edu in /pub/linux/docs/linux-standards/fsstnd.
37 PostScript, dvi, and ascii text versions are available.
38
39 Due to the fact that a significant number of Linux developers are
40 making use of standard drafts that came after the first version (back
41 in February), the decision was made to issue an interim version in
42 order to ensure that everyone is working from the same foundation.
43
44
45 Q)  Why 'FSSTND' anyway?  That's a horrible abbreviation.
46
47 A)  Yes, 'FSSTND' is a horrible abbreviation of "Filesystem Standard".
48 Unfortunately, that's the name that was given to the initial channel
49 of the niksula.hut.fi mailing list, and it's kinda stuck.  Changing it
50 would create more confusion than it's really worth.
51
52
53 Q)  I've got a great new idea for how to organize the filesystem;
54 why don't we...
55
56 A)  If you really think you've got something revolutionary, by all
57 means, we'd love to see it.  In practice, a lot of "great new" ideas
58 have been raised (and dropped, for one reason or another) on the
59 mailing list already.  As such, we suggest you send mail to one of the
60 contributors privately first, and get his/her reaction to it, before
61 making a general proposal.
62
63
64 Q)  Why did you do it *THIS* way?  Why not do what Sun did and...
65
66 A)  The FSSTND draws ideas from POSIX, 4.4BSD, SVR4, SunOS 4, MCC,
67 Slackware, SLS, (in no particular order) and many other systems.  We
68 have not followed any one operating system layout in entirety.
69 Instead we have tried to take the best of each filesystem layout and
70 combine them into a homogenous whole, well suited to the needs of
71 Linux users everywhere.  In some cases, we may not have been
72 completely successful; however, we think we've done a fairly decent
73 job.
74
75
76 Q)  You *&^% idiots, don't you know that foo goes in /bin, not in /usr/bin?
77
78 A)  Think about it.  Does foo *really* need to go on the root
79 partition?  Constructive suggestions are welcomed.  Flames are not.
80
81 We have tried to decide upon a set of binaries that is an effective
82 compromised between functionality and space restrictions.  The root
83 partition needs to contain enough functionality to boot the system,
84 mount the /usr partition, and to enable a systems administrator to
85 repair things on /usr if something goes wrong.  If you have a local
86 boot-time system that absolutely requires other binaries to be used
87 in the mounting of /usr, the suggested solution is to move them to
88 /bin and to make a symbolic link from /usr/bin/foo to /bin/foo.
89
90
91 Q)  Does the fact that Daniel Quinlan now works for Yggdrasil affect
92 his coordination of the FSSTND?
93
94 A)  In short, no.  In a bit more length, no, except for the fact that
95 he's now even more intimately familiar with the problems involved
96 in creating a distribution.  (well, and that he's earning money and
97 can afford to buy food to eat, so has energy to spare worrying about
98 things like which directory cpio belongs in)
99
100 FSSTND is not distribution-specific, the fact that the coordinator is
101 employed by one distribution-provider does not affect this fact.  Yggdrasil
102 does not have any special connection to FSSTND, and vice versa.
103 To simplify things, Dan would appreciate it if you could direct FSSTND-
104 related email to <Daniel.Quinlan@linux.org>.
105
106
107 ========== Specific Questions ==========
108
109
110 Q)  The distinction between the root partition and /usr is that the
111 root is used for files that are 'essential'.  What constitutes
112 'essential'?
113
114 A)  essential to clean, create, prepare, check, find and mount other
115 filesystems (possibly on remote machines).  There are other definitions,
116 but this is a general definition that most people will at least
117 incorporate into their own.
118
119
120 Q)  I like to have a small root partition (possibly with multiple
121 copies, so I can get the system back up when one of them crashes),
122 and I like to stuff everything else into one big partition (especially
123 since I only have one free).  So, can /var be a symlink to /usr?
124
125 A)  Making the /var hierarchy a part of a /usr filesystem is
126 preferable to making /var a part of the root filesystem when /var
127 cannot be made a separate partition.
128
129 This is preferable because it is easier to separate /var and /usr
130 at some point in the future, if you buy a second disk.  The usual way
131 of doing this to make /var a symblink link to /usr/var.
132
133
134 Q)  Why is networking spread out across the filesystem in 4 separate
135 directories instead of all being nicely put in /usr/inet?
136
137 A)  It is the opinion of the FSSTND project (and, in fact, of much of
138 the UNIX community in general) that networking is not an "optional
139 package" in the traditional sense, but rather an integrated part oF
140 the operating system.  Binaries such as telnet, ftp, and ping have
141 more similiarity to standard unix utilities such as grep, sed, and vi
142 than to applications like emacs or WordStar.  As such, they are
143 spread across /bin, /sbin, /usr/bin, and /usr/sbin, depending upon
144 their use.
145
146
147 Q)  I'm running a HUGE network with 10 different platforms and 20
148 different OS's.  I *need* to share things.  Why isn't there a
149 /usr/share?
150
151 A)  At the moment, Linux is only really available for the
152 PC-architecture 80386 machines.  (although this may change soon with
153 Amiga systems).  There is no single existing "cross-platform" standard
154 for /usr/share; those that do exist have usually been come up with by
155 a single vendor wanting to share certain files between their OS
156 running on multiple hardware platforms.  There are many problems
157 involved in the sharing of files, maybe obvious sharable files that
158 are, upon closer examination, not sharable at all.  (For example,
159 /usr/man could be thought completely sharable, yet some pages (such as
160 fsck.1) are completely different from any other UNIX-like operating
161 system).
162
163 /usr/share would be nice, yes, and we plan to include something like
164 this in a future version of the FSSTND.  However, until such a time
165 as an implementation can actually be tested, no specifications will be
166 released.  Anything in /usr/share will be "pointed to" by the use of
167 symlinks from other areas in the filesystem, such as /usr/man,
168 /usr/lib/<something>, etc.  Applications should use these locations
169 when they reference files, not the /usr/share location, as this may
170 change.  Things like OSI have shown the problems with standards
171 specified without a real clue as to how they'd be implemented.
172
173
174 Q)  Why are there so many/so few symbolic links in the filesytem?
175 Couldn't we make it easier to understand/more orthogonal by
176 removing/adding some links?
177
178 A)  In general, we've tried to minimize the number of symbolic links
179 present in the FSSTND.  The symlinks that are present in the document
180 are the ones we considered essential to maintaining a properly
181 orthogonal, and yet still somewhat compatible, filesystem layout.
182 /lib/cpp and /usr/lib/sendmail are symbolic links kept for
183 compatiblity reasons.
184
185
186 Q)  What about statically linked binaries?  Shouldn't we have a
187 statically linked copy of mount, unmount, sh, cp, mv, vi, emacs, gcc,
188 X11R5, and WABI in /sbin?
189
190 A)  Statically linked binaries are a local issue.  Most users, those
191 with home systems with small amounts of memory and disk and a single
192 user on console, do not have any need for any statically linked
193 binaries (with the possible exception of ln, sync, and/or ldconfig, to
194 fix shared library problems).  Some larger sites, with more disk to
195 spare, may wish to install backup, statically-linked versions of some
196 applications.  If you have the need and space to do this, go right
197 ahead, we're not stopping you.  But we don't require any, because
198 (we feel) that most people don't need them.  Dynamically linked
199 versions should still be available, for regular usage, however.
200
201
202 Q)  Why does X11 get its own directory tree when there aren't any
203 other such "packages" in the FSSTND?  Why not spread it out over
204 /usr/bin/X11, /usr/lib/X11, etc.
205
206 A)  X11 is just about the largest 'package' in common use on Linux
207 systems.  It resides in /usr/X386 as this is the directory name choice
208 of the XFree86 developers, to protect against namespace conflicts with
209 other X11 packages on any of the dozen or so PC-unix platforms they
210 support.  The symbolic links in /usr/bin/X11, /usr/lib/X11 and
211 /usr/include/X11 are for user's convenience, these are the closest
212 things that exist to "standard" locations for the X11 files.
213
214
215 Q)  Why isn't there a package format laid out in the FSSTND?
216
217 A)  Many proposals have been discussed for package layouts on the
218 fsstnd mailing list.  As yet, no consensus has been reached about
219 which (if any) of these proposals is best.  Work continues, and there
220 will probably be mention of 'packages' in version 1.1.
221
222
223 Q)  What about /usr/local/bin/X11?  Should I use this for local X11
224 programs?  Or is /usr/local/X11/bin better?
225
226 A)  The standard doesn't specify; we feel that the contents of /usr/local
227 are exactly that, local, and so we try to specify as little as
228 possible about it.  Put them wherever you want.  Personally, I use
229 /usr/local/bin/X11.  However, since xmkmf doesn't seem to like placing
230 files into anywhere other than where the existing X files are
231 (ie, /usr/X386/*), my libs for local apps usually end up being in
232 /usr/X386.  Ugly, yes, but not worth (to me) the effort of trying to
233 move them.  Your mileage may vary.
234
235
236 Q)  Why doesn't the standard specify the system-level users/groups and
237 proper ownerships/permissions/setuid bits for everything?
238
239 A)  We feel that this is, primarily, a local issue.  Many sites
240 have their own local user-id/group-id setup, and linux boxes will
241 have to be integrated with those.  What's more, there is very little
242 gain from standardizing these across all linux machines, as it
243 typically is not essential to allow binary distributions.
244
245
246 Q)  Why not just symlink /bin to /usr/bin the way Sun, SVR4, and a few
247 others do?
248
249 A)  This has several technical problems, aside from the fact that many
250 consider it ugly.  First, it requires placing all the utilites necessary
251 to mount /usr into /sbin, and either making copies of them in /usr/bin
252 or having every user put /sbin into their $PATH.  Second, if /lib is
253 symlinked to /usr/lib in the same way, it requires statically linking
254 all the binaries in /sbin.  This results in /sbin taking up more space
255 on the root partition, for a great reduction in functionality, thus
256 increasing the number of cases in which one has to go dig out a
257 boot/root floppy instead of just booting the hard disk in single-user
258 mode.
259