Archive for the 'linux' Category

linux:ホスト名の設定方法

# vi /etc/sysconfig/network
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=xxxxxxx
GATEWAY=192.168.1.1

ネットワークデバイスを再起動する

# /etc/init.d/network restart

centOS:yum-cronの設定

パッケージ更新のダウンロードまでは自動でやっておいて欲しいのでyum-cronをインストールした。
そのメモ。

# yum install yum-cron

インストールされた内容は

# rpm -ql yum-cron
/etc/cron.daily/yum.cron
/etc/cron.weekly/yum.cron
/etc/rc.d/init.d/yum-cron
/etc/sysconfig/yum-cron
/etc/yum/yum-daily.yum
/usr/share/doc/yum-cron-0.6
/usr/share/doc/yum-cron-0.6/COPYING
/usr/share/doc/yum-cron-0.6/README

設定ファイルは/etc/sysconfig/yum-cron。
初期状態だとパッケージ更新まで自動で行うようになっているので、設定ファイルを変更する。httpdのように更新を反映するのにrestartが必要なパッケージが放置されないように、当分は更新チェック、ダウンロードまで自動。アップデートは手動で行うつもり。

/etc/sysconfig/yum-cron
# Don’t install, just check (valid: yes|no)
CHECK_ONLY=yes
# Don’t install, just check and download (valid: yes|no)
# Implies CHECK_ONLY=yes (gotta check first to see what to download)
DOWNLOAD_ONLY=yes

設定したらyum-cronの再起動する。

# /etc/init.d/yum-cron restart
# yum check-update

これでrootにメールが来るようになる。

最後にyum-updatesdを止める。

# /etc/init.d/yum-updatesd stop
# /sbin/chkconfig yum-updatesd off

postfix:インストールとmtaの切り替え

sendmailが入っているサーバにpostfixを入れるメモ。

まず、postfixのインストール

# yum install postfix

次に設定。/etc/postfix/main.cfに記述する。

# cp /etc/postfix/main.cf /etc/postfix/main.cf.org
# vi /etc/postfix/main.cf
/etc/postfix/main.cf
myhostname = 自ホスト名
mydomain = $mydomain
myorigin = $mydomain
#inet_interfaces = all
inet_interfaces = localhost
mynetworks_style = host
mynetworks = xxx.xxx.xxx.xxx
smtpd_banner = $myhostname ESMTP
home_mailbox = Maildir/
main.cfのパラメタ抜粋
パラメータ名 説明
myhostname 自ホスト名
DNSで引けるドメイン名であること。
mydomain 自ドメイン名
postfixの名前解決に使用する。ホスト名を省略したとき、このlocalhost.$mydomainに送信される。
mynetworks_style 信頼できるSMTPクライアントアドレス
host,subnet,classが指定できる。
mynetworks 信頼できるSMTPクライアントアドレス
mynetworks_styleよりも詳細に設定するときに使う。,(カンマ)またはスペースで区切ってsabunetをいくつも設定できる。ここを設定するとmynetworks_styleは無視される。
home_mailbox mailboxの形式

mtaの切り替え。

# /usr/sbin/alternatives --config mta

There are 2 programs which provide 'mta'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.sendmail
   2           /usr/sbin/sendmail.postfix

Enter to keep the current selection[+], or type selection number:

ここでpostfix・・・2を選ぶ。

設定したらpostfixを起動&initスクリプトの登録。

# /etc/init.d/postfix start
# /sbin/chkconfig postfix on

sendmailは止める。

# /etc/init.d/sendmail stop
# /sbin/chkconfig sendmail off

必ず不正中継のテストをすること。 Mail relay testing

centOS:CentOS:yumのCtrl+Cとyum-fastestmirror

知らなかったこと。
yumでパッケージをアップデートしようしていてパッケージが少しずつしか落ちてこないから、Ctrl+Cで中断しようとしたら勝手にミラーが替わって続きからダウンロードされた。
更新は異常ないみたいだけど、こんな機能あったんだ。

今回の更新でyum-fastestmirrorが入ったからもうこの機能を活用することはなさそうだけど。

今日はもう一台更新する必要があったので、そっちはちゃんと先にyum-fastestmirrorを入れた。少しだけ時間を得したはず。

# yum install yum-fastestmirror
# yum check-update
Loading "fastestmirror" plugin
・・・
# yum update

linux:/etc/rc.d/init.d/と/etc/init.d/

/etc/rc.d/init.d/は手動起動するデーモンのinitスクリプトを置くところ。SLES9*1では/etc/init.d/が手動起動するデーモンのinitスクリプトを置くところ。
RHEL4*2の/etc/init.d/は/etc/rc.d/init.d/ にシンボリックリンクしている。ので、どっちを使っても同じ。

/etc/rc.d/rc[0-6].d/はランレベルごとのデーモン起動スクリプトを配置するところ。
実際は手動起動するinitスクリプトにシンボリックリンクを設定する。

chkconfigまたはinsservコマンドでこのシンボリックリンクを作成できる。

chkconfig httpd on      #有効にする
chkconfig httpd off     #無効にする

insserv httpd           #有効にする
insserv -r httpd        #無効にする

各ランレベルに何のデーモンが登録されているかは下記のコマンドで確認できる。

 ls -l /etc/rc.d/rc3.d/

リンクファイル先頭のK[0-9]{2}やS[0-9]{2}は起動の順序を調整するためにある。

ランレベルは0~6まで。

ランレベル システム状態
0 システム停止
1 シングルユーザモード
2 ローカルマルチユーザモード(NFSなどはなし)
3 フルマルチユーザモード(テキストコンソール)
4 未使用
5 フルマルチユーザモード(グラフィカル環境)
6 システム再起動

通常はランレベル3か5を設定する。3と5の違いはCUIかGUIか。GUIを使用しないデーモンなら3で設定する。
但しランレベル3でも”startx”コマンドによりGUIを使用できるので、全部3で運用しても良い。むしろその方がシステムリソースが節約され安定するらしい。

ランレベル1はバックアップ等、ファイルの整合性を保ちたいときに使用する。

*1SLES9 … Novell SUSE LINUX Enterprise Server 9
*2RHEL4 … Red Hat Enterprise Linux 4

.bashrcと.bash_profile

.bashrcはbashを起動する度に読み込まれる。/etc/bashrcを読み込む。
.bash_profileはログインしたときに読み込まれる。/etc/bash_profileを読み込む。ログインしたときは.bashrcも読み込む。

.bashrcに記述したものは再ログインしなくても、bashコマンドでbashを起動するだけで反映される。

.bash_profileの変更はは再ログインしたときに読み込まれる。

以上の違いから環境変数は.bash_profile、エイリアスは.bashrcに書くのが一般的らしい。

sourceコマンドで.bashrc、.bash_profileを再読込するならどっちでも同じなので
全部.bashrcに書いてもかまわない。

« 前ページへ