<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns="http://purl.org/rss/1.0/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/">

	<channel rdf:about="http://linux.blog.kaone.net/RSS/100/">
		<title>LINUX忘却録</title>
		<link>http://linux.blog.kaone.net/</link>
		<description>LINUX忘却録-リナックス(主にdebian)の覚書や、解説を書いています。
</description>
		<dc:language>ja</dc:language>
		<items>
		<rdf:Seq>
			<rdf:li rdf:resource="http://linux.blog.kaone.net/Entry/22/" />
			<rdf:li rdf:resource="http://linux.blog.kaone.net/Entry/21/" />
			<rdf:li rdf:resource="http://linux.blog.kaone.net/Entry/20/" />
			<rdf:li rdf:resource="http://linux.blog.kaone.net/Entry/19/" />
			<rdf:li rdf:resource="http://linux.blog.kaone.net/Entry/18/" />
			<rdf:li rdf:resource="http://linux.blog.kaone.net/Entry/17/" />
			<rdf:li rdf:resource="http://linux.blog.kaone.net/Entry/16/" />
			<rdf:li rdf:resource="http://linux.blog.kaone.net/Entry/15/" />
			<rdf:li rdf:resource="http://linux.blog.kaone.net/Entry/14/" />
			<rdf:li rdf:resource="http://linux.blog.kaone.net/Entry/13/" />
		</rdf:Seq>
		</items>
	</channel>

	<item rdf:about="http://linux.blog.kaone.net/Entry/22/">
		<link>http://linux.blog.kaone.net/Entry/22/</link>
		<title>Atom330搭載マザーボード</title>
		<description>自宅サーバのdebianのCPUをCeleron DからAtom330搭載マザーボードに交換した。
装てんしたマザーボードは、以下のJETWAY社製　ATOM-GM1-NC330



これを選んだ理由は、Atom330でありながら、現在発売されている中で、唯一メモリが、Dual Chan...</description>
		<content:encoded><![CDATA[自宅サーバのdebianのCPUをCeleron DからAtom330搭載マザーボードに交換した。<br />
装てんしたマザーボードは、以下のJETWAY社製<strong><font size="4">　</font></strong><font color="#3366ff"><strong><font size="4"><small>ATOM-GM1-NC330</small></font></strong></font><small><br />
</small><br />
<a href="http://file.linux.blog.kaone.net/atom330mb.png" target="_blank"><img border="0" align="baseline" src="http://file.linux.blog.kaone.net/atom330mb.png" alt="ATOM-GM1-NC330" /></a><br />
<br />
これを選んだ理由は、Atom330でありながら、現在発売されている中で、唯一メモリが、Dual Channelに対応していた。<br />
デスクトップPCをCore i7 DDR3にしようと思っている俺は、今デスクトップに搭載している2Gx2（４G)のDDR2を流用出きるのも魅力的だ。<br />
今回は、まだデスクトップPCはまだ買い換えないので、昔つかっていた512MBのDDR2を2枚指しで使う。<br />
atom330にした最大の理由は、消費電力と騒音だ。<br />
はっきりいってCeleron DのCPUファンはうるさいし、なんといっても熱がすごい。<br />
夏に向けてこのままだと不安なので、交換する事にした。<br />
交換費用は、このマザーボードだけなので、8,000円ぐらいだけ、あとは全て流用、あえて欠点をいうなれば、家庭内ネットワークは、現在全てギガビットLANにしている。<br />
カタログでは、この製品100M/10MのLANしか搭載されていない、まぁこの問題は、PCIに空きがあるので、ギガビットLANを後でさす事で納得する事にしよう。<br />
<br />
さて、購入してきて、まずdebianのインストールだが、今回はせっかくなのでdebianの最新版lenny(5.0)をインストールする事にした。<br />
しかも64bit版をインストールする事にした。<br />
<br />
インストール自体は、特に変わっていないので、Etch等を参照してください。<br />
<br />
インストール完了<br />
#uname -a とすると<br />
<br />
Linux debian 2.6.26-2-amd64 #1 SMP Fri Mar 27 04:02:59 UTC 2009 x86_64 GNU/Linux<br />
<br />
おお！！64bit版だ！<br />
と感動した（笑）<br />
<br />
さてここで苦戦したことと解決方法をメモっときます。<br />
<br />
まず、このMBはブートドライブを探すのに６台のハードディスクしか探してくれません。<br />
しかも、探す順番は、SATAハードディスク&rarr;USBハードディスク&rarr;IDEハードディスクという順番なのです。<br />
SATA HDDにインストールすればよかったのですが、SATAは１TBで既にデータが満載というわけで私は、３００GBのIDEにインストールしたのでした。<br />
そして、USBのハードディスクを、6台ぶら下げると起動しなくなって大慌て、色々調べてみると<br />
<br />
BIOSのUSB Storage Legacy Support をDisableにすることで解決した。<br />
これは、USBの記憶装置（USBメモリを含める）ハードディスクから起動しないよという設定です。<br />
<br />
二つ目は、ためしでデスクトップのDDR2の2GBを2枚さしてみた<br />
MemTotal:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3346140 kB<br />
あれ？4GB認識しない・・・・あ、もしかして64bitにしてもbigmemのカーネルが必要か！？とおもったらBIOSでも3.3Gしか認識してなかった。<br />
カーネルの入れ替えを屋っても無駄そうだったので、とりあえずこれは保留たぶん無理なんだろうなとかってに納得しといた。<br />
<br />
三つ目は、ギガビットのLANカードを購入（CG-LAPCIGTR）して見たが認識しない。<br />
どうやらr8101というドライバーを入れないといけないらしい。<br />
ドライバーをコンパイルしてbootイメージを作り直して認識<br />
<br />
<br />
<br />
<br type="_moz" />]]></content:encoded>
		<dc:subject>コラム</dc:subject>
		<dc:date>2009-06-10T15:05:54+09:00</dc:date>
		<dc:creator>かおん</dc:creator>
		<dc:publisher>NINJA BLOG</dc:publisher>
		<dc:rights>かおん</dc:rights>
	</item>
	<item rdf:about="http://linux.blog.kaone.net/Entry/21/">
		<link>http://linux.blog.kaone.net/Entry/21/</link>
		<title>フォーマットに対応したログの出力</title>
		<description>PHPで簡単なログを出力するときに、毎回日時をセットするのがめんどくさいので、日時を出力するログと出力する値をprintfのようにフォーマットしたいときに便利なincludeファイルを残しておきます。

使い方:
&amp;amp;lt;?
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; require_once( ...</description>
		<content:encoded><![CDATA[PHPで簡単なログを出力するときに、毎回日時をセットするのがめんどくさいので、日時を出力するログと出力する値をprintfのようにフォーマットしたいときに便利なincludeファイルを残しておきます。<br />
<br />
使い方:<br />
&lt;?<br />
&nbsp;&nbsp;&nbsp; require_once( &quot;logwrite.inc&quot;);<br />
&nbsp;&nbsp;&nbsp; loginit( &quot;/var/log/test.log&quot;, &quot;dateformat=datetime&quot; );<br />
&nbsp;&nbsp;&nbsp; $a = 99;<br />
&nbsp;&nbsp;&nbsp; logwrite( &quot;aのデータ = %05.5d&quot;, $a );<br />
?&gt;<br />
<br />
出力結果<br />
2008-11-11 02:22:11 :aのデータ = 00099<br />
<br />
となります。<br />
<br />
ファイル: logwrite.inc
<div class="linux-console2">&lt;?<br />
<br />
define( &quot;LOG_NOOUT&quot;, &quot;&quot; );<br />
define( &quot;LOG_STDOUT&quot;, &quot;stdout&quot; );<br />
$log_fname = &quot;&quot;;<br />
$log_option = &quot;&quot;;<br />
/**************************************************************<br />
&nbsp;&nbsp;&nbsp; option<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; dateformat&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; datetime, date, time<br />
**************************************************************/<br />
function loginit( $fname, $option ){<br />
&nbsp;&nbsp;&nbsp; global $log_fname;<br />
&nbsp;&nbsp;&nbsp; global $log_option;<br />
&nbsp;&nbsp;&nbsp; $log_fname = $fname;<br />
&nbsp;&nbsp;&nbsp; if( $option != &quot;&quot; ){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $opta = explode( &quot;,&quot;, $option );<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for( $i=0;$i&lt;count( $opta );$i++ ){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $optd = trim( $opta[$i] );<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if( eregi( &quot;^([^=]+)=(.*)$&quot;, $optd, $optr ) ){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $log_option[$optr[1]] = $optr[2];<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
<br />
function logwrite(){<br />
&nbsp;&nbsp;&nbsp; global $log_fname;<br />
&nbsp;&nbsp;&nbsp; global $log_option;<br />
<br />
&nbsp;&nbsp;&nbsp; $num = func_num_args();<br />
&nbsp;&nbsp;&nbsp; $arg = func_get_args();<br />
&nbsp;&nbsp;&nbsp; if( $num == 0 ) return 0;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; if( $log_fname != &quot;&quot; ){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $fmt = $arg[0];<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $vap = array();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if( $num &gt; 1 ){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for( $i=1;$i&lt;$num;$i++ ){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; array_push( $vap, $arg[$i] );<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $logstr = vsprintf( $fmt, $vap );<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }else{<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $logstr = $fmt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if( $log_option[&quot;dateformat&quot;] == &quot;datetime&quot; ){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $dt = Date( &quot;Y-m-d H:i:s&quot; ).&quot; :&quot;;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }else if( $log_option[&quot;dateformat&quot;] == &quot;date&quot; ){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $dt = Date( &quot;Y-m-d&quot; ).&quot; :&quot;;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }else if( $log_option[&quot;dateformat&quot;] == &quot;time&quot; ){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $dt = Date( &quot;H:i:s&quot; ).&quot; :&quot;;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }else{<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $dt = &quot;&quot;;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if( $log_fname == LOG_STDOUT ){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; printf( &quot;%s%s\n&quot;, $dt, $logstr );<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }else{<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $fp = fopen( $log_fname, &quot;a&quot; );<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; fprintf( $fp, &quot;%s%s\n&quot;, $dt, $logstr );<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; fclose( $fp );<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
?&gt;</div>]]></content:encoded>
		<dc:subject>PHP</dc:subject>
		<dc:date>2008-11-16T03:19:22+09:00</dc:date>
		<dc:creator>かおん</dc:creator>
		<dc:publisher>NINJA BLOG</dc:publisher>
		<dc:rights>かおん</dc:rights>
	</item>
	<item rdf:about="http://linux.blog.kaone.net/Entry/20/">
		<link>http://linux.blog.kaone.net/Entry/20/</link>
		<title>Linuxが起動しない</title>
		<description>毎日、働いてくれているLinux Server君も、あるとき突然ご臨終することは、たまにあります。
特に、複数のLinuxサーバを管理している管理者の方は、年に数回遭遇するのではないでしょうか？

さて、Kernel Panicと、無慈悲な表示を画面に出力して、うんともすんとも動かなくなったら...</description>
		<content:encoded><![CDATA[毎日、働いてくれているLinux Server君も、あるとき突然ご臨終することは、たまにあります。<br />
特に、複数のLinuxサーバを管理している管理者の方は、年に数回遭遇するのではないでしょうか？<br />
<br />
さて、<strong>Kernel Panic</strong>と、無慈悲な表示を画面に出力して、うんともすんとも動かなくなったらどうしましょう。<br />
<br />
ほとんどのケースでは、そうなる前に、Mentenance Login が出て起動しないものの、なんとかシングル<br />
モードでのログインが可能だったりします。<br />
<br />
その場合は、通常 fsck または、fsck.ext3 等のコマンドで、復旧することが可能ですが、<br />
Kernel Panicとなり、マウントすらできない状態に陥ってしまうと、自己修復することができなくなります。<br />
<br />
そんなときは、debian(ETCH)のインストールディスクから起動させ、起動時に rescueと実行し、<br />
インストール開始し、レスキューの実行で、ディスクにアクセスできる可能性があります。<br />
<br />
ただ、マウントできない場合、ここでもエラーになる可能性のほうが高く。<br />
その場合、下のほうにある、シェルの実行でシェルを起動後、対象のドライブに fsck.ext3等を実行します。<br />
<br />
コレでほとんどが修復可能です。<br />
この方法は、debianのインストールディスクを使用して、turbo linux等の他のディストリビューションにも有効です。<br />
<br />
ただし、仮に復旧したとしても、出来ればすぐさまバックアップをとって、ディスクの交換をオススメします^^;<br />
<br />
<br type="_moz" />]]></content:encoded>
		<dc:subject>コラム</dc:subject>
		<dc:date>2008-08-27T00:41:12+09:00</dc:date>
		<dc:creator>かおん</dc:creator>
		<dc:publisher>NINJA BLOG</dc:publisher>
		<dc:rights>かおん</dc:rights>
	</item>
	<item rdf:about="http://linux.blog.kaone.net/Entry/19/">
		<link>http://linux.blog.kaone.net/Entry/19/</link>
		<title>[/dev/sdi] fdisk出来ない！！</title>
		<description>以前HDDの増設を行った時は、sdhだったわけですが、今回さらに追加すると、予定道理sdi(アイの小文字)となったわけですが、下記のようにやってもエラーになる。

#fdisk /dev/sdi

Unable to open /dev/sdi

それは、なぜかというと、
ls /de...</description>
		<content:encoded><![CDATA[以前HDDの増設を行った時は、sdhだったわけですが、今回さらに追加すると、予定道理sdi(アイの小文字)となったわけですが、下記のようにやってもエラーになる。<br />
<br />
#fdisk /dev/sdi<br />
<br />
Unable to open /dev/sdi<br />
<br />
それは、なぜかというと、<br />
ls /dev　としていただければ、わかると思いますが、/dev/sdhまでは、デバイスのioポイントとして、ディレクトリが存在しますが、sdi　以降はありません。<br />
そのため、sdi をfdiskで操作しようと思っても、出来ないのです。<br />
<br />
残念ながら・・・というのは、冗談で、デバイスのioポイントを作成することでこの問題は簡単に改善できます。<br />
それは、下記のコマンドを実行することで、作成できます。<br />
<br />
MAKEDEV -v sdi<br />
<br />
まぁ忘れてしまうので、将来的なことも踏まえて<br />
MAKEDEV -v sdj<br />
MAKEDEV -v sdk<br />
MAKEDEV -v sdｌ<br />
MAKEDEV -v sdm<br />
<br />
と、適当に作っておくのもありかもしれません。<br />
<br type="_moz" />]]></content:encoded>
		<dc:subject>インストール</dc:subject>
		<dc:date>2008-07-21T20:58:14+09:00</dc:date>
		<dc:creator>かおん</dc:creator>
		<dc:publisher>NINJA BLOG</dc:publisher>
		<dc:rights>かおん</dc:rights>
	</item>
	<item rdf:about="http://linux.blog.kaone.net/Entry/18/">
		<link>http://linux.blog.kaone.net/Entry/18/</link>
		<title>LinuxにUSB HDDを増設する</title>
		<description>１．外付けHDDのUSBをLinux本体に接続して、電源を投入します。

２．次に、増設したUSBのデバイス名を知る必要があります。

方法は、/var/log/messages か　/var/log/syslogを　viewで見ます。
#view /var/log/messages
/...</description>
		<content:encoded><![CDATA[１．外付けHDDのUSBをLinux本体に接続して、電源を投入します。<br />
<br />
２．次に、増設したUSBのデバイス名を知る必要があります。<br />
<br />
方法は、/var/log/messages か　/var/log/syslogを　viewで見ます。<br />
<div class="linux-console2">#view /var/log/messages</div>
/var/log/messages の例<br />
<div class="linux-console2">Mar  9 20:31:49 localhost kernel: hub.c: new USB device 00:03.3-3.3, assigned ad dress 9 <br />
Mar  9 20:31:50 localhost kernel: scsi7 : SCSI emulation for USB Mass Storage de vices <br />
Mar  9 20:32:02 localhost kernel:   Vendor: ST332062  Model: 0AS               R ev: <br />
Mar  9 20:32:02 localhost kernel:   Type:   Direct-Access                      A NSI SCSI revision: 02 <br />
Mar  9 20:32:02 localhost kernel: Attached scsi disk <strong><font color="#ff0000">sdh</font></strong> at scsi7, channel 0, id  0, lun 0 <br />
Mar  9 20:32:02 localhost kernel: SCSI device <strong><font color="#ff0000">sdh</font></strong>: 625142448 512-byte hdwr secto rs (320073 MB) <br />
Mar  9 20:32:02 localhost kernel:  /dev/scsi/host7/bus0/target0/lun0: p1 <br />
Mar  9 20:32:05 localhost usb.agent[4720]:      usb-storage: already loaded</div>
<br />
<div class="linux-console2">#view /var/log/syslog</div>
/var/log/syslog の例<br />
<div class="linux-console2">Mar&nbsp; 9 20:32:02 localhost kernel:&nbsp;&nbsp; Vendor: ST332062&nbsp; Model: 0AS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R<br />
ev:<br />
Mar&nbsp; 9 20:32:02 localhost kernel:&nbsp;&nbsp; Type:&nbsp;&nbsp; Direct-Access&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A<br />
NSI SCSI revision: 02<br />
Mar&nbsp; 9 20:32:02 localhost kernel: Attached scsi disk <strong><font color="#ff0000">sdh</font></strong> at scsi7, channel 0, id<br />
&nbsp;0, lun 0<br />
Mar&nbsp; 9 20:32:02 localhost kernel: SCSI device <strong><font color="#ff0000">sdh</font></strong>: 625142448 512-byte hdwr secto<br />
rs (320073 MB)<br />
Mar&nbsp; 9 20:32:02 localhost kernel:&nbsp; /dev/scsi/host7/bus0/target0/lun0: p1<br />
Mar&nbsp; 9 20:32:02 localhost kernel: WARNING: USB Mass Storage data integrity not a<br />
ssured<br />
Mar&nbsp; 9 20:32:02 localhost kernel: USB Mass Storage device found at 9<br />
Mar&nbsp; 9 20:32:05 localhost usb.agent[4720]:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; usb-storage: already loaded</div>
かかれる内容は、ほとんど同じですが、中の赤文字に注目してください。<br />
ここで追加されたHDD は　SCSI機器として認識しており、HDDのデバイス名は<strong><font color="#ff0000">sdh</font></strong>となっております。<br />
<br />
３．パーテションの確認及び、パーテションの作成<br />
<br />
新規に増設したドライブにパーテションが設定されているかわからないので、確認をします。<br />
必要なら、パーテションを作成します。<br />
<br />
fdiskコマンドを使用します。<br />
<br />
<div class="linux-console2">#fdisk /dev/sdh</div>
<br />
<div class="linux-console2">The number of cylinders for this disk is set to 38913.<br />
There is nothing wrong with that, but this is larger than 1024,<br />
and could in certain setups cause problems with:<br />
1) software that runs at boot time (e.g., old versions of LILO)<br />
2) booting and partitioning software from other OSs<br />
&nbsp;&nbsp; (e.g., DOS FDISK, OS/2 FDISK)<br />
<br />
Command (m for help):</div>
<br />
日本語で表示されている場合<br />
<br />
<div class="linux-console2">このディスクのシリンダ数は 38913 に設定されています。<br />
間違いではないのですが、1024 を超えているため、以下の場合に問題を生じうる事を確認しましょう:<br />
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)<br />
2) 別の OS のブートやパーティション作成ソフト<br />
&nbsp;&nbsp; (例. DOS FDISK, OS/2 FDISK)<br />
<br />
コマンド (m でヘルプ):</div>
<br />
と表示されるはずです。<br />
パーテションを確認するには、Command(コマンド)で p を入力します。<br />
<br />
<div class="linux-console2">Command (m for help): p<br />
<br />
Disk /dev/sdh: 320.0 GB, 320072933376 bytes<br />
255 heads, 63 sectors/track, 38913 cylinders<br />
Units = cylinders of 16065 * 512 = 8225280 bytes<br />
<br />
&nbsp;&nbsp; Device Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blocks&nbsp;&nbsp; Id&nbsp; System<br />
/dev/sdh1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 38913&nbsp;&nbsp; 312568641&nbsp;&nbsp;&nbsp; c&nbsp; W95 FAT32 (LBA)<br />
<br />
Linuxで使用するので、パーテションを作成しなおします。<br />
dコマンドで削除します。<br />
<br />
Command (m for help): d<br />
Selected Partition 1</div>
<br />
もう一度確認します。<br />
&nbsp;<br />
<div class="linux-console2">Command (m for help): p<br />
&nbsp;&nbsp; Device Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blocks&nbsp;&nbsp; Id&nbsp; System</div>
<br />
パーテションがなくなっていますね。<br />
<br />
次に、パーテションを作成します。<br />
コマンド　nで作成を選択して、 p で基本パーテション　パーテション番号は１で作成します。<br />
ここでは、パーテションを全部一括で作成しています。<br />
<br />
<div class="linux-console2">Command (m for help): n<br />
Command action<br />
&nbsp;&nbsp; e&nbsp;&nbsp; extended<br />
&nbsp;&nbsp; p&nbsp;&nbsp; primary partition (1-4)<br />
p<br />
Partition number (1-4): 1<br />
First cylinder (1-38913, default 1):<br />
Using default value 1<br />
Last cylinder or +size or +sizeM or +sizeK (1-38913, default 38913):<br />
Using default value 38913</div>
<br />
それでは、もう一度確認してみましょう。<br />
<br />
<div class="linux-console2">&nbsp;&nbsp; Device Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blocks&nbsp;&nbsp; Id&nbsp; System<br />
/dev/sdh1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 38913&nbsp;&nbsp; 312568641&nbsp;&nbsp;&nbsp; 83 Linux</div>
<br />
SystemはLinuxになっています。<br />
もしなっていなかったら、コマンド t で83を指定するだけで変更できます。<br />
<div class="linux-console2">Command (m for help): t<br />
Selected partition 1<br />
Hex code (type L to list codes): L<br />
<br />
&nbsp;0&nbsp; Empty&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1e&nbsp; Hidden W95 FAT1 80&nbsp; Old Minix&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; be&nbsp; Solaris boot<br />
&nbsp;1&nbsp; FAT12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 24&nbsp; NEC DOS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 81&nbsp; Minix / old Lin bf&nbsp; Solaris<br />
&nbsp;2&nbsp; XENIX root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 39&nbsp; Plan 9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 82&nbsp; Linux swap / So c1&nbsp; DRDOS/sec (FAT-<br />
&nbsp;3&nbsp; XENIX usr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3c&nbsp; PartitionMagic&nbsp; 83&nbsp; Linux&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c4&nbsp; DRDOS/sec (FAT-<br />
&nbsp;4&nbsp; FAT16 &lt;32M&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 40&nbsp; Venix 80286&nbsp;&nbsp;&nbsp;&nbsp; 84&nbsp; OS/2 hidden C:&nbsp; c6&nbsp; DRDOS/sec (FAT-<br />
&nbsp;5&nbsp; Extended&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 41&nbsp; PPC PReP Boot&nbsp;&nbsp; 85&nbsp; Linux extended&nbsp; c7&nbsp; Syrinx<br />
&nbsp;6&nbsp; FAT16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 42&nbsp; SFS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 86&nbsp; NTFS volume set da&nbsp; Non-FS data<br />
&nbsp;7&nbsp; HPFS/NTFS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4d&nbsp; QNX4.x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 87&nbsp; NTFS volume set db&nbsp; CP/M / CTOS / .<br />
&nbsp;8&nbsp; AIX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4e&nbsp; QNX4.x 2nd part 88&nbsp; Linux plaintext de&nbsp; Dell Utility<br />
&nbsp;9&nbsp; AIX bootable&nbsp;&nbsp;&nbsp; 4f&nbsp; QNX4.x 3rd part 8e&nbsp; Linux LVM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; df&nbsp; BootIt<br />
&nbsp;a&nbsp; OS/2 Boot Manag 50&nbsp; OnTrack DM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 93&nbsp; Amoeba&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e1&nbsp; DOS access<br />
&nbsp;b&nbsp; W95 FAT32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51&nbsp; OnTrack DM6 Aux 94&nbsp; Amoeba BBT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e3&nbsp; DOS R/O<br />
&nbsp;c&nbsp; W95 FAT32 (LBA) 52&nbsp; CP/M&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9f&nbsp; BSD/OS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e4&nbsp; SpeedStor<br />
&nbsp;e&nbsp; W95 FAT16 (LBA) 53&nbsp; OnTrack DM6 Aux a0&nbsp; IBM Thinkpad hi eb&nbsp; BeOS fs<br />
&nbsp;f&nbsp; W95 Ext'd (LBA) 54&nbsp; OnTrackDM6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a5&nbsp; FreeBSD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ee&nbsp; EFI GPT<br />
10&nbsp; OPUS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 55&nbsp; EZ-Drive&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a6&nbsp; OpenBSD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ef&nbsp; EFI (FAT-12/16/<br />
11&nbsp; Hidden FAT12&nbsp;&nbsp;&nbsp; 56&nbsp; Golden Bow&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a7&nbsp; NeXTSTEP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f0&nbsp; Linux/PA-RISC b<br />
12&nbsp; Compaq diagnost 5c&nbsp; Priam Edisk&nbsp;&nbsp;&nbsp;&nbsp; a8&nbsp; Darwin UFS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f1&nbsp; SpeedStor<br />
14&nbsp; Hidden FAT16 &lt;3 61&nbsp; SpeedStor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a9&nbsp; NetBSD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f4&nbsp; SpeedStor<br />
16&nbsp; Hidden FAT16&nbsp;&nbsp;&nbsp; 63&nbsp; GNU HURD or Sys ab&nbsp; Darwin boot&nbsp;&nbsp;&nbsp;&nbsp; f2&nbsp; DOS secondary<br />
17&nbsp; Hidden HPFS/NTF 64&nbsp; Novell Netware&nbsp; b7&nbsp; BSDI fs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fd&nbsp; Linux raid auto<br />
18&nbsp; AST SmartSleep&nbsp; 65&nbsp; Novell Netware&nbsp; b8&nbsp; BSDI swap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fe&nbsp; LANstep<br />
1b&nbsp; Hidden W95 FAT3 70&nbsp; DiskSecure Mult bb&nbsp; Boot Wizard hid ff&nbsp; BBT<br />
1c&nbsp; Hidden W95 FAT3 75&nbsp; PC/IX<br />
Hex code (type L to list codes): 83</div>
<br />
３．ハードディスクのフォーマット<br />
ext3でフォーマットしたいので、以下のコマンドを実行します。<br />
<br />
<div class="linux-console2"># mke2fs -j /dev/sdh1</div>
&uarr;指摘が多かったので補則  -j &larr;このオプションは、小文字のJ(ジェイ)です。<br />
Journal有りのフォーマットをするという意味です。 <br />
フォントがよくないね^^; <br />
<div class="linux-console2"><br />
mke2fs 1.37 (21-Mar-2005)<br />
Filesystem label=<br />
OS type: Linux<br />
Block size=4096 (log=2)<br />
Fragment size=4096 (log=2)<br />
39075840 inodes, 78142160 blocks<br />
3907108 blocks (5.00%) reserved for the super user<br />
First data block=0<br />
2385 block groups<br />
32768 blocks per group, 32768 fragments per group<br />
16384 inodes per group<br />
Superblock backups stored on blocks:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4096000, 7962624, 11239424, 20480000, 23887872, 71663616<br />
<br />
Writing inode tables: done<br />
Creating journal (8192 blocks): done<br />
Writing superblocks and filesystem accounting information: done<br />
<br />
This filesystem will be automatically checked every 35 mounts or<br />
180 days, whichever comes first.&nbsp; Use tune2fs -c or -i to override.</div>
<br />
これでフォーマットは完了です。<br />
<br />
３．フォーマット済みのハードディスクをマウントします。<br />
<br />
マウントするフォルダを作成します。<br />
<br />
たとえば、<br />
<br />
<div class="linux-console2">#mkdir /home/usbhdd/</div>
<br />
次に、/etc/fstab を編集します。<br />
<br />
<div class="linux-console2">#vi /etc/fstab</div>
<br />
<div class="linux-console2"># /etc/fstab: static file system information.<br />
#<br />
# &lt;file system&gt; &lt;mount point&gt;&nbsp;&nbsp; &lt;type&gt;&nbsp; &lt;options&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dump&gt;&nbsp; &lt;pass&gt;<br />
proc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /proc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; proc&nbsp;&nbsp;&nbsp; defaults&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br />
/dev/hdb1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ext3&nbsp;&nbsp;&nbsp; defaults,errors=remount-ro 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br />
/dev/hdb5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; none&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; swap&nbsp;&nbsp;&nbsp; sw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br />
/dev/hda&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /media/cdrom0&nbsp;&nbsp; iso9660 ro,user,noauto&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br />
<br />
/dev/sdh1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /home/usbhdd&nbsp; ext3 rw,user,noauto&nbsp; 0 0</div>
<br />
:w で保存してください。<br />
<br />
次にmount を実行します。<br />
<br />
<div class="linux-console2">#mount&nbsp; /home/usbhdd</div>
<br />
これでマウントは出来たはずです。<br />
以下のコマンドを実行して、マウントできたかどうか確認してみてください。<br />
<div class="linux-console2">#df -k</div>
<br />
<div class="linux-console2">Filesystem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1K-blocks&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Used Available Use% Mounted on<br />
/dev/hdb1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 238939420 223471024&nbsp;&nbsp; 3330892&nbsp; 99% /<br />
tmpfs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 241972&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 241972&nbsp;&nbsp; 0% /dev/shm<br />
/dev/sdh1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 307663800&nbsp;&nbsp;&nbsp;&nbsp; 32828 292002540&nbsp;&nbsp; 1%&nbsp; /home/usbhdd</div>
<br />
上記のようにマウントも成功したようです。<br />
<br />
<br />]]></content:encoded>
		<dc:subject>インストール</dc:subject>
		<dc:date>2008-03-09T21:05:31+09:00</dc:date>
		<dc:creator>かおん</dc:creator>
		<dc:publisher>NINJA BLOG</dc:publisher>
		<dc:rights>かおん</dc:rights>
	</item>
	<item rdf:about="http://linux.blog.kaone.net/Entry/17/">
		<link>http://linux.blog.kaone.net/Entry/17/</link>
		<title>Linuxのデータベース</title>
		<description>Linuxでは、webサービスに続いて利用されているシステムにデータベースがある。

最近の傾向では、高性能なリレーショナルデータベース(RDBMS)が、必ずしも利用されるというふうではなくなってきている。
現場では、利用の手軽さや低機能だが、軽いデータベースや、用途や、ニーズによっていろいろ...</description>
		<content:encoded><![CDATA[Linuxでは、webサービスに続いて利用されているシステムにデータベースがある。<br />
<br />
最近の傾向では、高性能なリレーショナルデータベース(RDBMS)が、必ずしも利用されるというふうではなくなってきている。<br />
現場では、利用の手軽さや低機能だが、軽いデータベースや、用途や、ニーズによっていろいろなデータベースがケースバイケースで利用されることも多くなってきているからだ。<br />
そういう意味では、技術者は、いろいろなDBを客観的に知っている必要もあり、かつそれぞれを使いこなすことも必要になってきた。<br />
<br />
また、各データベースの安定性、高性能化が行われてきて、選択肢がいっそう広がってきた現実もある。<br />
最近では、エンジン自体よりも、付属する管理ツールなどで、選択する事も多くなってきている傾向もあるほどだ。<br />
<br />
では、Linuxで一般的に利用されているデータベース取り上げてみる。<br />
<br />
<strong> Oracle Database 10g</strong><br />
高い管理性とグリッド・コンピューティング<br />
<font size="2">(5Named User Plusライセンス込みで97,650円</font>)<br />
商用のデータベースで、高機能で信頼と実績から選択されることが多く、最近ライセンスのコスト見直しで、最注目されている。<br />
<br />
<strong> DB2 Universal Database V8.1</strong><br />
IBMの主力データベースのオートノミック（自律型）・コンピューティング<br />
DB2は、データベース管理者の負荷を軽減するために豊富なGUIツールを提供している。<br />
さまざまな情報資産を統合するために、開発者がアプリケーションレベルで試行錯誤する必要はもはやない。<br />
<br />
<strong> InterBase 7.1</strong><br />
40,950円と安価でコンパクトな構成のデータベース<br />
InterBaseは、ボーランドの主力データベース製品である。<br />
コンパクトで軽快な商用データベースであり、メンテナンスフリーを実現する機能をあらかじめ備えている。<br />
<br />
<strong> PostgreSQL 8.11</strong><br />
PostgreSQLは「BSDライセンス」に基づいて配布されており、商用／非商用にかかわらず無償で利用できるオープンソースRDBMSだ。オープンソースといえども、RDBMSとしてOracleやDB2にほぼ匹敵する。<br />
またPostgreSQLの最大の欠点であった、チューニングやメンテナンスを行わないと速度の低下を引き起こしていた問題も、8以降AutoVacuum等の実装により改善された。<br />
<br />
<strong> MySQL 5</strong><br />
高速性を重視したデータベース。<br />
(2008年2月26日にMySQL ABがサン・マイクロシステムズに買収された)<br />
機能的に見ると、PostgresqlやOracleに見劣りする部分もあるが、速度的にも人気があり、また低機能というのも過去のものになりつつある。<br />
バージョン5.0以降では、SQL99にストアドプロシージャ、ビュー、トリガーが実装され、機能の面でも他のRDBMSに追いつきつつある。<br />
<br />
<strong> SQLite 2.8.13</strong><br />
手軽な導入と、高パフォーマンス<br />
SQLiteはパブリックドメイン（著作権放棄）として提供されており、無償で入手可能なデータベースだ。ソースコードの改変や第三者への再配布も自由に行える。<br />
ほかのRDBMSと大きく異なるのは、SQLiteがいわゆるクライアント／サーバ構成ではないという点だ。<br />
ファイルアクセスに近いデータベースというのが特徴。]]></content:encoded>
		<dc:subject>コラム</dc:subject>
		<dc:date>2008-03-05T04:06:33+09:00</dc:date>
		<dc:creator>かおん</dc:creator>
		<dc:publisher>NINJA BLOG</dc:publisher>
		<dc:rights>かおん</dc:rights>
	</item>
	<item rdf:about="http://linux.blog.kaone.net/Entry/16/">
		<link>http://linux.blog.kaone.net/Entry/16/</link>
		<title>ProFtpdのインストール、その３</title>
		<description>メインのサーバを移設した為、長らくの間、パッチファイルがリンク切れしていました。
ご指摘いただいた方、ありがとうございました。

また、起動スクリプトや、Proftpについての設定に関する質問も多かったので、記載しておきます。

&amp;amp;nbsp;&amp;amp;nbsp; ProFtpdのインストール(1)...</description>
		<content:encoded><![CDATA[メインのサーバを移設した為、長らくの間、パッチファイルがリンク切れしていました。<br />
ご指摘いただいた方、ありがとうございました。<br />
<br />
また、起動スクリプトや、Proftpについての設定に関する質問も多かったので、記載しておきます。<br />
<br />
<strong>&nbsp;&nbsp; </strong><a href="http://linux.blog.kaone.net/Entry/14/"><strong>ProFtpdのインストール(1)</strong></a><br />
<br />
<br />
まず起動スクリプトを、<br />
/etc/init.d の配下に作成します。<br />
普通は、現在の環境に合わせて、起動スクリプトを変更する事のほうが当たり前なのかもしれませんが、<br />
私は、逆にdebianでapt-getした時に取得できる起動スクリプトにあわせて、proftpdの方に手を加えます。<br />
メリットは、他の(apt-getした)サーバプログラムと同じように動作するので、何も考えなくていい。<br />
デメリットは、仕組みがわかってないとめんどくさいかもしれません。<br />
<br />
まぁ、今回は、ソースからインストールしているので、当然起動スクリプトはありません。<br />
wgetっで持ってきてしまいましょう。<br />
中身は変更しません。<br />
<br />
wget http://pub.kaone.net/public/proftpd<br />
取得したファイルに chmod 755 で、実行権限を与えて　/etc/init.d にコピーします。<br />
<br />
それでは、インストールした環境から、起動スクリプトにあわせた、環境を作ります。<br />
<br />
6行目 DAEMON=/usr/sbin/proftpd<br />
<br />
起動スクリプトは、Proftpdの実行ファイルは、/usr/sbin/proftpd にあると言っています。<br />
でも、ソースからインストールすると、実行ファイルは、/usr/local/proftpd/sbin/proftpd にあります。<br />
このファイルをコピーしてもいいんですが、あとで再インストールしやすいように、<br />
ln (リンク)を使用して、/usr/sbin/の下に、/usr/local/proftpd/sbin/proftpdのエイリアスを作成します。<br />
<font color="#003300" size="3"><strong><br />
<font size="2">ln -s /usr/local/proftpd/sbin/proftpd&nbsp;<br />
&nbsp;&nbsp; /usr/sbin/proftpd</font></strong></font><br />
<br />
13行目 PIDFILE=`grep -i 'pidfile' /etc/proftpd.conf | sed -e 's/pidfile[\t ]\+//i'`<br />
14行目 if [ &quot;x$PIDFILE&quot; = &quot;x&quot; ];<br />
15行目 then<br />
16行目&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PIDFILE=/var/run/proftpd.pid<br />
17行目 fi<br />
<br />
次に目にするのが、上記の13行目に　/etc/proftpd.conf ですね。<br />
proftpdの設定ファイルは、ここにあるっと言ってるんですね。<br />
このファイルも当然、ここにはなく、/usr/local/proftpd/etc/proftpd.confに下にあります。<br />
このファイルも同じようにエイリアスを作成します。<br />
<br />
<font color="#003300" size="2"><strong>ln -s&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/usr/local/proftpd/etc/proftpd.conf&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/proftpd.conf</strong></font><br />
<br />
<font color="#800080" size="1">（シンプルなテンプレート設定ファイルを、いちおう置いときます。）<br />
wget http://pub.kaone.net/public/proftpd.conf<br />
自分で、/usr/local/proftpd/etc/proftpd.confの中身を自分なりに変えていただいたほうがいいかも。</font><br />
<br />
13行目にも出てきますが、16行目に出てくる　proftpd.pid のファイルです。<br />
これは、実行したproftpdのプロセスIDを一時的に保存しておくファイルです。<br />
proftpd.confに、PIDFILEと書いて、起動スクリプトを見ればわかりますが、<br />
別のファイルを指定する事も出来ますが、このファイルが必要です。<br />
作っておきましょう。<br />
<br />
<font color="#003300" size="2"><strong>touch /var/run/proftpd.pid</strong></font><br />
<br />
20行目 [ -r /etc/default/proftpd ] &amp;&amp; . /etc/default/proftpd<br />
<br />
次に出てくるのは、20行目の初期設定というべきファイルです。<br />
環境設定を後で変更する事が出来るファイルです。<br />
<br />
<font size="2"><strong><font color="#003300">echo 'RUN=&quot;yes&quot;' &gt; /etc/default/proftpd<br />
echo 'OPTIONS=&quot;&quot;' &gt;&gt; /etc/default/proftpd</font></strong></font><br />
<br />
とでもしておきましょう。<br />
起動スクリプトの10行目と11行目を変更するのと一緒ですが、<br />
あえて、起動スクリプトは変更しない為、このようなファイルを作成しておきます。<br />
debianで　apt-getでインストールしたプログラムは、だいたいこんな感じになってます。<br />
<br />
それでは、起動してみましょう。<br />
<br />
<font color="#003300" size="2"><strong>/etc/init.d/proftpd start</strong></font><br />
と入力して実行してみてください。<br />
<br />
<font color="#3366ff" size="2"><strong>Starting ProFTPD ftp daemon: proftpd.</strong></font><br />
<br />
となれば成功です。<br />
<br />
でも、このままだと、再起動しても実行してくれません。<br />
<font size="2"><br />
</font><font color="#003300" size="2"><strong>update-rc.d proftpd defaults 90</strong></font><br />
<br />
として、ランレベルに追加してください。<br />
これで、再起動後も、proftpdは起動されます。<br />
<br />
<br />
<br />]]></content:encoded>
		<dc:subject>ProFtpd</dc:subject>
		<dc:date>2007-09-24T02:12:51+09:00</dc:date>
		<dc:creator>かおん</dc:creator>
		<dc:publisher>NINJA BLOG</dc:publisher>
		<dc:rights>かおん</dc:rights>
	</item>
	<item rdf:about="http://linux.blog.kaone.net/Entry/15/">
		<link>http://linux.blog.kaone.net/Entry/15/</link>
		<title>ProFtpdのインストール(2)</title>
		<description>
&amp;amp;nbsp;&amp;amp;nbsp; ProFtpdのインストール(1)

&amp;amp;nbsp;&amp;amp;nbsp; debianをインストールした状態のままでは、
　コンパイル出来ません。

　コンパイル環境を入れないとインストール出来ないので、GNU gccを入れてみても、うまくコンパイルできない。
　どう...</description>
		<content:encoded><![CDATA[<br />
<strong>&nbsp;&nbsp; </strong><a href="http://linux.blog.kaone.net/Entry/14/"><strong>ProFtpdのインストール(1)</strong></a><br />
<br />
&nbsp;&nbsp; debianをインストールした状態のままでは、<br />
　コンパイル出来ません。<br />
<br />
　コンパイル環境を入れないとインストール出来ないので、GNU gccを入れてみても、うまくコンパイルできない。<br />
　どうやら、proftpdは、g++で作成されているようなので、以下の基本的なパッケージをインストールしておきます。<br />
<br />
　patch&nbsp; これは、patchファイルを適用するのに必要です。<br />
　g++ コンパイル環境<br />
&nbsp;&nbsp; make メーク環境<br />
<br />
　　debianの場合、以下のコマンドでインストールできるはずです。<br />
<br />
apt-get install patch<br />
apt-get install g++<br />
apt-get install make<br />
<br />
　　これを、行ったら、configureからやり直してください。<br />
<br />
<br />]]></content:encoded>
		<dc:subject>ProFtpd</dc:subject>
		<dc:date>2007-06-15T00:25:27+09:00</dc:date>
		<dc:creator>かおん</dc:creator>
		<dc:publisher>NINJA BLOG</dc:publisher>
		<dc:rights>かおん</dc:rights>
	</item>
	<item rdf:about="http://linux.blog.kaone.net/Entry/14/">
		<link>http://linux.blog.kaone.net/Entry/14/</link>
		<title>ProFtpdのインストール</title>
		<description>ほとんどの場合、debianでは、apt-getコマンドを利用して、簡単にインストールできますが、者によって、ソースからインストールします。

このProFtpdは、1.2.10rc1から「NLST]のオプション指定が未サポートになり、FFTP等では、デフォルトのままでは、ファイルの一覧が取得で...</description>
		<content:encoded><![CDATA[ほとんどの場合、debianでは、apt-getコマンドを利用して、簡単にインストールできますが、者によって、ソースからインストールします。<br />
<br />
このProFtpdは、1.2.10rc1から「NLST]のオプション指定が未サポートになり、FFTP等では、デフォルトのままでは、ファイルの一覧が取得できなくなっています。<br />
これは、RFC959に基づく変更の為、クライアント設定の「LIST」コマンドでファイル一覧を取得するようにしないければいけません。<br />
そのため、自分だけで利用しているサーバであればいいのですが、そうじゃない場合、アナウンスなど面倒です。そこで、以前の「NLST」コマンドも使えるようにソースを変更したいと思うことがあります。<br />
<br />
また、サーバ上の日本語ファイルがEUCの場合、コレもまた、FFFTPの設定で漢字コードをEUCに変更する手順が必要になります。<br />
FFFTP以外のクライアントではサポートしていない場合もあります。<br />
そこで、ファイル名を、EUCからSJISに変換して受信できるようにしたい。<br />
ということがあるので、私は、ProFtpdは、ソースからインストールします。<br />
<br />
<strong><font size="3">ProFtpdのファイルの取得</font><br />
</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.proftpd.org/">http://www.proftpd.org/</a>&nbsp;から最新のソースを取得します。<br />
　　2006/11/27 現在のリリース(stable版：安定版）は、1.3.0aです。<br />
　　　<a href="ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.0a.tar.gz">ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.0a.tar.gz</a><br />
　　2007/01/12　リリース(Candidate版：開発版）は、1.3.1rc2です。<br />
　　　<a href="ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.1rc2.tar.gz">ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.1rc2.tar.gz</a><br />
<br />
<font color="#993366" size="1">Candidate版で十分問題は無いので、1.3.1rc2でのインストール方法を解説します。<br />
</font>
<div class="linux-console2">#&nbsp;wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.1rc2.tar.gz<br />
</div>
<br />
<strong><font size="3">Patchファイルの取得</font></strong><br />
<font color="#993366" size="1">EUC-&gt;SJIS変換及びNLSTコマンド対応させたパッチファイルです。<br />
(proftpd-1.3.1rc2用)</font><br />
<div class="linux-console2">#&nbsp;wget http://pub.kaone.net/public/proftpd-1.3.1rc2.patch<br />
</div>
<br />
<strong><font size="3">ProFtpdの解凍</font></strong><br />
<font color="#993366" size="1">tar,gzで圧縮されたProFtpdを解凍します。 </font><br />
<div class="linux-console2">#&nbsp;tar zxvf proftpd-1.3.1rc2.tar.gz<br />
</div>
<br />
<strong><font size="3">ProFtpdのインストール準備</font></strong><br />
<font color="#993366" size="1">ダウンロードしたパッチを充てて、インストールの準備を行います。</font><br />
<div class="linux-console2">#&nbsp;cd proftpd-1.3.1rc2<br />
#&nbsp;patch -p1 &lt; ../proftpd-1.3.1rc2.patch<br />
#&nbsp;./configure --with-modules=mod_codeconv --with-modules=mod_codeconv:mod_df --prefix=/usr/local/proftpd --with-includes=/usr/local/include </div>
<br />
<font size="3"><font size="2">configureがうまく行えない場合は、コンパイル環境が整っていない可能性があります。<br />
その場合、<a href="http://linux.blog.kaone.net/Entry/15/">ProFtpdのインストール(2)</a>を参照してください。</font><br />
<br />
<strong>ProFtpdのコンパイルとインストール</strong></font><br />
<font color="#993366" size="1">Configureにエラーが無かったら、コンパイルを実行してインストールします。</font><br />
<div class="linux-console2">#&nbsp;make<br />
#&nbsp;make install<br />
</div>]]></content:encoded>
		<dc:subject>ProFtpd</dc:subject>
		<dc:date>2007-06-01T11:58:46+09:00</dc:date>
		<dc:creator>かおん</dc:creator>
		<dc:publisher>NINJA BLOG</dc:publisher>
		<dc:rights>かおん</dc:rights>
	</item>
	<item rdf:about="http://linux.blog.kaone.net/Entry/13/">
		<link>http://linux.blog.kaone.net/Entry/13/</link>
		<title>diff / patch</title>
		<description>diff/patch とは
&amp;amp;nbsp;diff　は、ファイルの差分を作成するコマンドで、 patchは、差分からファイルの変更を再現するコマンドです。

Linuxの場合、様々なサーバアプリケーションや、ソフトウエアがソースで提供されているため、自分の環境に合った仕組みに改造したり、Linu...</description>
		<content:encoded><![CDATA[<font size="3"><strong>diff/patch とは<br />
</strong></font><font size="2">&nbsp;diff　は、ファイルの差分を作成するコマンドで、 patchは、差分からファイルの変更を再現するコマンドです。<br />
<br />
Linuxの場合、様々なサーバアプリケーションや、ソフトウエアがソースで提供されているため、自分の環境に合った仕組みに改造したり、Linuxユーザの手によって、使いやすく改良したり、本家（提供元）が修正する前に、ユーザーの手によってバグや問題を改善してきました。<br />
しかし、毎回、何処を修正しましたと報告しても、プログラムソースを読めない人では、それを反映することは難しいでしょう。<br />
そこで、このdiff と patchが使われてきました。<br />
オリジナルのソースファイルから、　diff を使用して差分ファイルを作っておけば、そのオリジナルソースに patchコマンドを実行するだけで、修正した箇所が再現出来ます。<br />
<br />
このdiffとpatchを使いこなせれば、オリジナルソースに手を加えて、パッチを公開するなんてのも簡単に実現できます。<br />
<br />
オプションの説明<br />
&nbsp; -c　　　変更部分の前後関係も記録する (視覚的にもわかりやすくなる）<br />
　-r　　　ディレクトリ以下を階層的に検索してくれます。<br />
　-N　　 ディレクトリを比較する際、片方のディレクトリにのみファイルが存在していたらもう片方のディレクトリには同名の空っぽのファイルがあるように動作します。<br />
<br />
<strong>ファイル単位のパッチ作成<br />
</strong><font color="#008080" size="1">１ファイル毎にパッチを作成するには以下のようにします<br />
</font>
<div class="linux-console2">#diff -c <font color="#ff0000"><em>&lt;元ファイル名&gt; &lt;修正後ファイル名&gt;</em></font> &gt; <font color="#ff0000"><em>&lt;パッチファイル&gt;<br />
</em></font></div>
<strong><br />
ディレクトリ単位のパッチ作成<br />
</strong><font color="#008080" size="1">ディレクトリの中にある複数のファイルに対して一度にパッチを作成するには以下のようにします<br />
</font>
<div class="linux-console2">#diff -c <font color="#ff0000"><em>&lt;元フォルダ&gt; &lt;修正後フォルダ&gt;</em></font>&nbsp;&gt; <font color="#ff0000"><em>&lt;パッチファイル&gt;</em></font><br />
</div>
<strong><br />
ディレクトリ以下を全てパッチ作成<br />
</strong><font color="#008080" size="1">ディレクトリ以下のファイル全てについてパッチを作成する場合は以下のようにします。</font>
<div class="linux-console2">#diff -cN <font color="#ff0000"><em>&lt;元フォルダ&gt; &lt;修正後フォルダ&gt;</em></font>&nbsp;&gt; <font color="#ff0000"><em>&lt;パッチファイル&gt;</em></font><br />
</div>
<strong><br />
ディレクトリ単位のパッチ(追加/削除ファイルも記録)<br />
</strong><font color="#008080" size="1">上記の方法では一方にしか存在しない、つまり追加または削除されたファイルは記録されません。追加または削除されたファイルも記録するためには以下のようにします<br />
</font>
<div class="linux-console2">#diff -crN <font color="#ff0000"><em>&lt;元フォルダ&gt; &lt;修正後フォルダ&gt;</em></font>&nbsp;&gt; <font color="#ff0000"><em>&lt;パッチファイル&gt;</em></font><br />
</div>
</font><font size="3"><strong><br />
パッチの適用<br />
</strong><font size="2">&nbsp;patchを適用させることを、パッチを充てる（あてる）等と言います。<br />
</font><br />
<font size="2">オプションの説明<br />
&nbsp; -p　　　差分作成時の相対ディレクトリを有効にします。<br />
　　　　　　-pが無い時は、全てのファイルが、カレントディレクトリにあると仮定します。<br />
　　　　　　また、-p0　-p1 のように一つづつ増やすことで、記録されている相対ディレクトリが頭から１づつ削られます。<br />
　　　　　　たとえば、/usr/local/src で diffを実行し、patchを作成した場合、/usr/local/src/の同じ場所でパッチを適用する場合は、-p0ですが、一段入って、/usr/local/src/app/でパッチを適用する場合は、-p1とすれば、いいわけです。　　　　　　　<br />
　-d　　　適用するディレクトリを指定できます。<br />
　-E　　 適用後、空になったファイルを削除するようにします。<br />
<br />
<strong>ファイル単位のパッチ<br />
</strong><font color="#008080" size="1">適用したいファイルの存在するディレクトリ上で以下のようにします<br />
</font>
<div class="linux-console2">#patch&nbsp;&lt;&nbsp;<font color="#ff0000"><em>&lt;パッチファイル&gt;<br />
</em></font></div>
<br />
<strong>ディレクトリ単位のパッチ<br />
</strong><font color="#008080" size="1">パッチを作成したときと相対的に同じディレクトリにて以下のようにします<br />
</font>
<div class="linux-console2">#patch -p0&nbsp;&lt;&nbsp;<font color="#ff0000"><em><strong>&lt;パッチファイル&gt;<br />
</strong></em></font></div>
</font></font><br />
<strong>ディレクトリ単位のパッチ(ディレクトリ指定)<br />
</strong><font color="#008080" size="1">パッチを作成したときと相対的に同じディレクトリにて以下のようにします<br />
</font>
<div class="linux-console2">#patch -p0 -d /usr/local/src/&nbsp;&lt;&nbsp;<font color="#ff0000"><em><strong>&lt;パッチファイル&gt;<br />
</strong></em></font></div>
<br />
<strong>ディレクトリ単位のパッチ(ファイルの削除対応)<br /></strong><font color="#008080" size="1">パッチを作成したときと相対的に同じディレクトリにて以下のようにします<br />
</font>
<div class="linux-console2">#patch -p0 -E&nbsp;&lt;&nbsp;<font color="#ff0000"><em><strong>&lt;パッチファイル&gt;<br />
</strong></em></font></div>
<br />]]></content:encoded>
		<dc:subject>Linuxコマンド</dc:subject>
		<dc:date>2007-06-01T01:21:47+09:00</dc:date>
		<dc:creator>かおん</dc:creator>
		<dc:publisher>NINJA BLOG</dc:publisher>
		<dc:rights>かおん</dc:rights>
	</item>
</rdf:RDF>
