creatingdirs.sgml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <sect1 id="ch04-creatingdirs">
  2. <title>Creating directories</title>
  3. <para>
  4. Let's create the directory tree on the LFS partition according to the FHS
  5. standard which can be found at <ulink
  6. url="http://www.pathname.com/fhs/">http://www.pathname.com/fhs/</ulink>.
  7. Issuing the following commands will create the necessary directories:
  8. </para>
  9. <blockquote><literallayout>
  10. <userinput>cd $LFS</userinput>
  11. <userinput>mkdir -p bin boot dev/pts etc home lib mnt proc root sbin
  12. tmp var</userinput>
  13. <userinput>for dirname in $LFS/usr $LFS/usr/local</userinput>
  14. <userinput><literal>&nbsp;&nbsp;&nbsp;do</literal></userinput>
  15. <userinput>&nbsp;&nbsp;&nbsp;mkdir $dirname</userinput>
  16. <userinput>&nbsp;&nbsp;&nbsp;cd $dirname</userinput>
  17. <userinput>&nbsp;&nbsp;&nbsp;mkdir bin etc include lib sbin share
  18. src tmp var</userinput>
  19. <userinput>&nbsp;&nbsp;&nbsp;ln -s share/man man</userinput>
  20. <userinput>&nbsp;&nbsp;&nbsp;ln -s share/doc doc</userinput>
  21. <userinput>&nbsp;&nbsp;&nbsp;ln -s share/info info</userinput>
  22. <userinput>&nbsp;&nbsp;&nbsp;cd $dirname/share</userinput>
  23. <userinput>&nbsp;&nbsp;&nbsp;mkdir dict doc info locale man nls misc
  24. terminfo zoneinfo</userinput>
  25. <userinput>&nbsp;&nbsp;&nbsp;cd $dirname/share/man</userinput>
  26. <userinput>&nbsp;&nbsp;&nbsp;mkdir man1 man2 man3 man4 man5 man6 man7
  27. man8</userinput>
  28. <userinput>done</userinput>
  29. <userinput>cd $LFS/var</userinput>
  30. <userinput>mkdir lock log mail run spool tmp</userinput>
  31. </literallayout></blockquote>
  32. <para>
  33. Normally directories are created with permission mode 755, which isn't
  34. desired for all directories. I haven't checked the FHS if they suggest
  35. default modes for certain directories, so I'll just change the modes for
  36. a few directories that make sense to change. The first change is a mode
  37. 0750 for the $LFS/root directory. This is to make sure that not just
  38. everybody can enter the /root directory (the same you would do with
  39. /home/username directories). The second change is a mode 1777 for the tmp
  40. directories. This way every user can write stuff to the /tmp directory if
  41. they need to. The sticky (1) bit makes sure users can't delete other
  42. user's file which they normally can do because the directory is set in
  43. such a way that every body (owner, group, world) can write to that directory.
  44. </para>
  45. <blockquote><literallayout>
  46. <userinput>cd $LFS &amp;&amp;</userinput>
  47. <userinput>chmod 0750 root &amp;&amp;</userinput>
  48. <userinput>chmod 1777 tmp usr/tmp var/tmp</userinput>
  49. </literallayout></blockquote>
  50. <para>
  51. Now that the directories are created, copy the source files you have
  52. downloaded in chapter 3 to some subdirectory under $LFS/usr/src (you will
  53. need to create this subdirectory yourself).
  54. </para>
  55. </sect1>