[Debian/Ubuntu] シェルスクリプトで配列

2008/06/22PC::Linux/BSD

Ubuntu Server 8.0.4にiptablesを設定すべくガリガリとシェルスクリプトを書いていたのですが、配列の宣言部分でエラーが発生してしまい、ハマりました。
内容としてはDebianで設定しているスクリプトと同じなのですが、Ubuntuでは配列を利用する場合明示的にbashを指定しなければならないらしい。

以下、DebianとUbuntuでの配列の宣言部分の具体例。

Debian x86/4.0 (etch)

#! /bin/sh
array=(a b c d)

Ubuntu x64/8.0.4

#! /bin/bash ←明示的にbashを指定
array=(a b c d)

インストール後のホスト名の変更

2008/06/20PC::Linux/BSD

e326にUbuntu Serverをインストールする際にいい名称が思い浮かばなかった*1ため、後で替えるつもりで適当な名前を付けていました。で、いいホスト名が決定したのでホスト名変更の為のメモ。

*1 : 名前空間の枯渇に悩んでいます。最近補充もされませんし、何よりリソースを要求されることが多くなってきたのが一番の原因です(苦笑

現在のホスト名の調べ方

$ hostname
hostname.domainname

unameでも調べることが可能です。

$ uname -a
Linux hostname.domainname 2.6.24-16-server #1 SMP Thu Apr 10 13:15:38 UTC 2008 x86_64 GNU/Linux

hostnameコマンドを利用して変更する

hostnameコマンドの引数に新しいホスト名を渡すだけで設定可能。

# hostname servername.kaede.local

直接設定ファイルを編集する

Debian/Ubuntu系

/etc/hostnameを編集すればいいようです。

# hostname.domainname コメントアウト
servername.kaede.local

ネットワークを再起動すれば新しいホスト名になります。

# /etc/init.d/networking restart
# hostname
servername.kaede.local

Red Hat/Fedora系

Red Hat/Fedora系の場合はDebian/Ubuntu系に加えて以下のファイルを編集する必要があります。
/etc/sysconfig/network

# HOSTNAME = hostname.domainname この行を削除/コメントアウトし、設定し直す
HOSTNAME = servername.kaede.local

hostsファイル

/etc/hostsファイルにも古いホスト名の設定がなされているため、再設定します

127.0.0.1       localhost
192.168.xxx.xxx    servername.kaede.local servername

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

2008/06/09(月)Ubuntu Server 8.0.4 on e326

購入したe326に何を入れようかと悩んだ末、Ubuntu Server 8.0.4 x64版を入れることにした。
Debian GNU/Linux (etch) x64版と悩んだのだが、下記理由によりUbuntuを選択。

  • Ubuntu Server 8.0.4はLTS*1であるので、Debian (etch)よりも長くサポートされる*2
  • Ubuntu ServerはDebian系列であるので、現在のサーバ(Debian)とほぼ同等の運用方法が可能
  • Debian GNU/LinuxはVMware ServerでホストOSとしてサポートされていないが、Ubuntu Linuxはサポートされている*3

と、言うことで入れるOSはUbuntu Serverに決定。

サクサクっとオンボードのアレイコントローラ(LSI Logic 53c1020)でRAID1を構築してインストール。
現状1GBしかメモリを載せていないが、将来増設することを考えてswapを2GB切っておく。その他、/に2GBとか、/var/logに2GBとかいつも通りにパーティションを切ってディスクの構成は終了。

インストールコンポーネントは後から入れるので特に何も入れない。
こいつはオンボードで2ポートのGbEを載せているが、1ポートをこのサーバ自体の通信に利用する予定でもう1ポートはVMware仮想OS上の通信に利用するつもり。なので、静的構成をサクッとして完了。

で、インストール完了。さっそく起動してみる。

e326f.jpg

起動HAEEEEEEEEEEEEEEEEE
grubを読み込んでから30秒くらいでログイン画面に辿り着きました。どっかのハードウェアの進化を無視するかのように起動時間が延び続けるOSとは大違いですw
いや、どっかのクロック数だけは優秀だがP3S 1.26Dualにベンチマークでも体感速度でも負けてしまう*4CPUとは大違いですw
これもHyperTransport様々でしょうかwww

でも

URUSEEEEEEEEEEEEE(TT)

この爆音に耐えられる気がしないので、常時起動は無理です(汗

*1 : LTS;Long Term Support

*2 : Debian (etch)のサポート期限はlennyがリリースされてから1年間、時期的には09年末の予定、一方Ubuntuは5年間であるので2013年くらいまでサポートされる

*3 : 現状VMware Server 2.0β2ではUbuntu 7.1.0までしかサポートされていないが、VMware Server 2が正式リリースされる頃には8.0.4も正式リリースされている……はずという淡い期待を込めてみる

*4 : @3.0GHz