[Memo2010][ITPASS] tako 構築作業ログ 2 (基本システム)

構築作業用アカウント

アカウント作成方法

ITPASS サーバでは chikuwaX (X には数字をいれる) をこの構築作業用のアカウントとする. また, gate-toroku-system では 1000 〜 29999 のユーザ ID を使用する ため, ユーザを作成する際には, ユーザ ID を 40000 番台とした.

# adduser chikuwa1 --uid 40001

テストユーザの削除

OS のインストール時に作成したテストユーザ "test" を uid も含めて削除する.

/etc/deluser.conf を以下のように書き換え

REMOVE_HOME = 1
REMOVE_ALL_FILES = 1

この後,

# deluser test

を行い完全にアカウントを消去した.

アカウントリスト

以下に, chikuwa アカウントのリストを載せる.

  • chikuwa0 (40000): 河合
  • chikuwa1 (40001): 藤田
  • chikuwa2 (40002): 佐伯
  • chikuwa3 (40003): 高橋(由)
  • chikuwa4 (40004): 赤松
  • chikuwa5 (40005): 坂本
  • chikuwa6 (40006): 島津
  • chikuwa7 (40007): 山元
  • chikuwa8 (40008): 黒田
  • chikuwa9 (40009): 井谷

sudo の設定

構築作業用の管理者ユーザの追加

addusr で上記の作業用ユーザを追加した.

/etc/sudoers の編集

root でログインし, 以下を実行した.

# export EDITOR=vim
# visudo

環境変数 EDITOR に指定されたエディタ (デフォルトは nano) が立ち上がる.

文末に以下を追加した. 以下, ユーザ名 hoge の場合である.

hoge ALL=(ALL) ALL

保存後、先ほど書き込んだ内容は, 実は /etc/sudoers に書き込まれており,

# less /etc/sudoers

で確認した.

root になれるかの確認

root 権限を持てるようになった一般ユーザでログインし, 以下を入力する.

$ sudo -s

root になることができた.

APT の設定

APT-LINE の修正

  • 既にある sources.list を sources.list.org としてコピーする.

    # mv /etc/apt/sources.list /etc/apt/sources.list.org
  • 新しく sources.list を作成する.

    # vi /etc/apt/sources.list
    • sources.list には, 以下の内容を記述した.

      deb http://cdn.debian.or.jp/debian lenny main contrib non-free
      deb-src http://cdn.debian.or.jp/debian lenny main contrib non-free
      
      deb http://security.debian.org/ lenny/updates main contrib non-free
      deb-src http://security.debian.org/ lenny/updates main contrib non-free
      
      deb http://www.gfd-dennou.org/arch/cc-env/Linux/debian-dennou lenny/
      deb-src http://www.gfd-dennou.org/arch/cc-env/Linux/debian-dennou lenny/
      • 1-2 行目 --> debian の基本的パッケージのダウンロード先
      • 3-4 行目 --> セキュリティパッチがあたったパッケージのダウンロード先
      • 5-6 行目 --> 地球流体電脳倶楽部のソフトウェアのダウンロード先

GPG 鍵の登録

apt-key によって鍵を登録する. 公開鍵サーバ としては subkeys.pgp.net を用いた. 公開キーには AEE995F4 を用いた.

# gpg --keyserver subkeys.pgp.net --recv-keys AEE995F4

以下のerror がでた.

gpg: 警告: 構成ファイル「/home/chikuwa1/.gnupg/gpg.conf」の安全でない所有者
gpg: オプション・ファイルの許可モードが、安全ではないので, 外部プログラムの呼び出しは、使用禁止です。
gpg: 鍵サーバー通信エラー: 一般的なエラー
gpg: 鍵サーバーからの受信に失敗しました: 一般的なエラー 

exit して同じコマンドを二回実行すると成功した。 (2009(おととし) のログを参考にした.)

root になって以下を行った.

# gpg --armor --export AEE995F4 | apt-key add 

セキュリティアップデート

リストの更新を行う.

# apt-get update

セキュリティアップデートを行う

# apt-get upgrade

ここで, カーネルイメージ (linux-image-xxxx という名称のパッケージ) がアップグレードされる場合には, アップグレード終了後に再起動を行う必要があるが,今回は再起動の必要はなかった.

SSH のインストールと設定

ssh パッケージのインストール

ssh サーバをインストールした.

# apt-get install openssh-server

作業者の公開鍵の設置

パスワード認証を許可する設定のうちに, 作業者の手元の公開鍵を /home/(username)/.ssh/authorized_keys として保存した.

パスワード認証の拒否と root ログインの拒否設定

ssh サーバの設定を変更する. 公開鍵認証を有効にし (これがデフォルト), パスワード認証と PAM を無効にする. また root ログインを無効にする.

# vi /etc/ssh/sshd_config

PermitRootLogin no
        :
PasswordAuthentication no
        :
UsePAM no

最後に ssh デーモンを再起動した.

# /etc/init.d/ssh restart

X の設定

GUI 環境で作業するようにするため, X の設定を行う.

以下のコマンドを入力する.

# export LANG=C
# dpkg-reconfigure xserver-xorg

すると, X の設定画面が表示される. この画面では画面やマウス, キーボードの設定を行なう. すべてデフォルトのままで設定した.

VGA ドライバとして vesa を指定できないので, /etc/X11/xorg.conf を直接編集する (編集前にバックアップを取っておくと安心).

# vim /etc/X11/xorg.conf

Section "Device"
     ...
   Driver "vesa"    <- この部分を他の Section の書き方と同じように書く(行の初めの空白は Tab)

その後, 以下を入力して再起動し,

# shutdown -r now

GUI のログイン画面が立ち上がることを確認した.

大容量メモリ対応の確認

OS が認識しているメモリの確認

$ top

として,

top - 16:46:30 up 19:27,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  74 total,   1 running,  73 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.2%sy,  0.0%ni, 99.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
┌→Mem:   8202488k total,   517048k used,  7685440k free,    76552k buffers
|  Swap: 31246344k total,        0k used, 31246344k free,   195388k cached
|
これがメモリサイズを示す部分. 

となる. これより, OS が 8GB のメモリを認識していることを確認した.

不要なネットワークサービスの停止

/etc/init.d/ 以下のネットワークサービスの停止

exim4 の再設定を行う.

# export LANG=C
# dpkg-reconfigure exim4-config

設定画面で local delivery only のみになっていることを確認. 他はデフォルトのままにした.

その後, 端末に

Stopping MTA for restart: exim4_listener.
Restarting MTA: exim4.

と表示された.

その他の /etc/init.d 以下から起動されるネットワークサービスの停止

# cd /etc/rc2.d
# update-rc.d -f portmap remove      <- ポート指定サービス
# /etc/init.d/portmap stop
# update-rc.d -f hplip remove        <- プリンタソフトウェア
# /etc/init.d/hplip stop
# update-rc.d -f bittorrent remove   <- ファイル転送用ソフトウェア
# /etc/init.d/bittorrent stop
# update-rc.d -f cupsys remove       <- プリンタ管理サービス
# /etc/init.d/cupsys stop
# update-rc.d -f nfs-common remove   <- ファイル共有システム
# /etc/init.d/nfs-common stop

ただし, 以下のサービスはファイルが存在しなかったが,一応上記のコマンドを実行しておくこと.

hplip, bittorrent, cupsys

/usr/sbin/inetd によって起動されるネットワークサービスの停止

/etc/inetd.conf を編集して不必要なサービスが上がらないようにする.

# vi /etc/inetd.conf

全てコメントアウトし, inetd のプロセスを再起動した.

# /etc/init.d/openbsd-inetd restart

起動するインターネットサービスがないと言われた(当たり前).

時刻の設定

コンピュータ内の時刻を定常的に正しくしておくための設定を行う.

ntpdate パッケージのインストール

まず, 以下のコマンドで ntpdate パッケージをインストールした.

# apt-get install ntpdate

時刻の修正(手動)

次に, 以下のコマンドで時刻を修正します. コマンド入力後しばらくすると NTP (Network Time Protocol) サーバより返答が返り, 時刻が修正される.

# /usr/sbin/ntpdate-debian

下記のように date コマンドで時刻が正しくなっていることを確認した.

CRONの設定

次に, 上記のような時刻修正コマンドを毎日実行するための設定を行う.

# vi /etc/cron.daily/ntpdate

この ntpdate ファイルには以下のように書き込んだ.

#!/bin/sh
/usr/sbin/ntpdate-debian > /dev/null 2>&1

最後に, このファイルのパーミッションを以下のように設定した.

# chmod 755 /etc/cron.daily/ntpdate

パスの設定

設定する必要はなかったが,zsh までの作業を一度行ってしまい,その後もとに戻した.

PATH の設定

sh, bash

/etc/profile の末尾に以下の記述を追記する.

if [ -f /etc/bash.bashrc ]; then
    . /etc/bash.bashrc
fi

/etc/bash.bashrc の冒頭に以下の記述を追加する.

# add PATH for local installed softwares
PATH="${PATH}:<一般ユーザ用コマンドのパス>"

# add PATH for local installed softwares (for root)
if [ "`id -u`" -eq 0 ]; then
  PATH="${PATH}:<システム管理用コマンドのパス>"
fi

export PATH

csh, tcsh

そのままだと日本語は化けるので

# export LANG=ja_JP.UTF-8

/etc/csh.cshrc の冒頭に以下の記述を追加. コピペだと

# add PATH for local installed softwares
set path = ($path /usr/local/bin /usr/bin /bin <一般ユーザ用コマンドのパス>)

# add PATH for local installed softwares (for root)
if ( "`id -u`" == 0 ) then
        set path = ($path /usr/local/sbin /usr/sbin /sbin <システム管理用コマンドのパス>)
endif

zsh←デフォルトで入ってない

/etc/zsh/zshenv の 末尾 に以下の記述を追加.

# add PATH for local installed softwares
export PATH=<一般ユーザ用コマンドのパス>:$PATH

# add PATH for local installed softwares (for root)
if [ "`id -u`" -eq 0 ]; then
        export PATH=<システム管理用コマンドのパス>:$PATH
fi

# delete duplicated path setting
typeset -U path

導入されている debian パッケージの引き継ぎ

古いマシンでのインストールパッケージリスト作成

old に install されている debian パッケージの一覧を取得する.

[old] $ dpkg --get-selections > old_list.txt

リストを新しいマシンへ転送

リストが作成し, ファイルを new へ送った.

リストを元にインストール

new において, old で導入されているパッケージに対して 「install」を設定する

[new] $ sudo -s
[new] # dpkg --set-selections < old_list.txt

実際に install する

[new] # apt-get dselect-upgrade

インストール中に以下のような質問が表示される.

  • 質問 1

    popularity-contest を設定しています
    
    Debian パッケージ利用調査に参加しますか?

    いいえを選択した.

  • パッケージの設定

    Samba Server
    
    ワークグループ/ドメイン名
    
    WORKGROUP

    を指定した. また,

    DHCP から WINS 設定を使うよう smb.conf を変更しますか?
    
    いいえ

    を選択した.

    途中以下のエラーが 10 回ほど出た.

    error: NetworkManager アプレットは必要なリソースを見つけることができませんでした。
    続行できません。
  • sun-java5-jre

    ライセンスに同意しますか
    
    します

    を選択した. さらに

    top directory:[/home]
    top directiory title[/home]…

    などと聞かれたのでデフォルトのままにした.

gnome の再インストール

パッケージの引き継ぎを行うとき,

[new] # apt-get dselect-upgrade

を行うと, gnome 関連のパッケージが削除されるので, 引き継ぎ終了と同時に,

# apt-get install gnome

を行う. この後, 再起動を行った.

システムの文字コード設定

デフォルトでは文字コードが UTF-8 にしか対応していないため, EUC にも対応するようにする.

# vi /etc/locale.gen

末尾に "ja_JP.EUC-JP EUC-JP" を追記する (引用符部分は書かない).

以下のコマンドで言語設定をシステムに反映させる.

# locale-gen

すると, 以下のような表記が得られた.

Generating locales (this might take a while)...
  ja_JP.UTF-8... done
  ja_JP.UTF-8... done ← マニュアルより一つ多かった.
  ja_JP.EUC-JP... done
Generation complete.

locale で確認した.

[ITPASSサーバ構築ドキュメントへ戻る]