pslaboが試したことの記録

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

はてなダイヤリー時代はカテゴリ分けが適当だったのですが、これはそのうち直します。


WannaCrypt対策としてWindowsXP向けにリリースされたパッチを入れてみる

WannaCrypt向けのパッチがWindowsXP向けにもリリースされたということなので、ソフトウェアの旧バージョンの動作確認用に仮想マシンで作っておいたWindowsXPに適用しておくことにする。

なお、このXPはVMware WorkstationでNATのネットワークに接続しているので、LANの他のノードからのパケットは基本的に届かない構成です。また、古いソフトウェアの検証のみに使っており、普段はシャットダウンした状態で保存している環境です。

では、まずは日本語の一次情報をチェック!

blogs.technet.microsoft.com

なるほど、Windows Update カタログ Microsoft Update Catalog で配布している、と。ならば実際にアクセスしてみよう。

f:id:pslabo:20170515082116p:plain

Windows XPのInternet Explorer8では表示できなかった!

ではWindows Updateを試してみると……

f:id:pslabo:20170515082201p:plain

そもそもWindowsUpdateにもつながらんやんけ! 今は Windows Update も封じられているんですかねえ。それともたまたま?

というわけで、別のマシンでWindows Updateカタログにアクセスしてみよう。 f:id:pslabo:20170515082321p:plain

これやな。

ダウンロードを押すと、こんなページが出る。 f:id:pslabo:20170515082736p:plain

これをダウンロードして実行すればよいわけですね。

というわけで、一応対策完了。 f:id:pslabo:20170515082932p:plain

Windows PC のディスク使用量の時系列変化を Bash on Windows 上のワンライナーで記録してみる。

とある処理でディスクの使用量がどのように変化するかを記録する必要が出てきたので、Bash on Windowsワンライナーでやってみることにします。

まずはディスク使用量といえば df コマンド。Bash on Windows で実行すると、こうなります。

$ df
Filesystem     1K-blocks      Used Available Use% Mounted on
rootfs         236091388 152891880  83199508  65% /
data           236091388 152891880  83199508  65% /data
cache          236091388 152891880  83199508  65% /cache
mnt            236091388 152891880  83199508  65% /mnt
none           236091388 152891880  83199508  65% /dev
none           236091388 152891880  83199508  65% /run
none           236091388 152891880  83199508  65% /run/lock
none           236091388 152891880  83199508  65% /run/shm
none           236091388 152891880  83199508  65% /run/user
C:             236091388 152891880  83199508  65% /mnt/c
D:             937560060 865705100  71854960  93% /mnt/d
E:              12347388  10928952   1418436  89% /mnt/e
root           236091388 152891880  83199508  65% /root
home           236091388 152891880  83199508  65% /home

なるほど、Bash on Windows だと、Windows のドライブは C: とかで見えているわけですね。

ならば、df の出力を awk でフィルタしてみよう。こんなふうに。

$ df | awk '$1 == "C:" { print systime(),$2,$3,$4 }'
1494572754 236091388 152891884 83199504

これで UNIX秒、ディスク容量, 使用量, 空き容量がとれました。

あとは、これをずーっと実行したいので、while ループにしつつ、10秒ごとに記録するようにしてみる。

$ while : ; do df | awk '$1 == "C:" { print systime(),$2,$3,$4 }' ; sleep 10 ; done
1494572758 236091388 152891884 83199504
1494572768 236091388 152891884 83199504
1494572778 236091388 152891884 83199504

OK、こんなもんですね。あとは適当なファイルにリダイレクトすればよい。tee [ファイル名] とすれば、ファイルに保存しつつ表示してくれるので、さらによし。

RADStudio/Delphi/C++Builder向けの仮想マシン容量を節約するためにNTFS圧縮してみる

今時の開発環境は仮想マシン上にセットアップすることが多い訳ですが、マルチプラットフォーム向けの開発環境では、RAD Studio/Delphi/C++BuilderでもXamarinでも、ディスク使用量が大きいことが悩ましいです。

たとえば、手元の環境でRAD Studio をフルフルにインストールした手元の環境では、ディスクをコレくらい消費します。

f:id:pslabo:20170510101535p:plain

これはつらい。

そこで、NTFS圧縮をピンポイントで設定して、ディスクの空きを増やすことを試みてみます。

実施後の状態はこんな感じ。おお、なんと空き領域が20GB以上も増えました。

f:id:pslabo:20170510101551p:plain

違いをもう少し掘り下げてみる。

何がどのように変わっているかというと……NTFS圧縮を適用する前はこんな状態。 f:id:pslabo:20170510101603p:plain

NTFS圧縮をかけたらこんな状態。 f:id:pslabo:20170510101609p:plain

つまり、Program Files の下と users/public/documents の下が随分減ったわけですね。

実際にやったこと

安直な方法は C: 全体にNTFS圧縮を適用することですが、これはやめました。

そしてこんな感じで圧縮してみました。なお、compact.exe /compactos:always は Windows10 で利用できるオプションです。

compact.exe /compactos:always
compact.exe /C /S:"C:\Program Files (x86)\Embarcadero" /I
compact.exe /C /S:"C:\Users\Public\Documents\Embarcadero\Studio" /I
compact.exe /C /S:"%HOMEPATH%\Documents\Embarcadero" /I

この設定によるリスクは?

一般論としてNTFS圧縮はデータベースのデータ保存領域には適用しないほうがよいです。データベースが壊れるという事例がググるといろいろ出てきます。

また、ビルドの速度は落ちるはずですが、厳密には検証していません。

ここらへんのリスクを自己責任として許容できるなら、試してみるのもよいかと。

作業用のデスクトップPCにIntelAMTの脆弱性CVE-2017-5689が見つかったようなので対処するテスト

Twitterでこういうのを見かけたので、

ためしに 127.0.0.1:16992 してみたら、 f:id:pslabo:20170508143918p:plain

はい、アウトですね。

ここらへんの記事を読むと、Intelが配布するツールで本件の影響の有無を確認できるとか。

japan.cnet.com

ダウンロードのページはこちらだそうです。 downloadcenter.intel.com

そこでダウンロードしてツールを実行してみた。 f:id:pslabo:20170508144659p:plain

はい、完全にアウトですね、本当にありがとうございます。さて、このツールで案内されているURLの記事を見ると、OEMベンダー経由でファームウェアのアップデートの提供を受けるか、または INTEL-SA-00075 Mitigation Guide を読んで軽減策を実施しろ、と書いてある。

f:id:pslabo:20170508144223p:plain

しかし手元のの機材向けにはファームウェアのアップデートがリリースされていないようなので、軽減策を実施することにしてみる。英語の文書をとりあえず流し読みしてみると、LMS (Local Managemanet Service) の機能を止めるには、以下のように実行しろ、と書いてあるようだ。

sc.exe config LMS start=disabled

なお、オリジナルの文書は単に sc と書かれているけど Windows10 1703 以降のように PowerShell がデフォルトな環境では sc だと別の処理が動いてしまうから、この手の文書には拡張子を含めたコマンドを書いて欲しいものだと思う。

さて、これを実行したら再起動して、前述のURLに再度アクセスしてみる。 f:id:pslabo:20170508145748p:plain

とりあえずサービスは止まったようだ。これで安心してよいのかどうかはイマイチ分からんけど。

AWSやGCEの無料枠でmastodonを立てるための情報収集

とりあえずのメモ。とは言っても、すでに誰かがやっていることの後追いでしか無いわけだが。

ポイントは、無料枠のインスタンスではビルド時のメモリが足らんので、スワップを確保せねばならんことだろうか。

リファレンスの情報は、たとえばこんなあたり。

qiita.com

translucens.hatenablog.jp

ただしDockerで立てるのは内部構造がわかりづらい。そういう意味では、こちらの記事の方が参考になるかも。 https://lithium03.info/mastodon/index.html

自分がやってみた場合の手順は別途ログをまとめる予定。とりあえずはDockerで平文のサーバが稼働するところまでは来ている。あとはSSL/TLSの処理をLBに載せるのか、それとも自力で扱うか。自力で扱うにしても、Dockferの中のWebサーバでやるのか、それともDockerの外側にreverse proxyを立てるのか、など、方法はいろいろ。

Ubuntu 16.04LTS に入れておきたいパッケージのメモ

完全に自分用のメモ。思いついたら追記する。

汎用的に使いそうなパッケージ

sudo apt install jq nkf dos2unix clang gcc vim fish

説明は省略。

Delphi for LInux の必須パッケージ

RAD Studio/Delphi 10.2 Tokyo Enterprise 以上では Linux 向けのコンパイラが含まれるけど、それを利用する場合の必須パッケージを記しておく。

なお、Embarcadero の evangelist な方々の手順には joe が入っているけど、これは要らんと思う。サーバ屋が joe とか使わないでしょ。せいぜい、vimemacs 。また、同様の理由で p7zip-full も要らないはず。そもそも p7zip が必要な状況が良くわからん。アーカイブ作ったり展開したりするなら必要だけど、Delphi for Linux のビルドでそんな作業は無いはず。

sudo apt install wget curl build-essential zlib1g-dev libcurl4-gnutls-dev

WindowsでIPv6を無効化したり有効化したり

単なるメモ。

IPv6 を無効化したらDelphi/C++BuilderLinux版PAServerがWindows10 1703 Creators Update の Bash on Windows で動かないかな、と思ったので試してみたけど変化なし。

https://support.microsoft.com/ja-jp/help/929852/how-to-disable-ipv6-or-its-components-in-windows