Top/Linux/Linux/初期設定

初期設定はてなブックマーク

管理人の個人的な設定。for Red Hat Linux 9
サーバ専用機なので、Xはなし。管理は全てSSHで。

パーティション

40GBで、こんな感じかなあ。(/backupはSamba用)

/boot100MB
/4GB
/usr5GB
/var6GB
/tmp1GB
/home2GB
/backup20GB
swap1GB

その後しばらく経って、今は下記でいいような気が。

/boot50MB
/2GB
/usr5GB
/var3GB
/tmp1GB
/home1GB
/backup26GB
swap1GB

ほとんど1ユーザーで運用するので、とりあえずhomeは小さく。
web, mail, samba 等を複数ユーザーで運用するなら、
それなりに大きくする必要がありそう。
追記(04/10/21):swapは64MB程度で十分かも。

パッケージ

カスタムで最小限の構成にする。

不要なサービスの停止

chkconfig netfs off
chkconfig pcmcia off
chkconfig saslauthd off
chkconfig apmd off
chkconfig atd off
chkconfig gpm off
chkconfig autofs off
chkconfig irda off
chkconfig isdn off
chkconfig portmap off
chkconfig nfs off
chkconfig nfslock off
chkconfig rhnsd off
chkconfig xfs off
chkconfig canna off
chkconfig FreeWnn off
chkconfig sendmail off
chkconfig sgi_fam off

不要なRPMの除去

Linux/Linux/Red Hat 9 RPM一覧を参考にサーバーに不必要なものをガンガン消す。

rpm -e unix2dos
rpm -e dos2unix
rpm -e mt-st
rpm -e kernel-pcmcia-cs
rpm -e gpm-devel
rpm -e gpm
rpm -e irda-utils
rpm -e isdn4k-utils
rpm -e FreeWnn
rpm -e FreeWnn-common
rpm -e Wnn6-SDK-devel
rpm -e Wnn6-SDK
rpm -e ttfonts-ja
rpm -e chkfontpath
rpm -e jisksp14
rpm -e jisksp16-1990
rpm -e XFree86-xfs
rpm -e XFree86-font-utils
rpm -e XFree86-libs XFree86-Mesa-libGL
rpm -e XFree86-libs-data
rpm -e libvorbis-devel
rpm -e libvorbis
rpm -e libogg-devel
rpm -e libogg
rpm -e raidtools
rpm -e wireless-tools
rpm -e talk
rpm -e redhat-logos
rpm -e redhat-config-network-tui
rpm -e redhat-config-mouse
rpm -e setserial
rpm -e statserial
rpm -e apmd
rpm -e watanabe-vf
rpm -e up2date
rpm -e ttmkfdir
rpm -e setuptool
rpm -e authconfig
rpm -e netconfig
rpm -e lha
rpm -e nvi-m17n-canna
rpm -e Canna
rpm -e Canna-libs
rpm -e lokkit

とりあえず

rpm -e eject
rpm -e reiserfs-utils
rpm -e jfsutils
rpm -e minicom
rpm -e ppp rp-pppoe wvdial
rpm -e bc
rpm -e dhclient
rpm -e fbset
rpm -e ftp
rpm -e finger
rpm -e hotplug
rpm -e lftp
rpm -e libusb libusb-devel
rpm -e lrzsz
rpm -e rdist
rpm -e skkdic
rpm -e nfs-utils
rpm -e at
rpm -e ed
rpm -e mkbootdisk
rpm -e dosfstools
rpm -e namazu-devel
rpm -e namazu
rpm -e perl-Text-Kakasi
rpm -e kakasi-dict
rpm -e kakasi-devel
rpm -e kakasi
rpm -e mtr
rpm -e ypbind yp-tools
rpm -e rsh
rpm -e anacron

ネットワーク

サーバのIP192.168.0.10

と仮定。

vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.10
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes

ホスト名

ホスト名hoge
ゲートウェイ192.168.0.1

と仮定。

vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hoge
GATEWAY=192.168.0.1
vi +3 /etc/hosts
127.0.0.1               localhost.localdomain localhost
192.168.0.10            hoge hoge.my.domain

少しセキュアなSSH

Linux/OpenSSH

sudo出来るユーザーを制限、かつそのときのコマンドをsuに制限

sudo出来るユーザーhoge

と仮定。

visudo
hoge ALL=(ALL) /bin/su

su出来るユーザーを制限

su出来るユーザーhoge

と仮定。

vi /etc/login.defs
SU_WHEEL_ONLY        yes 
usermod -G wheel hoge
vi /etc/pam.d/su
auth       required     /lib/security/$ISA/pam_wheel.so use_uid

ファイルの参照時にatimeを更新しないようにする

アクセス時間を更新しないように設定すると、読み込みだけでもHDDに書き込みを行なっていたのを止められるため、パフォーマンスがごっつ向上する。

defaults を defaults,noatime にする
swapやフロッピー、CD-ROMなどには絶対に設定しない

vi /etc/fstab
LABEL=/                 /                       ext3    defaults,noatime 1 1
LABEL=/backup           /backup                 ext3    defaults,noatime 1 2
LABEL=/boot             /boot                   ext3    defaults,noatime 1 2
none                    /dev/pts                devpts  gid=5,mode=620  0 0
LABEL=/home             /home                   ext3    defaults,noatime 1 2
none                    /proc                   proc    defaults        0 0
none                    /dev/shm                tmpfs   defaults        0 0
LABEL=/tmp              /tmp                    ext3    defaults,noatime 1 2
LABEL=/usr              /usr                    ext3    defaults,noatime 1 2
LABEL=/var              /var                    ext3    defaults,noatime 1 2
/dev/hda7               swap                    swap    defaults        0 0

仮想コンソールの削減

vi /etc/inittab
1:2345:respawn:/sbin/mingetty tty1
#2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6

安眠cron

vi /etc/crontab
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 9 * * * root run-parts /etc/cron.daily
22 9 * * 0 root run-parts /etc/cron.weekly
42 9 1 * * root run-parts /etc/cron.monthly

速いupdatedb

色々省く。
cronでupdatedbを掛けている場合は

updatedb -e "/boot,/dev,/home,/initrd,/lost+found,/misc,/mnt,/proc,/backup,/tmp,/var"

カーネルパニック時自動リブート

vi /etc/sysctl.conf
kernel.panic=30
sysctl -p

時刻補正

NTPで定期的に時刻を合わせる設定をする。
下記は毎週火曜日の15:23にNTPサーバに問い合わせする設定。

crontab -e
23 15 * * * 2    /usr/sbin/ntpdate -s ntp.jst.mfeed.ad.jp; /sbin/hwclock --systohc

便利

grepで検索単語に色をつける

vi ~/.bashrc
alias grep='grep --color'

補完機能をカスタマイズ

vi /etc/profile
complete -d {cd,pushd,popd}
complete -u {su,chown}
complete -c {man,which}
complete -f {less,vi,tar}

未調査

  • 消したい
    /etc/X11
    /etc/printcap
    /usr/X11R6
    /usr/games
    /usr/local/games
    /usr/share/emacs
    /usr/lib/xemacs
    /var/lib/canna 
  • 消したい
    rpm -e lilo
    rpm -e ash
    rpm -e --nodeps rmt

参考

Amazon

差分 一覧