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

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

10/09/24 に基本システムの設定作業を赤松,河合,佐伯,坂本,高橋(由),藤田で行った.(ロガー: 高橋(由))

{{toc_here}}

= 構築作業用アカウント

== アカウント作成方法

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 行目 --> ((<地球流体電脳倶楽部|URL:http://www.gfd-dennou.org>))のソフトウェアのダウンロード先
    
== 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サーバ構築ドキュメント>))へ戻る]