2013年2月27日水曜日

The Last Story【ぷち】攻略情報

お金稼ぎする場所
  • アルガナン神殿リザードが無限湧きするところ
一番右のアーチャーリザードだけバーストアローで柱の後ろに回してエルザでギャザリングして弓が当たらない場所に移動する
アイテムを落とすのは無限湧きする3匹のうちのアーチャーじゃないリザード
画面上にアイテムが残っていると倒し続けても次のアイテムが出ないので必ず取得すること
セイレンの攻撃力が9000を超えていれば一撃でリザードを倒せるのでエルザは弓で落としたアイテムのみを取得していればおk(一緒に戦ってもおk、弓があたらないところで戦いましょう)
早ければ30分程度でカンストするが単調なので結構だるい(サーモンのほうがなんとなくおもしろくできる気がするw)

異邦の粒の稼ぎ場所
  • 貴族の館
鎧はあらかじめ先に壊す
グルーは垂直切り連発でもいいが、カナンをつれてシャイニング拡散でバリアを張ってチェイン連発のほうが早く終わる可能性が高い
ネビロスは一発シルバーアローを当ててセイレンの影縫いで動けないようにすればあとは適当に
1回、5分から6分で終了する

1週するときに確実に取得したいアイテムとやること
  • ザンランス
  • 藍の糸、銀の糸(カエル3匹を捕まえる)
  • 古の合金
  • Chapter20 貴族の館クリア
糸はケイブクーガーを倒すところですが、そもそもあいつらを出現させる条件はデッキウッド近くのテントの中にいる人に話しかけると発生する
糸も合金もオンラインでも手に入りますがオンラインの乱闘はマジ厳しい
正直上記以外はないと思うのであとはアイテムとか全部スルーでもおkですw
上記を意識して取得してあとはスルーで攻略すると早ければ2時間くらいで全クリできます
貴族の館はクリアしておかないとエピローグ時に異邦の粒稼ぎができません

武器、防具に関して
  • 武器
ヒシャクは強くしたほうがいいと思います
異邦の粒稼ぎを考えるとローグエッジとブラッドソードも強くしておくとよいです
メイン武器はトライブでもザンランスでもいいですが、スキルを重視して強化していくといいと思います
オススメは雷神アクスとか
  • 防具
こちらもスキルを重視して強化するといいとは思うのですが、なぜかデザインを考えてしまうw
強いのはドラゴン系だとは思います
カナンのワンピ、ドレスと騎士の鎧は異邦の粒であげれるようになれば最強ですが、スキルがひとつしかつかいないのでなんともいえません
正直防具は完全に好みです

2013年2月26日火曜日

【eclipse,ant】Exception in thread "main" java.lang.UnsupportedClassVersionError: Unsupported major.minor version 51.0

■やりたいこと
jdk1.6でコンパイルしてmajor versionが50.0の状態になったjarファイルを作成したい

■環境、状況
  • eclipse3.7
  • ant3.2(プラグイン)
  • jdk1.6
上記の環境でantファイルからのjavaコンパイル+jar作成を実施するがmajor versionが51.0になってしまう

■解決方法
  • antのビルドファイルで指定しているjavacタスクの引数として「target="1.6" resouce="1.6」を指定する
  • プロジェクトが参照しているJavaを1.6にする
  • antを実行する際のJavaを1.6にする
  • JAVA_HOMEをeclipse内で使用しているJavaのものにする
  • antビルドで生成されるクラスファイルやjarファイルを一旦すべて削除する

特にはまったのは一番下。。。
既存のクラスファイルやjarファイルが存在していると再生成してくれないのね。。。
というかbuild.xml書いたやつちゃんと一回一回消すように実装しろよ!w

2013年2月22日金曜日

【CentOS】emacs-24.2をソースファイルからインストールする方法

■環境
CentOS release 6.2 (Final) x86_64
emacsバージョン 24.2

■事前準備
rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum -y install gcc cc make ncurses-devel

■インストール
wget http://ftp.gnu.org/gnu/emacs/emacs-24.2.tar.gz
tar xvf emacs-24.2.tar.gz
mv emacs-24.2 /usr/local/
cd /usr/local/
ln -s emacs-24.2/ emacs
cd emacs
./configure

ここでMakefileができないとダメ
不足のパッケージがあったらyum,rpm等でインストールしてください
自分は以下が出たので「yum -y install libXpm libXpm-devel libjpeg libjpeg-devel libtiff libtiff-devle giflib giflib-devel」を実施しました
configure: error: The following required libraries were not found:
    libXpm libjpeg libgif/libungif libtiff
Maybe some development libraries/packages are missing?
If you don't want to link with them give
    --with-xpm=no --with-jpeg=no --with-gif=no --with-tiff=no
as options to configure

make
make test
make install

■動作確認
which emacs
emacs

以上です
デフォルトでテトリスが入ってましたw

2013年2月20日水曜日

【Capistrano】failed: "sh -c '[ORIGINAL_COMMAND]'" on xxx.xxx.xxx.xxx

capistranoで自作のシェルスクリプトを実行しようとしているときに出るエラーです
エラーの詳細がわからずこれしかでないので原因が本当に分かりづらいです
capistrano経由じゃなく直接シェルスクリプトを実行したときには出なかったりと。。。

自分が解決するとき実施している方法です

  1. フルパスで記述する
  2. 777の実行権限を付与する
  3. シェルスクリプト内でエラーになっているもしくは実行できていない
  4. (たとえばすでに存在しているフォルダを作成しようとしているなど)

他にも原因はあると思うので参考までに

2013年2月18日月曜日

eclipseで設定しなければならないJavaの設定箇所

1. プロジェクト全体の設定
ウィンドウ -> 設定 -> Java -> コンパイラ

ここで設定した値がJavaプロジェクトを作成した際のデフォルトのコンパイラになります
ここを設定変更すると存在するすべてのJavaプロジェクトの再ビルドが実行されます

2. プロジェクト固有の設定
プロジェクトのプロパティ -> Javaコンパイラー

上記で設定したデフォルトのJavaコンパイラではなくプロジェクト固有で使用したいJavaコンパイラを使用したい場合にはここの設定を変更します
ここを変更後は設定したプロジェクトのみビルドされます

3. プロジェクト・ファセットの設定
プロジェクトのプロパティ -> プロジェクト・ファセット -> Java

1. 2. のどちらかで設定されているJavaのコンパイラとファセットで設定しているJavaのコンパイラの設定が同じでなければなりません
値が異なっていると以下のようなエラーが表示されることがあります
Java コンパイラー・レベルが、インストールされている Java プロジェクト・ファセットのバージョンと一致しません。

4. 実行タスクごとの設定
例えばantの実行タスクの場合
build.xml -> 右クリック -> 外部ツールの構成 -> JREタブ -> ランタイムJRE

ランタイムJREとプロジェクトで設定しているJavaコンパイラのバージョンが異なっている場合
Javaコンパイラに互換性があれば問題なく実行できますが、Javaコンパイラが存在しないものを指定していたり古いJavaコンパイラを指定している場合などにはエラーとなります


ここに上げただけでもJavaを設定する箇所だけで4つもあります。。。
柔軟といえば柔軟ですが、結構陥りやすい設定でもあるので注意してください

2013年2月15日金曜日

Capistranoのレシピでfetchしている変数を引数で渡す方法

capistranoで使用できるfetchは主に文字列を取り出すために使用される命令ですが、
ユーザの標準入力を求めるためにも使用出来ます

capistranoを対話的に実行する場合に使われたりするのですが、
慣れてくるといちいち対話的に入力するのが面倒になったりします

なのでcapコマンドを実行する際の引数でfetchする変数名を渡してあげることで
標準入力を回避することが可能です

-s key=value

といった感じで -s を使って変数名を渡すといちいち入力しなくて済みます

Capistranoリファレンスwiki:https://github.com/capistrano/capistrano/wiki


2013年2月13日水曜日

【CentOS】Java8のインストール方法

1. JDKのダウンロード
以下からJDKのtarファイルをダウンロードします
http://jdk8.java.net/download.html

Linux -> 64bit -> JDK (tar.gz(md5))
をダウンロード
※2013/2/12時点でバージョンがかなり変動しているのその時に最新版をダウンロードするようにしてください

私は2013/2/1にダウンロードしましたが、その時のtarファイル名は
jdk-8-ea-bin-b74-linux-x64-24_jan_2013.tar.gz
でした

2. 展開と配置
配置している場所やシンボリックリンク先は任意に変更していただいて問題ありません
JAVA_HOME等も必要に合わせて変更してください

tar xvf jdk-8-ea-bin-b74-linux-x64-24_jan_2013.tar.gz
mv jdk1.8.0 /usr/local/java/
cd /usr/local/java/
ln -s jdk1.8.0 jdk
export JAVA_HOME="/usr/local/java/jdk"
cd /usr/bin
rm java
rm javac
ln -s $JAVA_HOME/bin/java java
ln -s $JAVA_HOME/bin/javac javac

exportしているJAVA_HOMEは.bashrc等に書いておくと次回以降実施せずに済みます
rm している部分は mv でも問題ありません

3. 確認
java -version
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b74)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b15, mixed mode)

javac -version
javac 1.8.0-ea

となっていればインストール完了です


/usr/local/java配下にJDKフォルダを配置しjdkという名前のシンボリックリンクで管理することで
javaの切り替えが簡単に実施できるため上記のようにしました

2013年2月12日火曜日

【Zabbix】mysqlを監視する方法

zabbixにはデフォルトでmysqlを監視するキーが登録されております

1. zabbix-agentの設定
emacs /etc/zabbix/zabbix_agent.conf
UserParameterの部分をコメントアウト

service zabbix-agent restart

2. キーの確認
以下のキーがアイテム登録可能になっています
mysql.ping
mysql.uptime
mysql.threads
mysql.questions
mysql.slowqueries
mysql.qps
mysql.version

zabbix_getで確認してみましょう
zabbix_get -s yoshi3 -p 10050 -k mysql.version
mysql Ver 14.12 Distrib 5.0.95, for redhat-linux-gnu (x86_64) using readline 5.1

3. アイテムの登録
UIからアイテムを追加していきましょう
mysql.qps
のキーはデータ型を浮動小数にするようにしましょう

またアイテムからグラフを作成するときは
mysql.qps,mysql.threads,mysql.slowqueries
だけでいいと思います
他の
mysql.ping,mysql.questions,mysql.uptime
はそれぞれ
PING監視、クエリの総計、MySQLの起動時間
という値なので設定するとしたらトリガーが良いと思います

・注意点
今回rootで監視しましたが他のユーザでも可能です(mysqladminコマンドが実施できればOKです)
ただ、コマンドを実行するユーザはノンパスで実施できる必要がありますので
実施するユーザはあらかじめノンパス設定にしてから監視設定を入れるようにしてください
また、localhostからのアクセスになるのでlocalhostからのアクセス許可も必要になります

2013年2月11日月曜日

【Zabbix】CPUの値を監視する定番の方法

1. アイテム作成
以下のキーにおけるアイテムを作成します

system.cpu.util[,idle]
system.cpu.util[,nice]
system.cpu.util[,user]
system.cpu.util[,system]

データ型は「浮動小数」にし、単位は「%」を入力します

2. グラフを作成します
先ほど作成したアイテムを一つのグラフに全て追加します
グラフのタイプはノーマルにし各グラフの色を設定する際にnice, user, systemのアイテムに関しては赤系の色にします
(したほうが良い感じに見えるだけですw)

3. 完成
以下のようにグラフが表示されればOK
赤系の色で設定したnice, user, systemの値がスパイクすると異常値だということが一目でわかるようになっていると思います


あとは必要に応じてスクリーンやトリガーを設定してください

2013年2月8日金曜日

【Linux】mailコマンドで見れるメールをすべて削除する方法

cd /var/spool/mail
rm root

上記はrootのcrontabで飛んできたメールを削除する方法です
どのユーザのcrontabで飛んできたメールか判断して削除してください

2013年2月7日木曜日

【Linux】cronでメールを飛ばさないようにする方法

crontab -e

各cron設定の最後に

> /dev/null 2>&1

と書けばメールが飛ばなくなります

2013年2月6日水曜日

yumのリポジトリを追加する方法

※今回はnginxのリポジトリサーバを追加する手順を例として紹介します

1. リポジトリ登録
cd /etc/yum.repos.d
touch nginx.repo
以下を貼り付け
以下はCentOS5系の場合です
CentOS6及び他のディストリビューションの場合は適宜packages以下のパスを変更してください

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/5/$basearch/
gpgcheck=0
enabled=1

2. 初期化
yum clean all --disablerepo=\* --enablerepo=nginx

3. 動作確認
yum update --disablerepo=\* --enablerepo=nginx
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Excluding Packages in global exclude list
Finished
Setting up Update Process
No Packages marked for Update

yum list --disablerepo=\* --enablerepo=nginx
Available Packages
nginx.x86_64 1.2.6-1.el5.ngx nginx
nginx-debug.x86_64 1.2.6-1.el5.ngx nginx


以上で完了です
基本的には/etc/yum.repo.d/配下に新しく登録したいレポジトリ情報が記載されたファイルを置くだけで新規として登録されます

2013年2月5日火曜日

CentOS5.6でboot.logに起動ログを出力する方法

[root@yoshi3 log]# grep initlog /etc/rc.d/init.d/functions
     initlog $INITLOG_ARGS -n $0 -s "$1" -e 1
     initlog $INITLOG_ARGS -n $0 -s "$1" -e 2
     initlog $INITLOG_ARGS -n $0 -s "$1" -e 1
     initlog $INITLOG_ARGS -n $0 -s "$1" -e 1

となるようにfunctionsを編集してください
はじめはコメントアウトされています
CentOS5系からinitlogコマンドが非推奨になったのでデフォルトではコメントアウトしてあるようです

参考までに

2013年2月4日月曜日

snmpdのsyslogを/var/log/messagesに出力しない方法

1. 起動ファイルの修正
emacs /etc/init.d/snmpd
OPTIONSを以下のように変更

OPTIONS="-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a"

OPTIONS="-Ls6 -Lf /dev/null -p /var/run/snmpd.pid -a"

これでファシリティがlocal6でシスログに出力されるようになります

2. syslog.confの修正
emacs /etc/syslog.conf
local6のシスログを/var/log/messagesに出力しないようにします

*.info;mail.none;authpriv.none;cron.none; /var/log/messages

*.info;mail.none;authpriv.none;cron.none;local6.none; /var/log/messages

3. 再起動
service snmpd restart
service syslog restart

で/var/log/messagesにsnmpdのUDPアクセスログが出力されないようになります

2013年2月3日日曜日

【Zabbix】特定の文字列を含むログを監視する方法

0. バージョン情報
CentOS 5.9
Zabbix-JP 1.8.15

1. アイテム作成
今回は例ということで/var/log/messagesを監視したいと思います
以下のように情報を入力してアイテムを作成します
  • 説明:/var/log/messagesログ監視(お好きなように設定)
  • タイプ:Zabbixエージェント(アクティブ)
  • キー:log[/var/log/messages,"error"]
  • データ型:ログ
  • 更新間隔:30秒
キーの2つ目の引数にキーワードを設定するとログにキーワードが含まれる行だけを評価するようになります
アイテム追加の際にZabbixエージェントのタイプを「アクティブ」にする必要があります(WebUI上から可能)

またzabbix_agentd.confに以下の設定を追記します
ServerActive=zabbix_server_hostname
RefreshActiveChecks=120
AllowRoot=1
ServerActiveは自分自身がアクティブモードのエージェントだよというのZabbixサーバに伝えるために設定します
zabbix_serverhostnameにはZabbixサーバのIPアドレスかホスト名を入力して下さい
RefreshActiveChecksはちゃんとアクティブになっているかどうかのチェック間隔を調整します
AllowRootはrootユーザでzabbixエージェントを起動するための設定でrootユーザで起動しておけば監視対象となるどのログファイルにもアクセスできるようになります
上記設定後、zabbix_agentdを再起動し /var/log/zabbix/zabbix_agentd.log に started [active checks] 出ていればOK

2. トリガーの設定
ログ監視用のアイテムを作成するとアイテム一覧のウィザードからトリガーを作成するウィザードを開くことができます
開いたら以下のように情報を入力してトリガーを作成します
  • 名前:/var/log/messagesログ監視(お好きなように設定)
  • アイテム:作成した「/var/log/messagesログ監視」アイテムを選択
  • 条件式:((({yoshi3:log[/var/log/messages,"error"].iregexp(error)})=1)&(({yoshi3:log[/var/log/messages,"error"].nodata(30)})=0))
  • 深刻度:警告(お好きなように設定)
条件式の概要としては
「errorが含まれていてかつ30秒間の間で1つでも該当のデータを受信した」となります

iregexp内では正規表現が使用できるのですが、そのまま正規表現を記載しても有効になりません
ただ文字列を入れば場合には完全一致になるようです(不確か)
正規表現を使いたい場合には
管理→一般設定→正規表現(右上のプルダウンから)→正規表現の作成
から正規表現自体を作成しないと使えません
作成した正規表現は@hogehogeという形で使用できるので「.iregexp(@hogehoge)」とすることで初めて正規表現が使用できます

またトリガーを作成したあとはにイベント生成を「ノーマル」にしておきましょう

3. トリガーの動作確認
logger error

を実行しトリガーが検知するか確認します
監視データのトリガー画面に障害として表示されます
監視データのイベントにも履歴が表示されます
ただ、今回の設定の場合だと.nodate(30)で30秒の間のログでerrorが表示されなかったらすぐに正常に戻ってしまうので
600とかの値にするといいかもしれません
そこは監視したい間隔を調整してもらえればと思います

また、アクティブモードのエージェント場合にはZabbixサーバに対して10051の通信ができないと行けないのでACLの設定も見なおしてください
Zabbixは基本的には
server -> 10050/tcp -> agent
のACLがあれば監視はできるのですが、アクティブモードの場合には上記に追加で
agent -> 10051/tcp -> server
のACLも必要となります

あとは必要に応じてアクションを設定してください

参考サイト

2013年2月2日土曜日

Poderosaで開いている複数のターミナルに対して同じコマンドを同時に実行する方法

1. ダウンロード

2. インストール
ダウンロード後、解凍してできた「rmainte3」を「C:\Program Files (x86)\Poderosa」にコピーします
コピーしているパスはPoderosaのインストールパスです

3. 再起動、設定反映
Poderosaを起動します
起動しているPoderosaがある場合は一度閉じて、再起動します

4. 実行
ツール→「キー入力をブロードキャスト」を実行するとダイアログが出現します
該当のダイアログがアクティブな状態で一つのターミナルにコマンドを実行するとすべてのターミナルにコマンドが実行されます
ペーストの処理ができないのが残念です
X-shellを使ったほうがいいかもしれませんw

参考サイト:http://www.rep1.co.jp/staff/200vcxg/217rav/poderosa_-.htm

2013年2月1日金曜日

【Apache】IPアドレスでアクセス元を制限する方法(httpd.conf編)

1. vi /etc/httpd/conf/httpd.conf
で以下の場所に拒否するIPを入力してください
入力方式は「IPアドレス」「ホスト名」「ドメイン」「CIDR」が指定可能です
<Directory "/var/www/html">
    AuthUserFile    /var/www/html/.htpasswd
    AuthGroupFile   /dev/null
    AuthName        "Please Enter Your ID / PW"
    AuthType        Basic
    Require valid-user
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny  ⇒ なければここも入力
    Allow from all    ⇒ なければここも入力
    Deny from yoshi3  ⇒ ここに拒否するIPを追記
</Directory>

2. service httpd restart
で追記したIP以外からはアクセスできないと思います
デフォルトのままだとApacheのデフォルトの画面が表示されてしまいますので
それも表示させたくない場合には

3. mv /var/www/error/noindex.html{,back}
を実行してデフォルトのページのリネームをします
また/etc/httpd/conf.d/welcome.confがある場合にもリネームまたは削除を実施してください