Linuxあれこれメモ(主にCentOS5.8)

More than 5 years have passed since last update.

何かと忘れたりハマることが多かったもののメモ


★/etc/init.d/にある起動スクリプトたち

/etc/init.d/httpd restartは下記のように実行できる

service httpd restart
chkconfig --add httpd でサービス登録


★/usr/binと/usr/local/binの違い

システムの標準は/usr/bin、

そうでないものは/usr/local/bin
yumでアップデートされるのは/usr/bin

「システム管理者が自分でコンパイルしたアプリケーションをインストールする場所が/usr/local/bin」
基本的にはコマンドは/usr/local/binから先に探すようになってる
順番はecho $PATHで確認


コマンドのパスの設定で、

/usr/binよりも、
/usr/local/binの方が優先的に使われるように設定している場合、
/usr/local/binにコマンドの最新版を入れるだけで、
最新のコマンドを利用することができます。
もし、最新のコマンド版のコマンドが正常に動作しなくても、
/usr/local/bin以下の実行ファイルを削除するだけで元に戻すことができます。


★自作スクリプト

/home/ユーザー名/bin(script)



★効率的なソフト管理法

# シンボリックリンクを使って複数バージョンを管理

/usr/local/
/usr/local/ ┬ app/ ┬ php → php-5.3
│ ├ nginx → nginx-1.0.14
│ ├ apache → apache-2.2
│ ├ nginx-1.0.14/ ┬ sbin/nginx
│ │ └ logs/ ─ error.log
│ ├ php-5.4/ ┬ bin/ ┬ php
│ │ │ └ pear
│ │ └ man/
│ ├ php-5.3/ ┬ bin/ ┬ php
│ │ │ └ pear
│ │ └ man/
│ └ apache-2.2/ ┬ bin/apachectl
│ ├ conf/httpd.conf
│ └ log/error_log
├ bin/ ┬ php → ../app/php/bin/php
│ ├ apachectl → ../app/apache/bin/apachectl
│ └ pear → ../app/php/bin/pear
├ include/ ─ php → ../app/php/include
└ sbin/ ─ nginx → ../app/nginx/sbin/nginx


★基本的なフォルダ構成

/ ルートディレクトリ

├ /bin 基本コマンド
├ /boot 起動に必要なファイル
├ /dev デバイスファイル
├ /etc 設定ファイル
├ /home(オプション) ユーザーのホームディレクトリ
├ /lib 共有ライブラリ
├ /lib<qual>(オプション)  
├ /mnt 一時的なマウントポイント
├ /opt 追加アプリケーション
├ /proc(Linux固有) プロセス情報など
├ /root(オプション) root用ホームディレクトリ
├ /sbin システム管理用コマンドなど
├ /tmp 一時的なファイル
├ /usr 各種プログラムなど
└ /var 変更されるデータ


★LD_LIBRARY_PATHを全ユーザに反映させるには(linux)

ライブラリが反映されないときはパスを追加しよう

/etc/ld.so.conf.d/*.conf に追加したいパスを書いて、ldconfigコマンドを実行する。
ld.so.confは直接編集しない!


★※何かソースから入れるときはこれは必須だね!!

sudo su -

echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_path.conf
echo /usr/local/lib64 >> /etc/ld.so.conf.d/usr_local_path.conf
ldconfig


★configureにつかうpkgconfig

# 一時的な対応

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
# 再起動後も対応
vi /etc/profile.d/pkg-config.sh
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH


★yum設定

vi /etc/yum.repos.d/CentOS-Base.repo

[centosplus]
enabled=0 ⇒ 1
yum update


★メモリ解放

#------memory-usage----- ----total-cpu-usage---- -dsk/total-

# used buff cach free|usr sys idl wai hiq siq| read writ
# 100M 24M 135M 238M| 0 0 100 0 0 1| 0 0
# 98M 248k 12M 387M| 1 2 96 1 1 0| 960k 1272k

# 2がいいよ。3は重くなるかもよ。

sync && echo 1 > /proc/sys/vm/drop_caches #ページキャッシュ
sync && echo 2 > /proc/sys/vm/drop_caches #ダーティページ,inodeキャッシュ
sync && echo 3 > /proc/sys/vm/drop_caches #ベージキャッシュ,ダーティページ,inode