ブログ移設しました。

bloggerから記事を移設しました。


HUGOで記事を書いてみると思いのほか書きやすかったので移動。

木曜日, 6月 14, 2018

サーバー周りの勉強の仕方 part1

退社前にサーバーのことを引き継がないといけないのだが、いかんせん他のプロジェクトの時間を使って整備しているがゆえに手順書は運用手順書しかない。
そんな中、そもそもサーバーの扱い方がわからないとそんな自体に直面したときに動けないことがわかりました。

サーバーの扱い方を知るまでに私がやったこと振り返り体系的にまとめることにしました。

まず、インストールしてみる
次にやりたいことは何かを考える
やりたいことをするため、または、そのオーダーを実現させるためには何が必要かを考える→手段
手段が分かったらその手段の使い方を調べる
手段がどう構成されてるかを調べる
構成されているものも大抵は手段の一つなので、更に調べる

これを繰り返すと恐らくOSまでは行き着く、もしかすると、一回目の手段の段階でOSかもしれない。

体系的に言えば
OSの基本的とされる機能を使うことを知る(すでにこの段階でアプリケーションを使うことも多い)
 エディタで編集する
 ユーザーの作り方
 ファイヤーウォール
 ディスククゥオータ

つまり、基本的なコマンド全部なんだけど、必要になったらこういう機能を提供するアプリケーション、OSの機能がないか?と調べる
あまり時間はかけない、不要なサーバーで試す、または、知ってる人にチャットを飛ばすといい。
しばらくするとチャットを飛ばすのさえ億劫になるほど情報は世の中に溢れていることに気づく。

そのOSに乗るものを知る(アプリケーション)
 デーモン(ssh,apache)
アプリケーションのインストール方法(手段の入手方法)
 パッケージマネージャー → 色々なパッケージマネージャがある
 単にダウンロードして使う → バイナリで単体で動くかも、必要なライブラリが他にあるかも
 ビルドする → パッケージマネージャーからインストールするだけでは足りない場合や、何故かパッケージマネージャーで入れるなとか言い出す時

ここまでが構築段階と定義で必要なものとする。
次が面倒なところ、運用・管理、それの決定元になるポリシー策定。

例えば
ユーザーは誰が作っていいのか
ディスクの使用量は
検出のしきい値は
セキュリティ的なポイントは
ログ監査はどうするか

これらが無いと単なる作業者は動いてくれないというか、全く報告が上がらないかまたは、全部報告してくる。

システムを作っておしまいじゃないのがいわゆるサーバーのめんどいところ。
むしろここさえジャッジしてくれれば、はいはい、だけで作業は進む。
アプリ開発も同じだけどね。

と、概論的なところは書いたので次の書き込みで具体的例をとって手段を調べるのにはどうすればいいかを書いていこうと思います。
いつまで、そこの人たちが運用してくれてるかは分からないけど。

木曜日, 4月 05, 2018

デバイスないときに使えるサービスについて

Android端末で試験ターゲットとする実機が手元にないときのお話

案件でAndroid端末で確認するときにどうすれば手元にない状態どうすれば試験できるかを考えてみた。


  1. AVD
  2. その他のエミュレータ
  3. 他のサービス
AVD,エミュレータで事足りるとしたらそれでいいとして。
マシンスペック的に厳しいよとか、あとは実機じゃないとねー。となった時のことを考慮してみる。

AWS Device Farm

料金は無料分を使えばいいとして、次にテストできる環境は以下の通りのようです。
you can interact with real Android and iOS devices from your browser or run automated tests written in popular frameworks like Appium, Espresso, and XCTest.

なので、実機を操作して手動でテストを実施するのは無理。

ほかのサービス

ほかのサービスはどうなんだろう?と思って探しているとまとめてくれている人がいました。

数かなりありますが、結構なお値段してびっくりです。。。

土曜日, 3月 24, 2018

開いているソースの場所を開く(Android Studio)

ソースの名前はわかっているのだけど、パッケージ名で迷子になってしまうことが多いです。

Javaの人の名前空間把握すげぇと思いながら、表示されているパスを追いかけてたどり着いておりました。

でも、AndroidStudioにはありましたよ。開いているファイルまで飛ぶ機能。
これで毎度パスを確認しなくて済む。。。

Android SDKインストール(CUI)

Android SDKって結構壊れることが多いんですね。

なので、インストール方法(GUIによらない)を調べました。
検索してもさっと出てこなかったのでいかに記述します。(多分これでインストールは大丈夫だと思う)

インストール対象抽出:
tools\bin\sdkmanager.bat --list --verbose
 その後、ファイルからインストールしたいパッケージだけ選ぶ
インストール:
tools\bin\sdkmanager.bat --sdk_root=H:\android\sdk --package_file=H:\androidsdk\sdk\list
アップデート:
tools\bin\sdkmanager.bat --sdk_root=H:\android\sdk --update

なお、すごい古い環境だと、android.batでやるみたいな記事がありましたね。

以上です。

火曜日, 10月 10, 2017

DB環境を考えてみたい

初めに

AWS環境下でEC2 on MySQL Clusterを使っている案件があるんですけど、どうしても運用的なことが出てくる場合があります。

なので、Amazon RDS - Amazon Auroraで運用意した場合と、MySQL Clusterを考えてみてましょう。

めんどくさくなってしまったので途中書きなぐっています、後述するまとめを見てください。

最小構成で考えてみると、MySQL Cluster / ってこんな構成になると思います。

費用面、運用面からメリットデメリットを考えてみたいと思います。

費用面

AWS見積ツールでDB01,DB02分のみを考えてみると
毎月オンデマンドで$80程高くなる(つまり1台40$増加)と。
http://calculator.s3.amazonaws.com/index.html#s=RDS&r=IAD&key=calc-DB6FE757-ECCD-4D05-8D96-8FDEE7A7B291

この辺をどう見るか次第でしょうな。

運用面

リカバリーもバックアップもコマンドとコンソールの違いはあれどできますね。
EC2上に構築したCluster環境の場合はサーバー管理者が止めない運用を心掛けるのは当然ですが、実際問題人手が足りないよの場合はあって。

運用面でRDSのほうが当然分がありますよね。
RDS(aurora)触っていないから詳細は分かりませんが、RDSのほうが敷居がだいぶ低い感じします。

まとめ

MySQL Cluster

メリット
好きな構成が取れる
準同期構成をとれること

デメリット
RDSとは違いこちらが保守してやる手間暇が発生
コマンド一発で済むエディションもあるけど、年間ライセンス考えたらきっとCluster Managerは使えないことが多いので、運用担当者はClusterのローリングスタートの順番や適用できる範囲を抑えておく必要がある。(マニュアルパイロット!)

RDS

メリット
保守運用の手間がいらない(RDBMS自体のチューニングは当たり前として)

デメリット
準同期に相当するレプリケーションはないっぽい(マスター・スレーブ構成、書き込みはマスターのみ)
 ⇒ ただ、レプリカも障害があったらマスターに昇格するとかあるので、その辺は流石。
しかし、すでにある場合は、リードオンリーのものとライトもある場合とを考えないといけないってことなので、実装状況次第では使えないなぁ。

所感

全然まとめていないけど、適用しようとしていたのは、準同期が前提で書かれているなぁと思った段階でまとめるのがめんどくなったので、もういいやになりました。 ありがとうございます。




全然関係ない話なんですけど、サーバーリソース監視ツールってあまり知らなったのでこういう記事見つけた時には若干心躍りました。
CloudWatchだけでいいじゃん。きっといろいろな理由でこれはダメなんです。
サーバースペックの足りているいないも考えないといけないですし。

キャンペーンとかやった期間のリザルトが残り続けてほしかったり、通知の方法を細かく変えれるとかしないと、夜も寝れない人が増えちゃうからね。

木曜日, 4月 27, 2017

プアなマシンにubuntuいれて、LVMでその後、hibernateも有効化

おはようございます。具志です。

Macbookがベッドから落ちてしばらく経ちます。
E420は知人のおじさんに譲りました。
現在パソコンは、Aspire one 132でクライアントマシンしています。

最近ネット環境が変わったせいでポート開放ができなくなり、AWSやらkagoyaやら外部サービスで開発環境を低価格で作れないか、模索しておりました。

ただ、低価格で作れたとしても、RDPでアクセスする以上通信が大変なことになるのですよ。

なので、私は考えました。

Apire oneで開発すればいいと。
eMMCは残念なことに30Gしかないですけども。

Windowsではできなかった、LVMの仕組み使えばひとつのディスクとして見せられる!とそう思い立って構築しておりました。

その時の記録を書きます。

LVMのセットアップ

これに関しては、インストール時点で有効にしておくほうがいいです。
じゃないと、LVM移行するときに、該当パーティションを削除する必要が出てきます。(新設だったらいいけど、LVMって拡張するための仕組みだからなぁ。。。)

インストール時点でLVMを有効にする や LVMをセットアップするを選んでLVM構成でセットアップしましょう。

PV、VGへの追加、LVM拡張

これから追加するUSBドライブ(HDDでもいいけど)をparted 使ってLVMに追加してもいいディスクとしてパーティションを作成します。

まず、ディスクを確認して
sudo parted -l /dev/mmcblk0
番号  開始    終了    サイズ  ファイルシステム  名前                  フラグ
 1    1049kB  538MB   537MB   fat32             EFI System Partition  boot, esp
 2    538MB   1050MB  512MB   ext2
 3    1050MB  31.3GB  30.2GB                                          lvm

この3番目のパーティションが30Gしかないのでこれに追加する手順を。

追加するディスクをpartedでlvmのパーティションとして作成

ディスクをLVMにしてしまう

sudo parted /dev/sda
rm xx
mklabel gpt
mkpart primary 0 100%
set 1 lvm on

VGを確認

sudo vgdisplay

VGは「ubuntu-vg」ってことがわかりました。

PV作成

pvcreate /dev/vdb1

VGへ追加

vgextend ubuntu-vg /dev/vdb1
pvdisplay

論理ボリュームroot拡張

lvextend -l +100%FREE /dev/ubuntu-vg/root

ファイルシステム拡張

resize2fs /dev/ubuntu-vg/root

パーティションサイズ確認

resize2fs /dev/ubuntu-vg/root

hibernate有効化

5/10 追記 Aspire one A01-132ではhybernateは実行できますが、また起動した時にデータを復元できていませんでした。。。
xubuntuで軽くしてあきらめるとします。

sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes

これでクライアントマシンとして割と使いやすい感じになったと思う。

このあと再起動したらもうハイバーネートが有効な状態です。

参考資料:

android studioもそこそこ動いているっぽいし、これでしばらくはいいかな。
VirtualBoxとか動かす感じではないし。


寝るか。。。

火曜日, 1月 24, 2017

macを開発環境として整えたい part II(Virtualboxをwebから触る)

表題に書いたことをやるよりこっちの方が良さそうだ。




つきましては、改め、上記の通り、vagrantで環境を整えて、docker + 作業用VMを構築していきたいと思います。(やりたいことはvagrantでできたはず。)

金曜日, 1月 06, 2017

macを開発環境として整えたい part I(OpenVPN)

OpenVPN環境を整えるときに、以下の3つの選択肢がありました。


  • sierra上にOpenVPN環境を構築する。
  • VM上に普通にOpenVPN環境を構築する。
  • docker上にOpenVPN環境を構築する。

ネットワーク周りのロスを少なくしたかったので、sierra上にOpenVPNを構築したかったのですが、残念ながらtuntapがmacos sierraをサポートしていない?みたいです。

なぜかインストールしたら画面が暗転してずっと元に戻らなかったのでやめました。

次に、VM上にOpenVPN環境を構築ですが、
これもこれで後生大事にOpenVPNのVMを作成してやるのもやだなーとかめんどくさがってました。(おそらくこれが一番いいと思う選択肢)

最後にdockerでcontainer化できたらほかのOSに移動したとしてもすぐに移動できて便利だと思って探しておりました。


最終的にとったのは、
  • docker上にOpenVPN環境を構築する。
の方法なんですが

以下のコンテイメージからこんな風に設定・スクリプトを書いて運用するようにしました。


こんな感じでdocker-composeとそれをたたくスクリプトを作成し、それで運用するように。
 これならあまり手間暇かけなくてもOpenVPNを始められますね。(VM上で直配置のほうが早そうだけど。)
ファイルの内訳は、
initialze.sh 初期設定用スクリプト
generate-client.sh クライアントファイル指定で、設定ファイルを吐き出したり、DBアップデートしたり
start-server.sh OpenVPNサーバーの停止・起動

これでお手軽OpenVPNですね。


おやすみなさい。

木曜日, 1月 05, 2017

macを開発環境として整えたい

もうMacでいいやってなったのだけど、以下のものが必要と考える。

  • VPN
  • サービス起動方法
  • virtualboxをwebから触る

OpenVPN

他のVPN方式でもいいのだけど、かって知ったる証明書付きで認証を行ってくれるOpenVPN。
なぜこれが必要なのかというと
開発環境の使い方として、
  • リモートからRDPしたい。
  • リモートからVirtualBoxに触りたい。
この時に、各々のサービスで認証をかけるの面倒ですし、何よりできたかな?できなかったかな?とかするのが大変。 なんで一括自分のネットワークに入ってできるようにOpenVPN

サービス起動方法

launchctlで自分のユーザでログインせずとも(SSH除く)サービスを起動する方法がほしい。
それができればマシン立ち上がったら
Virtualbox上に配置されたVMを起動して
dockerのこのコンテナを起動させて
みたいなことができて、普通のLinuxのSysV initやsystemdみたいなことがしたいのです。

きっと、launchctlでもできるんでしょうけどその記述方法がまだ分かっておりません。

Virtualboxをwebから触る

これは何を言ってるのかというと、
phpVirtualBoxをOSX上に配置してブラウザから触ればらくできるのかな?という思いからです。

まずはいったんこの環境を整えていきたいと思います。
面倒なので、vagrantでいいや!ってことになりました。(環境の構成についてもスクリプト化できるのでこっちのほうがいい)

木曜日, 12月 29, 2016

やっぱり、macos sierraで行こう

えっと、mac=>ubuntuにしてやろうといきまいていましたが、
クライアント開発環境としてはmacが最適解なんじゃないの?

また、apple純正じゃないとだめってなったらあれなんじゃないの?って本日出社する前に思い立ちまして、


納会終わって帰ってきたら、こんなことをしておりました。

別にubuntuにするのが難しいとかではないです。
先人の知恵を探してみると色々出てきます。

https://moneyforward.com/engineers_blog/2016/02/22/ubuntu/

少し風変りだけど難しくてできねーって問題ではないのです。

ってなわけで、開発環境はMacがつぶれるまでMacで行きたいなと。(つぶれたらデータ移設できないけども。)

まずは、環境にdocker用のVmとvagrantをのっけてVMとdockerを簡易に作れるようにしちゃいます。

火曜日, 12月 20, 2016

まずは、ubuntuマシンにしてやろうか!?(part II)

起きたら終わっていると思っていたHFS+ => XFSへのデータ移動ですが、

困ったことにVirtualbox越しに、ホストMacBookから参照していると、エラーが頻発するのです。

色々試したけど、これって前にも経験しているので、早々に諦めて

この方式に、するしかないかぁ。。。。
Knoppixで利用するときに注意しないといけないことが。。。
起動したあと放っておいたら、スクリーンセーバーで止まってしまうことがあるみたい。
スクリーンセーバーから戻ろうとしてキーを入力したらそこでずっと画面が止まってしまう。。。

起動するときにスクリーンセーバーはoffにしておかないと、画面がうっとおしいことこの上ない。

んで、これを1日続けてみましたが、なぜかOSが固まってる。。。。
knoppixをサーバーとして使うのはあまりいい案じゃないかもしれない。

仕方が、、、ない。

安心安全のubuntuさん。
可愛いよ。

転送終了後もdockerホストとして生き延びてくれればいいわけでさ。

そんなこんなでデータ転送は上記の構成で二日目突入。
ubuntuマシンはUSB2.0だからかなり時間かかる。

土曜日, 12月 17, 2016

まずは、ubuntuマシンにしてやろうか!?(part I)

さて、社内で発表するときに自分のマシンを利用したのです。

朝出発前にマシンを見ると、なんと停止しているではありませんか。
正確には、マシンは起動していますが、あれです。 ログイン画面です。

あぁーあぁー堪らない。

そんなわけで、ubuntuを入れることを試みましょう。
この利用しているマシンはこんな状態だからね。サーバーマシンにしちゃってもいいでしょう。

移行はこんな感じで1台でやります。

USB HDD二つで一つは、macへもう一つは、VMへ

そうすれば、各々のOSで普通にディスクが見れる状態になると。
そんなわけで 移行作業していきます。

なお、上記のような図を作るために一瞬Inkscape使おうとか思いましたが。
便利なサイトを見つけました。
https://www.draw.io/
すごい使いやすいです。 visioみたい(テンプレートやら、細かさは比じゃないんだろうけど、絵を描くだけだったらこっちの方がいい)

木曜日, 6月 16, 2016

doocker-machine bridge-network && HDDマウント

bridgenetwork周りについて

windows上でdocker動かすときって、以下の選択肢があると思ってて、

  • docker-machineとかでcreate(旧boot2docker(core linux?だっけ中身)) docker-machine create --driver=virtualbox
  • 使い慣れたVM状にdocker環境を構築、docker-machine create --driver=(不明)
私は汎用的に使える環境であることが好きだなぁ。と思ったので、docker-machine側でVMを用意する方式をとっていました。
が、この方式でbridge-networkを構築すると証明書が違う!という理由でdocker-machine env接続情報が取得できず、エラーで困ったことになることが多い。

理由としては、NIC起動順番が異なってしまて、docker-machine env でうまく接続できていないっぽい。
いろいろ不便だったので試行錯誤してみた(ホストVMのIPは環境切り替える際に不便なのでやりたくない)

結果として、以下の感じのコマンドでbridge-networkを追加するだけ。。。
GUI側でやってるのと何ら変わらないのだけど、なんでこっちだとうまくいくんでしょうかね。


vboxmanage  modifyvm default --nic3 bridged
vboxmanage modifyvm default --bridgeadapter3 "en3"
vboxmanage modifyvm dev --nic3 bridged
vboxmanage modifyvm dev --bridgeadapter3 "en3"

HDDマウントについて

あと、以下のような形でマウントすると、ホストマシンのサイズ依存となってしまう。
vboxmanage sharedfolder add 'dev'      -automount -name 'Volumes'  -hostpath '/Volumes/';
sudo vi /var/lib/boot2docker/bootlocal.sh
sudo mkdir -p /Volumes;
sudo mount -t vboxsf Volumes  /Volumes/  -o uid=1000,gid=100,iocharset=utf8;

なので、この場合は、一つずつ、ディスクをマウントさせましょう。
vboxmanage sharedfolder add 'default'  -automount -name '3tv1'  -hostpath '/Volumes/3tv1';
sudo vi /var/lib/boot2docker/bootlocal.sh
sudo mkdir -p /Volumes/3tv1;
sudo mount -t vboxsf 3tv1  /Volumes/3tv1  -o uid=1000,gid=100,iocharset=utf8;

samba経由でwindows backupするときに気づいた。
/Volumesだけだと、ホストVMの/ディスクのみのサイズしか見ないので、結果的にトンでもねーことになっちまいます。

電車、、、間違えて遅刻しそうかひやひやしながら書いています。

水曜日, 6月 01, 2016

Jenkinsで何かする事になった。

テキストベースでまとまったから、一旦公開。

会社の社員総会で話をすることになった。

当初は仮想技術について準仮想化、コンテナ技術で話をしようとしていた。
けども、どっちも説明すると「こいつ一体何が言いたいんだ。」ってことになるので、コンテナ技術の実践をやろうと思ったのだけど。

まだ、プロジェクトで利用することはなさそう。(まぁ、何故かいつも唐突に決まることが多いのだけど)
そうなると興味も半減しますね。何かいい案はありませんか?と。

「CIなら興味があるんじゃないか?」ってことで、じゃあ、テーマ変更と相成りました。

アプリ開発から離れて久しくすでにやりかたなんて忘れた。
しかしながら、今回はデプロイにフォーカスを絞ったほうがいいと判断しアプリのデプロイつまり、APKを作ったりすることだね!

Eclipseでやる方法はすごい多いけど、AndroidStudioで作ったのってまだあまり見ないな。ってことで、ブログに書き留めつつ、AndroidStudioのプロジェクトをJenkinsでAPK作成するところまでをやろうかと。

主だった話は、JenkinsとGradleプロジェクトについての話になるんだろうけどね。

サンプルプロジェクトに独自ライブラリ、Google純正ライブラリとかを使ったものをテスト、APK作成までがきっとゴールになるんだろうな。

環境としては、以下を想定
Docker + Jenkins + Java 7(Oracle) + Ruby製のGCM通知 + コンテナ用リポジトリ
あっ。Ruby製のGCM通知プログラムもテスト書いておかなきゃならんのか。(卵が先か鶏が先か。)

JenkinsでサンプルプルプロジェクトAPK作成まで頑張る。
Jenkinsで、テストも自動化まで頑張る。
そのあとサンプルプロジェクトにライブラリを追加して、簡易的なものを実装、テストも書いて、正しく動くまで頑張る。
GCM通知プログラムとして申請を出す。
Ruby製のGCM通知プログラムを書く。
Ruby製のGCM通知プログラムのテストも自動化する。
コンテナのリポジトリは、、、、公開しないと会社のマシンでひいひいいわないといけないから公開。

んー、発表が6月の2x日だって話だったから、6日か。
ツーリングにも行きたいので、3日でまとめられる内容ということを考えると。
Ruby製のGCM通知を削ろう。
Docker + Jenkins + Java 7(Oracle) + コンテナ用リポジトリ

スマホでググったら普通にやっている人見つけたし。
http://qiita.com/usamao/items/93535df778916ee70ad8

少し余裕過ぎるな。面白い要素を加えねば

最悪会社の資産乗っていないし、外部公開で自宅に立てればいいし。

こんあところか。全然新しくもないな。。。まぁ、頑張ろっと。

水曜日, 4月 27, 2016

cakephpでハマった話

他では支えていたライブラリがConsole/Commandで使えなかった際に、検証した結果を記録。

環境:
cakephp:https://github.com/cakephp/cakephp/releases/tag/2.4.9
docker環境:http://qiita.com/naga3/items/d1a6e8bbd0799159042e
※全部信頼してやらないでよ? あなたの環境のことは知らないから。

docker-compose build
docker-compose up
docker-compose.ymlでversion指定をするとおこになったので、docker-composeだけ最新へ

動作確認しているとそぐわない箇所があったので、その辺は適宜修正。

  1. php7だったり=>5系かな?
  2. cakephpだとmod_rewrite必要だったり
  3. link必要じゃね?だったり(バージョンでいらないかも?)
  4. ファイルパーミッショん周りうまくいってないね。しゃーないね。 Dockerfileに書いちゃおうね。だったり。


検証用コードを書く
app/Console/Command/LibTestShell.php
app/Controller/TestLibController.php
app/Lib/TestLib.php
app/Vendor(これ以下は名前がはずかしすぎるので割愛)

ハマった箇所については、実際には、include_onceでこけていた。
コンソールだけそれが起こるという困った事象だった。

App::importでディレクトリ差異があってうごかないのかなーとか思ったのだけど、(Commandの方が一つディレクトリが深い)
https://github.com/tluna/testcakephp2.4

んーー。。謎は深まるばかり。 mjdksg!!!

夜も遅いのでそろそろ寝ます。。。



日曜日, 10月 25, 2015

firefoxでjavaを有効化

いつも探してしまうので、記載。

oracle javaのインストール方法については、割愛。
fedoraとかだったら、rpmでインストールするか、yum repositoryを追加する方法でいいと思います。

次。

https://java.com/ja/download/help/linux_install.xml

こちらに記載されている、以下が要点
有効化と構成
FirefoxまたはMozilla
Java Pluginを構成するには、次の手順に従います。

    Firefoxブラウザを起動している場合は、終了します。
    以前のJava Pluginインストールをアンインストールします。
    Java Pluginは一度に1つのみ使用できます。別のプラグイン(つまり、別のバージョンのプラグイン)を使用する場合は、他のバージョンへのシンボリック・リンクを削除し、新しいプラグインへのシンボリック・リンクを新たに作成します。
    ブラウザのプラグイン・ディレクトリにlibnpjp2.soファイルへのシンボリック・リンクを作成します
        Firefoxインストール・ディレクトリの下のpluginsサブディレクトリに移動します
        cd <Firefoxインストール・ディレクトリ>/plugins
        プラグイン・ディレクトリがない場合は作成します。
        シンボリック・リンクを作成します
        ln -s <Javaインストール・ディレクトリ>/lib/i386/libnpjp2.so

    注意: Javaのバージョンをアップグレードする場合は、新しいシンボリック・リンクを作成する前に、古いシンボリック・リンクを削除して、ダウンロードした最新のJavaを有効にする必要があります。

    古いシンボリック・リンクを削除する手順は、次のとおりです。
    次のコマンドを入力します。cd <Firefoxインストール・ディレクトリ>/plugins
    rm libjavaplugin_oji.so

http://fedoraforum.org/forum/showthread.php?t=292632
ん。。。うまくいかない。

とおもったら、firefoxも64bit のフォルダありました。
なので、
 sudo alternatives --install /usr/lib64/mozilla/plugins/libjavaplugin.so libjavaplugin.so /usr/java/default/lib/amd64/libnpjp2.so 20000

これで動くかなと。

んで、macやwinみたいにjavaコントロールパネルが表に出ているわけではないはずなので、
https://www.java.com/ja/download/help/enable_console_linux.xml

これでjavaコントロールパネルを開いて、appletで自己証明書まわりで怒られたら許可して実行可能なようにします。(これは非推奨ですが、しかたがない時はこれでやるしかない。)

水曜日, 10月 21, 2015

仕事について考える記事

http://www.atmarkit.co.jp/ait/articles/1510/21/news016.html

こういう記事を見かけて仕事について考えたのだけど。
P.S. 記事が書きかけの状態でiPadから再書き込みされちゃったので、もういいや!と思ってほぼ加筆修正なしで投稿

読んで感じたのは、もっともっと若い年でも考えて、納得して働いて欲しい。なと。
いえ、若いとか関係ないですね。歳食ってても一緒な気がします。
変に自分探しするよりはこっちの方が健全で、対案がない限り(どうしてもこれやりてぇんだ!)はこっちの道がいいと思います。
私の過去の上司で、好きなことを仕事にするんじゃない。仕事として任されたことを好きになるんだ。と
乱暴すぎて、両手を挙げて賛成はできかねますが、シンプルで一理ある言葉だなと未だに覚えています。

上に載せた記事は最終的に仕事を好きになりましょうというゴールが設定されています。
良いポイントを見て愛しましょうってはなしですよね。
手法としては理解できますが、私は気持ちの面では余り理解できない部分が多いです。
けど、気持ちはわからないので、共感出来ないってことで。

私は、記事の中のやりがいを感じていないの逆で、別ベクトルでメーターが吹っ切れてしまって、結果が余りついてきていない事への苛立ちが凄いです。
だから、向いている人には仕事には多大な時間を投じるのだから、好きになるか納得して欲しい。

いや、正直に言うとやっぱりそれ羨ましい悩みなんです。
愛してやまない「関心」があって、私はエンジニアであろうとしている。
そうじゃない人でも、結果は出している、その人はきっと私より楽しい生き方をできるはずだ。
皆が自分にとって良い生き方でありますように。 楽しい人生でありますように。

「幸せに生きるために、やりたいことがないのに本当にやりたい事をやって生きよう」って考え好きじゃないです。
それなら、もっとわかりやすい結果を加速させるための事を考え、積み重ねるべきかなぁと思います。

fedora22 de atom

fedora 22 de atom

linuxbrewでnpm nodeインストール

ここを元にインストール
http://d.hatena.ne.jp/dai_yamashita/20140510/1399739951

以下かえたところ。
ただし、ここに関してはlinuxbrewでインストールしたので不要。
dnf -y install libgnome-keyring-devel

>2. korora linuxは標準でgoogle chrome入れれるんですが yumのrepoが必要です。
chromeのインストールについてもrpmでいいんじゃないかな?

>npm --version
これfedora純正のnpmだとダメで盛大にnpmのなんとかmodule.jsでこけました。 そこで、linuxbrewでnpm nodeをインストールしました。

gypをremoveかけた瞬間にgcc-c++とかも削除されちゃったっぽい。
ので、
dnf install gcc-c++
そして、homebrewでgccやらも入れますか。
brew reinstall xz
brew install gcc ※これはすごい時間かかるぞ!

fmfm、gypってビルドのオートメーションツールなのか。これを除去した理由がよくわからない。
もしダメだったら、入れてみるようにしましょうか。
brew install pythonした後かな。

おふろあがってもgccのビルド終了しないですね。

というか、全てのCPU天井まで使い切っているのだけど、これってこういうもんだっけかな。。。生まれてこのかた、gcc自体をビルドすることがあったか?という疑問があるな。
これ卵が先か、鶏が先かの話に出てきてもいいくらいどっちが先なの?ってやつですし。
基本バイナリで配布しているのを使っているし。

結果は出ませんでしたが、solarisと別件で格闘する必要があるので、一旦これは放置。。。
別になくても死ぬわけではないですし。

また続き書きますね。

眠気なまこ - どうすれば解像度を適切に設定できるか?

今日は夜勤明けで夜までは起きておかんといかん。
そんなわけで今まで解決できなかった問題を解決しましょうと。

気になった問題をいろいろ書いて列挙したうちのひとつ

結論:LXDEだとうまくいった。デスクトップ周りを追いたいとかそういう人じゃないので、これで満足してこれは解決したことにしちゃう。

「xrdpで適切な解像度を設定できるようにするためにはどうすれば?」

と、その問題を解決しようと調べ物をしていると、寝てしまいました。

残念無念ですね。
いざ調べ物を続行しようとしてみると、CentOS7が乗っかっているサーバーの音がうるさい。気になる。 もうだめぽ。
仕方がないので、E420にFedora Serverが入っているので、それをそのままサーバーにすることに。(サーバーとして迎えられたのに、うるさいという理由で止められてしまうNECサーバーかわいそう)

eSATA接続ではうまいこと接続ができないので、USBで接続で。。。。

んで、まずは、X入れますか。

Gnomeなんだか、いらないんじゃないか。と思っていたので、今回はLXDEでセットアップかな。

sudo yum intall xrdp
LANG=C yum groupinstall "LXDE Desktop"

あぁ、、、インストールしてディスクの容量確認にしてみたら、システム領域じゃないバックアップ領域が枯渇気味です。

気を取り直して、、、、

sudo systemctl start xrdp

んで、remote desktopで接続すると、、、、あれ・・・丁度いいサイズだ。
Gnomeだとなんらかの制御が入ってだめとか?

そんなわけで、軽いですしlxdeでいきましょう

と書いていましたが、xfceを入れたいと思うように。
インストール方法は次のサイトを参考にして。 個人的にこれはいいまとめだと思う。
http://hiroom2.jimdo.com/2015/06/13/xrdp%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%96%B9%E6%B3%95/
xrdpとの連携については、次の掲示板を参考にして。
http://askubuntu.com/questions/135483/how-to-configure-xrdp-to-start-cinnamon-as-default-desktop-session

眠気なまこ - rsnapshotをfedora22で

今日は夜勤明けで夜までは起きておかんといかん。
そんなわけで今まで解決できなかった問題を解決しましょうと。

気になった問題をいろいろ書いて列挙したうちのひとつ

「rsnapshotをfedora22で自動的に取得するためには?」

わざわざ手で毎日rsnapshotを叩いてtmuxとかで立ち上げておくのも面倒です。

また、自分の目的のバックアップ方法は、1日一回のバックアップですんで、まぁ、それが満たせる設定であればいいかなと。



snapshot_root   /mnt/3tv2

interval        daily   2
interval        weekly  2
interval        monthly 3

backup  /home/          localhost/
backup  /etc/           localhost/
backup  /usr/local/     localhost/


ここまではCentOS6系もいっしょですね。

「systemctlで定期実行」

こんなの書いてありましたが、丸パクリでやって頭の中にはいっていないですな。
rsnapshotだったら、定期的に実行するはずなんでサンプルとか元からはいっていそうですが。
rsnapshot dailyだけでいいだろうし、少し探してなかったら、かいちゃう。

ないっぽいな。

/usr/lib/systemd/system配下に
cat /usr/lib/systemd/system/rsnap.service 
[Unit]
Description=rsnapshot service
DefaultDependencies=no

[Service]
Type=simple
ExecStart=/usr/bin/rsnapshot -v daily
User=root
Group=root

[Install]
WantedBy=multi-user.target

cat /usr/lib/systemd/system/rsnap.timer 
[Unit]
Description=Execute rsnapshot daily 3:00:00

[Timer]
OnCalendar=*-*-* 03:00:00
Unit=rsnap.service

[Install]
WantedBy=multi-user.target

を配置して (中身は他のみるか、前記事参照)
# systemctl enable rsnap.timer
# systemctl start rsnap.timer きっとこれでサービス開始だと思う。

明日結果はみてみるとしますかね。