<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>相方が携帯紛失</title>
	<atom:link href="http://neet.waterblue.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://neet.waterblue.net</link>
	<description>named by orz</description>
	<lastBuildDate>Thu, 15 Mar 2012 11:05:12 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>コマンドラインのmysqlでmysqldからのメッセージが文字化けする</title>
		<link>http://neet.waterblue.net/2012/03/12/%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e3%83%a9%e3%82%a4%e3%83%b3%e3%81%aemysql%e3%81%a7mysqld%e3%81%8b%e3%82%89%e3%81%ae%e3%83%a1%e3%83%83%e3%82%bb%e3%83%bc%e3%82%b8%e3%81%8c%e6%96%87%e5%ad%97%e5%8c%96/</link>
		<comments>http://neet.waterblue.net/2012/03/12/%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e3%83%a9%e3%82%a4%e3%83%b3%e3%81%aemysql%e3%81%a7mysqld%e3%81%8b%e3%82%89%e3%81%ae%e3%83%a1%e3%83%83%e3%82%bb%e3%83%bc%e3%82%b8%e3%81%8c%e6%96%87%e5%ad%97%e5%8c%96/#comments</comments>
		<pubDate>Mon, 12 Mar 2012 01:21:30 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1497</guid>
		<description><![CDATA[データベースの中身に入っているデータが文字化けするとかじゃないです。 ターミナルでサーバ機に接続して、そこからmysqlコマンドでデータベースに接続して、そこでSQLかちゃかちゃ打ち込んでたりすると、コマンドの実行結果そ [...]]]></description>
			<content:encoded><![CDATA[<p>データベースの中身に入っているデータが文字化けするとかじゃないです。   <br />ターミナルでサーバ機に接続して、そこからmysqlコマンドでデータベースに接続して、そこでSQLかちゃかちゃ打ち込んでたりすると、コマンドの実行結果そのものとは別にちょっとしたメッセージが出るじゃないですか。    <br />えーといまいちわかりにくいですね、まあエラーメッセージに顕著なんですよ。</p>
<blockquote><p>ERROR 1064 (42000): Something is wrong in your syntax&#160; : &#8216;lock&#8217; ﾉﾕｶ・ : 1 ｹﾔﾌﾜ     <br />ERROR 1141 (42000): ･譯ｼ･ｶ｡ｼ &#8216;root&#8217; (･ﾛ･ｹ･ﾈ &#8216;%&#8217; ､ﾎ･?･ｶ｡ｼ) ､ﾏｵﾄ､ｵ､・ﾆ､､､?ｻ､・      <br />ERROR 1044 (42000): ･譯ｼ･ｶ｡ｼ &#8216;root&#8217;@'localhost&#8217; ､ﾎ &#8216;information_schema&#8217; ･ﾇ｡ｼ･ｿ･ﾙ｡ｼ･ｹ､ﾘ､ﾎ･｢･ｯ･ｻ･ｹ､ﾝ､ｷ､ﾞ､ｹ</p>
</blockquote>
<p>とかこんな感じ。   <br />で、これ前々から気にはなっていたんだけども、ずっと放置していて、まあいい加減直したいなと。    <br />そこでまず、この文字化けの文字コードはなんだろうと。    <br />SJISでもUTFでもないんだよなーっていじってたらでましたEUC。</p>
<blockquote><p>mysql&gt; grant lock tables on information_schema.* to root;     <br />ERROR 1044 (42000): ユーザー &#8216;root&#8217;@'localhost&#8217; の &#8216;information_schema&#8217; データベースへのアクセスを拒否します</p>
</blockquote>
<p>EUCとかどこにも使ってる覚えないんですけど、っていうかサーバ基本的にUTF8なんですけど、っていうことでしらべていたら<a href="http://www.makizou.com/archives/1342">こちら</a>に答えが。</p>
<blockquote><p>んで、「/etc/my.conf」の設定行をコメントアウトして、MySQLをリスタート、経過観察を繰り返すこと数回。</p>
<p>わ、わかりました。</p>
<p>以下のように、コメントアウトして試したところ、文字化けしたエラーメッセージが出なくなりました。</p>
<blockquote><p>[mysqld]       <br />#language = /usr/local/mysql/share/mysql/japanese </p>
</blockquote>
<p>でも、日本語のエラーメッセージではなく、デフォルトの英語に戻ってしまった。</p>
<p><font color="#ff0000"><strong>気になって、エラーメッセージを出力するソースを見てみたところ、Shift-JISとEUC-JPしか、用意されていないことが判明しました。</strong></font>      <br />UTF-8の要求しても、EUC-JPの出力で返されていたので、文字化けが起こるのも当然だな</p>
</blockquote>
<p>はい、うちでもlanguage設定しています。   <br />MySQLはUTF-8で設定しています。    <br />文字化けの文字コードはEUCでした。    <br />完全に一致。</p>
<p>よし。コメントアウトして終わりと。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2012/03/12/%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e3%83%a9%e3%82%a4%e3%83%b3%e3%81%aemysql%e3%81%a7mysqld%e3%81%8b%e3%82%89%e3%81%ae%e3%83%a1%e3%83%83%e3%82%bb%e3%83%bc%e3%82%b8%e3%81%8c%e6%96%87%e5%ad%97%e5%8c%96/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>information_schemaのmysqldumpがうまくいかない</title>
		<link>http://neet.waterblue.net/2012/03/12/information_schema%e3%81%aemysqldump%e3%81%8c%e3%81%86%e3%81%be%e3%81%8f%e3%81%84%e3%81%8b%e3%81%aa%e3%81%84/</link>
		<comments>http://neet.waterblue.net/2012/03/12/information_schema%e3%81%aemysqldump%e3%81%8c%e3%81%86%e3%81%be%e3%81%8f%e3%81%84%e3%81%8b%e3%81%aa%e3%81%84/#comments</comments>
		<pubDate>Mon, 12 Mar 2012 01:08:04 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1495</guid>
		<description><![CDATA[先日MySQLを5.0から5.1にバージョンアップしました。 出てることに気づいてなかったんです。 別にあげなくても困らないんですけど、なんとなくあたらしもの好きということで。 5.5はdebianだとexperimen [...]]]></description>
			<content:encoded><![CDATA[<p>先日MySQLを5.0から5.1にバージョンアップしました。   <br />出てることに気づいてなかったんです。    <br />別にあげなくても困らないんですけど、なんとなくあたらしもの好きということで。    <br />5.5はdebianだとexperimentalだったのでやめました。</p>
<p>で、まあ、5.1にしたらちょいちょい問題が出たんですけど、まあエラーログ眺めてなんとかしたんですよ。   <br />skip-bdbオプションあったらうごかないとか。（たぶん削除されたんでしょう）    <br />default-character-setがdeprecatedになってcharacter_set_server使えとか。</p>
<p>そんなこんなでとりあえずうごかしはじめて問題なさそうだったので数日、ふとroot宛てのメールを見ると日々cronで回しているmysqlのバックアップさんからエラー通知。</p>
<blockquote><p>mysqldump: Got error: 1044: _桼____ &#8216;root&#8217;@'localhost&#8217; __ &#8216;information_schema&#8217; _ǡ____١____ؤΥ____________ݤ__ޤ_ when using LOCK TABLES</p>
</blockquote>
<p>なんか化け化けですけど、とりあえずエラーコード1044ってことでいいすかね。</p>
<p>でまあ、ぐぐってみたら結構でてくる。   <br />正しいエラーメッセージはこうらしい。</p>
<blockquote><p>mysqldump: Got error: 1044: Access denied for user &#8216;root&#8217;@'localhost&#8217; to database &#8216;information_schema&#8217; when using LOCK TABLES</p>
</blockquote>
<p>権限が無いといっているようにみえる。   <br />rootなんですけど。。。    </p>
<p>んで、解決策としては、mysqldumpのオプションに、&#8211;single-transactionをつければいいらしい。    <br />LOCK TABLES権限をユーザに与えてもいいって書いてるところもあるんだけど、rootでやってるから全権限あるんすよね。    <br />一応権限確認したら all on *.* だったし。    <br />ということで、試してみたらいけた。</p>
<blockquote><p>mysqldump &#8211;add-drop-database &#8211;add-drop-table -e &#8211;add-locks &#8211;quick &#8211;quote-names -u root &#8211;password=XXXXXXXXXX &#8211;single-transaction information_schema &gt; /backup/information_schema.sql</p>
</blockquote>
<p>みたいな感じで。   <br />rootにgrantはしっぱいした。    <br />ほかのユーザならうまくいくのかもね。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2012/03/12/information_schema%e3%81%aemysqldump%e3%81%8c%e3%81%86%e3%81%be%e3%81%8f%e3%81%84%e3%81%8b%e3%81%aa%e3%81%84/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minecraftをデコンパイルする</title>
		<link>http://neet.waterblue.net/2012/03/08/minecraft%e3%82%92%e3%83%87%e3%82%b3%e3%83%b3%e3%83%91%e3%82%a4%e3%83%ab%e3%81%99%e3%82%8b/</link>
		<comments>http://neet.waterblue.net/2012/03/08/minecraft%e3%82%92%e3%83%87%e3%82%b3%e3%83%b3%e3%83%91%e3%82%a4%e3%83%ab%e3%81%99%e3%82%8b/#comments</comments>
		<pubDate>Thu, 08 Mar 2012 12:16:25 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[PC]]></category>
		<category><![CDATA[ゲーム]]></category>
		<category><![CDATA[minecraft]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1491</guid>
		<description><![CDATA[なんのためにするかっていうと、まあ、ソース調査したいときありますよね。 主にMOD作ったりPlugin作ったりするときに。 そのためにMinecraftのjarからクラスファイルを引っ張り出してデコンパイルしてソースに戻 [...]]]></description>
			<content:encoded><![CDATA[<p>なんのためにするかっていうと、まあ、ソース調査したいときありますよね。<br />
主にMOD作ったりPlugin作ったりするときに。<br />
そのためにMinecraftのjarからクラスファイルを引っ張り出してデコンパイルしてソースに戻します。<br />
俗に言うリバースエンジニアリングってやつ。<br />
ということで、そのやり方。</p>
<p><a href="http://www.minecraftwiki.net/wiki/Minecraft_Coder_Pack">Minecraft Coder Pack</a>を使う。<br />
普通のJava DecompilerのJD-Eclipseとかだとなんかうまくいかんのよね。<br />
なんかパック的なことでもやってるんかもね。</p>
<p>まず、JDKを入れる。<br />
JREじゃなくてJDKね。<br />
必要ならPATHを通す。<br />
C:\Program Files\Java\jdk1.6.0_24\bin;C:\Program Files\Java\jre6\bin<br />
このあたりを。<br />
でも、なんかWindows7 x64だとPATHの設定しなくてもjavaとかはじけるので設定しないでよかった。</p>
<p>で、MCPをDLしたら、適当なフォルダに解凍して設置。</p>
<p>んで、肝心の対象をMCPのjarsフォルダに入れる。<br />
サーバのjarは<a href="http://www.minecraft.net/download">公式</a>から落とす。<br />
minecraft_server.jarってやつね。<br />
クライアント側のは<br />
%APPDATA%\.minecraft<br />
にある</p>
<p>bin<br />
resources</p>
<p>フォルダをコピペする。</p>
<p>以上で準備は完了。</p>
<p>あとはMCPのdecompile.batをたたけば、src以下にserverおよびclientのソースファイルが展開される。</p>
<p>ちなみに、展開されたソースをEclipseで扱いたい場合の簡単な方法は、EclipseのワークスペースにMCPのEclipseフォルダを指定すればいい。<br />
するとServerとClientのJavaプロジェクトができあがってる。<br />
普通に新規プロジェクトウィザードで外部ソース指定でももちろんいい。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2012/03/08/minecraft%e3%82%92%e3%83%87%e3%82%b3%e3%83%b3%e3%83%91%e3%82%a4%e3%83%ab%e3%81%99%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CraftBukkitをソースからビルドする</title>
		<link>http://neet.waterblue.net/2012/03/07/craftbukkit%e3%82%92%e3%82%bd%e3%83%bc%e3%82%b9%e3%81%8b%e3%82%89%e3%83%93%e3%83%ab%e3%83%89%e3%81%99%e3%82%8b/</link>
		<comments>http://neet.waterblue.net/2012/03/07/craftbukkit%e3%82%92%e3%82%bd%e3%83%bc%e3%82%b9%e3%81%8b%e3%82%89%e3%83%93%e3%83%ab%e3%83%89%e3%81%99%e3%82%8b/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 04:07:10 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[PC]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[minecraft]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1488</guid>
		<description><![CDATA[環境はWindows7 64bit。 まず、JDKとEclipseをダウンロードする。 JDKはとりあえず最新のやつ、Eclipseはhttp://www.eclipse.org/のdownloadsからEclipse  [...]]]></description>
			<content:encoded><![CDATA[<p>環境はWindows7 64bit。</p>
<p>まず、JDKとEclipseをダウンロードする。<br />
JDKはとりあえず最新のやつ、Eclipseは<a title="http://www.eclipse.org/" href="http://www.eclipse.org/">http://www.eclipse.org/</a>のdownloadsからEclipse IDE for Java Developersを選んだ。<br />
gitとmavenが使えるならなんでもいい。<br />
使えなかったら適当にプラグインで追加しよか。</p>
<p>次に軽く日本語化する。<br />
いらない人はスキップ。<br />
とりあえず公式のinternationalizationのBabelを使おうとしたが、Unable to read repositoryとかエラーが出るので、<a href="http://mergedoc.sourceforge.jp/">Pleiades</a>を導入することにした。<br />
Pleiades All in Oneは32bitなのでやめた。<br />
余計なもんもくっついて来すぎて重いし。<br />
Pleiadesの導入は</p>
<ol>
<li>Pleiades本体をDLして展開</li>
<li>中身をEclipseのフォルダにつっこむ</li>
<li>eclipse.iniの最終行に以下を記述<br />
-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar</li>
<li>eclipseを-cleanオプション付きで起動する</li>
</ol>
<p>標準JREを変更する。<br />
ウィンドウ&gt;設定&gt;Java&gt;インストール済みのJREでさっきいれたJDKを指定。<br />
JRE（Java Runtime Environment）じゃなくてJDK（Java Development Kit）な。<br />
じゃないとMaven実行時にこける。</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000172.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="WS000172" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000172_thumb.jpg" alt="WS000172" width="244" height="190" border="0" /></a></p>
<p>んで、gitの準備。<br />
環境変数HOMEを設定。<br />
値は%USERPROFILE%でよいでしょう。<br />
Eclipse&gt;ウィンドウ&gt;設定&gt;チーム&gt;Git&gt;複製リポジトリー&gt;デフォルト・リポジトリ・フォルダーを好きなところに設定。</p>
<p>gitでBukkitとCraftBukkitを持ってくる。</p>
<p>ウィンドウ&gt;パースペクティブを開く&gt;Gitリポジトリエクスプローラ</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000164.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="WS000164" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000164_thumb.jpg" alt="WS000164" width="217" height="244" border="0" /></a><br />
GITリポジトリの複製でBukkitのソースを持ってくる。<br />
URIは<a title="https://github.com/Bukkit/Bukkit.git" href="https://github.com/Bukkit/Bukkit.git">https://github.com/Bukkit/Bukkit.git</a><br />
<a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000165.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="WS000165" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000165_thumb.jpg" alt="WS000165" width="244" height="148" border="0" /></a></p>
<p>とりあえず両方</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000157.jpg" rel="lightbox"><img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WS000157" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000157_thumb.jpg" alt="WS000157" width="244" height="147" border="0" /></a></p>
<p>適当に保存場所設定</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000158.jpg" rel="lightbox"><img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WS000158" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000158_thumb.jpg" alt="WS000158" width="244" height="147" border="0" /></a></p>
<p>同じパターンでCraftBukkitもやる。<br />
CraftBukkitのURIは</p>
<p>https://github.com/Bukkit/CraftBukkit.git</p>
<p>になる。</p>
<p>Gitからソースの取得ができたら、プロジェクトを作る。<br />
ファイル&gt;Import&gt;Maven&gt;Existing Maven Projects</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000166.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="WS000166" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000166_thumb.jpg" alt="WS000166" width="244" height="141" border="0" /></a></p>
<p>ルートディレクトリにGitでとってきたBukkitのソースがあるディレクトリを指定する。</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000167.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="WS000167" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000167_thumb.jpg" alt="WS000167" width="244" height="172" border="0" /></a></p>
<p>CraftBukkitもやる。</p>
<p>実行&gt;実行構成&gt;Mavenビルド&gt;新規で基底ディレクトリにGitで拾ってきたBukkitのアドレスを指定して、ゴールにclean installを指定して実行。</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000170.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="WS000170" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000170_thumb.jpg" alt="WS000170" width="244" height="204" border="0" /></a></p>
<p>CraftBukkitでもやる。</p>
<p>できました。</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000171.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="WS000171" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000171_thumb.jpg" alt="WS000171" width="244" height="140" border="0" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2012/03/07/craftbukkit%e3%82%92%e3%82%bd%e3%83%bc%e3%82%b9%e3%81%8b%e3%82%89%e3%83%93%e3%83%ab%e3%83%89%e3%81%99%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minecraftサーバの導入</title>
		<link>http://neet.waterblue.net/2012/03/04/minecraft%e3%82%b5%e3%83%bc%e3%83%90%e3%81%ae%e5%b0%8e%e5%85%a5/</link>
		<comments>http://neet.waterblue.net/2012/03/04/minecraft%e3%82%b5%e3%83%bc%e3%83%90%e3%81%ae%e5%b0%8e%e5%85%a5/#comments</comments>
		<pubDate>Sun, 04 Mar 2012 06:43:04 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ゲーム]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[minecraft]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1467</guid>
		<description><![CDATA[例のごとくWindowsではなくてLinuxの話です。 まあ管理ツールの使い方なんかはWindowsでも参考になるかもしれない。 導入環境は以下の感じ OS: Debian GNU/Linux sid kernel: 3 [...]]]></description>
			<content:encoded><![CDATA[<p>例のごとくWindowsではなくてLinuxの話です。   <br />まあ管理ツールの使い方なんかはWindowsでも参考になるかもしれない。</p>
<p>導入環境は以下の感じ</p>
<p>OS: Debian GNU/Linux sid   <br />kernel: 3.2.0-1-amd64    <br />CPU: Intel(R) Core(TM)2 Duo CPU E6850&#160; @ 3.00GHz    <br />memory: 4GB    <br />jre: sun-java6-jre 6.26-3</p>
<p>なお、このマシンはxenで仮想化した64bitゲストOSだけど普通にいけた。</p>
<p>ということで、まずインストール先ディレクトリを決める。   <br />今回は /usr/local/minecraft をインストール先ディレクトリにした。</p>
<p>ということでサーバ本体をダウンロードしてそこに配置。   <br /><a href="https://www.minecraft.net/download">この辺</a>においてある。    <br />exeじゃなくてjarを拾ってこよね。</p>
<p>で、これでjre入ってればサーバ起動できるんだけど、色々とそれだと制御に難があるので、シェルスクリプトを導入する。   <br />screenコマンドを使っているので、もし入ってなかったら入れること。    <br />元は<a title="http://www.minecraftwiki.net/wiki/Server_startup_script" href="http://www.minecraftwiki.net/wiki/Server_startup_script">http://www.minecraftwiki.net/wiki/Server_startup_script</a>のものなんだけど、ちょっと問題点を修正してあるのが以下。    <br />-Djava.net.preferIPv4Stack=trueを入れていないとIPv6でバインドされて接続できなかった。    </p>
<div class="csharpcode">
<pre class="alt"><span class="rem">#!/bin/bash</span></pre>
<pre><span class="rem"># /etc/init.d/minecraft</span></pre>
<pre class="alt"><span class="rem"># version 0.3.6 2011-10-17 (YYYY-MM-DD)</span></pre>
<pre>&#160;</pre>
<pre class="alt"><span class="rem">### BEGIN INIT INFO</span></pre>
<pre><span class="rem"># Provides:   minecraft</span></pre>
<pre class="alt"><span class="rem"># Required-Start: $local_fs $remote_fs</span></pre>
<pre><span class="rem"># Required-Stop:  $local_fs $remote_fs</span></pre>
<pre class="alt"><span class="rem"># Should-Start:   $network</span></pre>
<pre><span class="rem"># Should-Stop:    $network</span></pre>
<pre class="alt"><span class="rem"># Default-Start:  2 3 4 5</span></pre>
<pre><span class="rem"># Default-Stop:   0 1 6</span></pre>
<pre class="alt"><span class="rem"># Short-Description:    Minecraft server</span></pre>
<pre><span class="rem"># Description:    Starts the minecraft server</span></pre>
<pre class="alt"><span class="rem">### END INIT INFO</span></pre>
<pre>&#160;</pre>
<pre class="alt"><span class="rem">#Settings</span></pre>
<pre>SERVICE=<span class="str">'minecraft_server.jar'</span></pre>
<pre class="alt">OPTIONS=<span class="str">'nogui'</span></pre>
<pre>USERNAME=<span class="str">'minecraft'</span></pre>
<pre class="alt">WORLD=<span class="str">'world'</span></pre>
<pre>MCPATH=<span class="str">'/usr/local/minecraft'</span></pre>
<pre class="alt">BACKUPPATH=<span class="str">'/usr/local/minecraft/backup'</span></pre>
<pre>CPU_COUNT=1</pre>
<pre class="alt">INVOCATION=<span class="str">&quot;java -Xmx1024M -Xms1024M -Djava.net.preferIPv4Stack=true -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=$CPU_COUNT -XX:+AggressiveOpts -jar $SERVICE $OPTIONS&quot;</span></pre>
<pre>&#160;</pre>
<pre class="alt">ME=`whoami`</pre>
<pre>as_user() {</pre>
<pre class="alt">  <span class="kwrd">if</span> [ $ME == $USERNAME ] ; then</pre>
<pre>    bash -c <span class="str">&quot;$1&quot;</span></pre>
<pre class="alt">  <span class="kwrd">else</span></pre>
<pre>    su - $USERNAME -c <span class="str">&quot;$1&quot;</span></pre>
<pre class="alt">  fi</pre>
<pre>}</pre>
<pre class="alt">&#160;</pre>
<pre>mc_start() {</pre>
<pre class="alt">  <span class="kwrd">if</span>  pgrep -u $USERNAME -f $SERVICE &gt; /dev/null</pre>
<pre>  then</pre>
<pre class="alt">    echo <span class="str">&quot;$SERVICE is already running!&quot;</span></pre>
<pre>  <span class="kwrd">else</span></pre>
<pre class="alt">    echo <span class="str">&quot;Starting $SERVICE...&quot;</span></pre>
<pre>    cd $MCPATH</pre>
<pre class="alt">    as_user <span class="str">&quot;cd $MCPATH &amp;&amp; screen -dmS minecraft $INVOCATION&quot;</span></pre>
<pre>    sleep 7</pre>
<pre class="alt">    <span class="kwrd">if</span> pgrep -u $USERNAME -f $SERVICE &gt; /dev/null</pre>
<pre>    then</pre>
<pre class="alt">      echo <span class="str">&quot;$SERVICE is now running.&quot;</span></pre>
<pre>    <span class="kwrd">else</span></pre>
<pre class="alt">      echo <span class="str">&quot;Error! Could not start $SERVICE!&quot;</span></pre>
<pre>    fi</pre>
<pre class="alt">  fi</pre>
<pre>}</pre>
<pre class="alt">&#160;</pre>
<pre>mc_saveoff() {</pre>
<pre class="alt">  <span class="kwrd">if</span> pgrep -u $USERNAME -f $SERVICE &gt; /dev/null</pre>
<pre>  then</pre>
<pre class="alt">    echo <span class="str">&quot;$SERVICE is running... suspending saves&quot;</span></pre>
<pre>    as_user <span class="str">&quot;screen -p 0 -S minecraft -X eval 'stuff \&quot;say SERVER BACKUP STARTING. Server going readonly...\&quot;\015'&quot;</span></pre>
<pre class="alt">    as_user <span class="str">&quot;screen -p 0 -S minecraft -X eval 'stuff \&quot;save-off\&quot;\015'&quot;</span></pre>
<pre>    as_user <span class="str">&quot;screen -p 0 -S minecraft -X eval 'stuff \&quot;save-all\&quot;\015'&quot;</span></pre>
<pre class="alt">    sync</pre>
<pre>    sleep 10</pre>
<pre class="alt">  <span class="kwrd">else</span></pre>
<pre>    echo <span class="str">&quot;$SERVICE is not running. Not suspending saves.&quot;</span></pre>
<pre class="alt">  fi</pre>
<pre>}</pre>
<pre class="alt">&#160;</pre>
<pre>mc_saveon() {</pre>
<pre class="alt">  <span class="kwrd">if</span> pgrep -u $USERNAME -f $SERVICE &gt; /dev/null</pre>
<pre>  then</pre>
<pre class="alt">    echo <span class="str">&quot;$SERVICE is running... re-enabling saves&quot;</span></pre>
<pre>    as_user <span class="str">&quot;screen -p 0 -S minecraft -X eval 'stuff \&quot;save-on\&quot;\015'&quot;</span></pre>
<pre class="alt">    as_user <span class="str">&quot;screen -p 0 -S minecraft -X eval 'stuff \&quot;say SERVER BACKUP ENDED. Server going read-write...\&quot;\015'&quot;</span></pre>
<pre>  <span class="kwrd">else</span></pre>
<pre class="alt">    echo <span class="str">&quot;$SERVICE is not running. Not resuming saves.&quot;</span></pre>
<pre>  fi</pre>
<pre class="alt">}</pre>
<pre>&#160;</pre>
<pre class="alt">mc_stop() {</pre>
<pre>  <span class="kwrd">if</span> pgrep -u $USERNAME -f $SERVICE &gt; /dev/null</pre>
<pre class="alt">  then</pre>
<pre>    echo <span class="str">&quot;Stopping $SERVICE&quot;</span></pre>
<pre class="alt">    as_user <span class="str">&quot;screen -p 0 -S minecraft -X eval 'stuff \&quot;say SERVER SHUTTING DOWN IN 10 SECONDS. Saving map...\&quot;\015'&quot;</span></pre>
<pre>    as_user <span class="str">&quot;screen -p 0 -S minecraft -X eval 'stuff \&quot;save-all\&quot;\015'&quot;</span></pre>
<pre class="alt">    sleep 10</pre>
<pre>    as_user <span class="str">&quot;screen -p 0 -S minecraft -X eval 'stuff \&quot;stop\&quot;\015'&quot;</span></pre>
<pre class="alt">    sleep 7</pre>
<pre>  <span class="kwrd">else</span></pre>
<pre class="alt">    echo <span class="str">&quot;$SERVICE was not running.&quot;</span></pre>
<pre>  fi</pre>
<pre class="alt">  <span class="kwrd">if</span> pgrep -u $USERNAME -f $SERVICE &gt; /dev/null</pre>
<pre>  then</pre>
<pre class="alt">    echo <span class="str">&quot;Error! $SERVICE could not be stopped.&quot;</span></pre>
<pre>  <span class="kwrd">else</span></pre>
<pre class="alt">    echo <span class="str">&quot;$SERVICE is stopped.&quot;</span></pre>
<pre>  fi</pre>
<pre class="alt">}</pre>
<pre>&#160;</pre>
<pre class="alt">mc_update() {</pre>
<pre>  <span class="kwrd">if</span> pgrep -u $USERNAME -f $SERVICE &gt; /dev/null</pre>
<pre class="alt">  then</pre>
<pre>    echo <span class="str">&quot;$SERVICE is running! Will not start update.&quot;</span></pre>
<pre class="alt">  <span class="kwrd">else</span></pre>
<pre>    MC_SERVER_URL=http://s3.amazonaws.com/MinecraftDownload/launcher/minecraft_server.jar?v=`date | sed <span class="str">&quot;s/[^a-zA-Z0-9]/_/g&quot;</span>`</pre>
<pre class="alt">    as_user <span class="str">&quot;cd $MCPATH &amp;&amp; wget -q -O $MCPATH/minecraft_server.jar.update $MC_SERVER_URL&quot;</span></pre>
<pre>    <span class="kwrd">if</span> [ -f $MCPATH/minecraft_server.jar.update ]</pre>
<pre class="alt">    then</pre>
<pre>      <span class="kwrd">if</span> `diff $MCPATH/$SERVICE $MCPATH/minecraft_server.jar.update &gt;/dev/null`</pre>
<pre class="alt">      then</pre>
<pre>        echo <span class="str">&quot;You are already running the latest version of $SERVICE.&quot;</span></pre>
<pre class="alt">      <span class="kwrd">else</span></pre>
<pre>        as_user <span class="str">&quot;mv $MCPATH/minecraft_server.jar.update $MCPATH/$SERVICE&quot;</span></pre>
<pre class="alt">        echo <span class="str">&quot;Minecraft successfully updated.&quot;</span></pre>
<pre>      fi</pre>
<pre class="alt">    <span class="kwrd">else</span></pre>
<pre>      echo <span class="str">&quot;Minecraft update could not be downloaded.&quot;</span></pre>
<pre class="alt">    fi</pre>
<pre>  fi</pre>
<pre class="alt">}</pre>
<pre>&#160;</pre>
<pre class="alt">mc_backup() {</pre>
<pre>   echo <span class="str">&quot;Backing up minecraft world...&quot;</span></pre>
<pre class="alt">   <span class="kwrd">if</span> [ -d $BACKUPPATH/${WORLD}_`date <span class="str">&quot;+%Y.%m.%d_%H.%M&quot;</span>` ]</pre>
<pre>   then</pre>
<pre class="alt">     <span class="kwrd">for</span> i <span class="kwrd">in</span> 1 2 3 4 5 6</pre>
<pre>     do</pre>
<pre class="alt">       <span class="kwrd">if</span> [ -d $BACKUPPATH/${WORLD}_`date <span class="str">&quot;+%Y.%m.%d_%H.%M&quot;</span>`-$i ]</pre>
<pre>       then</pre>
<pre class="alt">         <span class="kwrd">continue</span></pre>
<pre>       <span class="kwrd">else</span></pre>
<pre class="alt">         as_user <span class="str">&quot;cd $MCPATH &amp;&amp; cp -r $WORLD $BACKUPPATH/${WORLD}_`date &quot;</span>+%Y.%m.%d_%H.%M<span class="str">&quot;`-$i&quot;</span></pre>
<pre>         <span class="kwrd">break</span></pre>
<pre class="alt">       fi</pre>
<pre>     done</pre>
<pre class="alt">   <span class="kwrd">else</span></pre>
<pre>     as_user <span class="str">&quot;cd $MCPATH &amp;&amp; cp -r $WORLD $BACKUPPATH/${WORLD}_`date &quot;</span>+%Y.%m.%d_%H.%M<span class="str">&quot;`&quot;</span></pre>
<pre class="alt">     echo <span class="str">&quot;Backed up world&quot;</span></pre>
<pre>   fi</pre>
<pre class="alt">   echo <span class="str">&quot;Backing up $SERVICE&quot;</span></pre>
<pre>   <span class="kwrd">if</span> [ -f <span class="str">&quot;$BACKUPPATH/minecraft_server_`date &quot;</span>+%Y.%m.%d_%H.%M<span class="str">&quot;`.jar&quot;</span> ]</pre>
<pre class="alt">   then</pre>
<pre>     <span class="kwrd">for</span> i <span class="kwrd">in</span> 1 2 3 4 5 6</pre>
<pre class="alt">     do</pre>
<pre>       <span class="kwrd">if</span> [ -f <span class="str">&quot;$BACKUPPATH/minecraft_server_`date &quot;</span>+%Y.%m.%d_%H.%M<span class="str">&quot;`-$i.jar&quot;</span> ]</pre>
<pre class="alt">       then</pre>
<pre>         <span class="kwrd">continue</span></pre>
<pre class="alt">       <span class="kwrd">else</span></pre>
<pre>         as_user <span class="str">&quot;cd $MCPATH &amp;&amp; cp $SERVICE \&quot;$BACKUPPATH/minecraft_server_`date &quot;</span>+%Y.%m.%d_%H.%M<span class="str">&quot;`-$i.jar\&quot;&quot;</span></pre>
<pre class="alt">         <span class="kwrd">break</span></pre>
<pre>       fi</pre>
<pre class="alt">     done</pre>
<pre>   <span class="kwrd">else</span></pre>
<pre class="alt">     as_user <span class="str">&quot;cd $MCPATH &amp;&amp; cp $SERVICE \&quot;$BACKUPPATH/minecraft_server_`date &quot;</span>+%Y.%m.%d_%H.%M<span class="str">&quot;`.jar\&quot;&quot;</span></pre>
<pre>   fi</pre>
<pre class="alt">   echo <span class="str">&quot;Backup complete&quot;</span></pre>
<pre>}</pre>
<pre class="alt">&#160;</pre>
<pre>mc_command() {</pre>
<pre class="alt">  command=<span class="str">&quot;$1&quot;</span>;</pre>
<pre>  <span class="kwrd">if</span> pgrep -u $USERNAME -f $SERVICE &gt; /dev/null</pre>
<pre class="alt">  then</pre>
<pre>    pre_log_len=`wc -l <span class="str">&quot;$MCPATH/server.log&quot;</span> | awk <span class="str">'{print $1}'</span>`</pre>
<pre class="alt">    echo <span class="str">&quot;$SERVICE is running... executing command&quot;</span></pre>
<pre>    as_user <span class="str">&quot;screen -p 0 -S minecraft -X eval 'stuff \&quot;$command\&quot;\015'&quot;</span></pre>
<pre class="alt">    sleep .1 <span class="rem"># assumes that the command will run and print to the log file in less than .1 seconds</span></pre>
<pre>    <span class="rem"># print output</span></pre>
<pre class="alt">    tail -n $[`wc -l <span class="str">&quot;$MCPATH/server.log&quot;</span> | awk <span class="str">'{print $1}'</span>`-$pre_log_len] <span class="str">&quot;$MCPATH/server.log&quot;</span></pre>
<pre>  fi</pre>
<pre class="alt">}</pre>
<pre>&#160;</pre>
<pre class="alt"><span class="rem">#Start-Stop here</span></pre>
<pre>case <span class="str">&quot;$1&quot;</span> <span class="kwrd">in</span></pre>
<pre class="alt">  start)</pre>
<pre>    mc_start</pre>
<pre class="alt">    ;;</pre>
<pre>  stop)</pre>
<pre class="alt">    mc_stop</pre>
<pre>    ;;</pre>
<pre class="alt">  restart)</pre>
<pre>    mc_stop</pre>
<pre class="alt">    mc_start</pre>
<pre>    ;;</pre>
<pre class="alt">  update)</pre>
<pre>    mc_stop</pre>
<pre class="alt">    mc_backup</pre>
<pre>    mc_update</pre>
<pre class="alt">    mc_start</pre>
<pre>    ;;</pre>
<pre class="alt">  backup)</pre>
<pre>    mc_saveoff</pre>
<pre class="alt">    mc_backup</pre>
<pre>    mc_saveon</pre>
<pre class="alt">    ;;</pre>
<pre>  status)</pre>
<pre class="alt">    <span class="kwrd">if</span> pgrep -u $USERNAME -f $SERVICE &gt; /dev/null</pre>
<pre>    then</pre>
<pre class="alt">      echo <span class="str">&quot;$SERVICE is running.&quot;</span></pre>
<pre>    <span class="kwrd">else</span></pre>
<pre class="alt">      echo <span class="str">&quot;$SERVICE is not running.&quot;</span></pre>
<pre>    fi</pre>
<pre class="alt">    ;;</pre>
<pre>  command)</pre>
<pre class="alt">    <span class="kwrd">if</span> [ $<span class="rem"># -gt 1 ]; then</span></pre>
<pre>      shift</pre>
<pre class="alt">      mc_command <span class="str">&quot;$*&quot;</span></pre>
<pre>    <span class="kwrd">else</span></pre>
<pre class="alt">      echo <span class="str">&quot;Must specify server command (try 'help'?)&quot;</span></pre>
<pre>    fi</pre>
<pre class="alt">    ;;</pre>
<pre>&#160;</pre>
<pre class="alt">  *)</pre>
<pre>  echo <span class="str">&quot;Usage: $0 {start|stop|update|backup|status|restart|command \&quot;server command\&quot;}&quot;</span></pre>
<pre class="alt">  exit 1</pre>
<pre>  ;;</pre>
<pre class="alt">esac</pre>
<pre>&#160;</pre>
<pre class="alt">exit 0</pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>&#160;</p>
<p>minecraft実行用のユーザを作成する。（useradd minecraftで上等）<br />
  <br />minecraftインストール先ディレクトリのパーミッションもそのユーザに変えておこう。</p>
<p>#Settingsの部分を自分の環境に合わせて /etc/init.d/minecraft に配置して chmod 755 minecraft。</p>
<p>これで</p>
<p># /etc/init.d/minecraft start</p>
<p>とか</p>
<p># /etc/init.d/minecraft restart</p>
<p>とかできるようになる。<br />
  <br />できなかったらなんかができてない。</p>
<p>で、あとはサーバ起動/終了時に自動で起動/停止するようにサービス登録。</p>
<p>debian系なら</p>
<p># update-rc.d minecraft defaults</p>
<p>cronで定期バックアップなんかもできる。<br />
  <br />/etc/init.d/minecraft backupを登録すればいい。</p>
<p>このスクリプトを通してサーバコマンドを打つこともできる。</p>
<p># /etc/init.d/minecraft command list</p>
<p>みたいな。</p>
<p>&#160;</p>
<p>で、あとはServer.propertiesの編集。<br />
  <br />デフォルトでかかれている以上のものがあるんで、<a title="http://www.minecraftwiki.net/wiki/Server.properties" href="http://www.minecraftwiki.net/wiki/Server.properties">http://www.minecraftwiki.net/wiki/Server.properties</a>を参照した方が良い。</p>
<p>訳してもいいけどわかんないんだったら日本のwikiでも大体乗ってる。</p>
<p>で、一通り設定が終わったら、サーバ管理でスクリプト経由でコマンドをうてるっていっても、いちいち端末起動して接続してsuしてコマンド打ってってやっぱ面倒なので、普段はrcon使いましょ。</p>
<p>あ、普段使ってるデスクトップがLinuxでそのLinuxでminecraftをうごかしているっていうのは例外です。</p>
<p>ということで</p>
<p>enable-rcon=true</p>
<p>rcon-passwordはお任せ。</p>
<p>これはいいって感じではないんだけど、まあとりあえずうごくレベルのは転がってたから、無いよりはきっとましなので一応紹介。<br />
  <br /><a title="http://www.minecraftforum.net/topic/852452-minecraft-rcon-tool-by-r3b0rn/" href="http://www.minecraftforum.net/topic/852452-minecraft-rcon-tool-by-r3b0rn/">http://www.minecraftforum.net/topic/852452-minecraft-rcon-tool-by-r3b0rn/</a></p>
<p><a title="http://www.minecraftforum.net/topic/842376-minecraft-server-rconquery-utility/" href="http://www.minecraftforum.net/topic/842376-minecraft-server-rconquery-utility/">http://www.minecraftforum.net/topic/842376-minecraft-server-rconquery-utility/</a></p>
<p>これいいよ！っていうrconツールあったら教えてほしいです。</p>
<p>あとは各種ポート解放（通常ゲームポート 25565, rconポート 25575）をFirewallおよびルータで実行。</p>
<p>たぶんこんな感じでおっけーなはず。</p>
<p>おつかれさまでございます。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2012/03/04/minecraft%e3%82%b5%e3%83%bc%e3%83%90%e3%81%ae%e5%b0%8e%e5%85%a5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nVidiaのスケーリング問題が解消されていた</title>
		<link>http://neet.waterblue.net/2012/03/02/nvidia%e3%81%ae%e3%82%b9%e3%82%b1%e3%83%bc%e3%83%aa%e3%83%b3%e3%82%b0%e5%95%8f%e9%a1%8c%e3%81%8c%e8%a7%a3%e6%b6%88%e3%81%95%e3%82%8c%e3%81%a6%e3%81%84%e3%81%9f/</link>
		<comments>http://neet.waterblue.net/2012/03/02/nvidia%e3%81%ae%e3%82%b9%e3%82%b1%e3%83%bc%e3%83%aa%e3%83%b3%e3%82%b0%e5%95%8f%e9%a1%8c%e3%81%8c%e8%a7%a3%e6%b6%88%e3%81%95%e3%82%8c%e3%81%a6%e3%81%84%e3%81%9f/#comments</comments>
		<pubDate>Fri, 02 Mar 2012 14:02:15 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[PC]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1463</guid>
		<description><![CDATA[以前というかもう2年も前になるんだけども、nVidiaのドライバはHDMI接続の場合、スケーリングをドライバ側で行うことが出来ないと言ったんだけど、なんかつい最近確認してみたらできるようになってた。 nVidiaコントロ [...]]]></description>
			<content:encoded><![CDATA[<p>以前というかもう2年も前になるんだけども、<strong><a href="http://neet.waterblue.net/2010/04/16/nvidia%e3%81%ae%e3%82%b9%e3%82%b1%e3%83%bc%e3%83%aa%e3%83%b3%e3%82%b0%e3%81%ae%e5%95%8f%e9%a1%8c/">nVidiaのドライバはHDMI接続の場合、スケーリングをドライバ側で行うことが出来ない</a></strong>と言ったんだけど、なんかつい最近確認してみたらできるようになってた。    <br />nVidiaコントロールパネルを開いて、ディスプレイ&gt;デスクトップのサイズと位置の調整＞スケーリングでGPUが選べる。</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000153.jpg" rel="lightbox"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="WS000153" border="0" alt="WS000153" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000153_thumb.jpg" width="244" height="220" /></a></p>
<p>。。。えーと、ただそれだけです。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2012/03/02/nvidia%e3%81%ae%e3%82%b9%e3%82%b1%e3%83%bc%e3%83%aa%e3%83%b3%e3%82%b0%e5%95%8f%e9%a1%8c%e3%81%8c%e8%a7%a3%e6%b6%88%e3%81%95%e3%82%8c%e3%81%a6%e3%81%84%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows7 64bitでPT2の設定をする</title>
		<link>http://neet.waterblue.net/2012/03/02/windows7-64bit%e3%81%a7pt2%e3%81%ae%e8%a8%ad%e5%ae%9a%e3%82%92%e3%81%99%e3%82%8b/</link>
		<comments>http://neet.waterblue.net/2012/03/02/windows7-64bit%e3%81%a7pt2%e3%81%ae%e8%a8%ad%e5%ae%9a%e3%82%92%e3%81%99%e3%82%8b/#comments</comments>
		<pubDate>Fri, 02 Mar 2012 13:25:08 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[PC]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[雑多]]></category>
		<category><![CDATA[PT2]]></category>

		<guid isPermaLink="false">https://neet.waterblue.net/?p=1456</guid>
		<description><![CDATA[すでにWindows7 64bitでPT2の設定をする記事は書いたのだけど、時間がたったのでちょっと書き直し。 単に自分が久々に設定し直したからなんだけど。 今回は地デジ2系統を使って設定する。 前の記事よりわかりやすく [...]]]></description>
			<content:encoded><![CDATA[<p>すでに<a href="https://neet.waterblue.net/2009/11/04/windows7-64bit%e3%81%a7pt2%e3%82%92%e4%bd%bf%e3%81%86/">Windows7 64bitでPT2の設定をする記事</a>は書いたのだけど、時間がたったのでちょっと書き直し。<br />
単に自分が久々に設定し直したからなんだけど。<br />
今回は地デジ2系統を使って設定する。<br />
前の記事よりわかりやすく書くつもり。</p>
<p><span id="more-1456"></span></p>
<p>&nbsp;</p>
<p>まず、準備するハードウェア類。</p>
<ol>
<li>PT2</li>
<li>ICカードリーダ</li>
<li>B-CASカード</li>
<li>アンテナケーブル（複数系統使うならそれ考えた本数）</li>
<li>分配器（環境によって）</li>
</ol>
<p>PT2は普通にPCIスロットに刺す。<br />
ICカードリーダは適当に接続します。<br />
こちらで動作確認済みのICカードリーダは</p>
<ul>
<li>NTTME SCR3310-NTTCom</li>
<li>Gemalto PC Twin</li>
</ul>
<p>の二つ。<br />
んで、B-CASカードはICカードリーダに刺しておく。<br />
結構裏表間違いやすいので一応注意。<br />
というか普通は初めて刺すとき、SCR3310の方は表裏逆に刺すとおもう。</p>
<p>んで、相変わらずうちではBS/CS見られないので、アンテナケーブルは地デジの接続だけ行う。<br />
T1とT2に接続するわけだけども、アンテナ出力が何個あるかで刺し方とか変わってくる。<br />
うちの場合はアンテナ出力一個にTVとPT2のT1, T2の3系統出力しなければならない。<br />
ので、以下のような接続の仕方をしている。</p>
<pre class="csharpcode">アンテナ出力 --- 二分配器 --- TV
                    |
                 二分配器 --- T1
                    |
                    +-------- T2</pre>
<p>分配器は信号の減衰が起きるので、どこまで分配器をかませられるかはその人の環境によるので注意。</p>
<p>場合によってはブースター使ったりする必要があったりまあ人それぞれ。</p>
<p>アンテナの信号強度に不安があるなら、T1直差しで試してみた方がいいかもね。</p>
<p>&nbsp;</p>
<p>次にドライバのセットアップ。</p>
<p>ICカードリーダは自分が買ったやつに応じてセットアップしてください。</p>
<p>とりあえずこちらで挙げた二種類はWindows Updateでドライバが手に入る。</p>
<p>ちょっと面倒なのがPT2のドライバ。</p>
<p>まず、以下のものをDLしてくる。</p>
<ul>
<li><a href="http://earthsoft.jp/PT1_PT2/download.html">PT Windows SDK</a></li>
<li><a href="http://earthsoft.jp/PT1_PT2/download.html">PT2 Windows Driver</a></li>
<li><a href="http://2sen.dip.jp/cgi-bin/pt1up/source/up0255.rar">PT1/2 Windows64bit署名問題対策ドライバ(ドライバ署名の強制を無効とテストモードをなしで動作可能) ＠猫◆tCHWINGPEI</a></li>
</ul>
<p>earthsoft公式から拾ってきたSDKとDriverはそのまま実行してインストール。</p>
<p>で、Windows7とかVistaの64bitとかだと、そのままじゃうごかないんで、猫氏の署名問題対策ドライバを入れる。</p>
<p>入れ方はreadmeからちょっと改変してこぴぺ。</p>
<blockquote><p>署名問題対策ドライバのインストール<br />
デバイスマネージャのレガシハードウェアの追加<br />
↓<br />
一覧から選択したハードウェアをインストールするを選択<br />
↓<br />
全てのデバイスを表示<br />
↓<br />
ディスク使用<br />
↓<br />
解凍したPT2_x64フォルダのwindrvr6_EARTHSOFT_PT2_driver.infを指定<br />
↓<br />
進むと警告が出るが、かまわずにインストール<br />
↓<br />
デバイスマネージャ一覧に&#8221;Jungo&#8221;配下の&#8221;WinDriver (EARTH SOFT PT2)&#8221;が出現している事を確認<br />
↓<br />
デバイスマネージャ一覧で&#8221;ほかのデバイス&#8221;配下の&#8221;マルチメディア コントローラ&#8221;を右クリック→ドライバ ソフトウェアの更新<br />
↓<br />
&#8220;コンピューターを参照してドライバ ソフトウェアを検索します&#8221;を選択<br />
↓<br />
解凍したPT2_x64フォルダのパスを指定して次へ<br />
↓<br />
進むとまた警告が出るが、かまわずにインストール<br />
↓<br />
デバイスマネージャ一覧に&#8221;サウンド、ビデオ、およびゲーム コントローラ&#8221;配下の &#8220;EARTH SOFT PT2&#8243;が出現している事を確認</p></blockquote>
<p>できるとこんな感じになる。</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000143.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WS000143" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000143_thumb.jpg" alt="WS000143" width="306" height="224" border="0" /></a></p>
<ul>
<li>&#8220;Jungo&#8221;配下の&#8221;WinDriver (EARTH SOFT PT2)&#8221;</li>
<li>&#8220;サウンド、ビデオ、およびゲーム コントローラ&#8221;配下の &#8220;EARTH SOFT PT2&#8243;</li>
</ul>
<p>この二つが出てくれば、ドライバのセットアップはOK。</p>
<p>&nbsp;</p>
<p>そしてソフトウェアのセットアップ。</p>
<p>ソフトウェア構成は以下のような感じ。</p>
<table style="width: 493px;" border="0" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td valign="top" width="167"><a href="http://tvtest.zzl.org/index.html">TvTest</a></td>
<td valign="top" width="324">視聴録画ソフト今回は0.7.23 (x86)を使用</td>
</tr>
<tr>
<td valign="top" width="167"><a href="http://tvtest.zzl.org/index.html">RecTask</a></td>
<td valign="top" width="324">録画専用ソフトver.0.1.4</td>
</tr>
<tr>
<td valign="top" width="167"><a href="http://1st.geocities.jp/tvrock_web/">TvRock</a></td>
<td valign="top" width="324">録画予約ソフト0.9t8a</td>
</tr>
<tr>
<td valign="top" width="167"><a href="http://tvtest.zzl.org/index.html">TvRockOnTvTest</a></td>
<td valign="top" width="324">TvRockとTvTest連携プラグインMod 9.1r2</td>
</tr>
<tr>
<td valign="top" width="167"><a href="http://2sen.dip.jp/cgi-bin/pt1up/upload.cgi?search=BonDriver_PT-ST&amp;sstart=0001&amp;send=9999&amp;extlist=&amp;size_min=1&amp;size_max=&amp;nojcode=checked">BonDriver_PT-ST</a></td>
<td valign="top" width="324">これらのソフトウェアとPT2をつなぐドライバup0305 人柱版3</td>
</tr>
<tr>
<td valign="top" width="167">
<h4><a href="http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=766a6af7-ec73-40ff-b072-9112bab119c2&amp;displaylang=ja">Microsoft Visual C++ 2005 Service Pack 1 再頒布可能パッケージ ATL のセキュリティ更新プログラム</a></h4>
</td>
<td valign="top" width="324">TvTestを使うのに必要かもvcredist_x86.exeね</td>
</tr>
<tr>
<td valign="top" width="167">
<h4><a href="http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2">Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ (x86)</a></h4>
</td>
<td valign="top" width="324">BonDriver_PT-STを使うのに必要かも</td>
</tr>
<tr>
<td valign="top" width="167"><a href="http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84">Microsoft Visual C++ 2010 再頒布可能パッケージ (x86)</a></td>
<td valign="top" width="324">RecTaskを使うのに必要かも</td>
</tr>
</tbody>
</table>
<p>全部32bit版を使う。</p>
<p>64bit版もちょっと試してみたけど結構挙動不審だったし使う理由も特にないので。</p>
<p>ちなみに以前は録画にRecTaskじゃなくてRecTestを使っていたんだけども、もうあっちはバージョンアップしないんだって。</p>
<p>ソースは公開されてるから有志が更新は続けてるみたいだけど。</p>
<p>で、RecTask作ったんだけど、ベータ版ですよと。</p>
<p>まあ、この手のソフトは永久のβだから気にしない。</p>
<p>で、まずVC++の再頒布パッケージ三つをインストール。</p>
<p>次に、どこかツール一式インストール先のフォルダを決めておく。</p>
<p>うちだと D:\PT2 というフォルダを作っている。</p>
<p>そこに、TvTest, RecTask, TvRock, BonDriver_PT-ST（x86の方）を解凍して中身を全部放り込む。（多少わけられるんだけど、全部一緒の方が楽）</p>
<p>で、放り込んだらpluginsってフォルダがあるはずだから（うちだと D:\PT2\plugins）、そこに TvRockOnTvTest の中身を放り込む。</p>
<p>全部入れるとこんな感じになるはず。</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000144.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WS000144" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000144_thumb.jpg" alt="WS000144" width="333" height="324" border="0" /></a></p>
<p>これで必要なものは一式そろった。</p>
<p>ここから設定開始。</p>
<p>まず、BonDriver_PT-STの設定。</p>
<p>CATV利用者の場合は、念のため BonDriver_PT-T.ChSet.txt を開いて、4行目の</p>
<blockquote><p>;$地デジ(CATV)    1</p></blockquote>
<p>の ; を削って保存する。（ケーブルテレビ会社によっては不要）</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000145.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WS000145" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000145_thumb.jpg" alt="WS000145" width="244" height="99" border="0" /></a></p>
<p>このあたりの設定はBonDriver_PT-STのバージョンによって違う。</p>
<p>人柱2ではBonDriver_PT-ST.iniでUseCATV=1を設定する感じだった。</p>
<p>BS/CSの場合はUseLNB=1とかしないといけないはずだけど、うちは関係ないのでパス。</p>
<p>&nbsp;</p>
<p>次にTvTestの設定。</p>
<p>おもむろにTvTest.exeを起動。</p>
<p>ドライバにBonDriver_PT-T.dllを指定。（BS/CSはPT-S）</p>
<p>カードリーダはスマートカードリーダ。</p>
<p>デコーダはとりあえずMicrosoft DTV-DVD Video Decoder。</p>
<p>レンダラはEVR。</p>
<p>それで初期設定は完了。</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000146.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WS000146" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000146_thumb.jpg" alt="WS000146" width="244" height="123" border="0" /></a></p>
<p>OKすると、チャンネルスキャンをするか聞かれるので、実行。（あとから右クリック＞設定＞チャンネルスキャンでもできる）</p>
<p>基本的に対象チューニング空間はUHFでいけるはず。</p>
<p>ケーブルテレビの場合はCATVもやっときましょう。</p>
<p>これでテレビ局が選局できるようになれば、視聴録画環境のできあがり。</p>
<p>だめな場合はちゃんとケーブルがつながっているか、スマートカードリーダにBCASカードはちゃんと刺さっているか、裏表逆になっていないか、PT2のドライバはちゃんとインストールされているか等々さかのぼってください。</p>
<p>で、録画予約とかいらないって人はココまでで終了です。</p>
<p>テレビを見たいときはTvTest.exeを起動してもらえればOKです。</p>
<p>TVTestで録画できるし。</p>
<p>TVTestのチャンネルスキャンが通ればRecTaskも使えるようになっているはずなので、裏で録画させておきたいときはそっち使ったりもできるはず。</p>
<p>ちなみにレンダラにこだわりがあるなら、適当にお好みのやつに変更して使うとよろしい。</p>
<p>PowerDVD10のレンダラなんかは結構優秀らしいけど、じみにWindows7デフォルトで使えるマイクロソフトのデコーダでも全然いけてると思うんだけどどうなんですかね。</p>
<p>&nbsp;</p>
<p>そして引き続き、録画予約環境を構築。</p>
<p>いろいろつっこんだPT2のフォルダの中に、DTune.batというファイルがまざってるので、それを実行。</p>
<p>TvRockDTVターゲットの設定云々いわれるので、OKとして開始。</p>
<p>今回、PT2にはT1とT2の二つにケーブルを刺しているので、使用するTvRockDTVターゲットの数は2チューナーに設定。</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000147.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WS000147" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000147_thumb.jpg" alt="WS000147" width="244" height="128" border="0" /></a></p>
<p>チューナーの設定は以下のような感じ。</p>
<table style="width: 576px;" border="0" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td valign="top" width="254">視聴・録画アプリケーションがあるフォルダ</td>
<td valign="top" width="320">一式つっこんだフォルダ（今回のうちの場合は D:\PT2）</td>
</tr>
<tr>
<td valign="top" width="254">実行アプリ名（視聴用）</td>
<td valign="top" width="320">TVTest.exe</td>
</tr>
<tr>
<td valign="top" width="254">オプション</td>
<td valign="top" width="320">/d BonDriver_PT-T.dll /DID A</td>
</tr>
<tr>
<td valign="top" width="254">実行アプリ名（録画用）</td>
<td valign="top" width="320">RecTask.exe</td>
</tr>
<tr>
<td valign="top" width="254">オプション</td>
<td valign="top" width="320">/d BonDriver_PT-T.dll /DID A /min</td>
</tr>
</tbody>
</table>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000148.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="WS000148" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000148_thumb.jpg" alt="WS000148" width="244" height="128" border="0" /></a></p>
<p>チューナー2はオプションの /DID A を /DID B に変える。</p>
<p>地上波チャンネル設定では視聴地域チャンネル一覧からプリセットが選べるので、自分の住んでいる場所に合わせて選択。</p>
<p>ケーブルとかだとそのまんまでは使えないことがあるが、その場合はあとでなんとかする。</p>
<p>進めると番組情報取得が始まる。</p>
<p>これが割と時間がかかる。</p>
<p>終わるまで放っておく。</p>
<p>終わったら番組表のIDとか出てくるけど必要があればあとで変更でいいはず。</p>
<p>ブラウザが起動して番組表がでて来たら良い感じ。</p>
<p>TvRockから視聴してちゃんと指定のチャンネルでTVTestがうごくなら、たぶん連携もいけてる。</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000149.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WS000149" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000149_thumb.jpg" alt="WS000149" width="244" height="77" border="0" /></a></p>
<p>ということで、普通にUHF帯使ってるならこれで終わるはず。</p>
<p>大半の人はここでお疲れ様でした。</p>
<p>ここから先は主にCATVな人向けになります。</p>
<p>ここで連携がうまくいかないときはおそらくCATVな場合でチューニング空間の問題かもしれない。</p>
<p>pluginsにいれたTvRockOnTVTest.iniを開いて</p>
<blockquote><p>[DID_A]</p>
<p>TerrestrialIndex=0</p>
<p>TerrestrialIndex2=1</p>
<p>[DID_B]</p>
<p>TerrestrialIndex=0</p>
<p>TerrestrialIndex2=1</p></blockquote>
<p>とすると幸せになれるかも。</p>
<p>UHF使わずにCATVだけの場合は、TerrestrialIndex=1でIndex2は記述しない。</p>
<p>それでもだめな場合はたぶんTvRock側でチャンネルがちゃんと設定されていない。</p>
<p>というかTvRockのチャンネルプリセットは元々CATVとか考慮してないので、CATV側が一般のチャンネル情報にあわせてないとうまくいかない。</p>
<p>TVTestでチャンネルスキャンしてちゃんと番組が見られる状態になっているなら、そっちのチャンネル情報は正しいはずなので、それを元に手動でTvRockのチャンネル情報をエディットする。</p>
<p>ちなみにうちでは、CATV帯にもUHF帯にも放送が流されているので、CATVだけど手動設定しないで良い口なんだけども、逆にプリセットには存在しない局があるので、そういう局も対象にするために結局手動エディットが必要だったりする。</p>
<p>まあとにかく、手動エディットをする場合は、一回TvRockやらTVTestやら一式を終了する。</p>
<p>BonDriver_PT-T.ch2を開く。</p>
<p>と、こんな感じでTVTestで拾ってきたチャンネル情報が入ってる。</p>
<blockquote><p>; TVTest チャンネル設定ファイル</p>
<p>; 名称,チューニング空間,チャンネル,リモコン番号,,サービスID,ネットワークID,TSID,状態</p>
<p>;#SPACE(0,地デジ(UHF))</p>
<p>ＮＨＫ総合・東京,0,14,1,,1024,32736,32736,1</p>
<p>ＮＨＫＥテレ東京,0,13,2,,1032,32737,32737,1</p>
<p>ｔｖｋ,0,5,3,,24632,32375,32375,1</p>
<p>チバテレビ,0,17,3,,27704,32327,32327,1</p>
<p>テレ玉,0,19,3,,29752,32295,32295,1</p>
<p>日本テレビ,0,12,4,,1040,32738,32738,1</p>
<p>テレビ朝日,0,11,5,,1064,32741,32741,1</p>
<p>ＴＢＳ,0,9,6,,1048,32739,32739,1</p>
<p>テレビ東京,0,10,7,,1072,32742,32742,1</p>
<p>フジテレビジョン,0,8,8,,1056,32740,32740,1</p>
<p>ＴＯＫＹＯ ＭＸ,0,7,9,,23608,32391,32391,1</p>
<p>ＹＯＵプレミアム,0,6,10,,24680,32381,32381,1</p>
<p>ＹＯＵテレビ,0,40,11,,24696,32383,32383,1</p>
<p>放送大学,0,15,12,,1088,32744,32744,1</p>
<p>;#SPACE(1,地デジ(CATV))</p>
<p>ＮＨＫ総合・東京,1,27,1,,1024,32736,32736,1</p>
<p>ＮＨＫＥテレ東京,1,19,2,,1032,32737,32737,1</p>
<p>ｔｖｋ,1,33,3,,24632,32375,32375,1</p>
<p>日本テレビ,1,28,4,,1040,32738,32738,1</p>
<p>テレビ朝日,1,31,5,,1064,32741,32741,1</p>
<p>ＴＢＳ,1,29,6,,1048,32739,32739,1</p>
<p>テレビ東京,1,30,7,,1072,32742,32742,1</p>
<p>フジテレビジョン,1,32,8,,1056,32740,32740,1</p>
<p>ＹＯＵテレビ,1,20,11,,24696,32383,32383,1</p></blockquote>
<p>。。。今眺めて気づいたけど、うちのCATV、CATV帯にあるものすべてUHF帯にあるな。</p>
<p>CATV帯見ないように設定かえとこう。。。</p>
<p>まあ、とりあえずそれを開きながらまた DTune.bat をたたく。</p>
<p>で、チャンネル設定のところまで進めて、ここでBonDriver_PT-T.ch2を参考にして、チャンネル名、チャンネル、サービスIDを入力してチャンネル設定を入力する。</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000150.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="WS000150" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000150_thumb.jpg" alt="WS000150" width="244" height="128" border="0" /></a></p>
<p>ってまあいうのは簡単なんだけどまあ割とめんどくさいです。</p>
<p>とりあえず、秀丸かなんかの正規表現使えるエディタなら、置換してやればだいぶみやすくなる。</p>
<p>検索 \f.*,\f.*,\f.*,\f.*,,\f.*\f,.*,.*,.*</p>
<p>置換 \1\3\5</p>
<p>とすると</p>
<blockquote><p>; TVTest チャンネル設定ファイル</p>
<p>; 名称,チャンネル,サービスID</p>
<p>;#SPACE(0,地デジ(UHF))</p>
<p>ＮＨＫ総合・東京,14,1024</p>
<p>ＮＨＫＥテレ東京,13,1032</p>
<p>ｔｖｋ,5,24632</p>
<p>チバテレビ,17,27704</p>
<p>テレ玉,19,29752</p>
<p>日本テレビ,12,1040</p>
<p>テレビ朝日,11,1064</p>
<p>ＴＢＳ,9,1048</p>
<p>テレビ東京,10,1072</p>
<p>フジテレビジョン,8,1056</p>
<p>ＴＯＫＹＯ ＭＸ,7,23608</p>
<p>ＹＯＵプレミアム,6,24680</p>
<p>ＹＯＵテレビ,40,24696</p>
<p>放送大学,15,1088</p>
<p>;#SPACE(1,地デジ(CATV))</p>
<p>ＮＨＫ総合・東京,27,1024</p>
<p>ＮＨＫＥテレ東京,19,1032</p>
<p>ｔｖｋ,33,24632</p>
<p>日本テレビ,28,1040</p>
<p>テレビ朝日,31,1064</p>
<p>ＴＢＳ,29,1048</p>
<p>テレビ東京,30,1072</p>
<p>フジテレビジョン,32,1056</p>
<p>ＹＯＵテレビ,20,24696</p>
<p>&nbsp;</p></blockquote>
<p>まあこんな風になってだいぶ入力しやすい気がしてきたでしょ？</p>
<p>で、入力するときの注意点として、CATVな人はチャンネルになぜか13足さないといけない。</p>
<p>だけど、なぜかたまに13足しちゃだめなやつもある。</p>
<p>うちだとYOUテレビがそう。</p>
<p>理由はよくわからんけどCATVパススルーの関係なんでしょう。</p>
<p>んで、これ、マシン入れ直したときとかにまたやるのはいやなので、なんかいきなり設定できたりしないのかっていうのがある。</p>
<p>TvRockの設定はマイドキュメントのtvrockのdtv.iniあたりに記録されるんだけども、これをとっておくのもチャンネルデータがうまく生成されなかったりしてまあちょっと微妙。</p>
<p>で、DTune.batたたいてチャンネル設定のところの初期値が同じところにあるch-ts.txtで定義されている。</p>
<p>これを差し替えると幸せになれる気がする。</p>
<p>デフォルトはこんな感じ。</p>
<blockquote><p>ＮＨＫ総合 27 0</p>
<p>ＮＨＫ教育 26 0</p>
<p>ＮＨＫ教育２ 26 1033</p>
<p>ＮＨＫ教育３ 26 1034</p>
<p>日本テレビ 25 0</p>
<p>ＴＢＳテレビ 22 0</p>
<p>フジテレビ 21 0</p>
<p>テレビ朝日 24 0</p>
<p>テレビ東京 23 0</p>
<p>ＭＸテレビ 20 0</p>
<p>放送大学 28 0</p>
<p>&nbsp;</p></blockquote>
<p>なんかこのくらいならBonDriver_PT-T.ch2から簡単に作れそうだ。</p>
<p>正規表現を以下のようにして置換。</p>
<p>検索 \f.*\f,.*,\f.*\f,.*,,\f.*\f,.*,.*,.*</p>
<p>置換 \1 \3 \5</p>
<p>そして次に</p>
<p>検索 ;.*\n</p>
<p>置換 （空白っていうか置換対象なしというか削除）</p>
<p>するとBonDriver_PT-T.ch2がこうなる。</p>
<blockquote><p>ＮＨＫ総合・東京 14 1024</p>
<p>ＮＨＫＥテレ東京 13 1032</p>
<p>ｔｖｋ 5 24632</p>
<p>チバテレビ 17 27704</p>
<p>テレ玉 19 29752</p>
<p>日本テレビ 12 1040</p>
<p>テレビ朝日 11 1064</p>
<p>ＴＢＳ 9 1048</p>
<p>テレビ東京 10 1072</p>
<p>フジテレビジョン 8 1056</p>
<p>ＴＯＫＹＯ ＭＸ 7 23608</p>
<p>ＹＯＵプレミアム 6 24680</p>
<p>ＹＯＵテレビ 40 24696</p>
<p>放送大学 15 1088</p>
<p>ＮＨＫ総合・東京 27 1024</p>
<p>ＮＨＫＥテレ東京 19 1032</p>
<p>ｔｖｋ 33 24632</p>
<p>日本テレビ 28 1040</p>
<p>テレビ朝日 31 1064</p>
<p>ＴＢＳ 29 1048</p>
<p>テレビ東京 30 1072</p>
<p>フジテレビジョン 32 1056</p>
<p>ＹＯＵテレビ 20 24696</p>
<p>&nbsp;</p></blockquote>
<p>一般家庭ならこれでch-ts.txtの中身を置き換えてもっかいDTune.batたたけばいいんだけど、CATVだとこのチャンネルの数値に13足さねばならない。</p>
<p>うーん、シェルスクリプト書いてもいいんだが書いたところで使う人がいなそうなので、素直にココは手動で足しましょう。</p>
<p>今更気づいたけどExcelとかで開いて編集するのが一番早いですね。</p>
<p>かぶってる局削除してできあがったのがこちら。</p>
<blockquote><p>ＮＨＫ総合・東京 27 1024</p>
<p>ＮＨＫＥテレ東京 26 1032</p>
<p>ｔｖｋ 18 24632</p>
<p>チバテレビ 30 27704</p>
<p>テレ玉 32 29752</p>
<p>日本テレビ 25 1040</p>
<p>テレビ朝日 24 1064</p>
<p>ＴＢＳ 22 1048</p>
<p>テレビ東京 23 1072</p>
<p>フジテレビジョン 21 1056</p>
<p>ＴＯＫＹＯ ＭＸ 20 23608</p>
<p>ＹＯＵプレミアム 19 24680</p>
<p>ＹＯＵテレビ 40 24696</p>
<p>放送大学 28 1088</p>
<p>&nbsp;</p></blockquote>
<p>これをch-ts.txtに書き込んで再度DTune.batを実行するとこんな感じに。</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000151.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="WS000151" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000151_thumb.jpg" alt="WS000151" width="244" height="128" border="0" /></a></p>
<p>ちゃんと番組表とって幸せになれた図。</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000152.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="WS000152" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/03/WS000152_thumb.jpg" alt="WS000152" width="244" height="154" border="0" /></a></p>
<p>&nbsp;</p>
<p>あとはTvRock本体や番組表、TVTestなんかをいじっていれば、色々と便利な使い方がわかってくるはず。</p>
<p>ということでおつかれさまでした。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2012/03/02/windows7-64bit%e3%81%a7pt2%e3%81%ae%e8%a8%ad%e5%ae%9a%e3%82%92%e3%81%99%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nVidiaコントロールパネルの設定をいじってゲームを快適にしてみるテスト</title>
		<link>http://neet.waterblue.net/2012/03/01/nvidia%e3%82%b3%e3%83%b3%e3%83%88%e3%83%ad%e3%83%bc%e3%83%ab%e3%83%91%e3%83%8d%e3%83%ab%e3%81%ae%e8%a8%ad%e5%ae%9a%e3%82%92%e3%81%84%e3%81%98%e3%81%a3%e3%81%a6%e3%82%b2%e3%83%bc%e3%83%a0%e3%82%92/</link>
		<comments>http://neet.waterblue.net/2012/03/01/nvidia%e3%82%b3%e3%83%b3%e3%83%88%e3%83%ad%e3%83%bc%e3%83%ab%e3%83%91%e3%83%8d%e3%83%ab%e3%81%ae%e8%a8%ad%e5%ae%9a%e3%82%92%e3%81%84%e3%81%98%e3%81%a3%e3%81%a6%e3%82%b2%e3%83%bc%e3%83%a0%e3%82%92/#comments</comments>
		<pubDate>Thu, 01 Mar 2012 08:20:53 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[PC]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ゲーム]]></category>
		<category><![CDATA[雑多]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1429</guid>
		<description><![CDATA[最近WizardryOnlineってなゲームやってるんですけど、なんか重いんですよね。 いや、別に重いっていってもフレームレートが10とかになっちゃうってわけじゃなくて、こう、ヌルサクじゃない感じ。 うちのCPUとグラボ [...]]]></description>
			<content:encoded><![CDATA[<p>最近WizardryOnlineってなゲームやってるんですけど、なんか重いんですよね。<br />
いや、別に重いっていってもフレームレートが10とかになっちゃうってわけじゃなくて、こう、ヌルサクじゃない感じ。</p>
<p>うちのCPUとグラボは結局色々あったものの2600KとGTX295に帰ってきてて、でまあWizってべつにちょー重い感じのゲームじゃないんですよね、やってる感じ。<br />
だから設定次第じゃ普通に60FPSでてもおかしくないと思うんだけど、なんかそういう感じがしない。<br />
戦闘中でエフェクトが重いとかっていう時じゃなくて、街中で誰もいないような場所にいてもそんなにFPSが出てる感じがしない。</p>
<p>ということで設定を色々いじって、FPSをとにかくはじき出して、そっから画質も調整という流れにしてみようかと。</p>
<p>まずはなんも設定していない状態で1chの露店街のど真ん中でFPS計測。<br />
おそらくこのゲームで一番重い場所はココだ。</p>
<p>でまあFPSは15-25FPS。<br />
SSモードにして25くらいか。</p>
<p>次に、nVidiaのコントロールパネルで、</p>
<p>3D設定&gt;3D設定の管理&gt;プログラム設定&gt;1.カスタマイズするプログラムを選択する&gt;追加</p>
<p>ということでWizardryOnline.exeを追加。</p>
<p>さて、とりあえず画質は犠牲にしてひたすら軽くしていくか。</p>
<ul>
<li>CUDA &#8211; すべて</li>
<li>AA トランスペアレンシー &#8211; オフ</li>
<li>スレッドした最適化 &#8211; オン</li>
<li>TF クオリティ &#8211; ハイパフォーマンス</li>
<li>TF トリリニア最適化 &#8211; オン</li>
<li>TF ネガティブLODバイアス &#8211; 許可</li>
<li>TF 異方性サンプル最適化 &#8211; オン</li>
<li>トリプルバッファリング &#8211; オン</li>
</ul>
<p>25-30くらいまで向上。<br />
SSモードで35-40くらい。</p>
<p>で、うちのカードはGTX295なんで内部的にSLIなんで、その辺もいじってみる。<br />
ついでにディスプレイもデュアルディスプレイで運用していて、場合によってはSLI構成を解除して一時的にトリプルディスプレイにしたりもする感じなんで、マルチディスプレイ/ミックス GPU アクセラレーションあたりもいじってみる。</p>
<p>まずマルチGPUレンダリングモードから攻める。</p>
<p>とりあえず現在がNVIDIA推奨設定。<br />
シングルGPUはさすがにないのでとばす。<br />
フレームのレンダリングを強制的に交互にする1 &#8211; 25-30FPS<br />
フレームのレンダリングを強制的に交互にする2 &#8211; 27-32FPS</p>
<p>GPUの負荷具合みていると、推奨設定およびAFR1ではGPU Bしかほとんど負荷がかかっておらず、AFR2だと双方のGPUに負荷がかかっていることと、微妙にFPSがあがっていることから、今回のケースではAFR2が良さそう。</p>
<p>次にマルチディスプレイ/ミックス GPU アクセラレーション。<br />
マルチ ディスプレイ パフォーマンス モードがデフォルトで設定されているんだけども、その他いくつかあるけど、まあ結論から言うとどれもあんまり変わらなかった。<br />
ので、推奨とされているデフォルトのまんまにしておくことに。</p>
<p>とまあなんかいろいろやってたら、まあ人が多いところ以外はわりと60FPS出る感じになったみたい。<br />
画質も別に気にならないしこんな感じでしばらくやってみよう。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2012/03/01/nvidia%e3%82%b3%e3%83%b3%e3%83%88%e3%83%ad%e3%83%bc%e3%83%ab%e3%83%91%e3%83%8d%e3%83%ab%e3%81%ae%e8%a8%ad%e5%ae%9a%e3%82%92%e3%81%84%e3%81%98%e3%81%a3%e3%81%a6%e3%82%b2%e3%83%bc%e3%83%a0%e3%82%92/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WesternDigital春のRMA祭り</title>
		<link>http://neet.waterblue.net/2012/02/28/westerndigital%e6%98%a5%e3%81%aerma%e7%a5%ad%e3%82%8a/</link>
		<comments>http://neet.waterblue.net/2012/02/28/westerndigital%e6%98%a5%e3%81%aerma%e7%a5%ad%e3%82%8a/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 02:02:53 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[mdadm]]></category>
		<category><![CDATA[RMA]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1422</guid>
		<description><![CDATA[さて、今年もやって参りましたRMA祭りの開催です。 今回はサーバ機で2本、個人用マシンで1本、いずれもWesternDigital社製ハードディスクに異常が検出されました。 いい加減にしろよくそがおいこのゴミカスマジで紀 [...]]]></description>
			<content:encoded><![CDATA[<p>さて、今年もやって参りましたRMA祭りの開催です。<br />
今回はサーバ機で2本、個人用マシンで1本、いずれもWesternDigital社製ハードディスクに異常が検出されました。</p>
<p style="font-size: large; font-weight: bolder; color: #ff0099;">いい加減にしろよくそがおいこのゴミカスマジで紀伊店のか。</p>
<p>あ、すいません、思わず心の声が聞こえてしまったようで。<br />
お気になさらず先へ進みましょう。</p>
<p>いつからでしょうか、そう遠くない頃合いに、サーバ機のrootあてにsmartctlからメールが届いていました。<br />
smartctlからのメールなんて良いことが書いてあるわけがないわけでして、案の定SMART値に異常があるよというお話でした。<br />
でまあ確認してみたところ</p>
<pre>Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed: read failure       90%      2317         17715224

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
197 Current_Pending_Sector  0x0032   195   195   000    Old_age   Always       -       1461</pre>
<p>おい、Current_Pending_Sector 1461ってどこまで深刻化してから通知よこすんだよ、もうこんなディスクつかえねーから。<br />
そして一通りディスクをしらべてみると、別のディスクでも144でてる。<br />
こいつも交換対象だな。</p>
<p>だがサーバ機ははRAID5で運用しているので、二本同時に引っこ抜くのは当然できない。<br />
どう見ても重度な方のディスクをとりあえず引っこ抜いて、縮退モードで運用し、RMA申請して帰ってきたら再構築、そしたら次に危ない子を引っこ抜いて。。。という流れで対処しようと思う。<br />
金持ちじゃないんで、代替ディスクを用意してすぐに交換するなんてことはしません。</p>
<p>で、デスクトップの方ですが、こちら2Tのディスクを2本使っているうちの1本で不良セクタが発生。<br />
最近なんか調子悪かったのでRAID0を解除してデータを整理してスキャンディスクしたら判明。<br />
一本は元気なようで、とりあえずはその一本で間に合うので、調子の悪い子はサーバ機のHDDのRMAが終わってからRMAすることに。</p>
<p>ということで、それぞれのディスクが<a href="http://support.wdc.com/warranty/index.asp?lang=jp">RMA申請できるか保証をチェック</a>。<br />
したところ、一匹できないのがまざってた。<br />
デスクトップのやつ。<br />
<a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000133.jpg" rel="lightbox[1422]"><img class="alignnone size-medium wp-image-1423" title="WS000133" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000133-300x251.jpg" alt="" width="300" height="251" /></a></p>
<p><a href="http://www.cfd.co.jp/harddisk/wd_rma_form.html">CFDでRMA申請を可能にする申請をだす</a>。</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000134.jpg" rel="lightbox[1422]"><img class="alignnone size-medium wp-image-1424" title="WS000134" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000134-300x243.jpg" alt="" width="300" height="243" /></a></p>
<p>こいつはまあどうせ後回しだし。<br />
別の二台のRMAが終わった頃にはRMAできるようになってるでしょ。</p>
<p>ということで、一番重傷な子をとりあえずRMA申請。</p>
<p>んじゃ、取り外そう。</p>
<p>。。。てどのディスクなんだっけ。<br />
いや、諸々の問題からDom0上でRAID5を構築しているわけではなく、DomUで構築しておりまして。<br />
んと、Dom0では/dev/sdeだから。。。DomUでは。。。/dev/xvdb4らしい。<br />
xm conでDomUにコンソール接続して。。。</p>
<pre># mdadm /dev/md3 --fail /dev/xvdb4
[1799713.802196] md/raid:md3: Disk failure on xvdb4, disabling device.
[1799713.802198] md/raid:md3: Operation continuing on 4 devices.
mdadm: set /dev/xvdb4 faulty in /dev/md3

# mdadm /dev/md3 --remove /dev/xvdb4
[1799899.247128] md: unbind&lt;xvdb4&gt;
[1799899.247142] md: export_rdev(xvdb4)
mdadm: hot removed /dev/xvdb4 from /dev/md3

# mdadm -D /dev/md3
*snip*
          State : clean, degraded
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

*snip*

    Number   Major   Minor   RaidDevice State
       6     202       17        0      active sync   /dev/xvdb1
       1     202       18        1      active sync   /dev/xvdb2
       2     202       19        2      active sync   /dev/xvdb3
       3       0        0        3      removed
       4     202       21        4      active sync   /dev/xvdb5</pre>
<p>さて、xenのDomUの設定ファイルのストレージの記述からも外して、物理的にHDDを引っこ抜く。</p>
<p>前SeagateのRMAで返送されたときの箱をとってあるので、それにHDDをつっこむ。<br />
RMA手順指示書を二部プリントアウトして、一部は二カ所ほど署名をして箱に同梱。<br />
一部は郵便局で送り状やらインボイスやらを記入するときの参考資料として持って行く。<br />
RMA labelは張った方が早くなるらしいといわれているけど、張って1ヶ月、張らずに2週間を経験してるので面倒だからもう張らないことにした。<br />
Western Digitalの人と直接やりとりしたときも、ラベルつくって張ってね、とか一言も言われなかったし。</p>
<p>じゃ、郵便局行ってくるか。<br />
おかげで英語で住所書くの慣れた。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2012/02/28/westerndigital%e6%98%a5%e3%81%aerma%e7%a5%ad%e3%82%8a/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>アロケーションユニットサイズ比較</title>
		<link>http://neet.waterblue.net/2012/02/28/%e3%82%a2%e3%83%ad%e3%82%b1%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%83%a6%e3%83%8b%e3%83%83%e3%83%88%e3%82%b5%e3%82%a4%e3%82%ba%e6%af%94%e8%bc%83/</link>
		<comments>http://neet.waterblue.net/2012/02/28/%e3%82%a2%e3%83%ad%e3%82%b1%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%83%a6%e3%83%8b%e3%83%83%e3%83%88%e3%82%b5%e3%82%a4%e3%82%ba%e6%af%94%e8%bc%83/#comments</comments>
		<pubDate>Mon, 27 Feb 2012 15:24:13 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[PC]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1410</guid>
		<description><![CDATA[アロケーションユニットサイズによってディスクアクセス速度はどのように変化するのか検証。 なんか前にもやったような気がするんだけど、あらためて。 まあ、前やったときはRAID0をくんでいる場合で、今回はRAIDくまずにAH [...]]]></description>
			<content:encoded><![CDATA[<p>アロケーションユニットサイズによってディスクアクセス速度はどのように変化するのか検証。<br />
なんか前にもやったような気がするんだけど、あらためて。<br />
まあ、前やったときはRAID0をくんでいる場合で、今回はRAIDくまずにAHCIでNCQ有効な場合の比較なので、似て非なるものになるはず。<br />
使ってるディスクは相変わらずwd20ears-00mvwb0です。</p>
<p>検証の方法はシンプルに、HDDにパーティションを一つアロケーションユニットサイズを指定して作成、CrystalDiskMarkで計測。</p>
<p>まあ、ぐだぐだと理屈はいわないでとりあえず結果をぺたぺた。<br />
上から順に4096, 8192, 16K, 32K, 64K。</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000124.jpg" rel="lightbox[1410]"><img class="alignnone size-medium wp-image-1411" title="WS000124" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000124-300x272.jpg" alt="" width="300" height="272" /></a></p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000125.jpg" rel="lightbox[1410]"><img class="alignnone size-medium wp-image-1412" title="WS000125" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000125-300x272.jpg" alt="" width="300" height="272" /></a></p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000126.jpg" rel="lightbox[1410]"><img class="alignnone  wp-image-1413" title="WS000126" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000126-300x272.jpg" alt="" width="300" height="272" /></a></p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000128.jpg" rel="lightbox[1410]"><img class="alignnone size-medium wp-image-1414" title="WS000128" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000128-300x272.jpg" alt="" width="300" height="272" /></a></p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000129.jpg" rel="lightbox[1410]"><img class="alignnone size-medium wp-image-1415" title="WS000129" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000129-300x272.jpg" alt="" width="300" height="272" /></a></p>
<p>正直。</p>
<p>かわんなくね？ｗｗｗｗｗ</p>
<p>RAID0くんでたときはわりとスケールアップしているのが見えたけど、普通に使う分には既定値で問題ないだろう。</p>
<p>番外編</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000130.jpg" rel="lightbox[1410]"><img class="alignnone size-medium wp-image-1416" title="WS000130" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000130-300x272.jpg" alt="" width="300" height="272" /></a></p>
<p>&nbsp;</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000131.jpg" rel="lightbox[1410]"><img class="alignnone size-medium wp-image-1417" title="WS000131" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000131-300x272.jpg" alt="" width="300" height="272" /></a></p>
<p>&nbsp;</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000132.jpg" rel="lightbox[1410]"><img class="alignnone size-medium wp-image-1418" title="WS000132" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000132-300x272.jpg" alt="" width="300" height="272" /></a></p>
<p>&nbsp;</p>
<p>むしろ完全に既定値推奨でした本当にありがとうございます。</p>
<p>RAIDくむなら話は別になるんだろうけど、そうじゃなければ4Kがベスト。<br />
ああ、SSDでも話は変わってきそう。<br />
っていうかSSDキャッシュ試したいな。。。<br />
あれ？マザーボードを買う口実が今できたような。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2012/02/28/%e3%82%a2%e3%83%ad%e3%82%b1%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%83%a6%e3%83%8b%e3%83%83%e3%83%88%e3%82%b5%e3%82%a4%e3%82%ba%e6%af%94%e8%bc%83/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ホームシアター的なものを考えてみる</title>
		<link>http://neet.waterblue.net/2012/02/26/%e3%83%9b%e3%83%bc%e3%83%a0%e3%82%b7%e3%82%a2%e3%82%bf%e3%83%bc%e7%9a%84%e3%81%aa%e3%82%82%e3%81%ae%e3%82%92%e8%80%83%e3%81%88%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		<comments>http://neet.waterblue.net/2012/02/26/%e3%83%9b%e3%83%bc%e3%83%a0%e3%82%b7%e3%82%a2%e3%82%bf%e3%83%bc%e7%9a%84%e3%81%aa%e3%82%82%e3%81%ae%e3%82%92%e8%80%83%e3%81%88%e3%81%a6%e3%81%bf%e3%82%8b/#comments</comments>
		<pubDate>Sun, 26 Feb 2012 05:58:30 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[PC]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[雑多]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1404</guid>
		<description><![CDATA[うちね、DVDプレイヤーとかないんですよね。 いや、あるっちゃあるんですけど、うごくかどうかわからないようなレベルの代物で。 CDプレイヤーとかもないし、まあメディアの再生は基本的にPCで行うわけです。 で、PCには普段 [...]]]></description>
			<content:encoded><![CDATA[<p>うちね、DVDプレイヤーとかないんですよね。<br />
いや、あるっちゃあるんですけど、うごくかどうかわからないようなレベルの代物で。<br />
CDプレイヤーとかもないし、まあメディアの再生は基本的にPCで行うわけです。</p>
<p>で、PCには普段使いのディスプレイ2枚に、ヘッドセットと2.1.chスピーカーを接続しています。<br />
んで、それとは別に42型のプラズマテレビ(TH-P42S2)と5.1chサラウンドシステム(HTP-S333)も用意してます。<br />
となると、ブルーレイとか録画したTSとかみるときは映像はディスプレイじゃなくてテレビで見たいし、音も5.1chのサラウンドで鑑賞したい、となりますよね。</p>
<p>で、グラボからの映像出力ですが、今使っているのがGTX295で、DVI * 2 と HDMIの出力。<br />
マザーボードのS/PDIF OUTをグラボのS/PDIF INを接続してやれば、HDMIで映像と音声を同時にとばせるので、そうすると、</p>
<p>マザー &#8211; [S/PDIF] &#8211; GTX295 &#8211; [HDMI] &#8211; S333 &#8211; [HDMIパススルー] &#8211; P42S2</p>
<p>としてやることで音声と映像をそれぞれのデバイスにとばすことができるな、と。<br />
この場合の音声デバイスは普段使っていないオンボードのRealtek High Definition Audioになるので、その点は注意。<br />
通常はSE200-PCI LTDを使っている。</p>
<p>んで、問題はマザーとグラボをつなぐS/PDIFケーブルが無いこと。<br />
GF-SPDIFってのが玄人思考から出てたんだけどすでに生産中止。<br />
同等品もちとみあたらなくて正直困った。</p>
<p>それじゃあ、グラボからHDMIで渡すのは映像だけにしておいて、音声は音声で渡しましょう、という方向で考える。</p>
<p>映像<br />
GTX295 &#8211; [HDMI] &#8211; P42S2</p>
<p>音声<br />
Realtek &#8211; [S/PDIF] &#8211; S333</p>
<p>まあ特に問題なく構成できる。</p>
<p>が、プレイヤーの音声再生デバイスが、普段はSE200なんだけども、映画鑑賞したいときはRealtekを使わねばならないので、切り替えるのがめんどくさい。<br />
ということで、<a title="一つのソースの音声を複数のデバイスに同時出力する" href="http://neet.waterblue.net/2012/02/26/%e4%b8%80%e3%81%a4%e3%81%ae%e3%82%bd%e3%83%bc%e3%82%b9%e3%81%ae%e9%9f%b3%e5%a3%b0%e3%82%92%e8%a4%87%e6%95%b0%e3%81%ae%e3%83%87%e3%83%90%e3%82%a4%e3%82%b9%e3%81%ab%e5%90%8c%e6%99%82%e5%87%ba%e5%8a%9b/">前のエントリ</a>のようなことをして、Realtekで流れる音声をSE200にも流すことで、いちいち出力デバイスを変更しないでもいいようにしたわけです。</p>
<p>が、ここに来て気づいてしまった。</p>
<p>HDMIで映像と音声の同時出力をしないのであれば、Realtekで音声出力する必要はないと。<br />
オンボードのサウンドチップを持ち出したのは、そもそもグラボのS/PDIF INに流し込む口がマザーのS/PDIF OUTしかなかったから。<br />
仕様上はSE200のS/PDIF OUTからつなげるのかもしれないけど、ただでさえマイナーなS/PDIF 2pin端子と光角形の接続ケーブルが商品としてこの世に存在する気がしない。<br />
ということで、つまりは、普通にSE200とS333をS/PDIF接続すればいいだけではないか。</p>
<p>ということでもろもろひっくるめて書いてみるとこんな感じでよろしいか。</p>
<pre>映像
GTX295 - [DVI] - W241DG
       - [DVI] - U2211H
       - [HDMI] - P42S2

音声
SE200 - [ステレオRCA] - i-TRiGUE 3600
      - [ステレオミニプラグ] - ATH-770COM
      - [S/PDIF] - S333</pre>
<p>Realtekとか完全になかった。<br />
アマミキ！もさようなら。</p>
<p>ちなみに、みなさんご存じの通りGeforceのグラボは一般的には同時出力が2つまで。<br />
なので、鑑賞会をしたいときはサブディスプレイを無効にして、テレビを有効にしてソファーによこになります。<br />
<a href="http://www.thanko.jp/product/pc/remote-control-mouse2.html">PCリモコンマウス2</a>くそ便利です。<br />
3画面同時出力のためにRadeon HD 5870買いましたが、ドライバがゴミカスすぎて不安定になりまくって同時出力がどうとかそういうの以前すぎてストレスマッハで引っこ抜いて今やどこにあるのかわかんね。<br />
音声は自前でサウンドチップ持ってるし、三画面同時出力できるしで、まともにうごくならいいんですけどね。<br />
少なくともうちじゃまともにうごかない完全なるゴミカス。<br />
まあそういうことで、グラボを一本追加したいのですが、今のマザーボード、PCI-E x16レーンが一個しかなかった。<br />
ということで、考えた選択肢は以下の通り。</p>
<ol>
<li>PCIのグラボを買う</li>
<li>マザーボードを買う</li>
<li>RADEON引っ張り出す</li>
<li>使うときに使うディスプレイをオンオフ切り替えて3画面同時は捨てる</li>
</ol>
<p>とりあえずしばらくは4で。<br />
PCIのグラボって結構高いんですよ。<br />
需要が微妙すぎるんでしょうね。<br />
マザーは正直パーツを全部引っこ抜いて刺し直す作業がめんどくさすぎるのでいやだし。<br />
RADEONはもう正直さわりたくない。<br />
でまあ、3画面同時に必要になるときって基本ないんで。<br />
鑑賞会するときはきほんそっち集中だし、ながらでやるときもおそらく追加一画面あれば足りるだろし。<br />
PCIでDVI出力できてフルHD対応しているグラボが間違った値段で流れてくるか、マザーを交換する日がくるまではこんな感じで運用しようと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2012/02/26/%e3%83%9b%e3%83%bc%e3%83%a0%e3%82%b7%e3%82%a2%e3%82%bf%e3%83%bc%e7%9a%84%e3%81%aa%e3%82%82%e3%81%ae%e3%82%92%e8%80%83%e3%81%88%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一つのソースの音声を複数のデバイスに同時出力する</title>
		<link>http://neet.waterblue.net/2012/02/26/%e4%b8%80%e3%81%a4%e3%81%ae%e3%82%bd%e3%83%bc%e3%82%b9%e3%81%ae%e9%9f%b3%e5%a3%b0%e3%82%92%e8%a4%87%e6%95%b0%e3%81%ae%e3%83%87%e3%83%90%e3%82%a4%e3%82%b9%e3%81%ab%e5%90%8c%e6%99%82%e5%87%ba%e5%8a%9b/</link>
		<comments>http://neet.waterblue.net/2012/02/26/%e4%b8%80%e3%81%a4%e3%81%ae%e3%82%bd%e3%83%bc%e3%82%b9%e3%81%ae%e9%9f%b3%e5%a3%b0%e3%82%92%e8%a4%87%e6%95%b0%e3%81%ae%e3%83%87%e3%83%90%e3%82%a4%e3%82%b9%e3%81%ab%e5%90%8c%e6%99%82%e5%87%ba%e5%8a%9b/#comments</comments>
		<pubDate>Sat, 25 Feb 2012 18:22:25 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[PC]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[アマミキ！]]></category>
		<category><![CDATA[猿ちぃ++]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1389</guid>
		<description><![CDATA[一つのソースの音声を複数のデバイスに同時出力するということをしたい。 もっと具体的にいうと、Media Player Classic Home Cinemaでの再生音声を、SE200-PCI LTDとオンボードのサウンド [...]]]></description>
			<content:encoded><![CDATA[<p>一つのソースの音声を複数のデバイスに同時出力するということをしたい。<br />
もっと具体的にいうと、Media Player Classic Home Cinemaでの再生音声を、SE200-PCI LTDとオンボードのサウンドデバイスの両方に流したい。</p>
<p>とりあえず、サウンド関係のデバイスの接続状況。</p>
<pre>SE200-PCI LTD - ヘッドフォン
              - AT-MA2 - マイク
              - 2.1ch スピーカ
オンボ Realtek - 5.1ch サラウンドシステム</pre>
<p>で、とりあえずステレオミックスを使っていけないか考える。<br />
Windows7だと、録音デバイスに「このデバイスを聴く」というオプションがある。<br />
Realtekで再生 -&gt; ステレオミックス -&gt; このデバイスを聴く -&gt; SE200<br />
として、MPCHCでのオーディオ出力デバイスにRealtekを指定してやれば、どちらのデバイスでも音声出力されるはず。</p>
<p>ということでやってみるけど、音が出ない。<br />
しらべてみると、既定のデバイスがスピーカー（アナログ）じゃないとステレオミックスが動作しないらしい。<br />
とりあえず今回はこのルートはパスすることに。</p>
<p>とりあえず</p>
<p>MPCHC -&gt; Realtek -&gt; なんかで録音 -&gt; SE200</p>
<p>って流れを作ればいいんだよなーということで、次に、<a href="http://amamaman.web.infoseek.co.jp/">アマミキ！</a>を使う方法を考えてみる。</p>
<p>live_setupでライブ機能をインストール。<br />
amamix.exeたたいてshift+enterでアマミキ！を起動。<br />
録音デバイスにAmaRec Core Audio Captureを指定して、Realtekの出力をとる。</p>
<p>再生デバイスは既定のデバイスのまま。<br />
S/PDIF Envy24 Family Audio Controllerを直接指定してもいいけど、既定のデバイスがそれだからわざわざいじってはいない。</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS0001111.jpg" rel="lightbox[1389]"><img class="alignnone size-medium wp-image-1400" title="WS000111" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS0001111-300x211.jpg" alt="" width="300" height="211" /></a></p>
<p>メイン画面で再生にチェックを入れる。<br />
<a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000114.jpg" rel="lightbox[1389]"><img class="alignnone size-medium wp-image-1391" title="WS000114" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000114-182x300.jpg" alt="" width="182" height="300" /></a></p>
<p>MPCHCで再生デバイスにRealtekを指定して、適当に動画を再生。</p>
<p>お、いけてる。</p>
<p>とりあえずこれでいいんだけど、仮想デバイス+猿ちぃを使う方法も試してみた。</p>
<p>まず、仮想サウンドデバイスをインストール。<br />
<a href="http://www.shareedge.com/modules/shareware/view.php?lid=20061005-011">Voice Changer Software Diamond Edition</a>や<a href="http://www.y2lab.com/project/netduetto/download.html">NETDUETTO β</a>を利用。<br />
仮想デバイスの録音側のマイク設定で、「このデバイスを聴く」にチェックを入れて、再生デバイスにSE200を指定。<br />
<a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000116.jpg" rel="lightbox[1389]"><img class="alignnone size-medium wp-image-1393" title="WS000116" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000116-280x300.jpg" alt="" width="280" height="300" /></a></p>
<p>猿ちぃ++で同じく仮想デバイスの録音側のマイクをRealtekへとばす。</p>
<p><a href="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000118.jpg" rel="lightbox[1389]"><img class="alignnone size-medium wp-image-1395" title="WS000118" src="http://neet.waterblue.net/wordpress/wp-content/uploads/2012/02/WS000118-300x184.jpg" alt="" width="300" height="184" /></a></p>
<p>とするとどうなるか。</p>
<p>仮想デバイス向けの出力が、方やSE200へ、方やRealtekへと流れることになる。<br />
つまり、この仮想デバイスをMPCHCで出力先デバイスに設定すればよいということになる。</p>
<pre>仮想デバイス再生 -&gt; 仮想デバイス録音 -&gt; Windowsの機能でSE200へ
　　　　　　　　　　　　　　　　　　　-&gt; 猿ちぃ++の機能でRealtekへ</pre>
<p>んだが、猿ちぃ++がいちいちstartとかstopとかついてるのがちょっと邪魔っていうか面倒というか。<br />
なんだかんだアマミキ使う方向でよいかなあとかおもう昨今。</p>
<p>追記<br />
Windows Media Playerだとアマミキを使う方法だとなぜか音が出ない、っていうかアマミキがエラー起こす。<br />
WMPでやりたいなら仮想デバイスかませる方が良さそうだ。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2012/02/26/%e4%b8%80%e3%81%a4%e3%81%ae%e3%82%bd%e3%83%bc%e3%82%b9%e3%81%ae%e9%9f%b3%e5%a3%b0%e3%82%92%e8%a4%87%e6%95%b0%e3%81%ae%e3%83%87%e3%83%90%e3%82%a4%e3%82%b9%e3%81%ab%e5%90%8c%e6%99%82%e5%87%ba%e5%8a%9b/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Janetterで日本語のままgoogle検索を使う</title>
		<link>http://neet.waterblue.net/2012/02/21/janetter%e3%81%a7%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%81%ae%e3%81%be%e3%81%begoogle%e6%a4%9c%e7%b4%a2%e3%82%92%e4%bd%bf%e3%81%86/</link>
		<comments>http://neet.waterblue.net/2012/02/21/janetter%e3%81%a7%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%81%ae%e3%81%be%e3%81%begoogle%e6%a4%9c%e7%b4%a2%e3%82%92%e4%bd%bf%e3%81%86/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 07:01:30 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[PC]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1387</guid>
		<description><![CDATA[Janetterってなぜか検索がYahoo!強制で、検索エンジン選べないんですよね。 まあなぜかっていうか株式会社JaneとYahooが協力関係にあるからだと思うんだけど。 んで、使用言語を日本語じゃなくて英語にするとg [...]]]></description>
			<content:encoded><![CDATA[<p>Janetterってなぜか検索がYahoo!強制で、検索エンジン選べないんですよね。<br />
まあなぜかっていうか株式会社JaneとYahooが協力関係にあるからだと思うんだけど。</p>
<p>んで、使用言語を日本語じゃなくて英語にするとgoogle先生で検索してくれるんだけど、日本語だとyahooで検索。<br />
じゃあ日本語でもgoogleにしましょうというお話。</p>
<p>ステップ1<br />
Janetterのインストールディレクトリ\Theme\Common\js\janet\janet.js を編集。<br />
C:\Program Files (x86)\Janetter2\Theme\Common\js\janetらへんにある。</p>
<pre>YAHOOCOJP_SEARCH_URI: 'http://search.yahoo.co.jp/search?ei=UTF-8&amp;fr=sb-jane&amp;p=%1',
↓
YAHOOCOJP_SEARCH_URI: 'http://www.google.co.jp/search?q=%1',</pre>
<p>に書き換える。</p>
<p>ステップ2<br />
C:\Program Files (x86)\Janetter2\Theme\Common\js\plugins らへんの searchpopup.js を編集</p>
<pre>return 'http://search.yahoo.co.jp/search?ei=UTF-8&amp;fr=sb-jane&amp;p=' + encodeURIComponent(selection);
↓
return 'http://www.google.co.jp/search?q=' + encodeURIComponent(selection)</pre>
<p>に書き換える。<br />
ちょっとプログラムっぽいのが好きなら</p>
<pre>if((jn.conf &amp;&amp; jn.conf.lang ? jn.conf.lang : 'ja')=='ja'){
↓
if((jn.conf &amp;&amp; jn.conf.lang ? jn.conf.lang : 'ja')=='jp'){
とか
if(false){</pre>
<p>Javascriptの文法ようしらんからif(false)が通るのか知らんけど。</p>
<p>ステップ3<br />
これは見栄えの問題なので、やらなくても機能的には問題ない。<br />
C:\Program Files (x86)\Janetter2\bin\locale らへんにある ja.json を編集。</p>
<pre>"webSearch":"Yahoo! 検索",
↓
"webSearch":"Google 検索",</pre>
<p>として保存。</p>
<p>以上でJanetterを再起動すれば検索がgoogleで行われるようになる。<br />
まあみての通りyahooに検索文字列渡すのをgoogleに変えてるだけだから、当然ほかの検索エンジンのパターンにあわせて書き換えてやればほかの検索エンジンにも変えられる。</p>
<p>あ、書き忘れてたけど Janetter Version 3.2.1.1 でのやり方です。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2012/02/21/janetter%e3%81%a7%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%81%ae%e3%81%be%e3%81%begoogle%e6%a4%9c%e7%b4%a2%e3%82%92%e4%bd%bf%e3%81%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Core i7 2600Kを今更OCしてみた</title>
		<link>http://neet.waterblue.net/2011/11/13/core-i7-2600k%e3%82%92%e4%bb%8a%e6%9b%b4oc%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/</link>
		<comments>http://neet.waterblue.net/2011/11/13/core-i7-2600k%e3%82%92%e4%bb%8a%e6%9b%b4oc%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/#comments</comments>
		<pubDate>Sun, 13 Nov 2011 10:07:14 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[PC]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1383</guid>
		<description><![CDATA[そのうちやろうやろうと思っていたんだけどもやっていなかった2600KのOC。 SandyBridgeのOCの基本は倍率変更で行う。 FSBはいじれないと思っていい。 CPU倍率とコアの電圧だけいじればいいので、920のO [...]]]></description>
			<content:encoded><![CDATA[<p>そのうちやろうやろうと思っていたんだけどもやっていなかった2600KのOC。<br />
SandyBridgeのOCの基本は倍率変更で行う。<br />
FSBはいじれないと思っていい。<br />
CPU倍率とコアの電圧だけいじればいいので、920のOCより簡単。</p>
<p>ということでまず軽く4GHzにトライ。<br />
倍率を40に変更。<br />
電圧いじらなくても当然のようにブート。<br />
で、以前行ったCore i7 920の時と同じように、低電圧化も図る。<br />
CPUの電圧をさくっと0.1V下げてみる。<br />
ブート。<br />
さすがやで。<br />
とりあえずOCCTたたく。<br />
固まる。<br />
無茶振りだったらしい。<br />
仕方がないので0.05Vにする。<br />
OCCT。<br />
一見いけてる。<br />
が、ふとCPUの温度に目をやる。</p>
<p>99℃</p>
<p>ハイ駄目。<br />
停止。<br />
すいません、CPUクーラーリテール品です、本当にありがとうございます。<br />
とりあえず、4GHz程度ならたぶん電圧を下げながらもOCできるだけの可能性を秘めたCPUだとは思うけど、やっぱりOCするならリテールクーラーじゃ駄目でした。<br />
ちゃんとしたクーラー買いましょう。</p>
<p>仕方がないのでクロックを定格に戻して低電圧化を行うことに。<br />
-0.1Vは余裕でした。<br />
-0.15Vもいけました。<br />
-0.2Vは死にました。<br />
ということでとりあえず-0.15Vに。<br />
もうちょい煮詰めれば限界見えるんだろうけど、まあ今日のところはこの辺にしておいてやる。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2011/11/13/core-i7-2600k%e3%82%92%e4%bb%8a%e6%9b%b4oc%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XenカーネルでのNICのカスタマイズ</title>
		<link>http://neet.waterblue.net/2011/11/10/xen%e3%82%ab%e3%83%bc%e3%83%8d%e3%83%ab%e3%81%a7%e3%81%aenic%e3%81%ae%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%9e%e3%82%a4%e3%82%ba/</link>
		<comments>http://neet.waterblue.net/2011/11/10/xen%e3%82%ab%e3%83%bc%e3%83%8d%e3%83%ab%e3%81%a7%e3%81%aenic%e3%81%ae%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%9e%e3%82%a4%e3%82%ba/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 10:51:33 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1379</guid>
		<description><![CDATA[Xenを使って仮想化しているマシンではネットワークも仮想化される。 そのあたりはこちら参照。 でまあそういうことで、ethtoolなんかでNICの設定をしたい場合は、通常と異なりeth0とかをいじるのではなくて、Dom0 [...]]]></description>
			<content:encoded><![CDATA[<p>Xenを使って仮想化しているマシンではネットワークも仮想化される。<br />
そのあたりは<a title="xenのネットワークが動いた" href="http://neet.waterblue.net/2009/05/28/xen%e3%81%ae%e3%83%8d%e3%83%83%e3%83%88%e3%83%af%e3%83%bc%e3%82%af%e3%81%8c%e5%8b%95%e3%81%84%e3%81%9f/">こちら</a>参照。</p>
<p>でまあそういうことで、ethtoolなんかでNICの設定をしたい場合は、通常と異なりeth0とかをいじるのではなくて、Dom0でpethをいじるのが正解。<br />
普通はpeth0になってるだろう。</p>
<p>実際にethtoolをたたいてみたら、仮想NICであるethの方はろくに情報が出力されないはずだ。<br />
それに対してpethの方はちゃんと出力されるはず。</p>
<pre># ethtool eth0
Settings for eth0:
        Link detected: yes
# ethtool peth0
Settings for peth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: off
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000001 (1)
        Link detected: yes</pre>
<p>こんな感じ。</p>
<p>ということでXenカーネルでうごかしてるマシンのNICの設定をいじりたい場合は、pethをいじりましょう。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2011/11/10/xen%e3%82%ab%e3%83%bc%e3%83%8d%e3%83%ab%e3%81%a7%e3%81%aenic%e3%81%ae%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%9e%e3%82%a4%e3%82%ba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Postfixで迷惑メール対策</title>
		<link>http://neet.waterblue.net/2011/11/08/postfix%e3%81%a7%e8%bf%b7%e6%83%91%e3%83%a1%e3%83%bc%e3%83%ab%e5%af%be%e7%ad%96/</link>
		<comments>http://neet.waterblue.net/2011/11/08/postfix%e3%81%a7%e8%bf%b7%e6%83%91%e3%83%a1%e3%83%bc%e3%83%ab%e5%af%be%e7%ad%96/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 13:07:38 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[postfix]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1376</guid>
		<description><![CDATA[最近スパムが多くて、良いスパム対策はないかと物色。 で、なんか売り文句によると99%のスパムメール撲滅できるというものが。 基本的なコンセプトはこちらに詳しく書いてある。 メールサーバがメール中継サーバからのSMTPアク [...]]]></description>
			<content:encoded><![CDATA[<p>最近スパムが多くて、良いスパム対策はないかと物色。<br />
で、なんか売り文句によると99%のスパムメール撲滅できるというものが。<br />
基本的なコンセプトは<a href="http://www.gabacho-net.jp/anti-spam/anti-spam-system.html">こちら</a>に詳しく書いてある。</p>
<ul>
<li><a name="2"></a>メールサーバがメール中継サーバからのSMTPアクセスは受け入れるがエンドユーザーコンピュータからの直接のSMTPアクセスは拒絶するという単純なもの</li>
<li><a name="3"></a>SMTPアクセスをかけてきたクライアントのFQDNの特徴に基づいて、クライアントがメール中継サーバか、エンドユーザー回線につながったコンピュータかを推定することができる</li>
<li><a name="3-1"></a>うまく管理されているメール中継サーバのほとんどは、逆引きで得られるFQDNを持つ。逆引きFQDNのないIPアドレスからのSMTPアクセスは、少しの例外を除いて拒絶すればよい。</li>
<li><a name="3-1"></a>正規表現を使うことによって、エンドユーザー用回線の逆引きFQDNとメール中継サーバの逆引きFQDNを区別する</li>
<li><a name="3-1"></a>メールサーバがこれらの規則によってSMTPアクセスを拒絶する時は、「後で再試行せよ」を意味する応答コード「450」を 返すべきである。そうすれば、これらの規則のいずれかに引っかかる正当なメール中継サーバを、後で述べるホワイトリスト（許可リスト）を作ることによって 救済することができる。</li>
<li><a name="4"></a>HELOコマンドが宛先サーバのIPアドレスまたは受信者のドメイン名を通知している</li>
<li><a name="4"></a>送信者ドメインの検索失敗</li>
<li><a name="4"></a>内容の検査</li>
</ul>
<p>なるほどね。<br />
エンドユーザ回線を拒絶するのはでかそうだ。<br />
この方式をS25R(Selective SMTP Rejection)方式というそうだ。<br />
そして、この方式とは別に<a href="http://www.kobitosan.net/postfix/ML/arc.4/msg00910.html">Greylisting</a>という方式がある。<br />
Greylistingは簡単に言えば、再送要求を一旦返して、ちゃんと再送してきたものを受け取る方式。<br />
S25RとGreylistingを組み合わせた方式が<a href="http://k2net.hakuba.jp/rgrey/">Rgrey方式</a>として紹介されている。<br />
また、意図的な応答遅延を行うことで配送タイムアウトが通常のMTAよりも速いものを切り落とすtarpittingという方式もある。<br />
これは、通常、スパム業者は大量のメールを配送する関係から、応答の遅いMTAには配送を早々とあきらめるよう設定されていることが多いことを利用したもの。<br />
S25R+tarpittingによる、<a href="http://d.hatena.ne.jp/stealthinu/20060706/p5">Starpitという手法</a>も紹介されている。<br />
そして、全部ごった煮のパターン、S25R + tarpiptting + Greylistingを組み合わせた<a href="http://k2net.hakuba.jp/targrey/">taRgrey方式</a>が紹介されていた。<br />
taRgrey方式の簡単な説明は以下の通り。</p>
<p>taRgreyとは、メールサーバ上でスパムやウイルスメールを排除するためのフィルタの手法で、 <a href="http://www.gabacho-net.jp/anti-spam/">S25R</a>とtarpittingとgreylistingというスパム判定手法を組み合わせて使うというものです。<br />
S25Rにより、動的IPっぽいFQDNからの接続からは怪しいと判断し、tarpitting(応答の遅延)を行います。tarpittingを待ちき れずに送信元が接続を切った後、再度送ってきた場合にはgreylisting(再送のチェック)により救済します。S25Rとtarpittingと greylistingと、全てのフィルタを抜けれなかったものだけがスパムとして排除されます。</p>
<p>さて、じゃあtaRgrey方式で、といきたいところだが、ここにかかれている方法はパッチを当てなければならない。<br />
aptでパッケージ管理している関係上、できるだけdebian非公式パッチは当てたくない。<br />
なので、パッチを使わないで実装する方向とする。</p>
<p>ということでどこでチェックしようかpostfixの設定を眺めることしばらく。<br />
smtpd_recipient_restrictionsでやるのがいいかなあ、という結論。<br />
PostfixでのGreylistingはpostgreyを使う。<br />
ホワイトリストは許可して、S25R方式で怪しい奴らにgreylistingをかける。<br />
それを通ったものにはtarpittingをかける。<br />
という流れにする。</p>
<p>postgreyをインストール。</p>
<pre># aptitude install postgrey</pre>
<pre>/etc/default/postgrey
POSTGREY_OPTS="--inet=127.0.0.1:10023"</pre>
<p>127.0.0.1をつけないとipv6でbindしてた。<br />
いや別にいいんだけど。</p>
<pre>main.cf
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
check_client_access regexp:$config_directory/white-list.txt,
check_client_access regexp:$config_directory/permit_client_nots25r,
check_policy_service inet:127.0.0.1:10023,
check_client_access regexp:$config_directory/tarpitting,
permit</pre>
<pre>white-list.txt

http://www.gabacho-net.jp/anti-spam/white-list.txtのものを使用</pre>
<pre>permit_client_nots25r
/\.(internetdsl|adsl|sdi)\.tpnet\.pl$/ WARN
/^user.+\.mindspring\.com$/ WARN
/^[0-9a-f]{8}\.(.+\.)?virtua\.com\.br$/ WARN
/\.catv\.broadband\.hu$/ WARN
/[0-9a-f]{4}\.[a-z]+\.pppool\.de$/ WARN
/\.dip[0-9]+\.t-ipconnect\.de$/ WARN
/\.dip\.t-dialin\.net$/ WARN
/\.dyn\.optonline\.net$/ WARN
/\.(adsl|cable)\.wanadoo\.nl$/ WARN
/\.ipt\.aol\.com$/ WARN
!/(^unknown$)|(^[^.]*[0-9][^0-9.]+[0-9].*\.)|(^[^.]*[0-9]{5})|(^([^.]+\.)?[0-9][^.]*\.[^.]+\..+\.[a-z])|(^[^.]*[0-9]\.[^.]*[0-9]-[0-9])|(^[^.]*[0-9]\.[^.]*[0-9]\.[^.]+\..+\.)|(^(dhcp|dialup|ppp|[achrsvx]?dsl)[^.]*[0-9])/ OK
/./ WARN</pre>
<pre>tarpitting
/./ sleep 65</pre>
<p>main.cfでのsmtpd_recipient_restrictionsで基本的な認可のあとに<br />
ホワイトリストによる認証（check_client_access regexp:$config_directory/white-list.txt）<br />
S25RでOKなものの認可（check_client_access regexp:$config_directory/permit_client_nots25r）<br />
微妙なやつらをpostgreyでgreylistチェック（check_policy_service inet:127.0.0.1:10023）<br />
それも抜けたのはtarpitting（check_client_access regexp:$config_directory/tarpitting）<br />
という感じ。</p>
<p>設定してからしばらくログ眺めてたけど良い感じでスパムをブロックしてくれている。<br />
SPFの設定もしようかと思ったけど、あっちは転送時にfailしたりしちゃうことがあるみたいだから、とりあえず今回はやめておいた。<br />
postfix-policyd-spfパッケージ入れてちょいちょいいじれば使えそうなんだけどね。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2011/11/08/postfix%e3%81%a7%e8%bf%b7%e6%83%91%e3%83%a1%e3%83%bc%e3%83%ab%e5%af%be%e7%ad%96/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mdadmで構築したRAID5のチャンクサイズを変更してみた</title>
		<link>http://neet.waterblue.net/2011/11/06/mdadm%e3%81%a7%e6%a7%8b%e7%af%89%e3%81%97%e3%81%9fraid5%e3%81%ae%e3%83%81%e3%83%a3%e3%83%b3%e3%82%af%e3%82%b5%e3%82%a4%e3%82%ba%e3%82%92%e5%a4%89%e6%9b%b4%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/</link>
		<comments>http://neet.waterblue.net/2011/11/06/mdadm%e3%81%a7%e6%a7%8b%e7%af%89%e3%81%97%e3%81%9fraid5%e3%81%ae%e3%83%81%e3%83%a3%e3%83%b3%e3%82%af%e3%82%b5%e3%82%a4%e3%82%ba%e3%82%92%e5%a4%89%e6%9b%b4%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/#comments</comments>
		<pubDate>Sun, 06 Nov 2011 08:44:08 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[mdadm]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1364</guid>
		<description><![CDATA[やり方は簡単で # mdadm -G -c512 --backup-file=/path/to/backup /dev/mdX これでチャンクサイズが512kbになる。 ストライピング（RAID0）でも同じだろう。 とこ [...]]]></description>
			<content:encoded><![CDATA[<p>やり方は簡単で</p>
<pre># mdadm -G -c512 --backup-file=/path/to/backup /dev/mdX</pre>
<p>これでチャンクサイズが512kbになる。<br />
ストライピング（RAID0）でも同じだろう。</p>
<p>ところで、5台構成（うち一台欠落中）のRAID5でやるとえらい遅いんだが。。。<br />
renice -20 -p xxx<br />
とかやって優先度かえても遅い。</p>
<pre># cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md3 : active raid5 sda3[0] sde1[4] sdd1[2] sdb3[1]
      5857284096 blocks super 1.2 level 5, 1024k chunk, algorithm 2 [5/4] [UUU_U]
      [&gt;....................]  reshape =  0.2% (4300800/1464321024) finish=6868.2min speed=3542K/sec</pre>
<p>3.5Mしかでてないっすよ。。。<br />
5日ほどかかるようで。。。</p>
<p>reshape中にマシン停止するとどうなるのかは怖くて試せない。</p>
<p>しらべてみると、reshape中に再起動とかさせても平気らしいです。<br />
<a href="http://umezawa.dyndns.info/wordpress/?p=43">こちら</a>で実験してました。<br />
いやー、mdadmよくできてる。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2011/11/06/mdadm%e3%81%a7%e6%a7%8b%e7%af%89%e3%81%97%e3%81%9fraid5%e3%81%ae%e3%83%81%e3%83%a3%e3%83%b3%e3%82%af%e3%82%b5%e3%82%a4%e3%82%ba%e3%82%92%e5%a4%89%e6%9b%b4%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>LinuxでのHDDのチューニング</title>
		<link>http://neet.waterblue.net/2011/11/06/linux%e3%81%a7%e3%81%aehdd%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%8b%e3%83%b3%e3%82%b0/</link>
		<comments>http://neet.waterblue.net/2011/11/06/linux%e3%81%a7%e3%81%aehdd%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%8b%e3%83%b3%e3%82%b0/#comments</comments>
		<pubDate>Sun, 06 Nov 2011 07:47:37 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[hdparm]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1360</guid>
		<description><![CDATA[そういえばすっかり忘れていたHDDのチューニング。 昔はhdparmでチューニングすることで、HDDの速度が結構伸びたものだ。 ついでにサーバ機なので静音化と省電力化も図りたい。 ということでしらべ直す。 hdparmで [...]]]></description>
			<content:encoded><![CDATA[<p>そういえばすっかり忘れていたHDDのチューニング。<br />
昔はhdparmでチューニングすることで、HDDの速度が結構伸びたものだ。<br />
ついでにサーバ機なので静音化と省電力化も図りたい。<br />
ということでしらべ直す。<br />
hdparmで速度に関係しそうなオプションは以下のあたり。</p>
<pre> -a   Get/set fs readahead
 -A   Get/set the drive look-ahead flag (0/1)
 -c   Get/set IDE 32-bit IO setting
 -d   Get/set using_dma flag
 -m   Get/set multiple sector count
 -M   Get/set acoustic management (0-254, 128: quiet, 254: fast)
 -Q   Get/set DMA queue_depth (if supported)
 -W   Get/set drive write-caching flag (0/1)
 -X   Set IDE xfer mode (DANGEROUS)</pre>
<p><span id="more-1360"></span>で、ドライブの情報を取得してみる。</p>
<pre># hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media
 Model Number:       ST2000DL003-9VT166
 Serial Number:      xxxxxxxx
 Firmware Revision:  CC32
 Transport:          Serial, SATA Rev 3.0
 Standards:
 Used: unknown (minor revision code 0x0029)
 Supported: 8 7 6 5
 Likely used: 8
 Configuration:
 Logical         max     current
 cylinders       16383   16383
 heads           16      16
 sectors/track   63      63
 --
 CHS current addressable sectors:   16514064
 LBA    user addressable sectors:  268435455
 LBA48  user addressable sectors: 3907029168
 Logical/Physical Sector size:           512 bytes
 device size with M = 1024*1024:     1907729 MBytes
 device size with M = 1000*1000:     2000398 MBytes (2000 GB)
 cache/buffer size  = unknown
 Nominal Media Rotation Rate: 5900
 Capabilities:
 LBA, IORDY(can be disabled)
 Queue depth: 32
 Standby timer values: spec'd by Standard, no device specific minimum
 R/W multiple sector transfer: Max = 16  Current = ?
 Recommended acoustic management value: 254, current value: 0
 DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
 Cycle time: min=120ns recommended=120ns
 PIO: pio0 pio1 pio2 pio3 pio4
 Cycle time: no flow control=120ns  IORDY flow control=120ns
 Commands/features:
 Enabled Supported:
 *    SMART feature set
 Security Mode feature set
 *    Power Management feature set
 *    Write cache
 *    Look-ahead
 *    Host Protected Area feature set
 *    WRITE_BUFFER command
 *    READ_BUFFER command
 *    DOWNLOAD_MICROCODE
 SET_MAX security extension
 *    Automatic Acoustic Management feature set
 *    48-bit Address feature set
 *    Device Configuration Overlay feature set
 *    Mandatory FLUSH_CACHE
 *    FLUSH_CACHE_EXT
 *    SMART error logging
 *    SMART self-test
 *    General Purpose Logging feature set
 *    WRITE_{DMA|MULTIPLE}_FUA_EXT
 *    64-bit World wide name
 Write-Read-Verify feature set
 *    WRITE_UNCORRECTABLE_EXT command
 *    {READ,WRITE}_DMA_EXT_GPL commands
 *    Segmented DOWNLOAD_MICROCODE
 *    Gen1 signaling speed (1.5Gb/s)
 *    Gen2 signaling speed (3.0Gb/s)
 *    Gen3 signaling speed (6.0Gb/s)
 *    Native Command Queueing (NCQ)
 *    Phy event counters
 *    unknown 76[15]
 Device-initiated interface power management
 *    Software settings preservation
 *    SMART Command Transport (SCT) feature set
 *    SCT Long Sector Access (AC1)
 *    SCT LBA Segment Access (AC2)
 *    SCT Features Control (AC4)
 *    SCT Data Tables (AC5)
 unknown 206[7]
 unknown 206[12] (vendor specific)
 unknown 206[13] (vendor specific)
 Security:
 Master password revision code = 65534
 supported
 not     enabled
 not     locked
 not     frozen
 not     expired: security count
 supported: enhanced erase
 330min for SECURITY ERASE UNIT. 330min for ENHANCED SECURITY ERASE UNIT.
 Logical Unit WWN Device Identifier: 5000c500xxxxxxxx
 NAA             : 5
 IEEE OUI        : 000c50
 Unique ID       : 032fdxxxx
 Checksum: correct</pre>
<p>但し-Iで取得できる情報はドライブによって異なる可能性があるので注意。</p>
<p>で、色々あるので順を追ってみていく。</p>
<p>Capabilities</p>
<p>Queue depth<br />
これはいわゆるNCQの設定で、この設定値の分だけコマンドをキューイングするということ。<br />
-Qで設定可能な最大値が表示される。<br />
設定値ではない。<br />
設定値の確認はhdparm -Q /dev/sdaとかやればできる。<br />
よくNCQの設定を無効にするといって1を設定するのは、コマンドのキューを1にすることでコマンドの再配置を実質的に無効化してるわけであって、NCQ自体を無効化しているわけではない。<br />
NCQが無効なディスクでは0だ。<br />
ちなみになぜか最大32なのに31が設定されているのが普通だと思う。<br />
もしBIOSでAHCIモードに設定しててドライブやらなんやらもちゃんと対応してるのに有効になってなかったら、hdparm -Q31 /dev/sdaとかやればいい。<br />
31な理由は知らないけどなんか理由があってそうなってるんだろうと思うからいじらないことにする。<br />
なんとなくHDDのコントローラのバッファとかの関係？とか思う。</p>
<p style="text-decoration: line-through;">R/W multiple sector transfer<br />
複数セクタの転送の設定の最大値と設定値。<br />
-mで設定。<br />
基本的に2のn乗で指定するのが普通。<br />
4KBセクタのHDDの場合は8の倍数じゃないとひどいことになると思うので、2とか4は設定しない方が良いとおもう。<br />
まあ普通は16とか32がいいらしい。<br />
最大値を見て設定。</p>
<p>っておもったら最近のドライブでは使っちゃいけないらしい。</p>
<pre>/dev/sdc:
 setting multcount to 16
 Use of -m is VERY DANGEROUS.
 Only the old IDE drivers work correctly with -m with kernels up to at least 2.6.29.
 libata drives may fail and get hung if you set this flag.
 Please supply the --yes-i-know-what-i-am-doing flag if you really want this.
 Program aborted.</pre>
<p>設定しようとしたらこのものすごく怖い警告が出たのでしらべたら、<a href="http://www.redhat.com/archives/fedora-devel-list/2007-April/msg01169.html">こんな</a>話が出てきた。<br />
要するにPIO時代の遺産だったわけだ。<br />
昔はこれで結構パフォーマンス伸びたんだけど。<br />
ということでDMA以降のドライブではマルチセクタ転送と32bit I/O設定はいじらないが吉。</p>
<p>Recommended acoustic management value<br />
自動音響管理の推奨値と設定値。<br />
-Mで設定。<br />
128が一番静かで遅く、254が一番うるさいけど速い。</p>
<p>DMA, PIO<br />
転送方式。<br />
まあ今時PIOなんてないだろう。<br />
昔はPIO病なんてあったけど最近はもう聞かなくなった。<br />
もしPIO病になってたら-d1でDMAをオンにする。<br />
DMAの転送モードをかえる場合は-Xを使うんだけども、対応していない転送モードを指定したら壊れても知らない世界だそうだけど、今時のHDDでUDMA6（Ultra ATA 133）に対応していないものはないと思うので基本的には-X70でいいはず。<br />
古いHDDでUDMA5（Ultra ATA 100）なら-X69、IDEのDVDドライブなんかでもUDMA4で-X68くらいまでしか使わないとおもう。<br />
まあ、DMAがオンになった時点で最適なものが選ばれているはずなので、基本的に-Xオプションは使わないとおもうけど念のため。<br />
と思ったらこれももう過去の遺産っぽいです。<br />
おそらくSATAには無関係。<br />
-dをたたいても返事が返ってこなかった。<br />
IDE接続のドライブ向けですな。</p>
<p>Commands/features</p>
<p>Write cache<br />
書き込みキャッシュ。<br />
-W1で有効。</p>
<p>Look-ahead<br />
先読み機能。<br />
-A1で有効。</p>
<p>で、残りのやつ。</p>
<pre># hdparm -ac /dev/sda

/dev/sda:
 IO_support    =  1 (32-bit)
 readahead     = 256 (on)</pre>
<p style="text-decoration: line-through;">IO_support<br />
32bit I/Oサポートの設定値。<br />
-cで設定。<br />
0で16bit, 1で32bit, 3で32bitのsyncシーケンス付き。<br />
3は1よりほんの少しだけオーバーヘッドがあるらしい。<br />
syncシーケンスって同期をとるんだと思うんだけど、「多くのチップセットで必用とされる」って書いてるんだよね。<br />
3にすると1より何が良いのかよくわからない。<br />
manページ古いからなあ。<br />
1でいい気がするんだけど3でもいいんじゃないかなぁっていうかんじ。</p>
<p>PIO時代の遺産なのでさわるべからず。</p>
<p>readahead<br />
ファイルシステムを先読みするセクタ数。<br />
-aで設定。<br />
昔は8がデフォルトだったらしい。<br />
ランダムアクセスが多い場合は少なめの値がよく、シーケンシャルアクセスが多い場合は多めの値が良いらしい。<br />
といっても限度があるので、実際のところベストな数値というのは256, 512, 1024, 2048のいずれかじゃないだろうか。</p>
<p>これでとりあえず速度に関係しそうなオプションはたぶん完了。<br />
ほかに使いそうなオプションを見てみる。</p>
<p>-D   Enable/disable drive defect management<br />
ドライブ上の不良セクタ管理機能を有効/無効にする。<br />
有効にすると、ドライブのファームウェアは、不良セクタを 工場設定された予約&#8221;スペア&#8221;領域に自動的に再配置しようと試みる。</p>
<p>-P   Set drive prefetch count<br />
ドライブ内部のプリフェッチ機構の、最大セクタ数を設定する。<br />
速度に関係しそうではあるんだけど、現在値の取得の仕方がよくわからなくてさわってない。<br />
何となくだけどこれも過去の遺産のにおいがする。</p>
<p>-S   Set standby (spindown) timeout<br />
ドライブのスタンバイ(スピンダウン)タイムアウトを設定する。</p>
<dl compact="compact">
<dd>値 0 は &#8220;タイムアウトは無効&#8221; を意味し、スタンバイモードに自動的には 移行しない。</dd>
<dd>値が 1 から 240 の場合は、5 秒の倍数の指定になり、 タイムアウトは 5 秒から 20 分になる。</dd>
<dd>値 241 から 251 は、30 分単位の 1 から 11 の指定になり、 タイムアウトは 30 分から 5.5 時間になる。</dd>
<dd>値 252 は 21 分を意味する。</dd>
<dd>値 253 はベンダ定義のタイムアウトで、8 分から 12 時間の間のいずれかである。</dd>
<dd>値 254 は予約されている。</dd>
<dd>値 255 は、21 分 15 秒を意味する。</dd>
</dl>
<p>&nbsp;</p>
<p>-t   Perform device read timings<br />
-T   Perform cache read timings<br />
読み込みテスト、キャッシュ読み込みテストをする。<br />
所謂シーケンシャルリードベンチマーク。</p>
<p>-z   Re-read partition table<br />
指定したデバイス(複数可)のパーティションテーブルを、カーネルに 再読み込みさせる。</p>
<p>こんなとこかなあ。<br />
ということでこんな感じのチューニングにしてみた。</p>
<pre># hdparm -M128 -S12 -a1024 /dev/sdc</pre>
<p>事情によりsdaじゃなくなっております。<br />
対象ドライブはWD10EADS。</p>
<p>bonnie++でベンチマークを計測。<br />
bonnie -d /mnt/target -u nobody -qって感じのオプションで計測。<br />
最初-s 1024 -r 512もつけてたんだけどBlockの数値が異常に高くて、明らかに実測値じゃなかったから外した。</p>
<pre>before
 Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
 Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
 Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
 MS-09            6G   309  96 93830  15 43181  10  1017  97 115858  17 258.1   8
 Latency               127ms     213ms     375ms   21910us     157ms     269ms
 Version  1.96       ------Sequential Create------ --------Random Create--------
 MS-09               -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
 files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
 16 30524  56 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++</pre>
<pre>after
 Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
 Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
 Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
 MS-09            6G   340  99 92996  14 43084   9  1042  98 119477  12 248.9   5
 Latency             26349us     297ms     291ms   17354us   33658us     322ms
 Version  1.96       ------Sequential Create------ --------Random Create--------
 MS-09               -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
 files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
 16 22117  40 +++++ +++ 22847  43 +++++ +++ +++++ +++ +++++ +++</pre>
<p>あんまかわんね。。。誤差の範囲だなこれ。<br />
逆に言えば最近のカーネルやドライバ周りは十分最適化されているっていうことかな。<br />
まあ、静音化と省電力化っていうことで-Mと-Sだけつけりゃいいかなー。</p>
<pre># hdparm -aAMQW /dev/sd[abcde]

 /dev/sda:
 queue_depth   = 31
 readahead     = 256 (on)
 look-ahead    =  1 (on)
 write-caching =  1 (on)
 acoustic      =  0 (128=quiet ... 254=fast)

 /dev/sdb:
 queue_depth   = 31
 readahead     = 256 (on)
 look-ahead    =  1 (on)
 write-caching =  1 (on)
 acoustic      =  0 (128=quiet ... 254=fast)

 /dev/sdc:
 queue_depth   = 31
 readahead     = 1024 (on)
 look-ahead    =  1 (on)
 write-caching =  1 (on)
 acoustic      = 128 (128=quiet ... 254=fast)

 /dev/sdd:
 queue_depth   = 31
 readahead     = 256 (on)
 look-ahead    =  1 (on)
 write-caching =  1 (on)
 acoustic      = 254 (128=quiet ... 254=fast)

 /dev/sde:
 queue_depth   = 31
 readahead     = 256 (on)
 look-ahead    =  1 (on)
 write-caching =  1 (on)
 acoustic      = 254 (128=quiet ... 254=fast)</pre>
<p>こんな感じなのでみんな-M128 -S12でいいや。<br />
ということで設定。</p>
<pre># hdparm -M128 -S12 /dev/sd[abcde]</pre>
<p>起動時に自動で設定をするように記述。</p>
<pre>/etc/hdparm.conf
command_line {
    hdparm -M128 -S12 /dev/sd[abcde]
}</pre>
<p>設定ファイルの場所はdebianでのはなしなんで、ほかのディストリビューションだと違う可能性があります。</p>
<p>で終わりかと思ったらまだあった。<br />
RAIDデバイス。<br />
物理ディスクとちがって通じるコマンドは少ないんだけど、readaheadはいけるみたい。<br />
で、どうもmdはチャンクサイズを基にreadaheadが設定されるみたい。<br />
ミラーリングしてるのは特にチャンクサイズをいじっていないせいかreadaheadは256で物理ディスクと変わらなかったんだけど、RAID5を構築してるドライブのチャンクサイズが異常なことになっていた。<br />
調子に乗って1024を指定したわけなんだけども、そしたらreadaheadが16384となっていた。<br />
16384*512byte=8MiBであり、5台のRAID5構成で一本removeだが一台あたり2MiBのreadaheadで、チャンクサイズの2倍になってるのはたぶん偶然じゃない気がする。<br />
っていうかhdparmで設定可能な値が0-2048っていうんで余裕でぶっちぎってるけど。<br />
blockdev &#8211;setraでいじるなら設定できる。<br />
でまあ、readaheadの数値はチャンクサイズより小さかったら効率が悪そうな気がする。<br />
かといって大きすぎると無駄な読み込みがおおくなりそうなきがする。<br />
いかんせん今縮退モードでうごいてるからベンチとっても実効速度でないしなー。<br />
とりあえず放っておくか。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2011/11/06/linux%e3%81%a7%e3%81%aehdd%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%8b%e3%83%b3%e3%82%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>windowsからext4へのアクセスについてその後</title>
		<link>http://neet.waterblue.net/2011/11/03/windows%e3%81%8b%e3%82%89ext4%e3%81%b8%e3%81%ae%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%9d%e3%81%ae%e5%be%8c/</link>
		<comments>http://neet.waterblue.net/2011/11/03/windows%e3%81%8b%e3%82%89ext4%e3%81%b8%e3%81%ae%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%9d%e3%81%ae%e5%be%8c/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 14:22:02 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[PC]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ext4]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1358</guid>
		<description><![CDATA[ext4が出始めの頃、アクセスの仕方をしらべたんだけど、その後進展があったようだ。 windowsからext2系ファイルシステムへのアクセスをするのにはext2fsdが一番だと思う。 が、ext4はなかなか色々と拡張がな [...]]]></description>
			<content:encoded><![CDATA[<p>ext4が出始めの頃、<a href="http://neet.waterblue.net/2009/11/23/windows%e3%81%8b%e3%82%89ext4%e3%81%b8%e3%81%ae%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6/">アクセスの仕方をしらべた</a>んだけど、その後進展があったようだ。</p>
<p>windowsからext2系ファイルシステムへのアクセスをするのには<a href="http://www.ext2fsd.com/">ext2fsd</a>が一番だと思う。<br />
が、ext4はなかなか色々と拡張がなされていて、特にextentsオプションが指定されたext4ファイルシステムは読み込みさえできなかった。<br />
んだけど、いつの間にやらとりあえず読み込みに関してはサポートされたようだ。</p>
<pre>    1, Ext4 extent readonly support by Bo Branten. Writing is
       possible but with no size-extending</pre>
<p>ファイルサイズを拡大しない書き込みなら一応書き込みもできるらしい。<br />
まあ、危ないから書き込みはやめておいた方が無難ですな。<br />
ext2fsdの最新バージョンは0.51で0.50からext4のextentsオプション付きの読み込みに対応したようだ。<br />
もちろんWindows7でも使える。<br />
更新履歴を見るとがんばってext4対応を進めているようだ。</p>
<p>どうしてもLinuxのファイルシステムをWindowsから読み書きを今すぐ自由にしたいなら、とりあえずext3を使うかext4をextentsオプション抜きで利用するかかなあ。<br />
extents付きのext4の読み込みサポートまでおよそ1年半か。<br />
書き込みサポートも気長に待たないとだめっぽいですな。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2011/11/03/windows%e3%81%8b%e3%82%89ext4%e3%81%b8%e3%81%ae%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%9d%e3%81%ae%e5%be%8c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mdadmでRAID ARRAYのホームホストや名前を変える</title>
		<link>http://neet.waterblue.net/2011/11/03/mdadm%e3%81%a7raid-array%e3%81%ae%e3%83%9b%e3%83%bc%e3%83%a0%e3%83%9b%e3%82%b9%e3%83%88%e3%82%84%e5%90%8d%e5%89%8d%e3%82%92%e5%a4%89%e3%81%88%e3%82%8b/</link>
		<comments>http://neet.waterblue.net/2011/11/03/mdadm%e3%81%a7raid-array%e3%81%ae%e3%83%9b%e3%83%bc%e3%83%a0%e3%83%9b%e3%82%b9%e3%83%88%e3%82%84%e5%90%8d%e5%89%8d%e3%82%92%e5%a4%89%e3%81%88%e3%82%8b/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 07:07:34 +0000</pubDate>
		<dc:creator>ゆ。</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[mdadm]]></category>

		<guid isPermaLink="false">http://neet.waterblue.net/?p=1355</guid>
		<description><![CDATA[レスキューディスクでアレイを作ったらホームホストがそのときのレスキューのホスト名になっちゃってて、ようするにdebianになっちゃってたんで、なんとかしたいと思ったわけですはい。 アレイを組み立てるっていうかassemb [...]]]></description>
			<content:encoded><![CDATA[<p>レスキューディスクでアレイを作ったらホームホストがそのときのレスキューのホスト名になっちゃってて、ようするにdebianになっちゃってたんで、なんとかしたいと思ったわけですはい。</p>
<p>アレイを組み立てるっていうかassembleするときに&#8211;update=で指定できるようで。<br />
でもシステム領域含まれてるんでまたレスキュー使わないといけないんですね、はい。</p>
<p>ということでレスキューに潜り込んで、ホスト名を目的のものにちゃんと設定します。<br />
じゃなかったらassembleの時にオプションで&#8211;homehost=で指定します。</p>
<pre># mdadm -A /dev/md1 /dev/sd[ab]1 --update=homehost</pre>
<p>ホスト名ちゃんとしたの指定してなかったら</p>
<pre># mdadm -A /dev/md1 /dev/sd[ab]1 --homehost=hogehoge --update=homehost</pre>
<p>みたいな感じ。<br />
アレイがすでに起動してたら一回停止してからやりましょう。<br />
アレイのメタデータのバージョンが1系ならmdadm -Dで出てきます。</p>
<pre>Name : hogehoge:2  (local to host hogehoge)</pre>
<p>のところ。<br />
homehostと今のホストが正しければlocal to host hogehogeのところが出てきます。<br />
mdadm -Dsでかぶってる名前のやついたら一回アレイをとめて</p>
<pre># mdadm -A /dev/md1 /dev/sd[ab]1 --update=name</pre>
<p>とかしましょう。<br />
解消されるはずです。</p>
<p>ちなみにmd1とかmd2とかのデバイス名を変えたい場合も同じ感じで、アレイが動いていれば停止して、アセンブルしてやって名前更新かけてやればいいです。</p>
<p>できあがったらシステムをルートにしてシェルを実行して、mdadm -Ds&gt;&gt;/etc/mdadm/mdadm.confたたいて今までのアレイ情報はコメントアウトしましょう。<br />
念のためupdate-initramfs -uk allたたいておいた方が良いかもしれません。<br />
特にデバイス名を変更した場合は必須だと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://neet.waterblue.net/2011/11/03/mdadm%e3%81%a7raid-array%e3%81%ae%e3%83%9b%e3%83%bc%e3%83%a0%e3%83%9b%e3%82%b9%e3%83%88%e3%82%84%e5%90%8d%e5%89%8d%e3%82%92%e5%a4%89%e3%81%88%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

