2021年3月15日月曜日

PDFを動画にする

環境

ec2でUbutuたてて実施

手順

0.インストール
$ sudo apt install poppler-utils
$ sudo snap install pdftk
$ sudo apt install zip
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ sudo ./aws/install
1.サンプルダウンロード
$ wget [何か適当な].pdf
2.1ページ目だけ抽出
$ pdftk [何か適当な].pdf cat 1 output 1.pdf
3.テキスト抽出
$ pdftotext 1.pdf 1.text
4.設定
[適当にPollyFullな権限でIAMユーザ]
$ aws configure
AWS Access Key ID [None]: ***
AWS Secret Access Key [None]: ***
Default region name [somewhere]: ap-northeast-1
Default output format [None]:[なし]
5.音声データ作成
$aws polly synthesize-speech --output-format mp3 --text file://1.text --voice-id "Mizuki" 1.mp3
$6.画像化
$ pdftoppm -r 125 -png 1.pdf 1
7.ダウンロード&動画化
1.pdfと1.mp3をダウンロードしてPremiumProか何かで動画化

2018年1月8日月曜日

キーボード入力した文字列をハッシュして数列を取り出す

ことの発端は会社の後輩から飲み会の支払いをLINE Payで頼まれたこと。
最近流行りのモバイル決済に興味があったので、早速登録!
しようとしたが、6桁の数字という新しいパスワード形式に固まる。

色々考えたが、すでにあるパスワードをハッシュしてそこから数字6桁取り出せないかなと思い、試行錯誤。
md5sumを調べたところ、文字列はキーボード入力で引き渡してハッシュ化出来た。おあつらえ向きにhistoryに残さずハッシュ処理が可能。
後はreadコマンドでキーボード入力を代行させてやって下記のコマンドになった。

$ read Password ; echo $Password | md5sum | tr -cd '0123456789' | cut -c 1-6

あとで考えると、理論的には6つも数字がないハッシュ結果のパターンもありそうだけど、一旦これで大丈夫そう。

2016年3月25日金曜日

icat for JSON

IPAでサイバーセキュリティ注意喚起サービスの「icat for JSON」が公開されていたので、
とりあえず、自分用にブログの右下に配置してみた。
JVNの新着リストをRSSリーダーで読んでいるので、
基本的に脆弱性は見逃さないと思うけど、一応ウォッチ。

2015年10月31日土曜日

肩こりハック

いつもの通り筋トレをしていて、ふと筋トレのきっかけが肩こり対策だと思いだした。
SE駆け出しのころ、やっと自分の技術に自信が持てるようになり、、
同時に忙しくなってとうとう肩こりに悩みだすようになった。
このままじゃマズいと思い、対策したのが椅子の高さ、入浴、筋トレだった。
人様にもそのまま適用できるかわからないけど、メモ代わりに共有。

  1. 椅子の高さ
  2. 肩こり対策でまず見直したのが姿勢。と言ってももともと姿勢は良くない方だし、
    簡単に直せるようなものでもないだろうと考えた。
    で、肩こりになりにくい姿勢でググったところ、肘を90度にするというのがヒットした。
    これなら姿勢を正しくするのではなしに単に椅子の高さを最大にすれば
    自然と肘は90度になる。
    とりあえず、自宅と会社の自席の椅子の高さを最大にしたところ、
    肩こりの進行は止まった。
    今では椅子の高さが最大でないと落ち着かないくらい習慣化している。

  3. 入浴
  4. 椅子の高さだけだと痛みがひかず、毎晩お風呂をはって入浴もするようにした。
    1ヶ月も続けて入浴した頃にはすっかり肩こりがなくなっていた。
    実家時代もシャワーだけだったのだけど、必ず入浴してきた。
    どんなに忙しくても疲れてても酔ってても入るようにした。
    言葉にすると大変そう、というか面倒そうだけどやってみるとそうでもない。
    今の時代、どんな家でも自動給湯設備はあるはずなので、スイッチ一つで
    料理なり食事なりネットサーフィンなりしている間にお風呂ははれる。
    さらに最近は防水スマフォでお風呂入っててもネットサーフィンもできるので、
    ほとんど余分な時間を消費せずに済ますことができる。
    お風呂洗いも毎日入っていればさっとシャワーで流すだけで十分綺麗になる。

  5. 筋トレ
  6. 最後が筋トレ。と言っても上記2つでほぼ解消していたので、効果はよくわからない。
    効果があったとして何ヶ月かあとではじめてわかるものだし。。
    ただ、ぎっくり腰とかその辺の怪我にかかったことはないので、
    悪いことはなかったと思う。
    筋トレの内容は最初にマラソン、帰ってきて自宅で腕立て、腹筋、腹筋ローラー、
    ゴムチューブであれこれ。
    スモールスタートして物足りなくなったら腕立てや腹筋の回数や種類を増やしたり、
    器具を買ったりして今に至る感じ。
    筋トレはやり過ぎるのも悪いということで2日に1度実施。雨天中止。
    意外な効能として雨の日筋トレしなくて済むのでちょっと得した気分になれる。

2014年7月21日月曜日

LinuxでNICにIPエイリアスを設定

一つしかNICを持っていないLinuxに複数のIPアドレスを持たせたかったので、
下記のファイルを配置したところ上手いこといった。

$ cat /etc/sysconfig/network-scripts/ifcfg-eth0:0
TYPE=Ethernet
BOOTPROTO=none
IPADDR=[IPアドレス]
PREFIX=24
ONPARENT=yes

PREFIXがミソで最初はNETMASK=255.255.255.0にしていたのだが、
何故か理解してくれず、サブネットマスクが255.0.0.0で立ち上がってきた。。
アレコレ試してPREFIXにしたところやっと255.255.255.0になってくれた。
軽くググったけど特にそういう事例もなく、全く謎。。

ちなみにONBOOTでなく、ONPARENTが推奨らしい
ググってる最中に見つけたので、その通り設定。多謝。

2014年4月12日土曜日

LinuxのSwap適正値

毎度迷う、Swapの値。。
正直、昨今の8GBとか16GBとかRAMを積んでいるマシンは
5GBもあれば大丈夫だろうと思うのだけど、上司といくらにするかで喧嘩になった。
やはりお年寄りなIT技術者は2倍確保すべしという観念があるらしく。。

結局、下記のRHELの公式ページを参照。
https://access.redhat.com/site/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/ch-swapspace.html


M = RAM 容量の GB 表示。そして S = swap サイズの GB 表示とすると、
If M < 2
S = M *2
Else
S = M + 2

う~ん、どう考えても18GBもSwapがいるとは思えないけど。。
というか、Swap使うようなシステムは既に死んでいるだろ、と思うけど。。
公式に従って、Swapの値を選定することに。。

2014年1月31日金曜日

RHELの指紋認証停止

現在、VMware上にOSを構築中。OSはLinux。
大体構築も終わってシスログを確認していると
下記のメッセージを時々出力していることを確認。

[日付] [ホスト名] abrt[[PID]]: saved core dump of pid [PID] (/usr/libexec/fprintd) to /var/spool/abrt/ccpp-***-[PID].new/coredump (*** bytes)
[日付] [ホスト名] abrtd: Directory 'ccpp-***-[PID]' creation detected
[日付] [ホスト名] abrtd: Crash is in database already (dup of /var/spool/abrt/ccpp-***-[PID])
[日付] [ホスト名] abrtd: Deleting crash ccpp-***-[PID] (dup of ccpp--***-[PID]), sending dbus signal

ググってみると完全に同じ文言は見つからなかったけど、多分fprintdの誤動作。
RHEL6系かつVMwareなどの仮想OSでUSBを持たず、最小限インストールすると
スイッチの際などに指紋認証しようとして上記のメッセージを出力する模様。
確かにその条件は満たしている。。
ちなみにRedHat社曰くはバグじゃなくて仕様だ!とのこと。。

下記のページを参考に指紋認証を停止。
ITエンジニアのお仕事

無事にメッセージは出力されなくなった。
しっかし、、あまり事例を見かけなかったけど、みんな最小限インストールしないのかな?
OSにインストールされるサービスは出来る限り自分で選定したいのがSEの性じゃないの。。?

2013年12月2日月曜日

activeモードで接続するとftp-data通信ができない

良くわからない所でハマったのでメモ。

FFFTPではftp-data通信(lsやファイルダウンロード)できるのに、
手動でサーバ間でFTPログインすると途端にftp-data通信できなくなってハマった。

あれこれ悩んで全くわからず、苦し紛れにtcpdumpをしていたら、
FTP接続先のマシンから接続元へのftp-data通信をしていて、「ん?」
となり、接続元のFirewallを落としてみるとやっとこ成功。。
activeモードでは何故か双方向で通信するみたい。。
接続元のマシンのFirewallに接続先のIPアドレスをALLで許可して対応。

2013年11月15日金曜日

情報処理試験の試験会場

思う所があり、今春東京から郊外に引っ越した。
春の情報処理試験はちょうど引っ越しのタイミングもあり、
東京の受験だったが、東京はすぐ隣だし、特に困らなかった。
今秋は何も考えず引っ越した先の県で受けたのだが、
「駅を降りたらバスで移動」と記載されていてびっくりした。
が、メリットもあったので自分用にメモ。

◆郊外で受験した場合

駅から遠くてバスに乗る必要があるかも

早めに行く、早めに帰るで受験者ラッシュは免れるかもしれないけど、
やっぱり制限事項の1つかなぁ、と思う。
後は個人的に閉所恐怖症の気でもあるのか、どうもバスのあの密室空間は苦手。。
たまに乗るのなら情緒があっていいんですけど。。

会場にゆとりがある

地価が安いためか、会場が広い場合が多いと思う。
会場が広いとトイレの数だったり、受験者の数だったり、
早く抜けた時に休める場所の確保だったりと余裕ができてストレスが減る。


◆東京で受験した場合

駅近

クモの巣のように張り巡らされた鉄道のため、どの会場も駅から徒歩数分。
また、帰りにご飯食べたり名所に行ってみたりというのも郊外よりは楽な気がする。

会場が狭い

地価が高いためか、大体会場が窮屈。。。
トイレの数も少なく行列ができていたり、早く退室しても人がぎゅうぎゅうに詰まっていて
ラウンジや敷地内の机やイスはとられているなどストレスフル。。

………

結論として私はもう一回くらい郊外で受けてみて、
どっちもどっちなら東京で受けようかなぁと思っている。
勤務先は東京だから定期が無駄にならないし、バス代も浮くし。
まぁ、1000円もかからないんですけど。。
後は人生の半分くらいは東京で過ごしているので、
思わず何年か住んだり通ったりした場所が会場になると
「久しぶりにあすこに行ってみよう」なんてウキウキした気になるので、
やっぱり東京が良さそう。

2013年11月2日土曜日

GSR400 ABS 2010年式 乗車の所感

レンタルバイクでGSR400 ABS 2010年式を借りたので、
その乗車感を自分の備忘代わりにメモ。

私の感想を読む上での注意事項はこちら

今回は100km強ほどしか乗っていません。峠、というか山道を走りました。

ホンダ、カワサキと乗ってきたのでそれ以外のメーカーの車種を借りてみました。
休日だったので他に借りれるバイクが限られ選択肢は少なかったのですが、
見た目カッコ良かったのもあって、GSR400を選びました。
オーソドックスなネイキッドタイプなので乗りやすいだろうと思って予約してます。

実物を見た時、大型じゃないかと勘違いしました。
調べると実際大型車のボアダウンみたいですね。なるほど大きかったです。
まぁ、でも身長165cmの私が普通に地面に足がつくレベルです。
ライディングポジションもVTRよか前のめりにならないくらいでした。

走りについてですが、すごく滑らかですね。なんというか滑る様に走ります。
ただ、走り出しの時に妙にエンジンが吹き上がるので、最初転けそうになりました。
ネットでは他にそんな感想の方がいないので、借りたバイクだけの特性か、
単に私が下手っぴなだけかもしれませんが。。
それも発進の際に意識して丁寧にクラッチを繋げば特に問題になりません。
発進時に毎回緊張するのはちょっとストレスですけどね。慣れるでしょうけど。

カーブについてですが、やはり滑らかに曲がります。
が、何故かやたらと曲がりにくいんですよね。。
VTR250やNinja400に比べて云うこと聞いてくれず、峠道は緊張の連続でした。。

エンジンタンクというかボディがめちゃくちゃ大きいのでタンクバッグは
大型車用のものでも載せられそうです。
後は姿勢が楽なので、高速を巡航するのなら楽だったかもしれません。

ん~、でも乗って楽しいバイク、という点ではやっぱりNinjaかな。。。

2013年10月8日火曜日

今日気になったリンクめも

ちょっと気になった記事を自分用のリンクとしてメモ。

クックパッドのインフラ責任者が語る、DevOpsを成功させる考え方「迷ったら健全な方を選ぶ」~DevOps Day Tokyo 2013
http://www.publickey1.jp/blog/13/devopsdevops_day_tokyo_2013_2.html

勉強になる。「健全な方を選ぶ」という選択肢が新鮮だった。
権威的にならない、という示唆にも考えさせられた。
運用と開発、うちの会社の場合は基盤とアプリだけど、
どこにいっても壁だらけ。
あっちのチームの仕事、こっちのチームには関係ない。
どうしていがみ合うのかと思っていたが、
案件ごとにどちらかが上に立つか決めているからのような気がする。。

金融×IT対談
http://www.nri.com/~/media/PDF/jp/opinion/teiki/kinyu_itf/2013/itf_201310_2.pdf

金融ITでお仕事しているので、一応NRIのメルマガは読んでる。
この対談の本筋のNISAとは全然関係ないのだけど、
対談相手の日本証券業協会の方が、
確定拠出年金について良い制度なのに普及率が低いことに
問題意識を持っていらっしゃって、なんか安心した。
自分も利用者としてIT系のシステムベンダーとして
確定拠出年金がもっと使い易くなって拡まった方が良いと思っていたので。

2013年10月5日土曜日

Ninja400R 2013年式 乗車の所感

レンタルバイクでNinja400R 2013年式を借りたので、
その乗車感の感想をつらつらとメモ。

一応、注意事項というか私の情報を下記に列挙しておきます。
私の感想を参照されるのであれば、ご一読いただいたほうが良いと思います。
・私はVTR250に乗っていました。なので、VTRに比べての所感になります。
・私は身長165cmです。サイズの大きい小さいはこの身長の感想です。
・筋力をはじめとする身体能力は普通、だと思っています。バイクテクは並以下でしょう。。

今回、2日借りて400kmほど走りました。途中、高速にも乗っています。

Ninjaを借りた理由は単純にカッコ良いからでした。
一応ネットで検索して口コミで乗りやすいという感想が多いのを確認しています。

実物を見た時の感想は(アレッ?ちょっと大き過ぎないか。。?)でした。
400ccという自分にとっては未踏の領域であり、心配になりましたが、
実際跨ってみたところ、両足同時につま先が地面につくレベルでした。
乗り降りも苦になりませんでした。ライディングポジションも前傾になる必要はなく、
楽にアクセルを操作できるレベルです。

走りについてですが、、やっぱり優等生なVTRと比べるとエンジンが攻撃的な気がしますねw
とは言え、ちょっとそんな感じがするくらいです。大人しく私に従ってくれました。
ただ、VTRと同じ感覚でアクセルを回すと80kmを普通に超えてしまうので、
"抑え目に”を意識して運転しました。
逆に言うと高速は楽でした。VTRでは時速80kmでも正直しんどかったですが、
Ninjaでは楽々時速80kmで移動できました。
Ninja自身はもっと出せと言っているような気もしましたが、
やっぱりカウルがあっても時速100kmまで行くと風圧で辛かったです。

カーブですが、フロントカウルが邪魔でタイヤがどっち向いているのか見えないので、
最初は違和感ありましたが、そのうち慣れました。

特に曲がりやすいとか言うことはなかったのですが、スピードの出しやすさもあってか、
峠を走る時は景色そっちのけで夢中になってNinjaを操作しました。
乗って楽しいバイクということでは私の中で一番です。

難点を言えば、やっぱりシートですね。硬いです、圧倒的に。
そしてスゴく熱くなりました。。冬も熱くなるのであれば逆にいいかもですが、
30度超えるようなシーズンはちょっと辛いです。
後は振動を殺せないのか、それとも私の握力の衰えか3時間ほどで
手が震えるほど痺れました。。
VTRのように東京から九州まで横断とかは絶対無理かなぁと思います。。

短距離をちょっと峠まで走るのなら絶対オススメですけどね!
総括して言えば乗って楽しいバイクです。移動手段としては無理かな、という感じ。

2013年9月16日月曜日

テンプレート戻しました

テンプレート戻したので、自分用の備忘に。

何ヶ月前か忘れたが、Bloggerの動的ビューが発表されて、
よく閲覧していたブログがこのテンプレートを採用したのを見て
コレは面白い!と思って自分のこのブログにも使っていた。

が、見辛い。。自分で見辛い。。。
私の場合、ブログの副題が長いのでそれは消えちゃうし、
サイドバー含めてブログだと思っているけど、それも表示できないし。
なので、シンプルなものに戻した。

一応Web系SEとしての視点でも語ると、、、
閲覧者側でブログの表示方法をカスタマイズできるのが画期的だったけど、
それってブログ書く方からしたらストレスじゃないかな。
本気ブロガーは閲覧者が可能なビュー全てのチェックするだろうから。


2013年9月15日日曜日

バイク売却しました

バイクを売却したので、そのメモ。

バイク王さんに依頼。
ネットで申し込んだ後、電話でやりとり。
メールではやりとり不可らしい。
時間調整はメールだと無駄に煩雑になるから、
そのために電話でのやりとりなのかな。

で、当日。自宅の前はスペースないので、
近場の広場に来てもらう。

小雨ぱらつく中で愛想の良いバイク王の
査定役の方が一生懸命チェックしてくれた。
査定の結果、金額はマイナス。マイナスとかあるのかって話だけど、
個人的には納得。名義変更とか手間かかるもん。
嘘だと思う人は引っ越して陸運局に行ってみたら良い。
役所のたらい回しと至高の時間の浪費を体感できるはず。

バイクには3万キロ強乗った。
通勤なしのツーリングだけでこの距離乗ったのは
なかなかないと査定役の方に言っていただいて
ちょっと嬉しかった。
あんまり乗れてないと思っていたし。

何度も転んだのであちこち傷んでるし、
特にタンクの左に大きな凹みがある。
私にとってはそれは歴史で愛着があるけど。。

査定役の方は事故車ではないけれど~、とフォローしてくれたが、
これは事故車ですと私から断った。パッと見てもボロボロのヨレヨレだ。

売却の判断をした直接の理由は電気系がイカれたのか、
キーを差しても起動しなくなったから。
そこで、もう十分だと思った。
維持するのも疲れていたし、面倒くさがりな私が
持っていてもしょうがないと思った。
まかり間違って誰か若い子が買って乗ってくれたら~
と思ってバイク王さんに申し込んだので、これで良い。

最後、査定役の方に引かれていくバイクを見て
ものすごく寂しくなったが、この判断は間違っていないと思う。

ついでに言うとバイク自体は楽しいので、これからも乗るつもり。
最近はレンタルバイクがあって、メンテなしで乗れるならこれもいいと思って。




2013年6月5日水曜日

Linuxでお手軽にコマンドを遅延起動

月初のみ特別に分岐するバッチを作成した。ところが、今月の月初は休日。。
その確認のみのために休日出勤するわけにもいかず、
OSの時刻をいじるとあちこちに迷惑。。
分岐処理の条件変えて稼働確認はナンセンスだし、
かと言ってcron編集するにも本番稼働近いのでやりたくない。

と言うことでnohupで24時間sleep後に当該バッチを起動するコマンドを仕込んだ。

nohup bash -c 'sleep 86400 ; [バッチ]' &

若干不安だったけど、ちゃんと翌日稼働して分岐処理も想定通り動いてくれた。


2013年2月10日日曜日

ARROWS Z ISW13F使用感

いつも通り、自分用の備忘メモ。
現在所有しているARROWS Z ISW13Fについて思ったことをつらつらと書き留めておく。

【買った理由】
別にスマフォを欲しいとは思っていなかった。
スマフォなにするものぞ、携帯など通話とメールだけできればよいのだ、
ガラケーで十分だ!と思っていた。

ところが会社で有志のR&D活動の公募があり、
何となく申し込んでみたら私がリーダーになり、
せっかくなので集まったメンツのうち若い衆に何がしたいかと聞いたら
Androidでアプリ開発がしたいと。
なるほどなー、最近流行ってるもんなぁ、と。
会社でもまだそれほど知見もなく、会社にAndroid機自体ないこともないが、
業務以外かつ私が先行して勉強して教育するとなると
さすがに自分で買った方がよさそうだと判断した。
そのとき持っていたガラケーはとっくの昔に2年過ぎていたのもあった。


【選んだ理由】
実はこれといってない。
折角だから最新で最高スペックのスマフォを探して
買った当時スペックが一番高かったARROWSを選んだ。
発売されてすぐだったけど割と評判よかったのもあって即断した。
キャリアはau以外考えなかった。
もう10年くらいau。メアド変えるのがどうしても面倒。。


【使用感】
反応速度に不満はない。いわゆるヌルヌル動くというやつだと思う。
通信速度でも不満を感じたことはない。
都内なのとバージョンアップは自宅のWifiでやってるからかもしれないけど。
指紋認証はどうだろう。2,3回はこすらないと認識しないので、人によっては不満かも。
アプリはほとんど買ってないのでなんとも。


【買って良かった点】
GoogleReaderがどこでも読める。これに尽きる。
中毒と言っていいくらいGoogleReaderにハマっているので、
電車や待機中にGoogleReaderが読めるのはとても助かる。
特に後で読むつもりだった英語のブログは空き時間で大分消化できた。

後は地味にPicasaとの同期が便利。
意識することなく同期してくれている。
久しぶりに会った友達と飲んでいる時とかに
写真を見せるのがすごく楽。


【悪かった点】
褒めてばっかりもアレなので、ジャイロについて。
ジャイロと言うかロックかな。
しばらく放置されるとそれを検知して自動でロックするのだけれど
普通に使っているのに落ちてロック解除が面倒くさい。
ジャイロがトロいのかロックの時間が短すぎるのか。。。

あとは超個人的なことだけど電話をしにくくなった。
電話の機能に問題あるわけじゃないけど、
なんか手を触れるものだし顔に付けたくない。
でも、美容室の予約とか未だに電話でしなきゃいけないこともあり、
そこはストレス。


【総括】
考えてみるとやっぱりスマフォはいらないんじゃないかと。。
スマフォでできることはタブレットでできるし、電話はしにくいし。
ガラケー+タブレットが自分には適しているかもしれない。
でも、ガラケー最近は売ってないんだよなぁ。。。

2013年1月13日日曜日

libclntsh.so.11.1が見つからない。


PHPからoci8が連携できずに2日ほどハマったのでメモ。
Oracle関連って保守契約か何だかの約束で公式回答を
ブログやらニュースサイトに記載してはいけないということらしいが、
本件については明確に保守担当からPHPの連携およびOSに関わる部分なので
Oracle対応対象外ですと言ってもらった(見捨てられた)ので問題ないだろう。

まず、Oracleクライアントをランタイムでインストールし、
そして、PHPを--with-oci8=shared,$ORACLE_HOMEオプションをつけてコンパイルした。
正常にoci8.soライブラリが作成されたことを確認し、php.iniに追加してやる。

今回、PHPはCGI経由で呼び出すのでphp-cgiをCGIディレクティブにリンクし、
phpinfoだけ書いたindex.phpを作成し、稼働確認。
コマンドラインでphp-cgi -i index.phpでは正常に稼働し、oci8もenableだった。
ところが、ブラウザからアクセスするとphpinfoは表示されるもののoci8関連の項目がない。
error_logを確認すると、案の定下記のエラーが。。。

libclntsh.so.11.1: cannot open shared object file: No such file or directory

なるほど、Apacheの実行ユーザがライブラリパスを認識できないのね、と考え、
$ORACLE_HOME/libをld.so.confに追加したら
今度はlibexpat.so.11.1 is not a symbolic linkというエラーが出る。
もちろん、ブラウザ接続でのoci8認識はできず。

ここで保守担当に連絡を取るも、それってPHPのエラーですやん、という回答。
確かにその通り、じゃぁ、ld.so.confについてはと聞くとそれはOSですやん、と宣った。

仕方がないので、自力で対応することに。。。

まず、PHPの公式マニュアルに従ってLD_LIBRARY_PATHを認識させる方法を試す。
ところが、/etc/sysconfig/httpdとenvvarsではPHPまで届かない。。
最終手段でSetEnvしたところ、やっとPHPまでLD_LIBRARY_PATHが環境変数として渡った。
しかし、libclntsh.soのエラーは変わらずブラウザではPHPからoci8が起動できない。

それからググって出てきたことはひと通り試す。

Apache起動スクリプトに「export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/foo/var/hoge.so」
と書いてもダメ。
libclntsh.so.11.1をoci8.soと同じ所に置いてもダメ、
静的にコンパイルしても動的にコンパイルしても変わらず、
LD_LIBRARY_PATHのディレクトリのパーミッションをゆるめてもダメ、
Apache起動ユーザーのセカンドグループにoinstallを追加してもダメ、
LoadFileでlibclntsh.soを直接指定してもダメ。

とうとう万策尽きて、怒りのApache起動ユーザをnologinからbashにして無理やりスイッチ、
ldd oci8.soしたら、libclntsh.soが「not found」となっていて「ん?」
他にもrootで実行するlddと出力結果が違う。。

そこでやっとわかる。
今回、Oracleクライアントのインストール先をデフォルトに従って/home/oracleの下にした。
そのため、上位のフォルダの制限が強すぎてLD_LIBRARY_PATHが認識できなかったらしい。

対応としてOracleクライアントのインストール先を/optに変更したところ、
やっとブラウザからもoci8を認識するようになった。

2012年12月10日月曜日

Androidアプリ開発の実機テスト


Windows7でAndroidのアプリ開発中~。
SDKで動作確認には十分過ぎるエミュレータが提供されているけど、
ピンチイン・アウトやらシェイクやらはやっぱり実機でテストする必要がある。

SDKマネージャでつーっと「Google USB Driver」をインストールして、
実機のUSBデバックONにしたものの、さっぱり認識してくれない。。。

で、ググってみるとどうも「Google USB Driver」は
Google社のハードにしか対応していないような感じ。。
#ココらへん適当です。私の端末とか一部だけかも。。

で、どうやら各ベンダーで開発用のUSBドライバーを
提供しているようなのでそちらをダウンロードして適用したら
すんなりと認識してくれた。

2012年12月8日土曜日

TortoiseSVNでコミット失敗


管理しているSVNサーバでコミットできなくなったとヘルプ要請があった。
TortoiseSVNで下記のエラーが出てコミットできなくなったとのこと。

コマンド: コミット
追加中: [クライアントフォルダ]\[対象フォルダ]
エラー: コミットに失敗しました (詳しい理由は以下のとおりです):
エラー: Cannot verify lock on path '[対象フォルダ]/[アップ対象ファイル]'; no matching
エラー: lock-token available
エラー: ロックを強制解除する場合は、「変更をチェック」ダイアログかリポジトリブラウザーを使用してください。
完了:

とりあえず素直にメッセージに従って対応したら?と伝えたが、
新規ファイルのコミットで失敗したので、対象のファイルがまだサーバになく、
手も足も出ないということだった。

エラーメッセージでググってなんとか英語のソースを読むとバッチリ答えが。
サーバにログインして下記コマンドを打って対象ファイルがロックされていることを確認。
svnadmin lslocks [リポジトリフォルダ]
んで、下記コマンドでロックを解除
svnadmin rmlocks [リポジトリフォルダ] [対象フォルダ]/[アップ対象ファイル]
それで無事にコミットできるようになったとさ。

2012年10月14日日曜日

KVMでUUID云々が原因でドメインを復元できない


今対応している案件について開発機は仮想OSで構築中。
ハイパーバイザに指定はなかったので今回全サーバLinuxなのもあって
KVMで構築することになった。

構築中、libvirtをアップデートしたり、仮想OSを作り直したりしているうちに
下記のエラーが出て仮想OSが起動できなくなった。

failed: cannot restore domain '[ホスト名]' uuid [UUID] from a file which belongs to domain '[ホスト名]' uuid [UUID]

あー直前に作った仮想OSのデータがゴミになって残ったかなと
UUIDを書き換えたり、仮想OSを再作成したりしても消えない。。

最後にエラーメッセージからググって下記のページを参考にした。
spectlog.com

そして、上記ページの通り下記コマンドで無事に復旧。
virsh managedsave-remove [ホスト名]

何というか、ドメインが復元できませんエラーは大抵managedsave-remove
でなんとかなる。