Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-7610

/etc/profile.d does not exist on Debian



    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    •, 0.23.0
    •, 0.23.0
    • scripts
    • None
    • Java 6, Debian

    • Reviewed


      As part of post installation script, there is a symlink created in /etc/profile.d/hadoop-env.sh to source /etc/hadoop/hadoop-env.sh. Therefore, users do not need to configure HADOOP_* environment. Unfortunately, /etc/profile.d only exists in Ubuntu. Section 9.9 of the Debian Policy states:

      A program must not depend on environment variables to get reasonable defaults. (That's because these environment variables would have to be set in a system-wide configuration file like /etc/profile, which is not supported by all shells.)

      If a program usually depends on environment variables for its configuration, the program should be changed to fall back to a reasonable default configuration if these environment variables are not present. If this cannot be done easily (e.g., if the source code of a non-free program is not available), the program must be replaced by a small "wrapper" shell script which sets the environment variables if they are not already defined, and calls the original program.

      Here is an example of a wrapper script for this purpose:

           export BAR
           exec /usr/lib/foo/foo "$@"

      Furthermore, as /etc/profile is a configuration file of the base-files package, other packages must not put any environment variables or other commands into that file.

      Hence the default environment setup should skip for Debian.


        1. HADOOP-7610.patch
          1 kB
          Eric Yang
        2. HADOOP-7610-branch-0.20-security.patch
          0.9 kB
          Eric Yang



            eyang Eric Yang
            eyang Eric Yang
            0 Vote for this issue
            2 Start watching this issue