スキップしてメイン コンテンツに移動

kickstartで最小限の構成でインストール

最小限の手間でサーバーを配備できるようにしたいのでkickstartインストールをやってみました。
とりあえずの目標としては以下の2点。
  • 最小構成でインストール。必要なdaemonはsshdだけ
  • DAGリポジトリからPuppetをインストール。これは次回以降の自動設定の布石
設定ファイルを作った手順は以下のような感じ
  1. 実際に手動で最小限の構成でインストールしてみる
  2. インストール後に/root/anaconda-ks.cfgを参考に編集。オプションの詳しい説明はRedHatのマニュアルウノウラボさんのblogを参考にした。
  3. 編集した設定ファイル(ks.cfg)をhttpでアクセスできる場所にアップロード。自分はDropboxのPublic領域にコピー。これで自前のWebサーバーを準備する手間が省ける
  4. VMWare Playerで実際にkickstartインストールできるか確認。思ったとおりにいってない箇所があれば2に戻る。
で、できた設定ファイルが以下のようになります。一部()で囲っている部分は適宜置き換えてください。
install
url --url http://ftp.iij.ad.jp/pub/linux/centos/5.5/os/i386

lang ja_JP.UTF-8
keyboard jp106
timezone Asia/Tokyo

network --device eth0 --bootproto dhcp --hostname (ホスト名) --noipv6
firewall --enabled --port=22:tcp

rootpw --iscrypted (暗号化パスワード)
authconfig --enableshadow --enablemd5
selinux --permissive

bootloader --location=mbr --driveorder=sda
clearpart --all --initlabel --drives=sda
part /boot --fstype ext3 --size=100 --ondisk=sda
part pv.2 --size=0 --grow --ondisk=sda
volgroup VolGroup00 pv.2
logvol swap --fstype swap --name=swap --vgname=VolGroup00 --size=512
logvol /usr --fstype ext3 --name=usr --vgname=VolGroup00 --size=8000
logvol /home --fstype ext3 --name=home --vgname=VolGroup00 --size=5000
logvol /var --fstype ext3 --name=var --vgname=VolGroup00 --size=4000 --grow
logvol / --fstype ext3 --name=root --vgname=VolGroup00 --size=2000

## DAG RPM repository for installing Puppet
#repo --name=dag --baseurl=http://ftp.riken.jp/Linux/dag/redhat/el5/en/x86_64/dag
repo --name=dag --baseurl=http://ftp.riken.jp/Linux/dag/redhat/el5/en/i386/dag

## set startup services
services --disabled=gpm,haldaemon,ip6tables,mcstrans,messagebus,netfs,rawdevices,restorecond

## user add
user --name=(ユーザー名) --groups=users

%packages --nobase
@core
telnet
vim-enhanced
screen
puppet

%post

## sshd deny password authentication
sed -i 's/^PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config

install -d -m 0700 -o tsuyosh -g users /home/(ユーザー名)/.ssh
cat > /home/(ユーザー名)/.ssh/authorized_keys <<KEY
(sshの公開鍵データ)
KEY
chown (ユーザー名):users /home/(ユーザー名)/.ssh/authorized_keys
インストールCDからbootしてksオプション付きでlinuxを起動させます。自分の場合はnetinstall CDを使いました。
linux ks=(設定ファイルのURL)
なお、httpでkickstartファイルを落としているのでDHCPでIPアドレスを自動取得できて設定ファイルをダウンロードできる環境にサーバーを置く必要があります。

コメント

  1. install の -o オプションもtsuyoshでなく(ユーザー名)ではないでしょうか。

    返信削除

コメントを投稿

このブログの人気の投稿

AndroidのBackup Data APIについて調べてみた

どうやってどこにバックアップデータを保存しているのかソースから探してみた。 自分用のメモなので適当です。 検索対象 BackupManager BackupManagerService   バックアップデータの転送路は IBackupTransport でインターフェース化されていてその実装は確認できた限りで2種類ある。 LocalTransport : 文字通り端末のローカルファイルにバックアップする実装。 /cache/backup/(パッケージ名) 以下にバックアップする。  com.google.android.backup/.BackupTransportService :  Android Backup Service 用の実装っぽい。ソースコードは当然ないのでこれ以上追えなかった..

AIR for iOSでAPNsをサポートするためのTips

【追記】AIR 3.4から正式にAPNsによるPush Notificationがサポートされました。この記事で紹介しているやり方だと恐らく不具合が生じる可能性がありますので標準のAPIを使うようにしてください。詳しくは プッシュ通知 の使用を見てください。 AIRのアプリでAPNsをサポートする必要があったのでANEで実装してみました。 既に実装した人はいるようなのですが( 参考 )ソースがなかったので自作しました。 iOSアプリでAPNsを使うには大雑把に以下の実装が必要です。 UIApplicationのregisterForRemoteNotificationTypes:メソッドを呼び出す。端末をAPNsに登録します AppDelegateに以下のメソッドを実装 application:didRegisterForRemoteNotificationsWithDeviceToken: APNsの登録に成功した場合の処理 application:didFailToRegisterForRemoteNotificationsWithError: APNsの登録に失敗した場合の処理 application:didFinishLaunchingWithOptions: Remote通知に含まれる情報を読み取ります(アプリ起動時) application:didReceiveRemoteNotification: Remote通知に含まれる情報を読み取ります(アプリ起動中) これをANEで実装する場合、いろいろ試して下のような形で実装できました。 UIApplicationのregisterForRemoteNotificationTypes: メソッドを呼び出す 普通にANEの関数内で呼び出します。UIApplicationのインスタンスは [UIApplication sharedApplication] で取れます。UIApplicationはSingletonのようです。 UIApplicationDelegateにPush関連のメソッドを実装 こいつが結構くせ者でしてAIRのRuntimeが既にDelegateを実装してしまっているのでむやみに取り替えられません。また、ソースもありません

WD20EARSで超簡単なベンチを取ってみる

2TBなのに9000円割れを起こしているWestern DigitalのWD20EARSだが物理セクターが4KiB(4096 byte)で論理セクターを512byteにエミュレートしている代物なのでパーティションの切り方に注意しないとパフォーマンスが低下する。 詳しい内容については Linux Kernel Watch を参照。 要はパーティションの開始位置が8の倍数(8は4096÷512の結果)であればいい。 通常、fdiskなどでパーティションを切っていると以下のように第一パーティションが第63セクターから始まるのでこのケースだとパフォーマンスが落ちます。(63は8で割り切れないため) [root@enterprise ~]# parted /dev/sda GNU Parted 1.8.1 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) unit s (parted) p Model: ATA WDC WD20EADS-22R (scsi) Disk /dev/sda: 3907029167s Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 63s 1953134504s 1953134442s primary raid 今回は書き込み性能だけパフォーマンスの増減を確認した。 time dd if=/dev/zero of=test1 bs=128k count=32768 32768+0 records in 32768+0 records out 4294967296 bytes (4.3 GB) copied, 78.149 seconds, 55.0 MB/s real 1m18.721s user 0m0.055s sys 0m8.456s time dd if=/dev