Edit
yum

yum は標準インストールリポジトリと、yum-prioritiesプラグインがある。このyum-prioritiesを追加するには、下記のコマンドを実行する。

# yum -y install yum-priorities

参考リンク 公式ページ

Edit
Install

基本的にはCentOSのディストリビューションに入っているので、別途インストール必要はありませんが、いろいろ困ったときのために。

Intltoolのインストール(すでにインストールされていれば不必要)
# wget http://download.gnome.org/sources/intltool/0.40/intltool-0.40.6.tar.gz
# tar zxvf intltool-0.40.6.tar.gz
# cd intltool-0.40.6
# ./configure
# make
# make install
Yumのインストール
# wget http://yum.baseurl.org/download/3.2/yum-3.2.25.tar.gz
# tar zxvf yum-3.2.25.tar.gz
# cd yum-3.2.25
# make
# make DESTDIR=/ install
Yumのユーティリティのインストール(必要に応じて)
# wget http://yum.baseurl.org/download/yum-utils/yum-utils-1.1.24.tar.gz
# tar zxvf yum-utils-1.1.24.tar.gz
# make                                         <- 無駄なファイル削除だけ
# make install
RPMのインストール
# wget http://rpm.org/releases/rpm-4.7.x/rpm-4.7.2.tar.bz2
# bunzip2 rpm-4.7.2.tar.bz2
# tar xvf rpm-4.7.2.tar
# cd rpm-4.7.2
# ./configure --enable-python
# make
# make install

Edit
UPDATE

CentOSのアップデートには、以下のコマンドで対応できる。(CentOS 5移行)

yum update

また、アップデートされた情報を確認するには以下のコマンドを利用する。

rpm -q centos-release

Edit
メモリ管理コマンド

現在のメモリーの空き状態などを確認できる。

# free

現在のプロセス別のメモリ状態などを確認できる。

# top

Edit
ルーティング

Edit
ルートの追加

自分のセグメント 192.168.0.0 に、他のセグメントである、192.168.1.0 のセグメントとつながっている、ゲートウェイ 192.168.0.2 を設定する。(最後のeth0 はどのインターフェイルからかという指定だが、指定しなくても問題無い)

# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.2 eth0

Edit
ルートの削除

指定したセグメントのルート情報を削除する。

# route del -net 192.168.1.0 netmask 255.255.255.0

Edit
現在のルート情報の表示

# route

Edit
ファイラー

MSDOSの時代には非常にいろいろなファイラーと呼ばれる、CUIベースの擬似GUIファイル管理ソフトをファイラーと呼んでいた。有志によって、Linuxにも移植されたので紹介しておく。公式ページ

# wget http://hp.vector.co.jp/authors/VA012337/soft/fd/FD-3.00i.tar.gz
# yum install ncurses-devel
# rpmbuild -tb FD-3.00i.tar.gz
# cd /usr/src/redhat/RPMS/i386
# rpm -ivh FDclone-3.00i-1.i386.rpm

設定ファイルを修正する。

# emacs /etc/fd2rc
  ANSICOLOR=1
  SORTTYPE=1
  LANGUAGE="UTF-8"
  DEFKCODE="UTF-8"
  FNAMEKCODE="UTF-8"
  URLKCODE="UTF-8"
  UNICODEBUFFER=1

Edit
プロセスの紹介

irqbalanceマルチCPU環境で2nd CPU移行も割り込み処理を行なう事が出来るようにするプロセス。これによりマルチCPUシステムのパフォーマンスが上がる。1CPUのマシンでは使う意味は無い。確認方法は、cat /proc/interrupts
auditdシステム監視機能、/etc/audit.rulesにログを取得する条件(cpを実行した場合)などを記述することで、cp コマンド実行後、コマンド実行に関するログを出力する
acpidホスト機の動作と電源を管理し、省電力のための休止状態をサポートするデーモン。サーバ用には不必要
anacroncronではその実行予定時刻にシステムが稼動していない場合には実行がキャンセルされるため、サーバ等では遅れても確実に実行されるanacronを入れておくことが多い
apmdバッテリーの制御を行う。バッテリーシステムがAPM(Advanced Power Management)に準拠している必要がある
avahi-daemonLAN上のIP機器を、DNSサーバーなどの所在地情報サーバーに頼らずに検知し、自動的に動作させる仕組みを与えるデーモン
avahi-dnsconfd
bluetoothいわずと知れた、BlueTooth用のデーモン
haldハードウェア抽象化層デーモン(Hardware Abstraction Layer Daemon)
hald-runner
hald-addon-acpi
hald-addon-storage
dnsmasqBINDでDNSを構築するまでもない、小規模LANに最適なhostsベースなDNSサーバ。XENにおいてはゲストOSに導入されている場合がある

XEN仮想マシンの場合の特殊デーモン

libvirtdlibvirtは仮想機械の制御を抽象化したライブラリである。デーモンとしては、仮想スイッチなど仮想化されたOSとホストOSとの接続などの管理を行うWikipedia
xenconsoledゲストOSへのコンソール接続のための必須デーモン。起動していない場合には、ゲストOSに接続できない

Edit
Which コマンドと実際のPATHの動作が違う場合がある問題

Linuxでは、PATHの検索を高速化させるために、Dentryやinodeなどのキャッシュ機構が備わっている。しかし、新しいプログラムを導入した場合など、古い位置に存在するキャッシュのために、whichコマンドの挙動がおかしくなる場合がある。その場合には、下記のコマンドでキャッシュをクリアするとよい。

# sync                                    <- まじない
# echo 1 > /proc/sys/vm/drop_caches       <- PageCache のクリア
# echo 2 > /proc/sys/vm/drop_caches       <- Dentry, inode のクリア

それでもダメな場合には、以下のコマンドデータベース(Linuxが自動的に1日1回更新している)を、手動で更新すると良いと思われる。

# updatedb

Edit
パスワードファイル

Linuxでは、パスワードファイルはセキュリティの関係からアカウントの情報を記録する /etc/passwd ファイルと、パスワードを暗号化して保存しておく、/etc/shadow の2つで構成されている。

# cat /etc/passwd
  hogehoge:x:500:500:John Tomas:/home/hogehoge:/bin/bash
番号上記サンプルでの例説明
1hogehogeアカウント名
2xパスワードの存在フラグ
3500ユーザー番号(UID)
4500グループ番号(GID)
5John Tomasユーザーの名前
6/home/hogehogeホームディレクトリ
7/bin/bashログインシェル
# cat /etc/shadow
  hogehoge:xHNuzvZ9XXhYA:14400::::::
番号上記サンプルでの例説明
1hogehogeアカウント名
2xHNuzvZ9XXhYA暗号化されたパスワード本体(*だけの場合、rootが新パスワードを設定するまでログイン不可、!!だけの場合の意味はアカウントロック)
310440パスワードの最終変更日(1970/1/1からの通し日付が設定される)
4変更可能最短期間(この期間を越えないと変更不可)
5未変更可能最長期間(この期間を越えたら変更必要)
6警告日(上記期日の何日前に警告するか)
7インアクティブ(ログインしないと無効になる日数)
8失効日(アカウント失効までの日数)
9フラグ(未使用)

Edit
USER管理

アカウントのUIDの変更には、/etc/passwd などを直接変更するより、以下のコマンドを利用すると既存のファイルのUIDも併せて変更してもらえるため便利ではあるが、一部のファイルは変更されないため注意が必要だ。

# /usr/sbin/usermod -u xx username

※xxは新しいUID番号

Edit
NIS導入

Edit
サーバー側の設定

サーバー側で以下のコマンドを実行

# yum -y install ypserv
# ypdomainname mydomain.com
# vi /etc/sysconfig/network        <−下記行を追記
 NISDOMAIN=mydomain.com
# vi /var/yp/Makefile           <−下記を修正
 MERGE_PASSWD=false
 MERGE_GROUP=false
 all: passwd shadow group hosts rpc services netid protocols      <ーshadowを追加
# vi /var/yp/securenets
 255.255.0.0   192.168.0.0
# vi /etc/ypserv.conf

次にNISのプログラムを起動させる。

# service portmap start
# service ypserv start
# service yppasswdd start

自動起動の設定を行う。

# chkconfig portmap on
# chkconfig ypserv on
# chkconfig yppasswdd on

初期化

# /usr/lib/yp/ypinit -m

ポートを開ける

ポート、753 , 756 , 765 の3つのポートのTCP,UDPの両方を開けておく。

ユーザー追加の毎処理

# cd /var/yp
# make

Edit
クライアント側の設定

# yum -y install ypbind
# vi /etc/sysconfig/network        <−下記行を追記
 NISDOMAIN=mydomain.com
# vi /etc/sysconfig/authconfig
 USENIS=yes
# vi /etc/yp.conf
 domain mydomain.com server nis.mydomain.com   <−最後はNISのサーバ名
 ypserver nis.mydomain.com
# vi /etc/nsswitch.conf             <−すべてにNISを追記する
 passwd:files nis
 shadow:files nis
 group:files nis
 hosts:files dns nis

自動起動の設定を行う。

# chkconfig portmap on
# chkconfig ypbind on

その後再起動

# reboot

Edit
設定の確認

サーバーが起動しているのは ps ax で ypserv or ypbindが起動しているか。またypbindがうまく行っているかは、以下のコマンド。

# ypwhich        <−接続サーバーの確認
# ypcat passwd      <−サーバーに登録されているユーザー

Edit
圧縮、解凍(tar)

拡張子圧縮コマンド解凍コマンド
.tartar -cvftar -xvf
.tar.z or .taztar -Zcvftar -Zxvf
.tar.gz or .tgztar -zcvftar -zxvf
.tar.bz2 or .tbztar -jcvftar -jxvf
.tar.xztar -Jcvftar -Jxvf
.zipzip -rvunzip
.zhlha -cvlha -v
.7z7z7z x
.rarrar aunrar x
.cabcab -rcabextract