2010年10月20日水曜日

Bind-9.7.2-P2をインストール

DNSSECに対応したDNSサーバーを建てたいので、bind-9.7.2-P2をインストール。


BINDのWebページ http://www.isc.org/software/bind からダウンロードしてインストールします。
インストール時にOpenSSLのインストール先を指定する必要があります。

wget http://ftp.isc.org/isc/bind9/9.7.2-P2/bind-9.7.2-P2.tar.gz
tar xvfz bind-9.7.2-P2.tar.gz
cd bind-9.7.2-P2/
# ./configure --with-openssl=/usr
# make
# make install

./configure に--with-openssl=/usr のオプションをつけてインストール先を指定する。このときに
checking for OpenSSL library... configure: error: "/usr/include/openssl/opensslv.h" not found

とエラーが出てきた。SSLライブラリーを入れたら正常にインストールできました。
# apt-get install libssl-dev



2010年9月8日水曜日

postfix インストール

postfixでメールサーバーを構築する。最終的にはpostfix+fmlでメーリングリストのサービスをする。

1. postfixのインストール
qmailとかを試していたので、とりあえず削除しておく。
# aptitude remove qmail*
# aptitude remove ucspi-tcp*

次に、apt-getでpostfixをインストール

# apt-get install postfix

2. aliasの設定
/etc/aliasesを書き換える。

# See man 5 aliases for format
postmaster: root
postfix: root ←ここを追記
root: kz #自分の名前 ←ここを追記

追記したら、
# newaliases
これをしないと
warning: database /etc/aliases.db is older than source file /etc/aliases

とエラーが出る。

3. Maildirを作る
ホームディレクトリにMaildirを作る。パーミッションは700。
~$ mkdir -p Maildir/cur
~$ mkdir -p Maildir/new
~$ mkdir -p Maildir/tmp
~$ chmod 700 Maildir
4. main.cfの設定
postfixの設定ファイル、/etc/postfix/main.cfの行末に書き込む。
home_mailbox = Maildir
postfixの再起動。
# postfix reload
# /etc/init.d/postfix restart
5.ホスト名の設定
デフォルトだとm.ドメイン名だったので、/etc/hosts と/etc/hostnameに"m"と追記
/etc/hostsの例
127.0.1.1 example.co.jp m

/etc/hostname
example
m
次にDNSサーバーのゾーンファイルにMXレコードを追記
IN MX 20 m.example.co.jp

追記したらkill -HUPで変更を反映させる。

6. テスト
テストしてみる。
~$ whoami
kz
~$ mail kz
Subject: test 1
This is a test mail 1.
.
Cc: (ここは何も書かずに[Enter])
ホームフォルダのMaildir/newの中に新しくメールが来ているはず。。。
ぼくのは/var/mail/kzに来ていたけど、まぁ送れたので良い事にする。


参考

2009年8月27日木曜日

Firefoxのデータベース最適化

Firefoxを長く使っていると、内部データベースが肥大化して速度が遅くなる。。。らしいので、データベースを最適化します。

[ツール]→[エラーコンソール]でエラーコンソールを開く(Ctrl + Shift + J)
エラーコンソールに下のコードを入力。
Components.classes["@mozilla.org/browser/nav-history-service;1"].getService(Components.interfaces.nsPIPlacesDatabase).DBConnection.executeSimpleSQL("VACUUM");
[コードを評価]を押す。Firefoxが固まるのでしばらく待つ。
最適化完了。リンク
らしいが、実感できない。元のサイトでも疑ってる声があるような感じ。

参考
http://lifehacker.com/5344418/make-firefox-faster-by-vacuuming-your-database
http://www.ideaxidea.com/archives/2009/08/how_to_optimize_firefox_internal_db.html

2009年8月25日火曜日

Ubuntu8.04ppcのsource.list

Ubuntu8.04のppc版はsource.listを書き直さないとapt-getしたときにエラーが出てしまう。追記する形で問題ないようだけど、エラーメッセージを消すためには、デフォルトのミラーサーバーのURLをコメントアウトする必要がある。
緑色の字がコメントアウトした行。赤色の字が追記した行。ソースリストだけコメントアウトすれば良いっぽい。赤字の部分はどこかのサイトにかいてあったのをコピペしたんだけど、サイトを忘れた。Ubuntuがppc版を非公式でリリースするようになったから、ミラーサーバーも限定されているみたい。
/etc/apt$ cat sources.list
#
# deb cdrom:[Ubuntu-Server 8.04.1 _Hardy Heron_ - Release powerpc (20080703)]/ hardy main restricted

#deb cdrom:[Ubuntu-Server 8.04.1 _Hardy Heron_ - Release powerpc (20080703)]/ hardy main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.

deb http://ports.ubuntu.com/ubuntu-ports/ hardy main restricted
# deb-src http://ports.ubuntu.com/ubuntu hardy main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://ports.ubuntu.com/ubuntu-ports/ hardy-updates main restricted
# deb-src http://ports.ubuntu.com/ubuntu hardy-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## universe WILL NOT receive any review or updates from the Ubuntu security
## team.
deb http://ports.ubuntu.com/ubuntu-ports/ hardy universe
# deb-src http://ports.ubuntu.com/ubuntu hardy universe
deb http://ports.ubuntu.com/ubuntu-ports/ hardy-updates universe
# deb-src http://ports.ubuntu.com/ubuntu hardy-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://ports.ubuntu.com/ubuntu-ports/ hardy multiverse
# deb-src http://ports.ubuntu.com/ubuntu hardy multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ hardy-updates multiverse
# deb-src http://ports.ubuntu.com/ubuntu hardy-updates multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://ports.ubuntu.com/ubuntu-ports/ hardy-backports main restricted universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu hardy-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository. This software is not part of Ubuntu, but is
## offered by Canonical and the respective vendors as a service to Ubuntu
## users.
# deb http://archive.canonical.com/ubuntu hardy partner
# deb-src http://archive.canonical.com/ubuntu hardy partner

deb http://ports.ubuntu.com/ubuntu-ports/ hardy-security main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ hardy-security main restricted
deb http://ports.ubuntu.com/ubuntu-ports/ hardy-security universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ hardy-security universe
deb http://ports.ubuntu.com/ubuntu-ports/ hardy-security multiverse
deb-src http://ports.ubuntu.com/ubuntu-ports/ hardy-security multiverse

2009年8月8日土曜日

Ubuntu8.04とCanon Pixus 560iを接続

Ubuntu8.04LTSにCanon PIXUS 560iを接続する方法です。USBケーブルで接続して、ドライバをインストールすれば動作します。

始めに/etc/apt/sources.listに次の行を追加します。
deb http://mambo.kuhp.kyoto-u.ac.jp/~takushi/ubuntu ./
ポイントは、ubuntuユーザーは末尾をubuntuとすることです。debianとなっていると、後でダウンロードするファイルがダウンロードできません。

それからapt-getコマンドで情報を更新して、適切なプログラムをインストールします。
# apt-get update
# apt-get install libcnbj-2.4 bjfilter-2.4 pstocanonbj
最新はlibcnbj-2.6 bjfilter-2.6でした。
インストールできたら[システム]→[システム管理]→[印刷]でプリンタの設定をします。ドライバを「Canon PIXUS 560i ver.2.4」にして、テスト印刷してみます。

こんな感じ。

参考
http://mambo.kuhp.kyoto-u.ac.jp/~takushi/japanese.html#canon
https://forums.ubuntulinux.jp/viewtopic.php?pid=31605

2009年8月1日土曜日

BIND 9 に脆弱性

今年の夏もBINDに脆弱性が発見されたみたい。

参考
http://jprs.jp/tech/security/bind9-vuln-dynamic-update.html

確か去年の夏もひと騒ぎあったような気がするが。

ということで、管理しているプライマリーDNSをアップデートします。
手順としては、killコマンドでnamedのプロセスを止め、namedディレクトリをまるごとバックアップします。これは念のため。

使っているBINDのバージョンを調べて、最新のBINDをダウンロード。

# /usr/local/sbin/named -v
BIND 9.6.0-P1
バージョンはBIND 9.6.0-P1なので、最新バージョンのBIND 9.6.1-P1をダウンロード。tarコマンドで展開した後、インストールします。
# wget http://ftp.isc.org/isc/bind9/9.6.1-P1/bind-9.6.1-P1.tar.gz
# tar xvfz bind-9.6.1-P1.tar.gz
# cd bind-9.6.1-P1
# ./configure
# make
# make install
インストールしたらnamedを立ち上げます。
# /usr/local/sbin/named -u named -t /var/named/
立ち上がったらdigコマンドで動作確認。バージョンが9.6.1-P1になっていることも確認できた。

SOAレコード
# dig @localhost google.co.jp soa

; <<>> DiG 9.6.1-P1 <<>> @localhost google.co.jp soa
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37582
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;google.co.jp. IN SOA

;; ANSWER SECTION:
google.co.jp. 86400 IN SOA ns1.google.com. dns-admin.google.com. 1387850 21600 3600 1209600 300

;; AUTHORITY SECTION:
google.co.jp. 345600 IN NS ns1.google.com.
google.co.jp. 345600 IN NS ns2.google.com.
google.co.jp. 345600 IN NS ns4.google.com.
google.co.jp. 345600 IN NS ns3.google.com.

;; ADDITIONAL SECTION:
ns1.google.com. 345542 IN A 216.239.32.10
ns2.google.com. 172742 IN A 216.239.34.10
ns3.google.com. 172742 IN A 216.239.36.10
ns4.google.com. 172742 IN A 216.239.38.10

;; Query time: 46 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Aug 1 03:44:49 2009
;; MSG SIZE rcvd: 222

正引き
# dig @localhost google.co.jp a

; <<>> DiG 9.6.1-P1 <<>> @localhost google.co.jp a
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21758
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;google.co.jp. IN A

;; ANSWER SECTION:
google.co.jp. 1402 IN A 74.125.95.104
google.co.jp. 1402 IN A 72.14.203.104
google.co.jp. 1402 IN A 74.125.91.104

;; AUTHORITY SECTION:
google.co.jp. 345260 IN NS ns1.google.com.
google.co.jp. 345260 IN NS ns4.google.com.
google.co.jp. 345260 IN NS ns3.google.com.
google.co.jp. 345260 IN NS ns2.google.com.

;; ADDITIONAL SECTION:
ns1.google.com. 345202 IN A 216.239.32.10
ns2.google.com. 172402 IN A 216.239.34.10
ns3.google.com. 172402 IN A 216.239.36.10
ns4.google.com. 172402 IN A 216.239.38.10

;; Query time: 5 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Aug 1 03:50:29 2009
;; MSG SIZE rcvd: 224

逆引き
# dig @localhost -x 192.168.10.1

; <<>> DiG 9.6.1-P1 <<>> @localhost -x 192.168.10.1
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 56849
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;1.10.168.192.in-addr.arpa. IN PTR

;; AUTHORITY SECTION:
168.192.in-addr.arpa. 10800 IN SOA prisoner.iana.org. hostmaster.root-servers.org. 2002040800 1800 900 604800 604800

;; Query time: 29 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Aug 1 03:48:28 2009
;; MSG SIZE rcvd: 120

問題なく動作していそうです。

2009年6月23日火曜日

google検索にヒットしないようにpukiwikiにMETAタグを埋め込む

ウェブページがgoogle検索にヒットしないようにする方法として、ヘッダ部分にMETAタグを埋め込むと言う方法があるらしい。
http://www.kukitya.com/otyaken/memo/020316/index.html

Wikiには無数にページがあって、そのすべてにタグを埋め込むのは不可能。だからWikiのrootになる部分に埋め込みたいのですが、それがどこかよく分からない。

検索してみるとありました。
http://pukiwiki.sourceforge.jp/?%E8%B3%AA%E5%95%8F%E7%AE%B14%2F138

~/www/wiki/skin/pukiwiki.skin.php

に埋め込めば良いらしい。上のサイトにあるように書いてみる。


<head>
略
<!-- measure of google -->
<meta name="robots" content="noindex,nofollow">
<meta name="robots" content="noarchive">
<!-- measure of google - end -->
略
</head>

<>と!は全角で書いてます。bloggerがうまく処理してくれないから。使うときは半角に直して書いてください。



この後、Googleのウェブページ削除リクエストのページに行って削除依頼する。
https://www.google.com/webmasters/tools/removals?hl=ja
なかなか削除してくれないけど、削除されれば90日間有効。METAタグが効いてくれればそれ以降も検索にヒットしないことになるが、うまくいくのか分からない。

2009年5月4日月曜日

Linuxサーバーのシステム部分だけRAID1する その2

前の続きです。http://amzn1.blogspot.com/2009/05/linuxraid1.html

sdbから起動できるはずが、途中で止ってしまいました。エラーを見てみると、grubのmenu.listに書いてあるHDDのUUIDが違うと言っているようでした。たぶん、起動ディスクとして認識されているのがsdaだけで、sdbは起動ディスクとして認識されていないようでした。

と言うわけで解決法ですが、/dev/md*をマウントした/mntのgrubのmenu.listを書き換えるのが正しい方法のようです。まず、シングルモードでログインして、

# cd /mnt/boot/grub
# cp -a menu.list
# vi menu.lst

title Ubuntu 8.04.2, kernel 2.6.24-23-server
root (hd0,0)
kernel /vmlinuz-2.6.24-23-server root=/dev/md1 ro quiet splash
initrd /initrd.img-2.6.24-23-server
quiet

title Ubuntu 8.04.2, kernel 2.6.24-23-server (recovery mode)
root (hd0,0)
kernel /vmlinuz-2.6.24-23-server root=/dev/md1 ro single
initrd /initrd.img-2.6.24-23-server

赤字の所を/boot/grub/menu.lstと同様にして書き換え。途中でkernelのアップデートがあったので、2.6.19→2.6.23になっています。
この様に書き換えてから再起動すると、sdbから起動できます。シングルモードではなく、普通にログインできます。


sdbから立ち上がっているか確認
$ mount | grep md
/dev/md1 on / type ext3 (rw,relatime,errors=remount-ro)
/dev/md0 on /boot type ext3 (rw,relatime)
/dev/md2 on /home type ext3 (rw,relatime)
sdaをRAIDに参加させるために、パーティションタイプを変更

sudo fdisk /dev/sda

パーティションタイプのコマンドはfd。最終的には下のようになる。
Device Boot Start End Blocks Id System
/dev/sda1 1 24 192748+ fd Linux raid autodetect
/dev/sda2 25 146 979965 82 Linux swap / Solaris
/dev/sda3 * 147 2578 19535040 fd Linux raid autodetect
/dev/sda4 2579 3738 9317700 5 Extended
/dev/sda5 2579 3738 9317668+ fd Linux raid autodetect

sdaをRAIDに参加させる。

sudo mdadm /dev/md0 -a /dev/sda1
sudo mdadm /dev/md1 -a /dev/sd3
sudo mdadm /dev/md1 -a /dev/sda3
sudo mdadm /dev/md2 -a /dev/sda5
RAIDに参加させられると、自動的にファイルがコピーされていく。
cat /proc/mdstatで状況を確認できる。

sdbにgrubをインストール。
# grub-install --no-floppy /dev/sdb
# grub
grub> root (hd0,0)
grub> setup(hd0)
grub> root(hd1,0)
grub> setup(hd1)
grub> quit


/boot/grub/menu.lstを書き換え。
vi grub/menu.lst
# kopt=root=/dev/md1 ro
mdadm.confに今の状況を書き加えておく。以前のARRAY *を削除した後、
mdadm --detail-scan >> /etc/mdadm/mdadm.conf
mdadm --detail --scan >> /etc/mdadm/mdadm.conf

こうしてシステム部分だけRAIDで動くサーバーが完成しました。


今、メインRAIDがsdbで、あまり嬉しくないので、メインをsdaに変更します。
まず、sdbを外して(物理的な意味で)sdaだけで起動します。その後、一度電源を落とし、sdbを繋いで起動します。そうすると、mdデバイスからsdbが外されてしまうので、

# mdadm /dev/md1 -a /dev/sdb1


でRAIDに参加させなおすと
# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md2 : active raid1 sda5[0] sdb5[1]
9245312 blocks [2/2] [UU]

md1 : active raid1 sda3[0] sdb2[1]
19534976 blocks [2/2] [UU]

md0 : active raid1 sda1[0] sdb1[1]
192640 blocks [2/2] [UU]

unused devices:
となって、メインがsdaになります。

Linuxサーバーのシステム部分だけRAID1する

共有ファイルサーバーのシステム部分だけRAID1にして、起動だけは確実に出来るような設定にする。本当はデータ部分もRAIDにした方が良いのだろうけど、ハードディスクがないのでまた今度。

今手元にあるのは、30GB(sda)と320GB(sdb)のハードディスクです。sdaがプライマリーマスター、sdbがプライマリースレーブとなっています。
まず、sdaにUbuntu8.04LTSをインストール。これは普通に行います。パーティションは下のようにしました。

sda1 /boot 200MB
sda2 swap 1.5GB
sda3 / 20GB
sda5 /home 9GB
/bootを先頭に持ってくるのがポイントだったりするらしい。最も、今のマザーボードではそれほど気にしなくても良いらしいが。
参考http://www.miloweb.net/partition.html

このときに、OSインストール時にsdbのパーティションも切っておきます。

sdb1 raid 200MB /bootとRAID1
sdb2 raid 20GB /(ルート)とRAID1
sdb3 /home/samba 290GB sambaにmount
sdb5 raid 9GB /homeとRAID1

OSインストールが終わったら、以下の手順でRAID1を構築します。
  1. sdbのみ参加させる形のRAID1構築
  2. sdaのデータをsdbにコピー
  3. sdbで起動してsdaをRAID1に参加
  4. sdb外して起動させてみる

1. sdbのみ参加させる形のRAID1構築
まず、mdデバイスを作成しておきます。コマンドはmknod
sudo mknod /dev/md0 b 9 0
sudo mknod /dev/md1 b 9 1
sudo mknod /dev/md2 b 9 2
デバイスドライバ番号は9。マイナー番号はmdの番号に相当するものを付ける。


先に切っておいたパーティションをRAID1に参加させます。使うコマンドはmdadm
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sdb1 /bootパーティション
sudo mdadm --create /dev/md1 --level=1 --raid-devices=2 missing /dev/sdb2 / パーティション
sudo mdadm --create /dev/md2 --level=1 --raid-devices=2 missing /dev/sdb5 /homeパーティション

mdデバイスとsdbの番号の対応が悪いので、きちんと覚えておかなければ。
最初に1台だけ参加させて、後でもう1台追加するときは、missingと書けば良い。

ファイルシステムの構築
# mkfs.ext3 -f /dev/md0
# mkfs.ext3 -f /dev/md1
# mkfs.ext3 -f /dev/md2

ここまでの設定を/etc/mdadm/mdadm.confに記入しておきます。

echo 'DEVICE /dev/sda* /dev/sdb*' >> /etc/mdadm/mdadm.conf
mdadm --detail --scan >> /etc/mdadm/mdadm.conf

2.sdaのデータをsdbにコピー
マシンを再起動してシングルユーザーモードでログインします。立ち上がった瞬間にESCキー。
ログインしたら、mdデバイスをマウントします。今回は/mnt以下にマウントします。

# cd /mnt/
# mkdir ./boot
# mkdir ./home
# mount /dev/md1 /mnt
# mount /dev/md0 /mnt/boot/
# mount /dev/md2 /mnt/home/

sdaのデータを対応する場所へコピーします。procとsysは除きました。

# cp -a bin/ etc/ lib/ opt/ srv/ var/ vmlinuz cdrom initrd media root/ tmp/ dev/ initrd.img sbin/ usr/ ./mnt/ &
# cp -a /home/ ./mnt/home/ &
# cp -a /boot/ ./mnt/boot/ &

# mkdir proc
# mkdir sys


3.sdbで起動してsdaをRAID1に参加
sdaのgrubを修正して、sdbから起動します。

# cd /boot/
# mv initrd.img-2.6.24-19-server initrd.img-2.6.24-19-server-raid-pre
# mkinitramfs -r /dev/md1 -o initrd.img-2.6.24-19-server
cd ./grub/
cp -a menu.lst menu.lst20090503
vi menu.lst

menu.listに追記します。(赤字の部分)

title Ubuntu 8.04.2, kernel 2.6.24-19-server(raid)
root (hd1,0)
kernel /vmlinuz-2.6.24-19-server root=/dev/md1 ro quite splash
initrd /initrd.img-2.6.24-19-server
quiet

title Ubuntu 8.04.2, kernel 2.6.24-19-server
root (hd0,0)
kernel /vmlinuz-2.6.24-19-server root=UUID=b5724689-ee45-46a2-adf9-6790c032efd7 ro quiet splash
initrd /initrd.img-2.6.24-19-server
quiet

…省略

このままだと電源を落としたときにsdbがアンマウントされてしまうので、/etc/fstabに追記します。(赤字の部分)

$ cat /etc/fstab
# /etc/fstab: static file system information.
#
#
proc /proc proc defaults 0 0
/dev/sda3 / ext3 relatime,errors=remount-ro 0 1
/dev/sda1 /boot ext3 relatime 0 2
/dev/sda5 /home ext3 relatime 0 2
/dev/sdb3 /home/samba ext3 relatime 0 2
/dev/sda2 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0

/dev/md1 /mnt ext3 relatime,errors=remount-ro 0 2
/dev/md0 /mnt/boot ext3 relatime 0 2
/dev/md2 /mnt/home ext3 relatime 0 2

/mnt/etc/fstabにも追記します。
/mnt/etc$ cat fstab
# /etc/fstab: static file system information.
#
#
proc /proc proc defaults 0 0
/dev/md1 / ext3 relatime,errors=remount-ro 0 1
/dev/md0 /boot ext3 relatime 0 2
/dev/md2 /home ext3 relatime 0 2
/dev/sdb3 /home/samba ext3 relatime 0 2
/dev/sda2 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0

これで再起動すればシングルユーザーモードで起動するはずなのですが、起動しませんでした。原因は明日調べます。

参考 このサイトの流れに沿って設定しました。
http://qos.mine.nu/2008/11/raid1-on-etch.html
http://nabe.blog.abk.nu/0301

2009年4月29日水曜日

ハードディスクの書き込み速度を調べる

ハードディスクの書き込み速度を調べるために、timeコマンドとddコマンドを組み合わせます。

$ time dd bs=1M count=100 if=/dev/zero of=/home/harada/hdd_check
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 2.12934 s, 49.2 MB/s
0.00user 2.00system 0:02.15elapsed 92%CPU (0avgtext+0avgdata 0maxresident)k
24inputs+204800outputs (0major+502minor)pagefaults 0swaps

1Mバイトのサイズで100回をhdd_checkと言うファイルに書き込んだところ。合計で105MBだそうです。/dev/zeroは0だけが書き込まれているらしいので、hdd_checkにはひらすら0が書き込まれる。(ただし開けない)
49.2MB/sで書き込めるらしい。


$ time dd bs=10M count=100 if=/dev/zero of=/home/samba/hdd_check
100+0 records in
100+0 records out
1048576000 bytes (1.0 GB) copied, 29.9671 s, 35.0 MB/s
0.00user 21.39system 0:30.09elapsed 71%CPU (0avgtext+0avgdata 0maxresident)k
56inputs+2048000outputs (0major+2806minor)pagefaults 0swaps
次に10Mバイトのデータサイズにして書き込んでみた。合計が1000MB = 1GB。少し遅い35.0MB/sでした。

速度にばらつきがあるので、同じ条件で何度か試してみると良いと思います。

ddコマンドについて
http://www.k-tanaka.net/unix/dd.html

ハードディスクを増設する その2

PCがハードディスクを認識してくれたので、パーテションを切ってフォーマットし、マウントします。

パーテション作成
fdiskコマンドを使用します。
rootでfdiskコマンドを使用します。引数にパーティションを作成したいハードディスクのパスを指定します。今回は/dev/sdb
$ sudo fdisk /dev/sdb

The number of cylinders for this disk is set to 38913.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help):

と出ます。会話形式で設定できます。ここでmを押すと、コマンド一覧が見られます。

Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

まず、pで現在の状況を確認します。

Command (m for help): p

Disk /dev/sdb: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xa491436f

Device Boot Start End Blocks Id System
何も表示されない
空のハードディスクなので、何も表示されません。次に、パーテションの作成のためにnを押します。基本パーテションの1番目を5Gバイトだけ作りたいときは以下のようになります。

Command (m for help): n
Command action
e extended 拡張パーテション
p primary partition (1-4) 基本パーテション
p 基本パーテションを選択
Partition number (1-4): 1 基本パーテションの1番目
First cylinder (1-38913, default 1): シリンダーの番号 何も選択しないと、次の番号から始まる。
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-38913, default 38913): 5000M 終わりのシリンダー番号か、使用するサイズ。今回は5G = 5000Mバイト

Command (m for help): p

Disk /dev/sdb: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x6a61c320

Device Boot Start End Blocks Id System
/dev/sdb1 1 5000 40162468+ 83 Linux 新しいパーテションが出来上がっている。

Command (m for help): w 記録して保存

今回はもう一つ、残りの容量すべてを使ったパーテションを作りました。最終的にはこうなります。

Command (m for help): p

Disk /dev/sdb: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xa491436f

Device Boot Start End Blocks Id System
/dev/sdb1 1 609 4891761 83 Linux
/dev/sdb2 610 38913 307676880 83 Linux



フォーマット

フォーマットします。mkfsコマンドを使用します。今回はファイルシステムにext3を使いたいので、-tオプションでext3を指定します。

mkfs -t ext3 /dev/sdb1
mkfs -t ext3 /dev/sdb2

マウント
上のsdb2のパーティションを/home/sambaにマウントします。こうすることで、システム回りとデータ置き場を物理的に切り離します。

#mkdir /home/samba
#mount /dev/sdb2 /home/samba

再起動後にはマウント設定がクリアされてしまう(らしい)ので、/etc/fstabを書き換えておきます。
# file system mount point type options dump pass
/dev/sdb2 /home/samba ext3 defaults,noatime 0 0

以上で設定は終わりです。

参考
http://www.express.nec.co.jp/linux/distributions/knowledge/system/fdisk.html
http://www.itmedia.co.jp/help/tips/linux/l0112.html

ハードディスクを増設する その1

共有ファイルサーバーを作るために、ハードディスクを増設しました。ハードディスクのプライマリーマスター(30Gバイト)にOS(Ubuntu8.04LTS Server版)をインストールします。パーティションは下のように切りました。

/    20Gバイト
/home  8Gバイト
/boot  700Mバイト
swap  1Gバイト

このマシンに320Gバイトのハードディスクを増設して、そこにSambaサーバーを立てる予定です。

ハードディスクの接続ケーブルにはUltra DMAを使用。


ハードディスクのジャンパーピンをSlaveにセットして、スレーブ側に接続します。

コンピュータを立ち上げて、BIOS設定画面を見ます。(Deleteキー)
STANDARD CMOS SETUPを見て、Plimary Slaveにハードディスクの名前が表示されていたら、BIOSには認識されています。


次にUbuntuにログインしてUbuntuが認識しているかどうかを調べます。
使うコマンドはdmesgコマンドです。dmesgしたあと、ハードディスクのモデル名、型番などがあるか確認します。


$ dmesg
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 2.6.24-19-server (buildd@terranova) (gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7)) #1 SMP Wed Aug 20 23:54:28 UTC 2008 (Ubuntu 2.6.24-19.41-server)

省略…

[ 46.275405] sd 0:0:0:0: [sda] 60058656 512-byte hardware sectors (30750 MB)
[ 47.870914] sd 0:0:1:0: [sdb] 625142448 512-byte hardware sectors (320073 MB)

sdaがMaster、sdbがSlaveです。

2009年4月26日日曜日

自作PC その3

組み立てます。ドスパラさんが親切な説明書を同封していくれるたので、それに従って組み立てました。写真とり忘れたので詳しい順序は割愛。

このキットを組み立てるとき、あれっと思ったのがスペーサーが無いことでした。スペーサーは、マザーボードとケースの間に空間を作るための部品で、マザーボードの配線がショートするのを防ぎます。Prime Kitのケースにはスペーサーが作り込んでありました。
















写真の凸部分がスペーサーです。マザーボードもネジ穴の回りは絶縁されているので、この凸部分に触れてもショートすることは無いそうです。

それから、取扱説明書で、20ピンの電源コネクタをマザーボードに差し込むとありますが、24ピンでした。

組立て、BIOSの設定画面が表示されたら、Boot設定でCDからBootするように設定します。ここまでは説明書に書いてあります。

できたらいつものようにUbuntuをインストールして完成。pppoeconfコマンドで、いきなりインターネットに接続できました。

自作PC その2




















パーツは以下のような感じです。


ケースは白いシンプルな感じ。















開けたところ。

ベイは5インチベイ、3.5インチベイ、3.5インチシャドウベイが2つづつ。

電源ユニットは元々ついています。










マザーボード

インテル® G31 Express チップセット マイクロATXマザーボード












CPUはCelronです。

インテル®Celeron®プロセッサー E1400
(デュアルコア/2GHz/L2キャッシュ512KB)


2GHzあればかなり快適な早さです。










メモリーは1G×2で、合計2G

DDR2 SDRAM 1GB PC6400

サムソンのメモリーです。











ハードディスクは500Gあります。実際、そんなに使わないので。250Gだけ使って、残りは何かの機会に使おうと思っています。













5インチのCD-DVDドライブ
速度が遅く、書き込みできないので買い換えようと思っています。














詳しくはこちらからどうぞ。
http://www.dospara.co.jp/5goods_pc/pc_detail.php?h=d&f=d&m=pc&mc=37

自作PC その1

1ヶ月ほど前のことだけど、自作PCを組み立てました。自作と言っても、電気屋さんで売られている自作キットですが。割高ですが、コンピュータ内部の仕組みとか、組み立ての一連の流れを知るには都合が良い。必要なパーツが無いなんてこともない。2台目を組み立てることがあったら、今度はパーツ選びからしてみたいと思います。





















と言う訳で、使った自作キットはドスパラで販売されているものです。
ドスパラ http://www.dospara.co.jp/top/

このサイトにもある組立キットのうちの、Prime Kit Knightです。
パーツのカスタマイズはできますが、メモリを2Gにした以外は変更なし。OSはLinuxの何かを入れる予定だったので買いませんでした。


















ディスプレイは実際に店に行って買いました。
LG W1942TQ

2009年3月11日水曜日

Ubuntu8.04LTS on PPC でDNSを動かしてみる

PowerMac G3にUbuntu8.04LTSをインストールした目的はBINDをchrootで動かすことでした。
今回もapt-getでなくて、wgetファイルを入手し、そこから構築します。BINDのダウンロードページから必要なソースファイルを探す。

wget http://ftp.isc.org/isc/bind9/9.6.0-P1/bind-9.6.0-P1.tar.gz

最新版は9.6.0-P1でした。自分のホームディレクトリにダウンロードして展開、インストールします。

# tar xvfz bind-9.6.0-P1.tar.gz
# cd bind-9.6.0-P1/
# ./configure
# make
# make install

このとき、適切なCコンパイラがないと./configure以下の作業ができないので、ちゃんと環境を整えておく。ppcで使えるCコンパイラはインストールされなかったみたいなので、PPCを使っている場合は必ずこの作業が必要。

Ubuntu8.04 on PPC Cコンパイラの設定


インストールできたら、いきなりchroot環境を作る。まず、/varにnamedというディレクトリを作り、それ以下はこんな感じにする。

named/
|-- dev
|   |-- null
|   `-- random
|-- etc
|   |-- localtime
|   |-- named
|   |   |-- ***.rev
|   |   |-- ***.zone
|   |   |-- localhost.rev
|   |   |-- localhost.zone
|   |   `-- named.root
|   `-- named.conf
`-- var
   |-- log
   |   |-- named.log
   |   `-- security.log
   |-- named
   `-- run
      `-- named
         `-- named.pid

mkdir コマンドの-pオプションで一気に作ると楽。
ディレクトリのパーミッションを設定する。

# cd /var/
#chown -R named:named named
#chmod 700 /var/named


こうすることで、root以外に/var/namedに入ることができない。
named.conf、zoneファイル、revファイルは今までと同じで良い。
設定ファイルが正しく迫っていされているか確かめる。

# /usr/local/sbin/named-checkconf -t /var/named
# cd /var/named/etc/named
# /usr/local/sbin/named-checkzone ゾーンネーム ゾーンファイル名


正しく設定できたら、namedを起動する。

# /usr/local/sbin/named -u named -t /var/named


2009年3月10日火曜日

PowerMac G3にUbuntu8.04をインストール その2

CD-Rから起動できたら、パーテションなどの設定になります。画面の指示に従って設定を決めていきます。

主な設定内容はここに箇条書きしたので参照してください。
http://amzn1.blogspot.com/2009/01/power-mac-g3ubuntu804lts.html

パーテション設定画面




















パーティションの設定画面はこんな感じ。
ここからパーティションを切っていきます。bootとswap領域を十分に取る。swap領域はメモリの2~3倍くらいで良いらしい。メモリは512kバイトだったので、2倍強ぐらい。

#1 32.3kB Apple //do not use
#2 1.0MB (NewWorld boot Partition)
#3 23GB /
#4 5.0GB /home
#5 500MB /boot
#6 1.2GB swap
1.0GB FREE

ポイントは#1と#2の領域を残しておくこと。コンピュータが起動できなくなる。


次にミラーサーバーの設定。これを設定しないとapt-getできない。
ミラーサーバーは最近変更されたらしいので、正しいものを設定する。
変更前(間違い):http://archive.ubuntu.com/
変更後(正しい):http://ports.ubuntu.com/ubuntu-ports/


再起動を要求してくるので、再起動するとインストール完了。

PowerMacにUbuntu8.04をインストール その1

この前PowerMac G3にUbuntu8.04LTSを入れたのですが、そのときキーワードとなったのがppcです。
ppcとはIBMが開発したマイクロプロセッサーのことで、フルスペルだとPerformance Optimization With Enhanced RISC for Personal Computerだそうです。

参考 PowerPCとは http://e-words.jp/w/PowerPC.html


今回使ったPowerMac G3にもPowerPCが搭載されていました。









Ubuntu8.04はppc版
Ubuntuの公式ページからダウンロードできるISOイメージはインテルのCPUに対応しているので、PPCに対応しているISOイメージでCD-Rを作らないといけません。PPCに対応しているUbuntuは下のリンクからダウンロードできます。
http://cdimage.ubuntu.com/ports/releases/hardy/release/


CD-RからG3を起動します。まずCD-Rを入れてから再起動します。起動音がなった直後に"c"を押すと、CD-Rから起動できます。"c"を押すタイミングが重要なので、成功するまで繰り返しましょう。

CD-Rから起動できると、各種の設定画面になります。

2009年2月4日水曜日

ssh WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!の対処法

ssh コマンドを使うと以下のようなエラーが出てきて接続できないことがある。
接続しようとしているコンピュータのOSが入れ替わった時なんかに出ます。

これは、ホスト側のコンピュータが入れ替わったを検出して警告を出しているものです。たとえば、誰かがなりすましで同じ名前で別の PC を設置し、パスワードを盗むつもりかもしれません。また、途中に盗聴用のサーバを置いて通信内容を盗み見るためかもしれません。

もちろん単にサーバが壊れて予備のサーバに置き換えたとか、LAN ボードを交換しただけという時もあるでしょう。自分で分かるときはよいですが、不明なときはホスト側の管理者に確認しましょう。何も変わっていないのにこ のような警告が出るときは、盗聴のおそれがあります。

http://futuremix.org/2007/08/openssh-warningから引用


このようなエラーが出たときは、/home/ユーザー名/.ssh/known_hosts2にある、該当する暗号鍵を削除し、新しい暗号鍵に更新する必要があります。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
63:76:e9:97:43:44:57:9g:8e:47:5b:1a:f2:8d:a2:0f.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts2 to get rid of this message.
Offending key in /root/.ssh/known_hosts2:7
RSA host key for 192.168.0.100 has changed and you have requested strict checking.
というエラーが出てきたら、
vi known_hosts2

/63:76:e9:97:43:44:57:9g:8e:47:5b:1a:f2:8d:a2:0f. 該当する鍵を探す

該当する暗号鍵を削除(赤字の部分)
172.xx.xxx.xxx ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAuwnAsfzibuf9uCdodBw18m85WGKtL
oXlWr1fAa22HvMDHVGwvbNt7P2DVVGZBKp3RPVBC64xirkwXz3nejAdfP2jH2Jcn5xe1I53wiRezRIhC
ERAz/zdfeWWdaf;AsdsdsasdRRnNWjlWWLTqOLSNmPzUcxKxMmIvM=
192.168.0.100 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAyuayKn9mHInPN6PkS7hi2r4o/lGgKd
SxhOjhZEZjyzsoIuvQ5Dp6ZjCTsAWT2Ei2uo0eIS4VuvugcITxvrjwlS9e39oAnIYYYdGjT0CqhXogjV
1F4Qjq5JxZNMztqbiAw8Iy8fkl5al2b1pxxpZAJzxJhOuttpwLU/IGLzQ133x0=

218.47.xxx.xxx ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA804Tiqfiq/aoefIIDlsSeifXWshWH
iiqo0oX0JfHrr6Q7wx9PpSE79s5mafAidjphZNxt4ul2m4L4JaJjoTtqKGywqaR8BEklEiI4lVBXx4HW
KUqDN3TqLsleDmEdr2jigU6Fz+0CzIl05+8FwlGV68zd2OSzQ/f2rWPx6Qt/QDfj+9mRU9ZO0kO20pqB
/O5bc=

ssh再接続

これで完了。


参考サイト
http://www.jinaka.com/pc/oboegaki/linux_ssh.html

2009年1月12日月曜日

Ubuntu8.04 on PPC Cコンパイラの設定

./configureが使えない。エラーメッセージは下のとおり。
C compiler cannot create executables

原因はCコンパイラらしい。

PPCに入れたUbuntuではCコンパイラも普通のものとは違うらしい。
普通にgccをインストールしたあと、追加で必要なパッケージはlibc6-dev-ppc64とlibc6-ppc64の二つ。

$sudo apt-get install libc6-dev-ppc64
$sudo apt-get install libc6-ppc64

これで./configureができた。