リンク

言語変更

CentOS に限った話ではないけど、LANG が ja_JP.UTF-8 になっていると、PuTTY などでリモートアクセスしている際に設定の不一致によって文字化けることがある。

特に、1台目のリモートアクセス先はいいけど、その先とでは使う文字コードが異なる場合が困る。

こういう状況では素直に英語で来てくれるのが良いので、以下を実行。

export LANG=C

これでデフォルト表示(英語)になる。

ブート時にシングルユーザモードで起動する

CentOS に限ったことではないけど、LILO や GRUB で起動時にカーネルを選択するところで、'a' キーを押して、行末に single とつければOK

異常時等でルート用のディスクがread onlyでマウントされている場合

ブート時にファイルシステムを正常にマウントできなかった場合など、root でログインした際に ルート(/)のディスクが Read Only でマウントされてしまっていて、ファイルの編集ができない場合がある。

その場合は、読み書きモードにてリマウントする。以下は例。

mount -t ext4 -o rw,remount /dev/sda1 /

ホスト名変更

hostname コマンドでやってもその場だけ。

/etc/sysconfig/network ファイルにある、HOSTNAME 行を書き換えて再起動する。

バージョン確認

/etc/redhat-release ファイルに記載されている

# cat redhat-release
CentOS release 5.7 (Final)

shutdown ユーザがログインしたら shutdown させる

実現に必要なのは次の3つの手順

1. shutdown ユーザのログインシェルを書き換える。root 権限で、vipw コマンドを実行。

 /sbin/shutdown → /sbin/shutdown -h now

2. shutdown ユーザのパスワードを設定する

passwd shutdown

3. テストする

shutdown ユーザでログインしてみる。

これで、shutdown が始まれば OK 。

しかし、shutdown ユーザって最初からシステムに登録されているんですね。

ホームディレクトリのパーミッションが 700 になっている

RHEL / CentOS にて作業中、useradd -m した時に作られるホームディレクトリのパーミッションが 700 になってることに気がついた。

FreeBSD だと 755 なんだけどな… と思って、調べてみると、/etc/login.defs に UMASK 定義があり、ここで制御しているようだ。

この値を 022 に変更してから useradd -m を試してみると、ホームディレクトリのパーミッションは 755 になった。

こんなファイルがあるのな。

VMWare Workstationの仮想マシンにする場合

仮想マシンのひな形には、RedHat? Enterprise Linux 4を選択する。

他の(たとえばOther Linux 2.6)を選んでもインストールはできるが、VMWare Toolsが動かなかったり、インストールに失敗したりする。

ただ、RHEL4を選択して、VMWareTools?をインストールしても、いまいち。

Ctrl+Altを押さなくても、マウスカーソルがホストOSまで帰ってくるようにはなったものの、CentOS側の画面の解像度が800x600までしか対応してないのは変化なし。 vmware-config.plを起動して設定をしてから再起動すると、今度はXが立ち上がれず、結局800x600に戻ってしまう。

VMWare Workstationは5系の最新を使っているが、6系だといいのかな…

sudoの挙動

sudoは、1.6.8-p12-12.el5 が入っていたが、

sudo -s

としてroot権限を持った場合と、

su -

としてrootになった場合とで、$PATHに違いが出た。

(sudo -s)
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/admin/bin
(su -)
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

/sbinに通ってないと、結構不便。

違いが出ることの理由はいいんだけど、どこを設定すれば sudo -sした際の$PATHに/sbinを含ませられるようになるのかを知りたい。

よく調べてみたら、sudo -sの場合、PATHは"sudoを実行したユーザのPATHを引き継ぐ"と言うことが分かった。

なので、sudo実行ユーザの.bash_profileなどで、PATHに/sbinを追加しておいてからsudo -s すれば、ちゃんと/sbinにパスが通るようになった。

ネットワークインストールの場合

FTPインストールとして、

FTPサイト:ftp.riken.go.jp
ロケーション:/Linux/centos/5.2/os/i386

とすればOK。

ブート用のCD-ROM ISOイメージは、ダウンロードサイトに、他のCDイメージと並んで、「CentOS-5.2-i386-netinstall.iso」があるので、ダウンロードしてきて、CDに焼く。

サイズが、7.7MBと非常に小さいのでダウンロードも簡単。

useradd したら .ssh と関連ファイルを作る

CentOS に特化した話ではないけど、

/etc/skel の下に、.ssh ディレクトリを作って、chmod 700、その下に authorized_keys を touch して、chmod 600 しておくと、いちいち手動で作らなくてらくちん

# mkdir /etc/skel/.ssh
# chmod 700 /etc/skel/.ssh
# touch /etc/skel/.ssh/authorized_keys
# chmod 600 /etc/skel/.ssh/authorized_keys

パッケージ情報をバージョンも含めて細かくCSVで取り出す

こんなコマンドが使える

rpm -qa --qf '%{NAME},%{ARCH},%{VERSION},%{RELEASE}\n'

ポートをつかんでいるプロセスを探す

例えば 80/TCP をつかんでいるプロセスを探したい場合

# fuser -n tcp 80
80/tcp:               3313  3323  3324  3325  3326  3329  3330  3331  3332

あとは、

# ps ax | grep 3313
3313 ?        Ss     0:00 /usr/sbin/httpd

こんな感じで、httpd がつかんでいることが分かる


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS