2017/06/26(Mon)メインPCのRAID0化
デスクトップに組み込んで、もともと使ってた2TBと合わせて、Windowsのストライプボリュームにしてみた。
2017/06/26(Mon)NASのディスク入れ替え
あのことがあってから、しばらくSeagateのHDDは買ってなかったけど、
ばらくーだは他のメーカのHDDより動作音が静かで好きだったのをふと思い出して、
ひさしぶりにSeageteのHDDに手を出してみる。
巷では故障率高いと話題だが、果たして……。
ばらくーだ 4TBx2。
NASのディスクの入れ替え手順はよくわかんなかったが、
シングル2本で認識させてると、こんな感じ(下記はすでに入れ替え済み)なので、
$ df Filesystem Size Used Avail Use% Mounted on rootfs 33M 18M 16M 54% / /dev/root 33M 18M 16M 54% / tmpfs 64M 348K 64M 1% /tmp /dev/sda4 371M 345M 27M 93% /mnt/ext /dev/md9 510M 152M 358M 30% /mnt/HDA_ROOT /dev/sda3 3.5T 1.9T 1.6T 54% /share/HDA_DATA /dev/sdb3 3.7T 572G 3.1T 16% /share/HDB_DATA tmpfs 1.0M 0 1.0M 0% /mnt/rf/nd tmpfs 8.0M 0 8.0M 0% /var/syslog_maildir tmpfs 16M 40K 16M 1% /share/HDA_DATA/.samba/lock/msg.lock tmpfs 16M 0 16M 0% /mnt/ext/opt/samba/private/msg.sock $ cat /proc/mdstat Personalities : [raid1] [linear] [raid0] [raid6] [raid5] [raid4] md2 : active raid1 sdb2[2] sda2[0] 530128 blocks super 1.0 [2/2] [UU] md13 : active raid1 sdb4[0] sda4[1] 458880 blocks [2/2] [UU] bitmap: 0/57 pages [0KB], 4KB chunk md9 : active raid1 sdb1[0] sda1[1] 530048 blocks [2/2] [UU] bitmap: 0/65 pages [0KB], 4KB chunk unused devices: <none>HDD2のディスクを2TBから4TBに入れ替えて
rsync -avH --delete --numeric-ids /share/HDA_DATA/ /share/HDB_DATA/して、HDD2の4TBをHDD1に、空の4TBをHDD2に刺して、と試してみたところすんなり起動した。
ディスク容量も増え、動作音が静かになって、よい。壊れた時はまぁその時。
ここ一月ばかり、まただんだんHDDが安くなってきている。
が、ディスクを買ったのは安くなりはじめる前で、それだけは鬱。
引っこ抜いた2本の2TBはデスクトップPCに入れてRAIDでも組んでみようかな。
2017/05/22(Mon)BINDで独自ドメインをLAN内から解決できるようにした。
今日は自宅サーバにBINDを入れて、家のLAN内からでも http://tu3.jp/ でサイトを開けるようにしていた。
tu3.jpのネームサーバはバリュードメインのを使っているので、普通にDNS引くと、
ルータのWAN側IPに解決されてしまい、LAN内からはつながらなかった。
デスクトップPCにはhosts書いて対応してたけど、LANとLTEを行き来するノーパソやらスマホではこの方法は不便だ。
LAN内で通用するホスト名での通信ではVirtualHostが死んでしまう。
つい最近、デスクトップPCのドライブ構成を見直してOS再インストールしたのだけどhostsはまだ書いてなかったの気づいた。
ので、いつもどおり書くか、いやまてよ。
せっかくの機会だから、DNSでも立ててみるかー。
2017/03/29(Wed)Cygwinのmingwでfdk-aacとx265が使える64bit版ffmpegをビルドする
自分のための成功メモ。
Cygwin上でmingw32を使うときは、
mingw64-x86_64-ほにゃらら (x64向けクロスコンパイラ)mingw64-i686-ほにゃらら (x86向けクロスコンパイラ)
シリーズのパッケージを入れて、クロスコンパイルの要領でやる。
また、 Cygwin上でmingwを使うときは、libtoolがたたくcmd //cが動かないので、
libtoolを採用しているライブラリのビルド時は configureの後、makeの前に、
sed -i libtool -e 's@cmd //c@cmd /c@g'してあげるとよい。
2016/12/30(Fri)Google C++ Style Guide 日本語全訳
字が小さいと思ったらブラウザのズームを使うと読みやすいかも。
きっかけは、
GoogleがGitHubで公開している版 (HTML)を、自分で読むついでに、英語を読むのがしんどい人のために日本語に訳してみた。
ついでにという気持ちで始めたけど、翻訳って思ってたよりめっちゃ大変だった。
最近機能をバリバリ使ってイケイケにコーディングしているんだろうなぁとか
勝手なイメージをもっていたので、それよりもかなり保守的って印象を受けた。
その精神は
「コードは読む人のために書く」
「読む人のリズムを崩さないために周りのコードとの一貫性を保て」
「平均的な読者が知らないかもしれない機能は使うな」
って感じ。
命名規則とかだけでなく改行の入れ方とかスペースの置き方とかを定めていて、
そのフォーマットのためのemacsスクリプトが配布されてて、守りやすくなってるのはいいなぁと思った。
2016/11/16(Wed)OpenSSLとOpenSSHのバージョンアップメモ
家のNASのOpenSSLとOpenSSHのバージョンを上げた。
2017.04.20 - 1.0.2k に更新
$ tar xf openssl-1.0.2k.tar.gz $ cd openssl-1.0.2k $ ./config --prefix=/opt/local/openssl/1.0.2k --openssldir=/etc/ssl zlib -fPIC enable-tlsext shared $ make -j $ make install $ cd /opt/local/openssl/ $ rm * $ ln -s 1.0.2k/* .
$ tar xf openssh-7.3p1.tar.gz $ cd openssh-7.3p1 $ ./configure --prefix=/opt/local/openssh/7.3p1 \\ --with-tcp-wrappers --with-md5-passwords \\ --sysconfdir=/etc/config/ssh \\ --with-zlib=/opt/local/zlib --with-ssl-dir=/opt/local/openssl \\ --without-stackprotect $ make -j $ make install $ cd /opt/local/openssh/ $ rm * $ ln -s 7.3p1/* .
最初 OpenSSHのconfigureで、 configure: error: OpenSSL version header not found. とか言われて、
config.log を見ると、 ./conftest がSegmentation fault ってた。
「……?」と思いながらも、 --without-openssl で試すと、今度は sizeof(short int) を調べようとしてセグフォ。
そんな馬鹿なと思って、自前で conftest 作ってオプションを色々試してたところ、
gcc に -fstack-protector-all と -fPIEをセットで渡すと int main() { return 0; } ですらセグフォで死ぬことがわかって、
--without-stackprotectをつけたら行けた。
gcc のバージョンもあげたら直るのかな……。
その前にNASを脱却して適当なPCにして適当なLinuxディストリ入れた方がいいよなーと思うのであった。
2016/11/12(Sat)https対応
今は acme.sh を使っている。 acme.sh かんたんでよい。
-- 以下は古い記事 --
1つ暗号化して通信したいサイトを作りたくなったのでSSL対応することにした。
Let's Encrypt を使うと存外簡単にできた。
認証はWindowsのクライアントから、この辺参考にしてやった。
http://calkinos.hatenablog.com/entry/2015/12/05/170829
NAS上のapacheのdocument rootをSAMBA共有しているので、
Manualにして、そこにダイレクトに書き出したら証明書が発行された。
httpd.confへの設定は手でやらねばならぬ。
コンテンツはいっしょです。
発行される証明書は3ヶ月?
上のWindowsクライアントの場合、タスクスケジューラに証明書更新のタスクが組まれるっぽいのだけど、
そのままだと、結局発行された証明書をapacheに設定してあげないとダメなので、忘れずに手でメンテしないと。。