えっと、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だからかなり時間かかる。
困ったことにVirtualbox越しに、ホストMacBookから参照していると、エラーが頻発するのです。
色々試したけど、これって前にも経験しているので、早々に諦めて
Knoppixで利用するときに注意しないといけないことが。。。
起動したあと放っておいたら、スクリーンセーバーで止まってしまうことがあるみたい。
スクリーンセーバーから戻ろうとしてキーを入力したらそこでずっと画面が止まってしまう。。。
起動するときにスクリーンセーバーはoffにしておかないと、画面がうっとおしいことこの上ない。
んで、これを1日続けてみましたが、なぜかOSが固まってる。。。。
knoppixをサーバーとして使うのはあまりいい案じゃないかもしれない。
仕方が、、、ない。
安心安全のubuntuさん。
可愛いよ。
転送終了後もdockerホストとして生き延びてくれればいいわけでさ。
そんなこんなでデータ転送は上記の構成で二日目突入。
ubuntuマシンはUSB2.0だからかなり時間かかる。
土曜日, 12月 17, 2016
まずは、ubuntuマシンにしてやろうか!?(part I)
さて、社内で発表するときに自分のマシンを利用したのです。
USB HDD二つで一つは、macへもう一つは、VMへ
そうすれば、各々のOSで普通にディスクが見れる状態になると。
そんなわけで 移行作業していきます。
なお、上記のような図を作るために一瞬Inkscape使おうとか思いましたが。
便利なサイトを見つけました。
https://www.draw.io/
すごい使いやすいです。 visioみたい(テンプレートやら、細かさは比じゃないんだろうけど、絵を描くだけだったらこっちの方がいい)
朝出発前にマシンを見ると、なんと停止しているではありませんか。
正確には、マシンは起動していますが、あれです。 ログイン画面です。
あぁーあぁー堪らない。
そんなわけで、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だけ最新へ
動作確認しているとそぐわない箇所があったので、その辺は適宜修正。
検証用コードを書く
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!!!
夜も遅いのでそろそろ寝ます。。。
環境:
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だけ最新へ
動作確認しているとそぐわない箇所があったので、その辺は適宜修正。
- php7だったり=>5系かな?
- cakephpだとmod_rewrite必要だったり
- link必要じゃね?だったり(バージョンでいらないかも?)
- ファイルパーミッショん周りうまくいってないね。しゃーないね。 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で自己証明書まわりで怒られたら許可して実行可能なようにします。(これは非推奨ですが、しかたがない時はこれでやるしかない。)
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と別件で格闘する必要があるので、一旦これは放置。。。
別になくても死ぬわけではないですし。
また続き書きますね。
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
そんなわけで、軽いですし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 start rsnap.timer きっとこれでサービス開始だと思う。
明日結果はみてみるとしますかね。
fedora 22 でlinuxbrew
公式レコメンドインストール(公式めんどいからもう全部入れろ。必要なものは、linuxbrewでどうせ全部入れちゃうからって意図が見え隠れw)
sudo dnf groupinstall 'Development Tools' && sudo yum install curl git m4 ruby texinfo bzip2-devel curl-devel expat-devel ncurses-devel zlib-devel openssl-devel gcc-gfortran
linuxbrew本体インストール
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)"
以下を実行し、
ln -s /usr/bin/gcc ~/.linuxbrew/bin/gcc-5
ln -s /usr/bin/g++ ~/.linuxbrew/bin/g++-5
ln -s /usr/bin/gfortran ~/.linuxbrew/bin/gfortran-5
.bashrcに追加
export PATH=~/.linuxbrew/bin:$PATH
export MANPATH=~/.linuxbrew/share/man:$MANPATH
export INFOPATH=~/.linuxbrew/share/info:$INFOPATH
export LD_LIBRARY_PATH=~/.linuxbrew/lib:$LD_LIBRARY_PATH
export HOMEBREW_CC=~/.linuxbrew/bin/gcc-5 #これがミソ? gcc-5.1ではダメでした。
そして、チェック いろいろwarnでるけど気にしない。
brew doctor
そのあと、brew install node npm
くそが、時間かけすぎだろ。
sudo dnf groupinstall 'Development Tools' && sudo yum install curl git m4 ruby texinfo bzip2-devel curl-devel expat-devel ncurses-devel zlib-devel openssl-devel gcc-gfortran
linuxbrew本体インストール
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)"
以下を実行し、
ln -s /usr/bin/gcc ~/.linuxbrew/bin/gcc-5
ln -s /usr/bin/g++ ~/.linuxbrew/bin/g++-5
ln -s /usr/bin/gfortran ~/.linuxbrew/bin/gfortran-5
.bashrcに追加
export PATH=~/.linuxbrew/bin:$PATH
export MANPATH=~/.linuxbrew/share/man:$MANPATH
export INFOPATH=~/.linuxbrew/share/info:$INFOPATH
export LD_LIBRARY_PATH=~/.linuxbrew/lib:$LD_LIBRARY_PATH
export HOMEBREW_CC=~/.linuxbrew/bin/gcc-5 #これがミソ? gcc-5.1ではダメでした。
そして、チェック いろいろwarnでるけど気にしない。
brew doctor
そのあと、brew install node npm
くそが、時間かけすぎだろ。
土曜日, 10月 17, 2015
Shell
bash ksh csh sh zsh
ならびはどうでもいいけど、bashをバッシュと呼称している事に赤面した。
ならびはどうでもいいけど、bashをバッシュと呼称している事に赤面した。
solarisではデフォルトは、shかな。
それでは使いにくいと思って、bashに切り替える時に「バッシュ」と口に出したことが始まり。
この子のことを知っていたらバッシュと呼んでも差し支えないはずだとわかるのだけどね。
各シェルの名称を調べてみると、
sh Bourne Shell
csh C Shell
ksh Korn Shell
bash Bourne-again Shell
csh C Shell
ksh Korn Shell
bash Bourne-again Shell
zsh Z Shell
tcsh TC Shell
だから、日本でも呼ぶ時にはバッシュでいいんですね。。。
shが何でshなのか気になりますけど、きっと初期に開発されたシェルなんで、shなんだろうな。そう理解します。
が、モヤッとします。
上の話に絡んでですが、各シェルのイメージ。
sh おバカさん
csh 融通が利かない、でもかっこいい。
ksh よく知らない
bash 俺にとってのベーシックなシェル
zsh バカになっちゃうシェル。
tcsh BSD
これtwitterとかに上がっていないかな。
火曜日, 7月 21, 2015
boot2docker hateスピーチ
boot2dockerを悪く言ってみようと思う。
調べつつ、hateしていったら、まだ手に馴染んでいないだけなんじゃなかろうか。という結論。
hate
- あの貧弱な環境で設定ファイルをいじらせないでほしい。
- エディタ用のコンテナ作れば?
- tmuxがコンテナで使えなかった。いろいろいじる時はdockerでサポートしてほしい。
- コンテナのデータとかホストOSに配置できるのはわかったけど、シンボリックリンク含んだデータを配置できないんだけど。(直近であった)
- 過去に解決しているっぽい。
- でも、うまくいかなった、、、VirtualBoxの設定なんでしょうかね?
good!
逆に素敵なところを
- windows,macでさくっとdocker環境を整えられるのは素晴らしい。
- しかも、動きがほとんど一緒(ホストOSのファイルシステムがネックかも)
- 実は、自動起動で仕込める。
不勉強でそのプロダクトをディスってはいけない。
きっと、私程度が嫌がる、気になる事は既知の問題として解決されている
月曜日, 6月 29, 2015
E420であがく
結論
ここで使おうとしているrawdisk結構あぶなげ、安定していないなら、やるべきじゃない。(途中でマウント外れる事象が起こると、パーティション情報が死んだ)なんか、データ復旧面倒だな。。。昔のMac用HDDもってきてそれからデータコピーして、、、で足りないデータなんてないよね。きっとね。大したデータじゃないよね(いいきかせ)
自宅サーバーなんて初めからなかったんや!(いいきかせ)
前書き
新しいマシン音がすごくて安眠妨害になっちゃうね。そして、このマシンあまり早いとは思えないぞ。電源もったいないかな?と思って停止させました。http://tluna-journal.blogspot.jp/2015/06/i5-670-mem16g.html
とはいえ、このマシンに課せられた使命は、ファイルサーバーとかも担う予定だったので、またE420にlinuxを入れようとしていたのですが、
「VirtualBoxってrawdiskって考え方ないのかしら?」と思って探してみるとヒット。
http://hrn25.sakura.ne.jp/win/virtualbox-rawdisk/virtualbox-rawdisk.html
このESATA PCIXカードもwindowsだったら安定しているかもしれない。
ちなみに利用しているのは、このカード
http://www.kuroutoshikou.com/product/interface/ata_sata/sata3-ec34/
そして、HDDマウンタ?として利用しているのは、こちらの裸族のインテリジェントビル(revがちがうかもしれないけど)
http://www.century.co.jp/products/pc/hdd-case/35satahddusb30/crib535eu3v2.html
上記の環境+E420をlinuxでやっていると、並列で書き込みをする、または、でかいデータを書き込みすると、ブロックデバイスを見失ってしまうので、ファイルサーバーとしては使い物にならないという結論でして。(ファイルサーバーだけだったら、いいけど、dockerもやりたいし)
試験環境準備
以下の環境を用意した
ソフト:
Windows7 home edition
VirtualBox 4.3.28
CentOS7
ハード類:
Thinkpad E420(確か購入当初でも5万円台で、それにメモリ8Gのっけた、当然絶版)
このマシン何気に年季が入っていますが、なんか会社のマシンより軽い不思議な子。きっとメモリのおかげ?
サーバーなんてする気がなかったけど誤ってやってしまった構成ですね。rawdiskについては、前述の手順を踏めばいいでしょう。もちろん、私の構成だと、PhysicalDrive1,2,3,4,5がターゲットボリュームになりますね。(この辺の数字はちゃんと追っていないけど、おそらくwhindowsの管理=>ボリューム?あたりに表示されているものと同じはず)
いざ実食
する前に、パーティション情報を壊してお亡くなりになりました。各HDDをrawdiskとして、virtualboxに認識させ、その後、mountしていましたが、しょんぼりな結果です。
ただ、何度か読めていたはいたので、問題となっている組み合わせ(SATA3-EC34<->インテリジェンスビル)の可能性も、、、否定できませんが。(何か問題があったら、パーティションまで吹き飛ばすってひどい話ではありますが。)
あとがき
rawdiskで何か問題起きると被害すごいっぽいよ。
金曜日, 6月 05, 2015
CentOS7でも定期実行を(systemctl)
サーバーを手に入れましたが、yahoo簡単決済のおかげで先方にお金を渡せていない状態です。。。。
落札者の皆々様、ちゃんと入金されるまで確認をしてください。
さて、CentOS7はsystemctlになりましたが、そのサーバー上で定期実行をさせるとなると以下の対応が考えられますね。
落札者の皆々様、ちゃんと入金されるまで確認をしてください。
さて、CentOS7はsystemctlになりましたが、そのサーバー上で定期実行をさせるとなると以下の対応が考えられますね。
- cronをインストールしてそれで実行
- systemctlのtimer-unitで実行
archlinuxではそこそこ情報が出てくるのですが、CentOSではあまり情報が出てこなかったので(なれたら一緒なんでしょうが、そもそもCentOSではエラー吐いて動かないものもある)ご紹介
RHEL7: How to use Systemd timers. - CertDepot : http://www.certdepot.net/rhel7-use-systemd-timers/
MyDNSへの通知をこれで自動的にだせるようになりました。
ちゃんと使えるまでには程遠いレベルです(素直にcron使えばいいのに)
常時実行する際にユーザの実行は以下の参考URLがよさげ
http://qiita.com/todanano/items/f66f1a3ad76f76de0772
常時実行する際にユーザの実行は以下の参考URLがよさげ
http://qiita.com/todanano/items/f66f1a3ad76f76de0772
金曜日, 5月 22, 2015
俺のためじゃない。pythoniaのため
履歴として
検証環境:docker
検証環境:docker
[root@6f9b1cb04894 ~]# cat /etc/redhat-release
CentOS release 5.11 (Final)
package
yum -y install zlib-devel openssl-devel readline-devel ncurses-devel sqlite-devel expat-devel bzip2-devel tcl-devel tk-devel gdbm-devel unzip
python 2.7.9
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
cd Python 2.7.9
tar xvzf Python-2.7.9.tgz
./configure --prefix=/usr/local/python2.7.9 --enable-shared --with-threads && make && make install
shared lib
vi /etc/ld.so.conf
/usr/local/python2.7.9/lib
ldconfig
vim .bashrc
export PATH=/usr/local/python2.7.9/bin:$PATH
distribute-0.7.3(easy_install)
wget --no-check-certificate https://pypi.python.org/packages/source/d/distribute/distribute-0.7.3.zip#md5=c6c59594a7b180af57af8a0cc0cf5b4a
unzip distribute-0.7.3.zip
cd distribute-0.7.3
python setup.py install
s3cmd
wget http://downloads.sourceforge.net/project/s3tools/s3cmd/1.5.2/s3cmd-1.5.2.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fs3tools%2Ffiles%2Fs3cmd%2F1.5.2%2F&ts=1432226044&use_mirror=jaist
tar xvzf s3cmd-1.5.2.tar.gz
cd s3cmd-1.5.2
python setup.py install
あとがき、いろいろ追っていると、pythonが少しかわいそうな境遇。
perl5.xと似た匂いもあるけど、そんなんんじゃなくて、出ても、Python3系を使わないぞ!そんな記事を見たとき、少し落胆した。
Google Appe Engineってその辺どうなんかねー。
前に使ったとき2.7系だったの覚えてる。
あとがき、いろいろ追っていると、pythonが少しかわいそうな境遇。
perl5.xと似た匂いもあるけど、そんなんんじゃなくて、出ても、Python3系を使わないぞ!そんな記事を見たとき、少し落胆した。
Google Appe Engineってその辺どうなんかねー。
前に使ったとき2.7系だったの覚えてる。
火曜日, 5月 19, 2015
仮想化技術について
Dockerなる仮想化について調べていると、最初は、ハイパーバイザー+chef?とかそういう印象を受けました。
しかし、調べていくうちにこれってjailやchroot(使ったことないけど)に似ていないか?そんな気持ちで仮想化技術のことを帰り道調べてました。
知らぬはエンジニアの恥。今さら聞けない【コンテナ/仮想化技術】11選 - paiza開発日誌 : http://paiza.hatenablog.com/entry/2014/10/21/%E7%9F%A5%E3%82%89%E3%81%AC%E3%81%AF%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E6%81%A5%E3%80%82%E4%BB%8A%E3%81%95%E3%82%89%E8%81%9E%E3%81%91%E3%81%AA%E3%81%84%E3%80%90%E3%82%B3%E3%83%B3
今更聞けないか。。。
結構みかけた、使った技術が多いですね。
さて、この記事でも書かれているように、Dockerってchroot型なんですね。
ただ、chrootだけでは実現できない機能もあるので、chrootで我慢できないなら、dockerでいいのかな?と思います。
BSDの兄貴がまえからDockerなんてできとったわい!とか、cgroupsについて書かれていたのがあったのでぺたり。
コンテナの歴史と Linux カーネルのコンテナ関連機能についての割とどうでも良い愚痴 - TenForwardの日記 : http://d.hatena.ne.jp/defiant/20141218/1418860851
BSDの兄貴、ここでも2000年は輝きまくってる。(とはいえ、BSDなひとは「FreeBSD bhyve」が登場したのはうれしいかぎりなのかな?)
まだやりきっていないけど、こうしたい。
VMイメージ製造機:vagrant
ホストOSでリソースを極力削って運用したいもの:Docker
chefをお供に(Dockerでも)
しかし、調べていくうちにこれってjailやchroot(使ったことないけど)に似ていないか?そんな気持ちで仮想化技術のことを帰り道調べてました。
知らぬはエンジニアの恥。今さら聞けない【コンテナ/仮想化技術】11選 - paiza開発日誌 : http://paiza.hatenablog.com/entry/2014/10/21/%E7%9F%A5%E3%82%89%E3%81%AC%E3%81%AF%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E6%81%A5%E3%80%82%E4%BB%8A%E3%81%95%E3%82%89%E8%81%9E%E3%81%91%E3%81%AA%E3%81%84%E3%80%90%E3%82%B3%E3%83%B3
今更聞けないか。。。
結構みかけた、使った技術が多いですね。
さて、この記事でも書かれているように、Dockerってchroot型なんですね。
ただ、chrootだけでは実現できない機能もあるので、chrootで我慢できないなら、dockerでいいのかな?と思います。
BSDの兄貴がまえからDockerなんてできとったわい!とか、cgroupsについて書かれていたのがあったのでぺたり。
コンテナの歴史と Linux カーネルのコンテナ関連機能についての割とどうでも良い愚痴 - TenForwardの日記 : http://d.hatena.ne.jp/defiant/20141218/1418860851
BSDの兄貴、ここでも2000年は輝きまくってる。(とはいえ、BSDなひとは「FreeBSD bhyve」が登場したのはうれしいかぎりなのかな?)
んで、どれ使う?
どことは言わない、Windowsで使いそうなもの:VirtualBox
俺しか使わない、速度を上げたい:kvm
まだやりきっていないけど、こうしたい。
VMイメージ製造機:vagrant
ホストOSでリソースを極力削って運用したいもの:Docker
chefをお供に(Dockerでも)
かな。
今のマシンにxenいれて慣れるのも面倒だし。
Xenの基本 – ドメイン0とドメインU | OpenGroove : http://open-groove.net/xen/domain0-domainu/
まぁ、リバースプロキシやるよ。
夢を見ていた。
1IP<=>multi domainって、さくっとリバースプロキシやらなくてもいいんじゃない?
もしかしたら、いけんじゃね?とか思っていましたが、出来なかったんで、リバースプロキシにしたよって話を書きます。
構成的には、
こんな感じ。
こんな感じ。
あとは、ホストPCからアクセスできるか確認、あれ?繋がらないを繰り返しましょう。 原因は、だいたい凡ミスです。
これで、VM上のサービスをいつでもみれるね。よかったね。。。
DNSがいじれるなら、欲しいだけ、ドメインを切るが良いさ。
ただ、上記の設定は問題がありますね。
あとがき:
これを書き始めたときにopenflowの構築に足を突っ込んだ(昨日)。 これはこれで面白いと思ったので、今度はvmをちゃんと用意してその中でopenflowしたいかな。
1IP<=>multi domainって、さくっとリバースプロキシやらなくてもいいんじゃない?
もしかしたら、いけんじゃね?とか思っていましたが、出来なかったんで、リバースプロキシにしたよって話を書きます。
この記事でやりたいこと
multi domain<=>1IPをやりたい。
外部のサブドメイン(そのマシンに対してのトップドメイン、サブドメインは*の状態)で仮想マシンに対して通信をさせるようにしたい。(httpd,sshなどなど
外部のサブドメイン(そのマシンに対してのトップドメイン、サブドメインは*の状態)で仮想マシンに対して通信をさせるようにしたい。(httpd,sshなどなど
前に血迷った記事書いた。あれはあれで別の方向で育てる。
とある面倒な事
なんか、開発しててこんなことがあったりしますね。- 開発・検証環境あげないと、アプリでは確認できない。
- ローカルに対してドメインでアクセスできないから。
- virtualhostで開発PCではhostsとかに書いて名前解決できているけど、スマフォには適用させることができないから。
自社内に、DNSサーバーを持っている かつ DNSに対して変更を加えるのが容易ならいいかもしれませんね。
開発環境は外に持っていなくてもいいと一つ経費かかるのが減りますし。
本音は自分で触るサーバーがあるので、その辺を整える時に一つしかIP持っていないけど、アクセスする時にはFQDNでアクセスしたい。
そんな時は、Http reverse proxyですぞ。
構成的には、
こんな感じ。
環境を作っていくぞ。
https://gist.github.com/tluna/75b8fcb89ff437036e82#file-1こんな感じ。
各々rails入れていくぞ。
reverse proxyを設定するぞい。
https://gist.github.com/tluna/75b8fcb89ff437036e82#file-3-reverse-proxyあとは、ホストPCからアクセスできるか確認、あれ?繋がらないを繰り返しましょう。 原因は、だいたい凡ミスです。
これで、VM上のサービスをいつでもみれるね。よかったね。。。
DNSがいじれるなら、欲しいだけ、ドメインを切るが良いさ。
ただ、上記の設定は問題がありますね。
- 静的ファイルをスクリプトファイル側が管理しないといけない。
- んー。VMじゃなかったら、これは、staticなパスをきればいいけど、VMだったら、このまま?それとも、追加で各々にnginxまたいれるの?(いやかな。)
- 4xx,5xxのページを用意していない。
- さくっと用意できるならすれば良い。
代わりに良い点としては、
- 簡単なLBが作れちゃう。
- 大変なコンパイル作業とapacheからの解放。
- 個人的にこれがでかいかな。
- バックエンド側は種類が豊富。
- 楽しい楽しい選定タイム。
まだ重たくて重たくて仕方がない、LBをこさえるか。なんて状態になったことがないですし、そういうのは用意されていることが大半なので、まぁ、開発だけかな。これ。
あとがき:
これを書き始めたときにopenflowの構築に足を突っ込んだ(昨日)。 これはこれで面白いと思ったので、今度はvmをちゃんと用意してその中でopenflowしたいかな。
火曜日, 5月 12, 2015
daemontoolsを入れる。
小ネタです。
centosにdaemontoolsを入れたいと思った(perl関連)
daemontoolsは要はデーモン化してくれるやつだ。(監視もね。)
https://github.com/kteru/daemontools-rpm
こんなのを公開してくれている人がいる。 使わない手はない。
buildrpm.shを叩く時には、rootで(rpmbuildのインストール先はrootじゃないと書き込みできないところなんでね)
といいたいところだけど、この点を考えてくれよな!
http://blog.tnmt.info/2011/04/29/rpmbuild-for-beginner/
centosにdaemontoolsを入れたいと思った(perl関連)
daemontoolsは要はデーモン化してくれるやつだ。(監視もね。)
https://github.com/kteru/daemontools-rpm
こんなのを公開してくれている人がいる。 使わない手はない。
buildrpm.shを叩く時には、rootで(rpmbuildのインストール先はrootじゃないと書き込みできないところなんでね)
といいたいところだけど、この点を考えてくれよな!
http://blog.tnmt.info/2011/04/29/rpmbuild-for-beginner/
[root@tluna x86_64]# pwd
/root/rpmbuild/RPMS/x86_64
上記ディレクトリに入れてくれます。(64bit)
登録:
投稿 (Atom)







