home *** CD-ROM | disk | FTP | other *** search
/ Dream 46 / Amiga_Dream_46.iso / bo / extras / doc / package-developer / FSSTND-FAQ < prev    next >
Text File  |  1996-03-06  |  12KB  |  260 lines

  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.  
  260.