環境変数

CORESERVER

環境変数

 状態:不明  閲覧数:2,891  投稿日:2010-10-20  更新日:2010-10-20
パスとかよく分からないので、もう一度よく調べてみることにする。

まずは、現状。

FFFTPで確認。

/直下に
・.bashrc
・.pearrc
/lib/PEAR/直下に
・pear.conf

の計三つある。

■.bashrc(シェルにbashを利用している場合に、ホームディレクトリに存在する「.bashrc」という隠し属性(ドット)ファイル)
export PATH=$HOME/lib/ZendGdata/library:$HOME/lib/ZendGdata/library/Zend:$PATH:$HOME/local/bin:$HOME/local/lib/ruby/gem/bin:
export RUBYLIB=$HOME/local/lib/:$HOME/loca/lib/ruby
export GEM_HOME=$HOME/local/lib/ruby/gem

■.pearrc
#PEAR_Config 0.9
a:2:{s:10:"__channels";a:2:{s:12:"pecl.php.net";a:0:{}s:5:"__uri";a:0:{}}s:7:"php_dir";s:18:"/usr/local/lib/php";}

■pear.conf(実際には改行はありません)
#PEAR_Config 0.9
a:12:{s:10:"__channels";a:3:{s:12:"pecl.php.net";a:0:{}s:5:"__uri";a:0:{}s:11:"doc.php.net";a:0:{}}s:15:"preferred_state";s:6:"stable";
s:8:"temp_dir";s:26:"/virtual/ユーザー名/lib/PEAR/temp";
s:7:"bin_dir";s:25:"/virtual/ユーザー名/lib/PEAR/bin";
s:7:"php_dir";s:26:"/virtual/ユーザー名/lib/PEAR/PEAR";
s:7:"doc_dir";s:31:"/virtual/ユーザー名/lib/PEAR/PEAR/docs";
s:8:"data_dir";s:31:"/virtual/ユーザー名/lib/PEAR/PEAR/data";
s:8:"test_dir";s:32:"/virtual/ユーザー名/lib/PEAR/PEAR/tests";
s:9:"cache_dir";s:32:"/virtual/ユーザー名/lib/PEAR/PEAR/cache";s:9:"cache_ttl";i:300;
s:12:"download_dir";s:35:"/virtual/ユーザー名/lib/PEAR/temp/download";s:10:"http_proxy";s:0:"";}

→見方が分からない。


■set
>環境変数
>パス設定を始めとする変数のことを指し,OS上で管理されている属性情報のようなもの。
>setコマンドで環境変数を表示
▽ITmedia エンタープライズ : Linux Tips「環境変数って何?」
  http://www.itmedia.co.jp/help/tips/linux/l0023.html

:~> set
GEM_HOME=/virtual/ユーザー名/local/lib/ruby/gem
HOME=/virtual/ユーザー名
PATH=/virtual/ユーザー名/lib/ZendGdata/library:/virtual/ユーザー名/lib/ZendGdata/library/Zend:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin:/usr/local/mysql/bin:/usr/local/mysql/libexec:/usr/local/pgsql/bin:/virtual/ユーザー名/local/bin:/virtual/ユーザー名/local/lib/ruby/gem/bin:
PWD=/virtual/ユーザー名
RUBYLIB=/virtual/ユーザー名/local/lib/:/virtual/ユーザー名/loca/lib/ruby

→ふーむ、どうやら、.bashrcで設定した内容が反映されているらしいことが、setコマンドで分かった。


■set|grep PATH(setコマンドに検索オプションを付けたようなもの)
>現在ログイン中のユーザーパス設定が見られる


■そもそも、パスの設定には、大きく二通りある。

▼1.その場限り(ログイン中あるいは次のパス設定まで)の、実行コマンドを操作するためのパス追加方法
▼2.次回のログイン時にも有効になるよう追加したいパスを保存しておく方法


▼1.その場限り(ログイン中あるいは次のパス設定まで)の、実行コマンドを操作するためのパス追加方法
$ export PATH=[追加path]:[追加path]
$ export PATH=/etc/rc.d/init.d:/sbin
▽ITmedia エンタープライズ : Linux Tips「手軽にパスを追加したい」
  http://www.itmedia.co.jp/help/tips/linux/l0032.html


▼2.次回のログイン時にも有効になるよう追加したいパスを保存しておく方法
シェルにbashを利用している場合、ホームディレクトリ(/直下)に「.bashrc」という隠し属性(ドット)ファイルがあるので、このファイルをviエディタなどで読み込み、編集すればよい(直編集しても多分、可)。
PATH=$HOME/lib/ZendGdata/library:$HOME/lib/ZendGdata/library/Zend
「:」に続くパス(ここでは,$HOME/lib/ZendGdata/library/Zendディレクトリ)を追加する意味

なお、設定内容をすぐに反映したい場合には,下記コマンド実行。ただし,実行しなくても次回のログイン時には有効になっている。また,反映されているかどうかを確認するためには,プロンプト上で「set|grep PATH」と入力すればよい。
source ~/.bashrc
▽ITmedia エンタープライズ : Linux Tips「パスを追加したい~.bashrc編~」
  http://www.itmedia.co.jp/help/tips/linux/l0284.html


ここまでは、何となく分かった。

問題は、pear。
そもそも、.pearrcとpear.confと、何で#PEAR_Config 0.9が二つもあるの?
おかしくない?


■pear config-show
まずは、現状確認
:~> pear config-show
Configuration (channel pear.php.net):
=====================================
Auto-discover new Channels auto_discover <not set>
Default Channel default_channel pear.php.net
HTTP Proxy Server Address http_proxy <not set>
PEAR server [DEPRECATED] master_server pear.php.net
Default Channel Mirror preferred_mirror pear.php.net
Remote Configuration File remote_config <not set>
PEAR executables directory bin_dir /usr/local/bin
PEAR documentation directory doc_dir /usr/local/lib/php/doc
PHP extension directory ext_dir /usr/local/lib/php/extensions/no-debug-non-zts-20060613
PEAR directory php_dir /usr/local/lib/php
PEAR Installer cache directory cache_dir /tmp/pear/cache
PEAR data directory data_dir /usr/local/lib/php/data
PEAR Installer download download_dir /tmp/pear/cache
directory
PHP CLI/CGI binary php_bin /usr/local/bin/php
php.ini location php_ini <not set>
PEAR Installer temp directory temp_dir /tmp/pear/temp
PEAR test directory test_dir /usr/local/lib/php/test
Cache TimeToLive cache_ttl 3600
Preferred Package State preferred_state stable
Unix file mask umask 22
Debug Log Level verbose 1
PEAR password (for password <not set>
maintainers)
Signature Handling Program sig_bin /usr/local/bin/gpg
Signature Key Directory sig_keydir /usr/local/etc/pearkeys
Signature Key Id sig_keyid <not set>
Package Signature Type sig_type gpg
PEAR username (for username <not set>
maintainers)
User Configuration File Filename /virtual/ユーザー名/.pearrc
System Configuration File Filename /usr/local/etc/pear.conf

→User Configuration File /virtual/ユーザー名/.pearrcとあるので、このファイルを読み込んでいることが分かる。そうすると、問題は、pear.confだな。これ、どういう目的で、いつ作ったんだ?


仮説1
・pathに、PEARがインストールパスを通す

仮説2
・pearrcを、pear.confの内容に書き換える。


どっちもいけるような気がするが、どっちが正解なのだろうか? あるいは、正解とかないとか?
全くわからねー。


chshでデフォルトのシェルをbashに変更

ユーザー掲示板