mount -B(--bind)オプションでマウント

mount -B(--bind)を使って特定のディレクトリをマウントする事がたまにある
SFTPのchroot設定とか

bindマウントするたびにfstabへの書き方を忘れてググってしまうので備忘としてメモ

/var/www/htmlを/home/sftp-user/htmlへマウントする場合

mount -B /var/www/html /home/sftp-user/html

/etc/fstabへの記述は以下のように記述する
記述後mount -aで実行し確認する

/var/www/html /home/sftp-user/html none bind 0 0


brew update時に出てくるメッセージが気になった

brew update時に出てくる下記のメッセージ エラーではないのでbrew updateはちゃんと実行されるが気になったので調べてみた

Updating Homebrew...
Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.

Why does git keep telling me it's “Auto packing the repository in background for optimum performance”? レポジトリが破損している可能性があるのでgit fsckを実行しチェックする

#
cd $(brew --repo)
git fsck
Checking object directories: 100% (256/256), done.
Checking objects: 100% (115424/115424), done.
dangling commit 47f34438e1ac0bd7c094333bc0e45c296a7d37e1

danglingオブジェクトがあった これぐらいならほっておいても大丈夫なのだが気になるので git pruneとgit gcでお掃除と最適化を行う

git prune; git gc
Enumerating objects: 115469, done.
Counting objects: 100% (115469/115469), done.
Delta compression using up to 4 threads
Compressing objects: 100% (27637/27637), done.
Writing objects: 100% (115469/115469), done.
Total 115469 (delta 85009), reused 115410 (delta 84974)

再度、git fsckでチェック

git fsck
Checking object directories: 100% (256/256), done.
Checking objects: 100% (115469/115469), done.

毎度のこの手順をやるのは手間なのでaliasを作っておく

bash

alias brewgc='cd $(brew --repo); git gc; git prune; cd -'

・fish fish 3.0からbashと同様に&&||が使えるようになりました

alias brewgc "cd (brew --repo); and git gc; and git prune; and cd -"

H2O server-statusページへのアクセス制御

H2O 2.1以降からアクセス制御が大分簡単にかけるようになったので server-statusページに対して行った。

server-status.rbというファイルでACLを書いていく 404で返したかったのでdenyではなくrespondを使っています。

paths:
      /server-status:
        mruby.handler-file: /etc/h2o/mruby/server-status.rb
        status: ON
require "trie_addr.rb"
trie = TrieAddr.new.add(["許可するIP"])
acl {
    respond(404, {}, ["File Not Found"]) { path.start_with?("/server-status") && !trie.match?(addr) }
 }

参考 Access Control - Configure - H2O H2O x mrubyで人はどれだけ幸せになれるのか

CentOS7にffmpegのインストール

高画質動画キャプチャーソフトBandicam

HLSの配信テストを行いたいのでCentOS7環境にffmpegを入れた ただ、普通に入れてもAACが使えなかったりする。 そこでAWEL FFMpeg, GStreamer, and VLC Packages for RHEL/CentOS 7 ここからインストールすると諸々込みで使えるようになるのでステキ

rpm -ihv http://awel.domblogger.net/7/media/x86_64/awel-media-release-7-6.noarch.rpm
 
yum update
yum install ffmpeg

ffmpeg
ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-28)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --enable-bzlib --enable-gnutls --enable-libass --enable-libdc1394 --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libpulse --enable-librtmp --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libxvid --enable-avfilter --disable-vaapi --enable-libopus --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

h2o コンパイル時のエラーについて

h2o-2.2.5をソースからコンパイル中に下記のエラーが出た

cmake -DWITH_BUNDLED_SSL=on -DWITH_MRUBY=on .
...
make
...
[ 51%] Building C object CMakeFiles/h2o.dir/deps/picotls/deps/micro-ecc/uECC.c.o
[ 53%] Building C object CMakeFiles/h2o.dir/deps/picotls/deps/cifra/src/aes.c.o
[ 53%] Building C object CMakeFiles/h2o.dir/deps/picotls/deps/cifra/src/blockwise.c.o
[ 53%] Building C object CMakeFiles/h2o.dir/deps/picotls/deps/cifra/src/chacha20.c.o
[ 53%] Building C object CMakeFiles/h2o.dir/deps/picotls/deps/cifra/src/chash.c.o
[ 55%] Building C object CMakeFiles/h2o.dir/deps/picotls/deps/cifra/src/curve25519.c.o
[ 55%] Building C object CMakeFiles/h2o.dir/deps/picotls/deps/cifra/src/drbg.c.o
[ 55%] Building C object CMakeFiles/h2o.dir/deps/picotls/deps/cifra/src/hmac.c.o
[ 55%] Building C object CMakeFiles/h2o.dir/deps/picotls/deps/cifra/src/gcm.c.o
[ 57%] Building C object CMakeFiles/h2o.dir/deps/picotls/deps/cifra/src/gf128.c.o
[ 57%] Building C object CMakeFiles/h2o.dir/deps/picotls/deps/cifra/src/modes.c.o
[ 57%] Building C object CMakeFiles/h2o.dir/deps/picotls/deps/cifra/src/poly1305.c.o
[ 57%] Building C object CMakeFiles/h2o.dir/deps/picotls/deps/cifra/src/sha256.c.o
[ 59%] Building C object CMakeFiles/h2o.dir/deps/picotls/deps/cifra/src/sha512.c.o
/usr/local/src/h2o-2.2.5/deps/picotls/deps/cifra/src/sha512.c: 関数 ‘sha512_update_block’ 内:
/usr/local/src/h2o-2.2.5/deps/picotls/deps/cifra/src/sha512.c:115:3: エラー: ‘for’ ループ初期化宣言は C99 モード内でのみ許可されています
for (size_t t = 0; t < 80; t++)
^
/usr/local/src/h2o-2.2.5/deps/picotls/deps/cifra/src/sha512.c:115:3: 備考: オプション -std=c99 または -std=gnu99 をコードコンパイル時に使用してください
make[2]: *** [CMakeFiles/h2o.dir/deps/picotls/deps/cifra/src/sha512.c.o] エラー 1
make[1]: *** [CMakeFiles/h2o.dir/all] エラー 2
make: *** [all] エラー 2

エラーメッセージが出ている通りコンパイルオプションに-std=gnu99を追記する形で対応 h2oはCMakeを使っているのでCMakeLists.txtに追記する

# CMakeLists.txt
SET(CMAKE_C_FLAGS "-std=gnu99 -O2 -g ${CC_WARNING_FLAGS} ${CMAKE_C_FLAGS} -DH2O_ROOT=\"${CMAKE_INSTALL_PREFIX}\" -DH2O_CONFIG_PATH=\"${CMAKE_INSTALL_SYSCONFDIR}/h2o.conf\"")

これで無事コンパイルできました!

2017春イベント E-1 出撃!大湊警備府攻略

いつものように作戦概要は下記wikiを参考 【前段作戦】津軽海峡/北海道沖(E1)

■ルート E→F→H(能動分岐)→I→K→Mのルート

■陣形 F,Mマスを単横陣 I,Kマスを単縦陣

先制対潜できる艦が3隻はほしい所 駆逐艦で先制対潜できる艦が乏しかったので軽巡を加え駆逐2隻, 軽巡3隻, 戦艦の編成にしました。 4スロ装備できる夕張や練習巡洋艦の香取・鹿島もいいかな

ボスのラスダン編成で軽空母ヌ級出てきますが、瑞雲ガン済みなら問題ない

E-1クリア編成

 

 

 

 

 

 

 

 

◆支援艦隊 道中支援に低燃費構成(駆逐2隻+軽空母2隻) ホ級の雷撃やフラリがよく仕事するので…

特攻隊長の那珂ちゃんの安心感ぱない

E-1甲 クリア

 

 

 

 

 

 

 

 

クリア報酬

「四周年記念」掛け軸

 

 

 

 

 

 

 

 

九五式爆雷

 

 

 

 

 

 

 

 

一式戦 隼Ⅱ型

 

 

 

 

 

 

 

 

 

交戦形態によってはボス倒しきれない場合もありますが、 それでも5・6周ぐらいで終わると思います。

2017冬イベント E-2(乙) 小笠原諸島航路攻略

■海域概要 【前段作戦】小笠原諸島航路(E2)

■攻略編成 空母機動部隊 【艦これ】E-2.小笠原諸島哨戒線強化 機動部隊攻略/周回(乙作戦)【2017冬イベント】

■基地航空隊 道中の安定性を求めてGマスへ集中

E-2基地航空隊

 

 

 

 

 

 

 

 

 

 

 

 

 

■支援艦隊 道中/ボス共に支援艦隊を出した

道中さえ安定すればそこまで難しい海域では無かったと思う。 ルート上、ヲ級改と最悪3回対戦するので事故る可能性が高い なので一番事故りやすいGマスへ集中させました。

E-2クリア

 

 

 

 

 

 

 

 

■報酬

潜水艦搭載電探&水防式望遠鏡

 

 

 

 

 

 

 

 

潜水艦搭載電探&水防式望遠鏡(妖精さん)

 

 

 

 

 

 

 

 

松風