IT pass HikiWiki - [Memo2017][ITPASS]パスの設定 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

{{toc}}

[((<[ITPASS2017]2017年度サーバ構築ログ>)) へ戻る]

== #== 概要


#
#
環境変数 PATH や man に関する環境変数
(MANDATORY_MANPATH, #(MANDATORY_MANPATH, MANPATH_MAP, MANDB_MAP) に関して,
#システム側でデフォルト値を設定する方法について記す.

((*

#
#((*
注意: このページは各プログラムの設定の中で,
#パスを設定する必要があるときに参照すること.*))


#
#
環境変数 PATH は, 使用するシェル毎に異なった設定ファイルから読み込まれる.


#
#
なお, ITPASS サーバでは管理者アカウントを利用する際に, sudo を
#用いることを前提としているため, 多少冗長に設定を行っている部分がある.

= 各シェルの設定

#以下に従い, <一般ユーザ用コマンドのパス>, <システム管理用コマンドのパス> の部分に PATH に追加したいパスを書き加えること.

=== sh, bash

下の記述を確認した. 作業は行わなかった.

/etc/bash.bashrc の((*冒頭*))に以下の記述を追加する.

   # add PATH for local installed softwares
   PATH="${PATH}:<一般ユーザ用コマンドのパス>"
   # add PATH for local installed softwares (for root)
   if [ "`id -u`" -eq 0 ]; then
   PATH="${PATH}:<システム管理用コマンドのパス>"
   fi
  
   export PATH

=== csh,tcsh

#もし csh が入っていない場合は apt-get で install しておく.
csh, tcsh がインストールされていなかったため, インストールした.

# apt-get install csh tcsh


下の記述を確認した.
/etc/csh/cshrc はなかったが, /etc/csh/csh.cshrc があった.
また, 作業は行わなかった.

/etc/csh/cshrc (デフォルトでこのファイルが無ければ作成する)の((*冒頭*))に以下の記述を追加する.

  # add PATH for local installed softwares
  set path = ($path /usr/local/bin /usr/bin /bin <一般ユーザ用コマンドのパス>)
  # add PATH for local installed softwares (for root)
  if ( "`id -u`" == 0 ) then
  set path = ($path /usr/local/sbin /usr/sbin /sbin <システム管理用コマンドのパス>)
  endif


=== zsh

#もし zsh が入っていない場合は apt-get で install しておく.

zsh がインストールされていなかったため, インストールした.

# apt-get install zsh


下の記述を確認した. 作業は行わなかった.

/etc/zsh/zshenv (デフォルトでこのファイルが無ければ作成する)に以下の記述を追加する.

  #
  # This file should contain commands to set the command
  # search path, plus other important environment variables.
  # This file should not contain commands that produce
  # output or assume the shell is attached to a tty.
  #
  # Global Order: zshenv, zprofile, zshrc, zlogin
  
  if [[ -z "$PATH" || "$PATH" == "/bin:/usr/bin" ]]
  then
          export PATH="/usr/local/bin:/usr/bin:/bin:/usr/games"
  fi
  
  # add PATH for local installed softwares
  export PATH="$PATH:<一般ユーザ用コマンドのパス>"
  
  # add PATH for local installed softwares (for root)
  if [ "`id -u`" -eq 0 ]; then
          export PATH="$PATH:<システム管理用コマンドのパス>"
  fi
  
  # delete duplicated path setting
  typeset -U path


== man 関連のパスの設定

以下の記述を確認した.
現時点では追加するべきパスはないため, 作業は行わなかった.


man に関連するパスの設定は /etc/manpath.config にて行う. 設定する環境変数としては,

* MANDATORY_MANPATH
* MANPATH_MAP
* MANDB_MAP

があり, 以下のように設定値を記述する (manpath.config ファイルの冒頭部参照).

  MANDATORY_MANPATH                     manpath_element
  MANPATH_MAP           path_element    manpath_element
  MANDB_MAP             global_manpath  [relative_catpath]

例えば, Apache2 に関する man 形式のマニュアルが以下のように配置されて
いたとする.

  $ tree /usr/local/apache2/man/

  /usr/local/apache2/man/
  |-- man1/
  |   |-- dbmmanage.1
  |   |-- htdbm.1
  |   |-- htdigest.1
  |   `-- htpasswd.1
  `-- man8/
      |-- ab.8
      |-- apachectl.8
      |-- apxs.8
      |-- htcacheclean.8
      |-- httpd.8
      |-- logresolve.8
      |-- rotatelogs.8
      `-- suexec.8

この場合, それぞれの環境変数に関して, 以下のような記述を /etc/manpath.config に記述すると良い.

  MANDATORY_MANPATH                          /usr/local/apache2/man
  MANPATH_MAP        /usr/local/apache2/bin  /usr/local/apache2/man
  MANDB_MAP          /usr/local/apache2/man  /usr/local/apache2/man

[((<[ITPASS2017]2017年度サーバ構築ログ>)) へ戻る]