amd.conf(5)

NAME

   amd.conf - Amd configuration file

SYNOPSIS

   amd.conf

DESCRIPTION

   The amd.conf file is the configuration file for Amd, as part of the am-
   utils suite.

   amd.conf  contains  runtime  configuration  information  for  the   Amd
   automounter program.

FILE FORMAT

   The  file  consists  of sections and parameters.  A section begins with
   the name of the section in square brackets and continues until the next
   section  begins  or  the  end  the  file  is reached.  Sections contain
   parameters of the form 'name = value'.

   The  file  is  line-based  -  that  is,  each  newline-terminated  line
   represents  either  a comment, a section name or a parameter.  No line-
   continuation syntax is available.

   Section, parameter names and their values are case sensitive.

   Only the first equals sign in a parameter is  significant.   Whitespace
   before  or after the first equals sign is discarded.  Leading, trailing
   and internal whitespace in section and parameter names  is  irrelevant.
   Leading  and  trailing  whitespace  in  a parameter value is discarded.
   Internal whitespace within a parameter value is not allowed, unless the
   whole  parameter value is quoted with double quotes as in 'name = "some
   value"'.

   Any line beginning with a pound sign  (#)  is  ignored,  as  are  lines
   containing only whitespace.

   The  values  following  the  equals sign in parameters are all either a
   string (no quotes needed if  string  does  not  include  spaces)  or  a
   boolean,  which  may  be  given  as yes/no.  Case is significant in all
   values.  Some items such as cache timeouts are numeric.

SECTIONS

   The [global] section
   Parameters in this section either apply to Amd as a whole,  or  to  all
   other  regular  map  sections  which  follow.  There should be only one
   global section defined in one configuration file.

   It is highly recommended that this section be specified  first  in  the
   configuration  file.   If  it  is  not, then regular map sections which
   precede it will not use global values defined later.

   Regular [/map] sections
   Parameters in regular (non-global)  sections  apply  to  a  single  map
   entry.   For  example, if the map section [/homes] is defined, then all
   parameters following it will be applied to the /homes Amd-managed mount
   point.

PARAMETERS

   Parameters common to all sections
   These  parameters  can  be  specified  either  in  the  global or a map
   specific section.  Entries specified in a map-specific section override
   the  default  value  or  one defined in the global section.   If such a
   common parameter is  specified  only  in  the  global  section,  it  is
   applicable to all regular map sections that follow.

   browsable_dirs (string, default=no)
          If "yes," then Amd's top-level mount points will be browsable to
          readdir(3) calls.  This means you could run  for  example  ls(1)
          and see what keys are available to mount in that directory.  Not
          all entries are  made  visible  to  readdir(3):  the  "/default"
          entry,  wildcard  entries,  and those with a "/" in them are not
          included.  If  you  specify  "full"  to  this  option,  all  but
          "/default"  will  be  visible.   Note  that if you run a command
          which will attempt to stat(2) the entries, such as often done by
          "ls  -l"  or  "ls  -F," Amd will attempt to mount every entry in
          that map.  This is often called a ``mount storm.''

   map_defaults (string, default to empty)
          This option sets a string to be  used  as  the  map's  /defaults
          entry,  overriding  any  /defaults  specified  in the map.  This
          allows local users to override map  defaults  without  modifying
          maps globally.

   map_options (string, default no options)
          This option is the same as specifying map options on the command
          line to Amd, such as "cache:=all".

   map_type (string, default search all map types)
          If specified, Amd will initialize the  map  only  for  the  type
          given.  This is useful to avoid the default map search type used
          by Amd which takes longer and can  have  undesired  side-effects
          such as initializing NIS even if not used.  Possible values are

          exec      executable maps
          file      plain files
          hesiod    Hesiod name service from MIT
          ldap      Lightweight Directory Access Protocol
          ndbm      (New) dbm style hash files
          nis       Network Information Services (version 2)
          nisplus   Network Information Services Plus (version 3)
          passwd    local password files
          union     union maps

   mount_type (string, default=nfs)
          All  Amd  mount  types  default  to NFS.  That is, Amd is an NFS
          server on the map mount points, for the local host it is running
          on.   If "autofs" is specified, Amd will be an autofs server for
          those mount points.

   autofs_use_lofs (string, default=yes)
          When set to "yes" and  using  Autofs,  Amd  will  use  lofs-type
          (loopback) mounts for type:=link mounts.  This has the advantage
          of mounting in place, and users get to the see the same pathname
          that  they  chdir'ed  into.  If this option is set to "no," then
          Amd will use symlinks instead: that code  is  more  tested,  but
          negates autofs's big advantage of in-place mounts.

   search_path (string, default no search path)
          This  provides  a  (colon-delimited)  search path for file maps.
          Using  a  search  path,  sites   can   allow   for   local   map
          customizations  and  overrides,  and  can  distributed  maps  in
          several locations as needed.

   selectors_in_defaults (boolean, default=no)
          If "yes," then the /defaults entry of maps will search  for  and
          process any selectors before setting defaults for all other keys
          in that map.  Useful when you want to set different options  for
          a  complete  map based on some parameters.  For example, you may
          want to better the NFS performance over slow slip-based networks
          as follows:

          /defaults \
              wire==slip-net;opts:=intr,rsize=1024,wsize=1024 \
              wire!=slip-net;opts:=intr,rsize=8192,wsize=8192

          Deprecated form: selectors_on_default

   sun_map_syntax (boolean, default=no)
          If  "yes,"  then  Amd  will  parse  the map according to the Sun
          Automount syntax.

   Parameters applicable to the global section only
   arch (string, default to compiled in value)
          Same as the -A option to Amd.  Allows you to override the  value
          of the arch Amd variable.

   auto_attrcache (numeric, default=0)
          Specify  in  seconds  (or units of 0.1 seconds, depending on the
          OS), what is the (kernel-side) NFS attribute cache  timeout  for
          @i{Amd}'s  own  automount  points.   A value of 0 is supposed to
          turn  off  attribute  caching,  meaning  that  @i{Amd}  will  be
          consulted  via a kernel-RPC each time someone stat()'s the mount
          point (which could be abused  as  a  denial-of-service  attack).
          Warning: some OSs are incapable of turning off the NFS attribute
          cache reliably.  On such systems,  Amd  may  not  work  reliably
          under  heavy load.  See the README.attrcache document in the Am-
          utils distribution for more details.

   auto_dir (string, default=/a)
          Same as the -a option to Amd.  This sets the  private  directory
          where Amd will create sub-directories for its real mount points.

   cache_duration (numeric, default=300)
          Same as the -c option to Amd.  Sets the duration in seconds that
          looked-up or mounted map entries remain in the cache.

   cluster (string, default no cluster)
          Same as the -C option to Amd.   Specifies  the  alternate  HP-UX
          cluster to use.

   debug_mtab_file (string, default=/tmp/mnttab)
          Path to mtab file that is used by Amd to store a list of mounted
          file systems during debug-mtab mode.  This option  only  applies
          to systems that store mtab information on disk.

   debug_options (string, default no debug options)
          Same  as  the  -D  option  to Amd.  Specify any debugging
          options for Amd.  Works only if am-utils  was  configured
          for debugging using the --enable-debug option.  The "mem"
          option, as well as all other options, can  be  turned  on
          via  --enable-debug=mem.  Otherwise debugging options are
          ignored.   Options  are  comma  delimited,  and  can   be
          preceded by the string "no" to negate their meaning.  You
          can get  the  list  of  supported  debugging  options  by
          running Amd -H.  Possible values are:

          all       all options (excludes hrtime and mtab)
          defaults  "sensible" default options (all--excluding hrtime, mtab, and xdrtrace)
          test      full debug options plus mtab,nodaemon,nofork,noamq
          amq       register for amq
          daemon    enter daemon mode
          fork      fork server
          full      program trace
          hrtime    print high resolution time stamps (only if syslog(3) is not used)
          info      info service specific debugging (hesiod, nis, etc.)
          mem       trace memory allocations
          mtab      use local "/tmp/mtab" file
          readdir   show browsable_dirs progress
          str       debug string munging
          trace     trace protocol and NFS mount arguments
          xdrtrace  trace XDR routines

   dismount_interval (numeric, default=120)
          Same  as  the  -w option to Amd.  Specify in seconds, the
          time between attempts to dismount file systems that  have
          exceeded their cached times.

   domain_strip (boolean, default=yes)
          If  "yes,"  then  the  domain  name  part  referred to by
          ${rhost} is stripped off.  This is useful  to  keep  logs
          and  smaller.  If "no," then the domain name part is left
          changed.  This is useful when using multiple domains with
          the  same  maps  (as  you  may  have  hosts whose domain-
          stripped name is identical).

   exec_map_timeout (numeric, default=10)
          The  timeout  in  seconds  that  Amd  will  wait  for  an
          executable  map program before an answer is returned from
          that program (or script).  This value should be set to as
          small  as possible while still allowing normal replies to
          be returned before the timer expires, because during  the
          time  that  the executable map program is queried, Amd is
          essentially waiting and is thus  not  responding  to  any
          other queries.

   forced_unmounts (boolean, default=no)
          If  set  to  "yes,"  and the client OS supports forced or
          lazy unmounts, then Amd will attempt to use  them  if  it
          gets any of three serious error conditions when trying to
          unmount an existing mount point or mount on top  of  one:
          EIO, ESTALE, or EBUSY.

          This  could  be useful to recover from serious conditions
          such as hardware failure of mounted disks, or NFS servers
          which  are  down  permanently,  were migrated, or changed
          their IP address.  Only "type:=toplvl" mounts  hung  with
          EBUSY  are forcibly unmounted using this option, which is
          useful to recover from a hung Amd).

   full_os (string, default to compiled in value)
          The full name of the operating  system,  along  with  its
          version.   Allows  you  to  override the compiled-in full
          name and version of the operating  system.   Useful  when
          the  compiled-in  name  is not desired.  For example, the
          full  operating  system  name  on  linux  comes   up   as
          ``linux'', but you can override it to ``linux-2.2.5.''

   fully_qualified_hosts (string, default=no)
          If  "yes,"  Amd  will  perform  RPC  authentication using
          fully-qualified host names.  This is necessary  for  some
          systems,  and  especially  when  performing  cross-domain
          mounting.  For this function to work,  the  Amd  variable
          ${hostd} is used, requiring that ${domain} not be null.

   hesiod_base (string, default=automount)
          Specify the base name for hesiod maps.

   karch (string, default to karch of the system)
          Same as the -k option to Amd.  Allows you to override the
          kernel-architecture of your system.  Useful  for  example
          on  Sun  (Sparc)  machines,  where  you can build one Amd
          binary, and run it on multiple  machines,  yet  you  want
          each  one  to  get  the  correct  karch variable set (for
          example, sun4c, sun4m, sun4u, etc.)   Note  that  if  not
          specified, Amd will use uname(3) to figure out the kernel
          architecture of the machine.

   ldap_base (string, default not set)
          Specify the base name  for  LDAP.   This  often  includes
          LDAP-specific values such as country and organization.

   ldap_cache_maxmem (numeric, default=131072)
          Specify  the  maximum memory Amd should use to cache LDAP
          entries.

   ldap_cache_seconds (numeric, default=0)
          Specify the number of seconds  to  keep  entries  in  the
          cache.

   ldap_hostports (string, default not set)
          Specify the LDAP host and port values.

   ldap_proto_version (numeric, default=2)
          Specify the version of the LDAP protocol to use.

   local_domain (string, default no sub-domain)
          Same  as  the -d option to Amd.  Specify the local domain
          name.  If this option is not given  the  domain  name  is
          determined  from  the  hostname,  by  removing  the first
          component of the fully-qualified host name.

   localhost_address (string, default to localhost or 127.0.0.1)
          Specify the name or  IP  address  for  Amd  to  use  when
          connecting  the  sockets for the local NFS server and the
          RPC server.  This defaults to 127.0.0.1 or  whatever  the
          host  reports  as  its  local address.  This parameter is
          useful on hosts with multiple addresses where you want to
          force Amd to connect to a specific address.

   log_file (string, default=/dev/stderr)
          Same as the -l option to Amd.  Specify a file name to log
          Amd events to.  If the string /dev/stderr  is  specified,
          Amd  will  send  its  events  to  the standard error file
          descriptor.  If the string  syslog  is  given,  Amd  will
          record its events with the system logger syslogd(8).  The
          default syslog facility used is LOG_DAEMON.  If you  wish
          to  change  it,  append  its  name  to the log file name,
          delimited by a single colon.  For example, if logfile  is
          the  string  syslog:local7 then Amd will log messages via
          syslog(3) using the LOG_LOCAL7 facility (if it exists  on
          the system).

   log_options (string, default=defaults)
          Same  as  the  -x  option  to  Amd.   Specify any logging
          options for Amd.  Options are comma delimited, and can be
          preceded by the string "no" to negate their meaning.  The
          "debug" logging option is only available if am-utils  was
          configured  with --enable-debug.  You can get the list of
          supported debugging and logging options  by  running  amd
          -H.  Possible values are:

          all       all messages
          defaults  default messages (fatal,error,user,warning,info)
          debug     debug messages
          error     non-fatal system errors (cannot be turned off)
          fatal     fatal errors (cannot be turned off)
          info      information
          map       map errors
          stats     additional statistical information
          user      non-fatal user errors
          warn      warnings
          warning   warnings

   map_reload_interval (numeric, default=3600)
          The number of seconds that Amd will wait before it checks
          to see if any maps have  changed  at  their  source  (NIS
          servers,  LDAP  servers,  files,  etc.).  Amd will reload
          only those maps that have changed.

   nfs_allow_any_interface (string, default=no)
          Normally  Amd  accepts  local  NFS  packets   only   from
          127.0.0.1.   If  this  parameter is set to "yes" then Amd
          will accept local NFS packets from any  local  interface;
          this is useful on hosts that may have multiple interfaces
          where the system is forced to send all  outgoing  packets
          (even  those bound to the same host) via an address other
          than 127.0.0.1.

   nfs_allow_insecure_port (string, default=no)
          Normally   Amd   will   refuse   requests   coming   from
          unprivileged ports (i.e.  ports >= 1024 on Unix systems),
          so that only privileged users and the kernel can send NFS
          requests  to it.  However, some kernels (certain versions
          of Darwin, MacOS X, and Linux) have bugs that cause  them
          to  use  unprivileged  ports in certain situations, which
          causes Amd to stop dead in its  tracks.   This  parameter
          allows  Amd  to operate normally even on such systems, at
          the expense of a slight decrease in the security  of  its
          operations.   If  you see messages like "ignoring request
          from foo:1234, port not reserved" in your  Amd  log,  try
          enabling this parameter and give it another go.

   nfs_proto (string, default to trying version tcp then udp)
          By  default,  Amd  tries  TCP  and then UDP.  This option
          forces the overall NFS protocol used to TCP or  UDP.   It
          overrides what is in the Amd maps, and is useful when Amd
          is compiled with NFSv3 support that may  not  be  stable.
          With  this  option you can turn off the complete usage of
          NFSv3 dynamically (without having to recompile Amd) until
          such time as NFSv3 support is desired again.

   nfs_retransmit_counter (numeric, default=11)
          Same  as the retransmit part of the -t timeout.retransmit
          option   to   Amd.    Specifies   the   number   of   NFS
          retransmissions  that  the kernel will use to communicate
          with Amd.

   nfs_retransmit_counter_udp (numeric, default=11)
          Same as the nfs_retransmit_counter option,  but  for  all
          UDP mounts only.

   nfs_retransmit_counter_tcp (numeric, default=11)
          Same  as  the  nfs_retransmit_counter option, but for all
          TCP mounts only.

   nfs_retransmit_counter_toplvl (numeric, default=11)
          Same as the nfs_retransmit_counter option, but  only  for
          Amd's top-level UDP mounts.

   nfs_retry_interval (numeric, default=8)
          Same  as  the  timeout  part of the -t timeout.retransmit
          option to Amd.  Specifies the NFS  timeout  interval,  in
          tenths  of  seconds, between NFS/RPC retries (for UDP and
          TCP).  This is the value that  the  kernel  will  use  to
          communicate with Amd.

          Amd  relies  on  the  kernel  RPC retransmit mechanism to
          trigger   mount   retries.     The    values    of    the
          nfs_retransmit_counter    and    the   nfs_retry_interval
          parameters change the overall retry interval.   Too  long
          an interval gives poor interactive response; too short an
          interval causes excessive retries.

   nfs_retry_interval_udp (numeric, default=8)
          Same as the nfs_retry_interval option, but  for  all  UDP
          mounts only.

   nfs_retry_interval_tcp (numeric, default=8)
          Same  as  the  nfs_retry_interval option, but for all TCP
          mounts only.

   nfs_retry_interval_toplvl (numeric, default=8)
          Same as the nfs_retry_interval option, but only for Amd's
          top-level UDP mounts.

   nfs_vers (numeric, default to trying version 3 then 2)
          By default, Amd tries version 3 and then version 2.  This
          option forces the overall NFS protocol used to version  3
          or  2.   It  overrides  what  is  in the Amd maps, and is
          useful when Amd is compiled with NFSv3 support  that  may
          not  be  stable.   With  this option you can turn off the
          complete usage of NFSv3 dynamically  (without  having  to
          recompile  Amd)  until  such  time  as  NFSv3  support is
          desired again.

   nis_domain (string, default to local NIS domain name)
          Same as the -y option to Amd.  Specify an alternative NIS
          domain  from which to fetch the NIS maps.  The default is
          the system domain name.  This option is  ignored  if  NIS
          support is not available.

   normalize_hostnames (boolean, default=no)
          Same  as  the  -n option to Amd.  If "yes," then the name
          refereed to by ${rhost} is  normalized  relative  to  the
          host  database  before  being  used.   The  effect  is to
          translate aliases into ``official'' names.

   normalize_slashes (boolean, default=yes)

          If "yes," then  Amd  will  condense  all  multiple  ``/''
          (slash)  characters  into  one  and  remove  all trailing
          slashes.  If "no," then Amd will not touch  strings  that
          may  contain repeated or trailing slashes.  The latter is
          sometimes useful with SMB  mounts,  which  often  require
          multiple slash characters in pathnames.

   os (string, default to compiled in value)
          Same as the -O option to Amd.  Allows you to override the
          compiled-in name of the operating  system.   Useful  when
          the   built-in   name   is   not   desired  for  backward
          compatibility reasons.  For example, if the build in name
          is  ``sunos5'',  you can override it to ``sos5'', and use
          older maps which were written with the latter in mind.

   osver (string, default to compiled in value)
          Same as the -o option to Amd.  Overrides the  compiled-in
          version  number of the operating system.  Useful when the
          built  in   version   is   not   desired   for   backward
          compatibility  reasons.   For  example,  if  the build in
          version is ``2.5.1'', you can override it  to  ``5.5.1'',
          and  use  older maps that were written with the latter in
          mind.

   pid_file (string, default=/dev/stdout)
          Specify a file to store the process  ID  of  the  running
          daemon  into.   If  not  specified,  Amd  will  print its
          process id onto the standard output.  Useful for  killing
          Amd after it had run.  Note that the PID of a running Amd
          can also be retrieved via amq -p.  This file is used only
          if the print_pid option is on.

   plock (boolean, default=yes)
          Same as the -S option to Amd.  If "yes," lock the running
          executable pages of Amd into memory.   To  improve  Amd's
          performance,   systems   that  support  the  plock(3)  or
          mlockall(2) call can lock the Amd  process  into  memory.
          This  way  there  is  less chance it the operating system
          will schedule, page out, and  swap  the  Amd  process  as
          needed.   This improves Amd's performance, at the cost of
          reserving the memory used by the Amd process  (making  it
          unavailable for other processes).

   portmap_program (numeric, default=300019)
          Specify  an  alternate  Port-mapper  RPC  program number,
          other than the official  number.   This  is  useful  when
          running multiple Amd processes.  For example, you can run
          another Amd in "test" mode, without affecting the primary
          Amd   process  in  any  way.   For  safety  reasons,  the
          alternate program numbers that can be specified  must  be
          in the range 300019-300029, inclusive.  Amq has an option
          -P which can be used  to  specify  an  alternate  program
          number  of an Amd to contact.  In this way, amq can fully
          control any number of Amd processes running on  the  same
          host.

   preferred_amq_port (numeric, default=0)
          Specify  an  alternate  Port-mapper  RPC  port number for
          Amd's Amq service.  This is used for both  UDP  and  TCP.
          Setting  this  value to 0 (or not defining it) will cause
          Amd to select an arbitrary port number.  Setting the  Amq
          RPC  service  port  to  a  specific  number  is useful in
          firewalled or NAT'ed environments, where you need to know
          which port Amd will listen on.

   print_pid (boolean, default=no)
          Same  as  the -p option to Amd.  If "yes," Amd will print
          its process ID upon starting.

   print_version (boolean, default=no)
          Same as the -v option to Amd, but the version prints  and
          Amd  continues  to  run.   If  "yes,"  Amd will print its
          version   information   string,   which   includes   some
          configuration and compilation values.

   restart_mounts (boolean, default=no)
          Same as the -r option to Amd.  If "yes" Amd will scan the
          mount table to determine which file systems are currently
          mounted.   Whenever  one  of  these would have been auto-
          mounted, Amd inherits it.

   show_statfs_entries (boolean), default=no)
          If "yes," then all maps which  are  browsable  will  also
          show  the  number  of  entries (keys) they have when "df"
          runs. (This is accomplished by returning non-zero  values
          to the statfs(2) system call).

   truncate_log (boolean), default=no)
          If  "yes,"  then  the log file (if it is a regular file),
          will be truncated upon startup.

   unmount_on_exit (boolean), default=no)
          If "yes," then Amd  will  attempt  to  unmount  all  file
          systems  which  it  knows about.  Normally Amd leaves all
          (esp. NFS) mounted file systems intact.   Note  that  Amd
          does not know about file systems mounted before it starts
          up, unless the restart_mounts option or -r flag are used.

   use_tcpwrappers (boolean), default=yes)
          If "yes," then Amd will use the tcpd/librwap  tcpwrappers
          library  (if  available) to control access to Amd via the
          /etc/hosts.allow and /etc/hosts.deny files.

   vendor (string, default to compiled in value)
          The  name  of  the  vendor  of  the   operating   system.
          Overrides  the  compiled-in vendor name.  Useful when the
          compiled-in name is not desired.  For example, most Intel
          based systems set the vendor name to ``unknown'', but you
          can set it to ``redhat.''

   Parameters applicable to regular map sections
   map_name (string, must be specified)
          Name of the map where the keys are located.

   tag (string, default no tag)
          Each map entry in the configuration file can  be  tagged.
          If  no  tag is specified, that map section will always be
          processed by Amd.  If it  is  specified,  then  Amd  will
          process  the  map  if the -T option was given to Amd, and
          the value given to that command-line option matches  that
          in the map section.

EXAMPLES

   Here is a real Amd configuration file I use daily.

   # GLOBAL OPTIONS SECTION
   [ global ]
   normalize_hostnames =    no
   print_pid =              no
   restart_mounts =         yes
   auto_dir =               /n
   log_file =               /var/log/amd
   log_options =            all
   #debug_options =         all
   plock =                  no
   selectors_in_defaults =  yes
   # config.guess picks up "sunos5" and I don't want to edit my maps yet
   os =                     sos5
   # if you print_version after setting up "os," it will show it.
   print_version =          no
   map_type =               file
   search_path =            /etc/amdmaps:/usr/lib/amd:/usr/local/AMD/lib
   browsable_dirs =         yes

   # DEFINE AN AMD MOUNT POINT
   [ /u ]
   map_name =               amd.u

   [ /proj ]
   map_name =               amd.proj

   [ /src ]
   map_name =               amd.src

   [ /misc ]
   map_name =               amd.misc

   [ /import ]
   map_name =               amd.import

   [ /tftpboot/.amd ]
   tag =                    tftpboot
   map_name =               amd.tftpboot

SEE ALSO

   amd(8), amq(8), ctl-amd(8), automount(8), hosts_access(5).

   ``am-utils'' info(1) entry.

   Linux  NFS  and  Automounter  Administration by Erez Zadok, ISBN
   0-7821-2739-8, (Sybex, 2001).

   http://www.am-utils.org

   Amd - The 4.4 BSD Automounter

AUTHORS

   Erez Zadok  <[email protected]>,  Computer  Science  Department,
   Stony Brook University, Stony Brook, New York, USA.

   Other  authors  and  contributors  to am-utils are listed in the
   AUTHORS file distributed with am-utils.

                             7 August 1997                     AMD.CONF(5)



Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.


Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.


Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.