Debian GNU/Linux

Debian GNU/Linux (etch) を対象にしています。
[最終更新日: 2009/02/04]

1. 初期設定

| INDEX

可能な限り最小の構成でインストールして、いろいろ設定することに。

コンソールのキーマップを変更する
pc101 から jp106 のようなおおまかな変更をする場合は、
> dpkg-reconfigure console-data
ウチの場合は、"Select keymap from arch list" を選択 "qwerty" -> "Japanese" -> "Standard"。
ロケールを変更する
> dpkg-reconfigure locales

利用可能なロケールは、> locale -a で確認できる。

タイムゾーンの設定
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

ユーザーレベルの設定のために、/usr/share/zoneinfoに基づく TZ 環境変数を、シェルのrcファイル(bashでは.bash_profile)に設定することができます。このケースではTZ="Asia/Tokyo"となる。

カーネルモジュールの設定
/etc/modules.conf を直接編集せずに、 /etc/modutils/ 以下のファイルを書き換えて、 update-modules を実行する。

2. APTの設定・操作とDPKG

| | INDEX

/etc/apt/source.list を編集して、パッケージ取得先のサーバの選択や、取得するパッケージの種類を指定する。

# /etc/apt/sources.list
deb http://security.debian.org/ etch/updates main contrib non-free
deb http://ftp1.debian.or.jp/debian etch main contrib non-free

よく利用されるapt関係コマンドは以下。

> apt-get update               最新のリストに更新する
> apt-get upgrade              更新されたリストに従って実行をする
> apt-get dist-upgrade         OS自体の更新を実行する
> apt-cache search [word]      パッケージを検索する
> apt-cache show [word]        パッケージの説明をみる
> apt-get install [package]    個別に指定してインストールする
> apt-get remove [package]     個別に指定して削除(アンインストール)する
> apt-get clean                キャッシュファイルを削除する

また、パッケージの内容の確認などはdpkgを使う。

> dpkg -l [package]            パッケージのバージョン確認
> dpkg -L [package]            パッケージに含まれるファイルリストの確認

3. サービスの設定

| | INDEX

/etc/rc*.d/ にあるサービスの起動スクリプトへのリンクをいじることで設定できる。

S ではじまるものは起動スクリプト、K ではじまるものは停止スクリプト。S,K のあとの数字は起動順になる。

update-rc.d を使うと楽。

たとえば、lpr を停止する場合、

> update-rc.d -f lpr remove

サービスが完全に不要なら、以下のようにパッケージごと削除する。

> apt-get --purge remove lpr portmap ipchains

逆に起動スクリプトを再配置したい場合は、

> update-rc.d -f lpr defaults

とする。ランレベルごとの指定などは、man update-rc.dを参照のこと。

4. suできるユーザを限定する(PAM)

| | INDEX

FreeBSDで言うところの、wheelグループのような役割を作る。

以下の設定では、suできるユーザをadmグループ(標準では、ログを読めるグループ)に限定する。

#/etc/pam.d/su 抜粋
auth       required   pam_wheel.so group=adm

suを可能にするユーザをadmグループ所属にする。

> usermod -a -G adm [USER]

5. ネットワークの設定

| | INDEX

現在の状態は、ifconfignetstat あたりで確認できる。

ネットワークインタフェースに関する設定は /etc/network/interfaces でする。

/etc/network/interfaces [一部]
# The primary network interface
iface eth0 inet static
address 192.168.1.***
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1

起動時に立ち上げる場合は、autoに指定する。

/etc/network/interfaces [一部]
auto eth0 lo

iptables のスクリプトなどを起動時(pre-up)に実行する場合は、/etc/network/if-pre-up.d/以下に配置する。

設定を適用する

> ifdown eth0
> ifup eth0

6. IPv6をオフにする

| | INDEX

IPv6サポートを無効にする。

/etc/modprobe.d/aliases を以下のように編集する。

17c17
< alias net-pf-10 ipv6
---
> alias net-pf-10 off

7. メール関連の設定

| | INDEX
exim を Maildir で使う

eximの初期状態はmboxを使用するようになっているので、これをMaildirに変更する。

# The default delivery method. See CONFDIR/conf.d/transports/ for other
# possibilities
#LOCAL_DELIVERY=mail_spool
LOCAL_DELIVERY=maildir_home

設定ファイルをリロードさせる。

> /etc/init.d/exim4 reload
mutt を Maildir で使う

以下の設定をシェルの設定ファイル(.zshrcなど)にするのが簡単か。

alias mutt='mutt -f ~/Maildir'

8. cronの設定

| | INDEX

メイン設定ファイル/etc/crontab で条件ごとの動作が定義されている。

ユーザごとにcronのタスクを設定する場合は、crontab -e のコマンドで編集する。

crontab -e

形式は以下の順番。

minute   hour   day   month   dayofweek   command

例としては以下のようになる。

# 20分おきに時刻合わせスクリプトを実行、シェルへの戻り値は虚空へ
# 接続先NTPサーバは適宜調整
*/20 * * * * /usr/sbin/ntpdate -b ntp3.jst.mfeed.ad.jp > /dev/null 2>&1

また、実行時にユーザ宛てに送信されるメールを止めるには、

MAILTO=""

としておく。

9. Beep音を消す設定

| | INDEX

マシンによっては非常にうるさいビープ音を鳴らないようにする。

カーネルモジュール(pcspkr)をアンロードする。

> rmmod pcspkr

再起動後も鳴らないようにしたい場合は、/etc/modprobe.d/blacklistに以下を追加する。

# /etc/modprobe.d/blacklist
(追加)
blacklist pcspkr

10. /var/log/messagesの-- MARK --出力の抑制

| | INDEX

syslogがマシンの稼動をアッピールするために出力しているらしい-- MARK --。

不要な場合は/etc/default/syslogdを編集する。

#/etc/default/syslogd抜粋
SYSLOGD="-m 0"

11. HDDの追加 fdisk

| INDEX
  1. まずはデバイスが認識されているか確認する。ここでは、hdb(スレーブのIDEハードディスク)を対象とする。

    > dmesg | grep hd
    
  2. 次にフォーマットを行う。

    > fdisk /dev/hdb
    Command (m for help): 
    n パーティションの作成
    d パーティションの削除
    w パーティション情報の書き込みと終了
    m ヘルプ
    p 現在のパーティションテーブルを閲覧
    

    とりあえず、p でパーティションの状態を確認しておくのが吉かも。

  3. 新規パーティションを作成する。

    Command (m for help): n
    ommand action
       e   extended
       p   primary partition (1-4)
    p # 最初の一個はprimary 
    # パーティション番号
    Partition number (1-4):
    # パーティションの最初のシリンダー
    First cylinder (1-***[HDDの最終シリンダー], default 1):
    # パーティションの最後のシリンダー
    Last cylinder or +size or +sizeM or +sizeK (1-***, default ***):
    
  4. パーティションを書き込む。

    Command (m for help): w
    The partition table has been altered!
    
  5. つぎに指定のファイルシステムでパーティションをフォーマットする。

    # Label を指定する場合:
    > mkfs.ext3 -L share /dev/hdb1
    # Label を指定しない場合;
    > mkfs -t ext3 /dev/hdb1
    
  6. デバイスをマウントする。(例)

    > mount /dev/hdb1 /share
    

    起動時のマウントを設定する場合、/etc/fstab に項目を追加する。

    # /etc/fstab [抜粋]
    /dev/hdb1              /share                  ext3    defaults        1 2
    

    fstabへの記述は、LABELを利用する方法もある。

    # /etc/fstab [抜粋]
    LABEL=share            /share                  ext3    defaults        1 2
    

    ext2,3でのラベルの変更は、e2labelを使用。

    > e2label /dev/hdb1 share
    
.