GLANTANK
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
*GLAN Tank インストールまとめ [#xafdc833]
-インストール概要~
--まず、デフォルトのインストーラからインストールを行う。
--次にインストーラからshellに抜け、initrdをレスキューシス...
--その後、GLAN Tankで、そのレスキューシステムを使用してde...
~
-レスキューシステムの特徴~
--USBシリアルケーブルを接続した状態で起動すると、initrdが...
--USBシリアルケーブルを接続しない場合は、通常通り/dev/hda...
--もちろんUSBシリアルケーブル経由でシステムのメンテナンス...
--kernelはUSBシリアルサーポートモジュールを組み込むんだモ...
--&color(red){補足:なんでこんな面倒なことをしてるかと言...
~
**デフォルトのインストーラにて [#f750033c]
-WIN機にHDDをセットして、CDブート
-"DEBIAN"を選択する。
-インストールが終了したらCTRL-Cでshellに抜ける。
-インストールされた物を確認。ファイルは全て/dev/hda1 (/bo...
#pre{{
# mount -t ext3 /dev/hda1 /mnt
# cd /mnt
# ls
barbara-base.tgz
base.20051219RC2.md
debian-base.tgz
initrd
initrd.hdb
zImage
}}
**initrdをレスキュー用ファイルシステムとして使用するため...
-追加ファイルを外部のサーバから取得するため、まずネットワ...
#pre{{
# ifconfig eth0 down
# dhclient
}}
-追加ファイルの取得と展開
#pre{{
# cd /mnt
# wget http://eggplant.ddo.jp/www/download/glantank/initr...
# tar vxfz initrd_ttyUSB0.tgz
initrd_ttyUSB0/
initrd_ttyUSB0/zImage
initrd_ttyUSB0/initrd/
initrd_ttyUSB0/initrd/sbin/
initrd_ttyUSB0/initrd/sbin/mkreiserfs
initrd_ttyUSB0/initrd/sbin/reiserfsck
initrd_ttyUSB0/initrd/sbin/resize_reiserfs
initrd_ttyUSB0/initrd/sbin/debugreiserfs
initrd_ttyUSB0/initrd/sbin/reiserfstune
initrd_ttyUSB0/initrd/sbin/mkfs.reiserfs
initrd_ttyUSB0/initrd/sbin/fsck.reiserfs
initrd_ttyUSB0/initrd/linuxrc
initrd_ttyUSB0/initrd/etc/
initrd_ttyUSB0/initrd/etc/inittab
initrd_ttyUSB0/initrd/etc/securetty
initrd_ttyUSB0/initrd/etc/rc.d/
initrd_ttyUSB0/initrd/etc/rc.d/rcS2
}}
-initrdの変更
--initrdをほどく
#pre{{
# cd /mnt
# cp initrd initrd.orig.gz
# zcat initrd.orig.gz > initrd.new
# mkdir img
# mount -o loop initrd.new img
# cd img
}}
--initrdの変更
---./linuxrc~
#pre{{
#!/bin/sh
export PATH=/sbin:/bin:/usr/sbin:/usr/bin
### mount proc
mount -t proc proc /proc
### load drivers
for i in leddrv buzdrv btndrv # same as module and d...
do
/sbin/insmod /lib/modules/noversion/$i.ko $* || e...
done
### check boot device
stty -F /dev/ttyUSB0 38400 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
ROOT_DEVICE=0x0100 # initrd
else
ROOT_DEVICE=0x0303 # /dev/hda3
fi
### set root device
echo $ROOT_DEVICE > /proc/sys/kernel/real-root-dev
umount /proc
exit 0
}}
---./etc/inittab
#pre{{
&color(red){::sysinit:/etc/rc.d/rcS2};
&color(red){ttyUSB0::askfirst:/bin/sh};
ttySC1::askfirst:/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/sbin/swapoff -a
::shutdown:/bin/umount -a -r
::restart:/sbin/init
}}
---./etc/securetty
#pre{{
console
ttySC1
&color(red){ttyUSB0};
}}
---./etc/rc.d/rcS2
#pre{{
#!/bin/sh
# mount filesystems
mount -t proc /proc /proc
mount -o remount,rw /
}}
---reiserfsの各種管理ツールをコピー~
(reiserfsでルートファイルシステムを構築したいので。)~
#pre{{
# cp /mnt/initrd_ttyUSB0/initrd/sbin/* ./sbin
}}
--initrdを戻す
#pre{{
# cd /mnt
# umount /mnt/img
# gzip initrd.new
# cp initrd.new.gz initrd
}}
-USBシリアルコンソールをサポートしたkernelに差し替える。~
ehci_hcd、ohci_hcd、usbserial、pl2303、ftdi_sioと、reiser...
#pre{{
# cd /mnt
# mv zImage zImage.orig
# cp initrd_ttyUSB0/zImage .
}}
-準備完了
#pre{{
# cd /
# umount /mnt
# shutdown -h now
}}
GLANTANKへHDDを組み込み、USBシリアルコンソールを接続して...
(シリアルのボーレートは38400で接続すること)~
#pre{{
Please press Enter to activate this console.
BusyBox v1.00 (2005.02.14-02:37+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
/ # df
Filesystem 1k-blocks Used Available Use% M...
/dev/root.old 5639 3965 1674 70% /
&color(red){ネットワークを設定すれば、wgetが使用可能にな...
/ # ifconfig eth0 192.168.1.83
/ # ifconfig
eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:192.168.1.83 Bcast:192.168.1.255 Ma...
UP BROADCAST RUNNING MULTICAST MTU:1500 Metri...
RX packets:0 errors:0 dropped:0 overruns:0 fram...
TX packets:0 errors:0 dropped:0 overruns:0 carr...
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Memory:80000000-80020000
}}
**debianインストールからtelnetまで[#ta5597e6]
-方針
--先ほど導入したレスキューシステムを起動して、debianのイ...
--RAIDは使用しない。(たぶんレスキューシステム上からRAIDの...
~
-パーティション設定
--/dev/hda1と/dev/hda2は触らない。
--/dev/hda3を削除して、/dev/hda3〜/dev/hda5を作成
#pre{{
# fdisk /dev/hda
}}
こんな感じにパーティションを作成した。
#pre{{
Device Boot Start End Blocks Id S...
/dev/hda1 1 32 257008+ 83 L...
/dev/hda2 33 64 257040 82 L...
/dev/hda3 65 4928 39070080 83 L...
/dev/hda4 4929 19457 116704192+ 5 E...
/dev/hda5 4929 9792 39070048+ 83 L...
/dev/hda6 9793 19457 77634081 83 L...
}}
--リブート~
パーティションテーブルを書き換えたので念のためリブート
#pre{{
# reboot
すぐ立ち上がるはず。リブート後、下記のメッセージが出力さ...
Please press Enter to activate this console.
}}
-rootfs(/dev/hda3)をreiserfsへ~
#pre{{
# mkreiserfs /dev/hda3
…省略
ReiserFS is successfully created on /dev/hda3.
}}
-debianベースシステムの展開~
debianのベースシステムは/dev/hda1下に用意されているので、...
#pre{{
# mount -t reiserfs /dev/hda3 /mnt/hda3
# mount -t ext3 /dev/hda1 /mnt/hda1
# cd /mnt/hda3
# tar vxzpf /mnt/hda1/debian-base.tgz
}}
-各種ファイルの変更
--./etc/securetty~
rootでtelnetログインできるように下記を追加!
#pre{{
pts/0
pts/1
}}
--./etc/hosts~
#pre{{
127.0.0.1 localhost.localdomain localhost
192.168.1.83 glantank
}}
--./etc/hostname~
#pre{{
glantank
}}
--./etc/resolv.conf
#pre{{
nameserver 192.168.1.1
}}
--./etc/network/interfaces
#pre{{
# /usr/share/doc/ifupdown/examples for more information.
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
# iface eth0 inet dhcp
iface eth0 inet static
address 192.168.1.83
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
}}
--./etc/fstab
#pre{{
proc /proc proc d...
/dev/hda1 /boot ext3 d...
/dev/hda2 swap swap d...
/dev/hda3 / reiserfs ...
}}
-準備完了
#pre{{
# cd /
# umount /mnt/hda1
# umount /mnt/hda3
# reboot
}}
USBシリアルケーブルを即座に取り外す。
-telnet
#pre{{
Debian GNU/Linux 3.1 glantank
glantank login: root
Last login: Sun Jan 15 21:34:53 2006 from 192.168.1.2 on ...
Linux glantank 2.6.10-iop1 #22 Fri Aug 19 13:37:07 JST 20...
The programs included with the Debian GNU/Linux system ar...
the exact distribution terms for each program are describ...
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to th...
permitted by applicable law.
glantank:~#
}}
* memo [#h077a85f]
-Seagete Barracuda 7200.7 160GB (ST3160023A) 一台で運用予...
-Zaurusの開発環境として使用できるかも!と期待
-ザウルス&サインはVGA、[[夢と小物のエンジニアリング:h...
ザウルスにサインはVGAをつないでいる人がいるようだ。~
GLANTANKでも、同じアーキなので、できないことはなさそうね...
**ARM版debianの使用感等 [#i7a61dd1]
-X window, vnc
--Xの起動に時間がかかる。起動時のみマウスが追従しない。
--一旦起動するとストレスなく使用できる。
--wdmは動作しなかったので、xdmで代用
-emacs21,anthy
--emacs21も起動時かなり時間がかかる。一旦起動すると快適に...
--anthyはなんか動作が変。仮名漢字変換時、最終文字が変換対...
-gcc-3.4
--うごきまっせ!
-サインはVGA
--うごきまっせ!… &ref(usb2vga.tgz);
---カーネルドライバ、sisusbvga.ko
---xfree86用モジュールsisusb_drv.o を含む
-kernelをビルドしてみる
--メモリ128MBなんで贅沢しちゃいます、ってことで、~
ehci_hcd、ohci_hcd、usbserial、pl2303、ftdi_sio、+αを組...
--cmdlineが反映されないみたい。console=ttyS0をttyUSB0に変...
--reiserfsは組み込まれたみたい。~
--sisusbvgaも組み込まれたみたい。(VGA Consoleなし。2.6.1...
*コメント欄 [#d32f5219]
-kernelは、ぜんぶビルドすると、馬鹿みたいに時間がかかるよ...
--普通の方法でビルドしていますが1時間以上かかりました。H...
--そうなんですよ。Apacheとかのビルドでも、SHと変わりない...
--USB判断での起動セレクト成功おめでとう! -- [[kinneko]] ...
--initrdの構成、よく練られていますね。これ単体でLinu...
-(1)シリアルケーブルがある場合は、どのような流れになりま...
--(3)USBシリアルケーブルはどこのメーカの何がいいですか?(...
--(1)持ってないのでわからない。挑戦者の手順どおりでO...
-PLANEX URS-02 , IBM USB Serial Parallel Adapter(P/N 22P5...
--ご報告ありがとうございます。こんな手間暇かかる方法を追...
-本サイトの手順に従いレスキュ・システムを構築して、HDDをG...
--手順どおりrootfsをreiserfsで構成している場合、reiserfs...
ちなみに。本サイトでは、デフォルトカーネルにreiserfsモジ...
--早速のアドバイス有り難うございます。本サイトのレスキュ...
--高度な技はいらないと思います。それよりも現状を把握する...
- sargeにはいってるgcj... 簡単なプログラムもセグフォルト...
- free-java-sdk入れてjavacが動いている人はいるみたいです...
- jikesのほうは問題なく動作していますが、sablevmはかなり...
- SableVM SDKが動いているんですか。それは面白いですね。で...
- この場を借りさせてくださいm_m... どなたかGLANTAN...
- 菅井さん、私のglantankでは最新のgcj,jdbc,postgresqlが動...
- 添付ファイルspamがたくさんついてますね。さすがにこれは...
//#comment
終了行:
*GLAN Tank インストールまとめ [#xafdc833]
-インストール概要~
--まず、デフォルトのインストーラからインストールを行う。
--次にインストーラからshellに抜け、initrdをレスキューシス...
--その後、GLAN Tankで、そのレスキューシステムを使用してde...
~
-レスキューシステムの特徴~
--USBシリアルケーブルを接続した状態で起動すると、initrdが...
--USBシリアルケーブルを接続しない場合は、通常通り/dev/hda...
--もちろんUSBシリアルケーブル経由でシステムのメンテナンス...
--kernelはUSBシリアルサーポートモジュールを組み込むんだモ...
--&color(red){補足:なんでこんな面倒なことをしてるかと言...
~
**デフォルトのインストーラにて [#f750033c]
-WIN機にHDDをセットして、CDブート
-"DEBIAN"を選択する。
-インストールが終了したらCTRL-Cでshellに抜ける。
-インストールされた物を確認。ファイルは全て/dev/hda1 (/bo...
#pre{{
# mount -t ext3 /dev/hda1 /mnt
# cd /mnt
# ls
barbara-base.tgz
base.20051219RC2.md
debian-base.tgz
initrd
initrd.hdb
zImage
}}
**initrdをレスキュー用ファイルシステムとして使用するため...
-追加ファイルを外部のサーバから取得するため、まずネットワ...
#pre{{
# ifconfig eth0 down
# dhclient
}}
-追加ファイルの取得と展開
#pre{{
# cd /mnt
# wget http://eggplant.ddo.jp/www/download/glantank/initr...
# tar vxfz initrd_ttyUSB0.tgz
initrd_ttyUSB0/
initrd_ttyUSB0/zImage
initrd_ttyUSB0/initrd/
initrd_ttyUSB0/initrd/sbin/
initrd_ttyUSB0/initrd/sbin/mkreiserfs
initrd_ttyUSB0/initrd/sbin/reiserfsck
initrd_ttyUSB0/initrd/sbin/resize_reiserfs
initrd_ttyUSB0/initrd/sbin/debugreiserfs
initrd_ttyUSB0/initrd/sbin/reiserfstune
initrd_ttyUSB0/initrd/sbin/mkfs.reiserfs
initrd_ttyUSB0/initrd/sbin/fsck.reiserfs
initrd_ttyUSB0/initrd/linuxrc
initrd_ttyUSB0/initrd/etc/
initrd_ttyUSB0/initrd/etc/inittab
initrd_ttyUSB0/initrd/etc/securetty
initrd_ttyUSB0/initrd/etc/rc.d/
initrd_ttyUSB0/initrd/etc/rc.d/rcS2
}}
-initrdの変更
--initrdをほどく
#pre{{
# cd /mnt
# cp initrd initrd.orig.gz
# zcat initrd.orig.gz > initrd.new
# mkdir img
# mount -o loop initrd.new img
# cd img
}}
--initrdの変更
---./linuxrc~
#pre{{
#!/bin/sh
export PATH=/sbin:/bin:/usr/sbin:/usr/bin
### mount proc
mount -t proc proc /proc
### load drivers
for i in leddrv buzdrv btndrv # same as module and d...
do
/sbin/insmod /lib/modules/noversion/$i.ko $* || e...
done
### check boot device
stty -F /dev/ttyUSB0 38400 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
ROOT_DEVICE=0x0100 # initrd
else
ROOT_DEVICE=0x0303 # /dev/hda3
fi
### set root device
echo $ROOT_DEVICE > /proc/sys/kernel/real-root-dev
umount /proc
exit 0
}}
---./etc/inittab
#pre{{
&color(red){::sysinit:/etc/rc.d/rcS2};
&color(red){ttyUSB0::askfirst:/bin/sh};
ttySC1::askfirst:/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/sbin/swapoff -a
::shutdown:/bin/umount -a -r
::restart:/sbin/init
}}
---./etc/securetty
#pre{{
console
ttySC1
&color(red){ttyUSB0};
}}
---./etc/rc.d/rcS2
#pre{{
#!/bin/sh
# mount filesystems
mount -t proc /proc /proc
mount -o remount,rw /
}}
---reiserfsの各種管理ツールをコピー~
(reiserfsでルートファイルシステムを構築したいので。)~
#pre{{
# cp /mnt/initrd_ttyUSB0/initrd/sbin/* ./sbin
}}
--initrdを戻す
#pre{{
# cd /mnt
# umount /mnt/img
# gzip initrd.new
# cp initrd.new.gz initrd
}}
-USBシリアルコンソールをサポートしたkernelに差し替える。~
ehci_hcd、ohci_hcd、usbserial、pl2303、ftdi_sioと、reiser...
#pre{{
# cd /mnt
# mv zImage zImage.orig
# cp initrd_ttyUSB0/zImage .
}}
-準備完了
#pre{{
# cd /
# umount /mnt
# shutdown -h now
}}
GLANTANKへHDDを組み込み、USBシリアルコンソールを接続して...
(シリアルのボーレートは38400で接続すること)~
#pre{{
Please press Enter to activate this console.
BusyBox v1.00 (2005.02.14-02:37+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
/ # df
Filesystem 1k-blocks Used Available Use% M...
/dev/root.old 5639 3965 1674 70% /
&color(red){ネットワークを設定すれば、wgetが使用可能にな...
/ # ifconfig eth0 192.168.1.83
/ # ifconfig
eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:192.168.1.83 Bcast:192.168.1.255 Ma...
UP BROADCAST RUNNING MULTICAST MTU:1500 Metri...
RX packets:0 errors:0 dropped:0 overruns:0 fram...
TX packets:0 errors:0 dropped:0 overruns:0 carr...
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Memory:80000000-80020000
}}
**debianインストールからtelnetまで[#ta5597e6]
-方針
--先ほど導入したレスキューシステムを起動して、debianのイ...
--RAIDは使用しない。(たぶんレスキューシステム上からRAIDの...
~
-パーティション設定
--/dev/hda1と/dev/hda2は触らない。
--/dev/hda3を削除して、/dev/hda3〜/dev/hda5を作成
#pre{{
# fdisk /dev/hda
}}
こんな感じにパーティションを作成した。
#pre{{
Device Boot Start End Blocks Id S...
/dev/hda1 1 32 257008+ 83 L...
/dev/hda2 33 64 257040 82 L...
/dev/hda3 65 4928 39070080 83 L...
/dev/hda4 4929 19457 116704192+ 5 E...
/dev/hda5 4929 9792 39070048+ 83 L...
/dev/hda6 9793 19457 77634081 83 L...
}}
--リブート~
パーティションテーブルを書き換えたので念のためリブート
#pre{{
# reboot
すぐ立ち上がるはず。リブート後、下記のメッセージが出力さ...
Please press Enter to activate this console.
}}
-rootfs(/dev/hda3)をreiserfsへ~
#pre{{
# mkreiserfs /dev/hda3
…省略
ReiserFS is successfully created on /dev/hda3.
}}
-debianベースシステムの展開~
debianのベースシステムは/dev/hda1下に用意されているので、...
#pre{{
# mount -t reiserfs /dev/hda3 /mnt/hda3
# mount -t ext3 /dev/hda1 /mnt/hda1
# cd /mnt/hda3
# tar vxzpf /mnt/hda1/debian-base.tgz
}}
-各種ファイルの変更
--./etc/securetty~
rootでtelnetログインできるように下記を追加!
#pre{{
pts/0
pts/1
}}
--./etc/hosts~
#pre{{
127.0.0.1 localhost.localdomain localhost
192.168.1.83 glantank
}}
--./etc/hostname~
#pre{{
glantank
}}
--./etc/resolv.conf
#pre{{
nameserver 192.168.1.1
}}
--./etc/network/interfaces
#pre{{
# /usr/share/doc/ifupdown/examples for more information.
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
# iface eth0 inet dhcp
iface eth0 inet static
address 192.168.1.83
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
}}
--./etc/fstab
#pre{{
proc /proc proc d...
/dev/hda1 /boot ext3 d...
/dev/hda2 swap swap d...
/dev/hda3 / reiserfs ...
}}
-準備完了
#pre{{
# cd /
# umount /mnt/hda1
# umount /mnt/hda3
# reboot
}}
USBシリアルケーブルを即座に取り外す。
-telnet
#pre{{
Debian GNU/Linux 3.1 glantank
glantank login: root
Last login: Sun Jan 15 21:34:53 2006 from 192.168.1.2 on ...
Linux glantank 2.6.10-iop1 #22 Fri Aug 19 13:37:07 JST 20...
The programs included with the Debian GNU/Linux system ar...
the exact distribution terms for each program are describ...
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to th...
permitted by applicable law.
glantank:~#
}}
* memo [#h077a85f]
-Seagete Barracuda 7200.7 160GB (ST3160023A) 一台で運用予...
-Zaurusの開発環境として使用できるかも!と期待
-ザウルス&サインはVGA、[[夢と小物のエンジニアリング:h...
ザウルスにサインはVGAをつないでいる人がいるようだ。~
GLANTANKでも、同じアーキなので、できないことはなさそうね...
**ARM版debianの使用感等 [#i7a61dd1]
-X window, vnc
--Xの起動に時間がかかる。起動時のみマウスが追従しない。
--一旦起動するとストレスなく使用できる。
--wdmは動作しなかったので、xdmで代用
-emacs21,anthy
--emacs21も起動時かなり時間がかかる。一旦起動すると快適に...
--anthyはなんか動作が変。仮名漢字変換時、最終文字が変換対...
-gcc-3.4
--うごきまっせ!
-サインはVGA
--うごきまっせ!… &ref(usb2vga.tgz);
---カーネルドライバ、sisusbvga.ko
---xfree86用モジュールsisusb_drv.o を含む
-kernelをビルドしてみる
--メモリ128MBなんで贅沢しちゃいます、ってことで、~
ehci_hcd、ohci_hcd、usbserial、pl2303、ftdi_sio、+αを組...
--cmdlineが反映されないみたい。console=ttyS0をttyUSB0に変...
--reiserfsは組み込まれたみたい。~
--sisusbvgaも組み込まれたみたい。(VGA Consoleなし。2.6.1...
*コメント欄 [#d32f5219]
-kernelは、ぜんぶビルドすると、馬鹿みたいに時間がかかるよ...
--普通の方法でビルドしていますが1時間以上かかりました。H...
--そうなんですよ。Apacheとかのビルドでも、SHと変わりない...
--USB判断での起動セレクト成功おめでとう! -- [[kinneko]] ...
--initrdの構成、よく練られていますね。これ単体でLinu...
-(1)シリアルケーブルがある場合は、どのような流れになりま...
--(3)USBシリアルケーブルはどこのメーカの何がいいですか?(...
--(1)持ってないのでわからない。挑戦者の手順どおりでO...
-PLANEX URS-02 , IBM USB Serial Parallel Adapter(P/N 22P5...
--ご報告ありがとうございます。こんな手間暇かかる方法を追...
-本サイトの手順に従いレスキュ・システムを構築して、HDDをG...
--手順どおりrootfsをreiserfsで構成している場合、reiserfs...
ちなみに。本サイトでは、デフォルトカーネルにreiserfsモジ...
--早速のアドバイス有り難うございます。本サイトのレスキュ...
--高度な技はいらないと思います。それよりも現状を把握する...
- sargeにはいってるgcj... 簡単なプログラムもセグフォルト...
- free-java-sdk入れてjavacが動いている人はいるみたいです...
- jikesのほうは問題なく動作していますが、sablevmはかなり...
- SableVM SDKが動いているんですか。それは面白いですね。で...
- この場を借りさせてくださいm_m... どなたかGLANTAN...
- 菅井さん、私のglantankでは最新のgcj,jdbc,postgresqlが動...
- 添付ファイルspamがたくさんついてますね。さすがにこれは...
//#comment
ページ名: