仮想マシンの FreeBSD を 10.3-RELEASE から 11.0-RELEASE にした話
たまたま BSDsec を見たら11.0-RELEASE のコピーが FTP に乗ってるけどまだ正式アナウンスじゃないからアップグレードするなよって記事が9月28日に出てたので、我慢できずにアップグレードしちゃいました。
良い子は10月5日頃にあるという正式アナウンスを待ってアップグレードしましょう。
アップグレードした FreeBSD は debian 上で動作する仮想マシンにインストールしたものです。
カーネルは自前でコンパイルしたものではなく、デフォルトでインストールされたものに freebsd-update で更新を続けたものになります。
この FreeBSD は hubot をいくつか実行しているだけの仮想マシンになります。docker でやれって話ですが。
My Yahoo! の移行先を考えてたら新しいフィードサービスの中からリプライがあった
ニュースを読むのに使っていた My Yahoo! が今年の9月29日にサービスを終了するという予告をしています。
使い込んでいたわけではないですが、ニュースや天気を見るのに便利だったので何かほかのサービスあるかなーといツイートしたわけです。
MyYahooのサービス終わるのに移行先考えてなかった
— ぞあ.@シン・ナカチャン (@k_zoar) 2016年9月13日
どうやらツイートした日と同じ日に Feed Watcher というサービスが開始されたらしく、そのサービスの Twitter アカウントからリプライをいただきました。
@k_zoar My Yahoo!の移行先にお悩みのようでしたら、「Feed Watcher」というMy Yahoo!互換の無料サイトをよろしければご利用ください♪https://t.co/0WgJajHvHF
— カレット株式会社 (@CaretInc) 2016年9月15日
突然のツイート失礼しました m(_ _)m
My Yahoo! をはじめ OPML で出力できるサイトの情報であれば移行できるみたいです。
そんなわけで、使ってみることにしました。
ログインしなくても使える風なことが書かれています。
Feed Watcher では専用のアカウントを作る必要はなく、Facebook、Twitter Google、Yahoo!アカウントのどれかから連携する形で設定を保存するようです。
Twitter で連携しようとすると次のような権限の要求されました。
アカウントの連携をするとあらかじめ登録されているフィードが表示されます。
右上の歯車でいくつか設定したり OPML の読み込みをしたりできるようです。
適当にカスタマイズして使ってみようかと思います。
ところで、iGoogle にせよ、My Yahoo! にせよ大手のフィードサービスが停止している中新たに始まったこのサービスがどれくらい続いていくのか、その辺もちょっと気になります。
2020年東京オリンピックの会場予定地の OSM 書き込み状況をざっくり調べた
会場予定地の名称と住所は東京都オリンピック・パラリンピック準備局ウェブサイトから引用し、住所を東京大学空間情報科学研究センターが提供するCSVアドレスマッチングサービスによってジオコーディングした結果を Getofabrik の Map Compare で Google Maps と並べて表示させて確認しました。
引用した情報とOSM状況は2016年9月9日の状況です。状況のコメントは偏見で判定しました。
会場工事が行われる、または見込まれるところは立て替え後でないと編集できないかもしれませんが、一部建物や土地利用を追加した方がいいっぽいところがありました。
ちょっと早い気もしますが、ぼちぼち書き込んでいくと開催時にはいい感じの地図になっているかもしれません。
名称 | 住所 | OSM状況 |
---|---|---|
新国立競技場 | 東京都新宿区霞ヶ丘町10番地2 | 会場工事で更新が必要 |
東京体育館 | 東京都渋谷区千駄ヶ谷一丁目17番1号 | 良好 |
国立代々木競技場 | 東京都渋谷区神南二丁目1番1号 | 良好 |
日本武道館 | 東京都千代田区北の丸公園2番3号 | 良好 |
皇居外苑 | - | 良好 |
東京国際フォーラム | 東京都千代田区丸の内三丁目5番1号 | 良好 |
国技館 | 東京都墨田区横網一丁目3番28号 | 良好 |
有明アリーナ | 東京都江東区有明一丁目(有明北地区) | 会場工事で更新が必要? |
有明体操競技場 | 東京都江東区有明(有明北地区) | 会場工事で更新が必要? |
有明BMXコース | 東京都江東区有明(有明北地区) | 会場工事で更新が必要? |
有明テニスの森 | 東京都江東区有明二丁目2番22号 | 良好 |
お台場海浜公園 | 東京都港区台場一丁目 | 良好 |
潮風公園 | 東京都品川区東八潮1番地 | 良好 |
大井ホッケー競技場 | 東京都品川区八潮四丁目1番19号 | 良好 |
海の森クロスカントリーコース | 東京都江東区青海三丁目地先 | 良好 |
海の森水上競技場 | 東京都江東区青海三丁目地先 | 良好 |
カヌー・スラローム会場 | 東京都江戸川区臨海町六丁目1番 | 良好 |
アーチェリー会場(夢の島公園) | 東京都江東区夢の島二丁目地内 | 良好 |
オリンピックアクアティクスセンター | 東京都江東区辰巳二丁目1番35号 | 良好 |
東京辰巳国際水泳場 | 東京都江東区辰巳二丁目8番10号 | 良好 |
馬事公苑 | 東京都世田谷区上用賀二丁目1番1号 | 良好 |
武蔵野の森総合スポーツ施設 | 東京都調布市飛田給一丁目1番41号 | 会場工事で更新が必要、建物不足 |
東京スタジアム | 東京都調布市西町376番地3 | 建物不足 |
さいたまスーパーアリーナ | 埼玉県さいたま市中央区新都心8番地 | 良好 |
陸上自衛隊朝霞訓練場 | 東京都練馬区大泉学園町九丁目4番 | 建物不足 |
幕張メッセ | 千葉県千葉市美浜区中瀬2丁目1番地 | 良好 |
埼玉スタジアム2002 | 埼玉県さいたま市緑区中野田500 | Landuseほしいかも |
横浜国際総合競技場 | 横浜市港北区小机町3300 | 良好 |
東京ビッグサイト | 東京都江東区有明三丁目11番1号 | 良好 |
きっと忘れるので TensorFlow の導入手順を書いておく
環境は Ubuntu 16.04 LTS です、サーバー版に LXDE 入れてあるごちゃ混ぜ環境ですが。
基本はディープラーニングの有名ライブラリ5種を最短距離で試す半日コース(TensorFlow, Chainer, Caffe, DeepDream, 画風変換)の通りです。
pip のインストール
$ sudo easy_install pip
Virtualenv のインストール
sudo pip install --upgrade virtualenv
Virtualenv 環境を作成する
$ virtualenv --system-site-packages ~/tensorflow
~/tensorflow
に環境が作成される。ディレクトリを手動で作成しなくても virtualenv が勝手に作ってくれます。
環境をアクティベートする
$ source ~/tensorflow/bin/activate
するとプロンプトの頭に (tensorflow)
がつくようになります。
最後に TensorFlow をインストール
(tensorflow) $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.10.0rc0-cp27-none-linux_x86_64.whl (tensorflow) $ pip install --ignore-installed --upgrade $TF_BINARY_URL
TF_BINARY_URL
は実行する環境によって異なるので、公式のガイドを参考にして自分の環境にあった URL を使います。
違う環境のをインストールするとinvalid ELF header.
が出て TensorFlow を実行できません。
debian で google-drive-ocamlfuse を使って Google ドライブをマウントする
ファイルサーバーとして利用している debian マシンでローカルディレクトリに Google ドライブをマウントさせます。
Google ローカルガイドのレベル4になった特典として1年間 100GB の追加容量を利用できるようになったので、データをあらかたそっちにコピーしてみようと思いまして。
自分の Google ドライブは標準の 15GB に加えてセキュリティ診断のボーナスによる 2GB、ローカルガイドレベル4特典の 100GB の合計 117GB 利用できる状態です。
ローカルファイルサーバーで使っている実用量が 107GB くらいなので全部乗った上に 9GB くらいは空き容量が確保できそうです。
導入した debian のバージョンは 8.5 です。
後述しますが、google-drive-ocamlfuse では Google ドライブのアクセストークンを取得するために GUI ブラウザで認証する必要があるので、インストールしようとしているマシンに GUI 環境がない場合、他の環境で認証できるようにしなければなりません。
とりあえず途中まで debian だけで進めます。
debian で google-drive-ocamlfuse をインストールする
Launchpad.net の alessandro-strada にある Ubuntu 用のリポジトリをセットしてインストールします。
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXX $ sudo sh -c "echo 'deb http://ppa.launchpad.net/alessandro-strada/ppa/ubuntu xenial main' > /etc/apt/sources.list.d/google-drive.list" $ sudo sh -c "echo 'deb-src http://ppa.launchpad.net/alessandro-strada/ppa/ubuntu xenial main' >> /etc/apt/sources.list.d/google-drive.list" $ sudo apt-get update
XXXXXXXX
の部分はリポジトリのページにある Signing key か Fingerprint あたりに文字列を入力してください。
エラーが出なければOK
fuse と google-drive-ocamlfuse をインストールします。
$ sudo apt-get install google-drive-ocamlfuse fuse -y
インストールが完了したら google-drive-ocamlfuse コマンドを実行します。
$ google-drive-ocamlfuse /bin/sh: 1: xdg-open: not found /bin/sh: 1: firefox: not found /bin/sh: 1: google-chrome: not found Cannot retrieve auth tokens. <snip>
はい、google-drive-ocamlfuse が xdg-open か firefox か google-crome を使ってアクセストークンを取得しようとしますが、このマシンには GUI 環境がセットされていないのでトークンを取得できないとエラーが出ます。
そんなわけで Ubuntu デスクトップの仮想マシンを作ってそっちで認証させます。
Ubuntu 16.04 Desktop で google-drive-ocamlfuse をインストールする
Ubuntu 16.04 Desktop でのインストールと認証は簡単で、google-drive-ocamlfuse の Wiki で方法が説明されています。
まずはリポジトリの追加からインストール。
GUI の仮想端末から操作した方がいいです。
$ sudo add-apt-repository ppa:alessandro-strada/ppa $ sudo apt-get update $ sudo apt-get install google-drive-ocamlfuse -y
インストールが完了したら google-drive-ocamlfuse
コマンドを実行します。
$ google-drive-ocamlfuse
ブラウザが起動して認証を促されるれます。
無事認証を完了すれば準備 OK です。
仮想端末に戻り、scp
を使って仮想マシンからファイルサーバーへトークンの記録されたファイルをコピーします。
$ scp ./.gdfuse/default/state 192.168.10.14:/home/zoar/.gdfuse/default/
192.168.10.14
が debian のファイルサーバーで使われてる IP アドレスですね。
ここまでくれば Ubuntu の仮想マシンはいらなくなるのでシャットダウンして消すなりなんなりできます。
debian で Google ドライブをマウントする
まずマウントポイントのディレクトリを作っておきます
$ mkdir ~/google-drive
google-drive-ocamlfuse
コマンドでマウントします。
コマンドの最初のオプションがマウントポイントです。
$ google-drive-ocamlfuse /home/zoar/google-drive
確認してみましょう
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 106G 3.0G 98G 3% / udev 10M 0 10M 0% /dev <snip> google-drive-ocamlfuse 117G 328K 117G 1% /home/zoar/google-drive
マウントできたっぽいです。
これでデータをコピーするなりできるようになると思います。
なお、アンマウントするときは fusermount
コマンドを使って
$ fusermount -u /home/zoar/google-drive
とかすればアンマウントされます。
当然ですがトークンの記録されているファイル ~/.gdfuse/default/state
が流出すると大変なことになるので気を付けて扱う必要があります。
Zabbix のアラートメールを ssmtp で送信する
忘れがちなのでメモっておく
環境は debian 8.5 で Zabbix は 3.0.4
まずは ssmtp をインストールする。
さようなら exim4
# sudo apt-get install ssmtp -y # sudo apt-get autoremove -y --purge
設定ファイルを適当にセットする
$ sudo vi /etc/ssmtp/ssmtp.conf root=postmaster mailhub=mail hostname=zabbix FromLineOverride=YES mailhub=%外部 SMTP サーバー% AuthUser=%ユーザー ID% AuthPass=%パスワード% AuthMethod=LOGIN UseTLS=YES UseSTARTTLS=YES
アラート発生時に Zabbix がスクリプトを探しに行くパスを確認しておく。
$ grep AlertScriptsPath /etc/zabbix/zabbix_server.conf ### Option: AlertScriptsPath # AlertScriptsPath=${datadir}/zabbix/alertscripts AlertScriptsPath=/usr/lib/zabbix/alertscripts
このマシンでは /usr/lib/zabbix/alertscripts
にスクリプトを置いておく必要がある。
Zabbix からアラートを受け取って ssmtp に投げるスクリプトは公式のをそのまんま使う。
$ vi /usr/lib/zabbix/alertscripts/Zabbix_Alert_Mail.sh #!/bin/bash to=$1 subject=$2 body=$3 cat <<EOF | mail -s "$subject" "$to" $body EOF
良く見たら /bin/sh
でなくて /bin/bash
なので注意。
スクリプトのファイル名(ここでは Zabbix_Alert_Mail.sh
)を覚えておく。
Zabbix フロントエンドに繋いでメディアタイプを作成する。
「管理」→「メディアタイプ」→「メディアタイプの作成」とたどってこんな感じ。
「送信先」にスクリプトファイルの名称 Zabbix_Alert_Mail.sh
を入れる。
次に管理ユーザーにスクリプトのメディアを追加する。
「管理」→「ユーザー」→任意の管理権限のあるユーザー(Admin とか)→「メディア」→「追加」とたどってこんな感じ。
スクリプトパラメータをお忘れ無く。
最後に「設定」→「アクション」→「Report problems to Zabbix administrators」が有効になっているかどうか確認しておく。
これ忘れてすっごい悩んだ。
適当にアラートの発生しそうなことをやってアラートが飛べばOK。
うまくいかなかったら /etc/zabbix/zabbix_server.conf
の中の DebugLevel
を 3
くらいにしておくと不具合の状態がログに流れてくる。
IDCF クラウド で500円/月未満の仮想マシンを手に入れる
国内の VPS は概ね 500円/月 くらいの料金が安めの基準になっていて、IDCF クラウドでもスターター向け最小構成が 500円/月 になっています。
料金のシミュレーションでもこの料金が最低のように見えますが、ログインして仮想マシンを作成する際にカスタム構成にするとさらに安い料金で仮想マシンを手に入れられます。
仮想マシンの作成では Light.S1
を選択します、これで200円/月。
イメージの選択ではおすすめ Template
ではなく、 ISO
にある debian の ISO を選択します。
するとボリュームサイズを自分でセットできるようになるので標準の15GBよりも小さい数字を入れます。
例えば 5GB なら ディスクだけで 100円/月 で利用できます。
イメージの選択でおすすめ Template
から選ぶとこのように強制的に15GB割り当てられるのでディスクで 300円/月 が必要です。
Light.S1 + 5GB ボリュームなら 300円/月 で仮想マシンを持つことができます。
当然ストレージが小さいので運用には工夫が必要になりますが、外に置く VPN のサーバーだけとか、フロントエンドだけ置いてデータはローカルや別の(サービス|仮想マシン)に置くなどですかね。
現在は Light.S1 + 5GB ボリュームを使って OpenStreetMap のタスクマネージメントツールを動かしています。
このツールは Python と PostgreSQL で動くもので、ボリュームの空き容量が 2.1GB ほどになっています。
価格帯的に512MBが多いところですが、 Light.S1 では1GBが割り当てられるので動作は割と軽快です。
事情に合致すれば安く仮想マシンを手に入れることができます。