WannaCrypt対策としてWindowsXP向けにリリースされたパッチを入れてみる
WannaCrypt向けのパッチがWindowsXP向けにもリリースされたということなので、ソフトウェアの旧バージョンの動作確認用に仮想マシンで作っておいたWindowsXPに適用しておくことにする。
なお、このXPはVMware WorkstationでNATのネットワークに接続しているので、LANの他のノードからのパケットは基本的に届かない構成です。また、古いソフトウェアの検証のみに使っており、普段はシャットダウンした状態で保存している環境です。
では、まずは日本語の一次情報をチェック!
なるほど、Windows Update カタログ Microsoft Update Catalog で配布している、と。ならば実際にアクセスしてみよう。
Windows XPのInternet Explorer8では表示できなかった!
ではWindows Updateを試してみると……
そもそもWindowsUpdateにもつながらんやんけ! 今は Windows Update も封じられているんですかねえ。それともたまたま?
というわけで、別のマシンでWindows Updateカタログにアクセスしてみよう。
これやな。
ダウンロードを押すと、こんなページが出る。
これをダウンロードして実行すればよいわけですね。
というわけで、一応対策完了。
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 をフルフルにインストールした手元の環境では、ディスクをコレくらい消費します。
これはつらい。
そこで、NTFS圧縮をピンポイントで設定して、ディスクの空きを増やすことを試みてみます。
実施後の状態はこんな感じ。おお、なんと空き領域が20GB以上も増えました。
違いをもう少し掘り下げてみる。
何がどのように変わっているかというと……NTFS圧縮を適用する前はこんな状態。
NTFS圧縮をかけたらこんな状態。
つまり、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でこういうのを見かけたので、
@piyokango ブラウザにttp://127.0.0.1:16992/たたいて管理画面でてきたら危険。サービス止めましょう。
— Takayuki Kurosawa (@Ta_ka_y_u_ki) 2017年5月8日
ためしに 127.0.0.1:16992 してみたら、
はい、アウトですね。
ここらへんの記事を読むと、Intelが配布するツールで本件の影響の有無を確認できるとか。
ダウンロードのページはこちらだそうです。 downloadcenter.intel.com
そこでダウンロードしてツールを実行してみた。
はい、完全にアウトですね、本当にありがとうございます。さて、このツールで案内されているURLの記事を見ると、OEMベンダー経由でファームウェアのアップデートの提供を受けるか、または INTEL-SA-00075 Mitigation Guide を読んで軽減策を実施しろ、と書いてある。
しかし手元のの機材向けにはファームウェアのアップデートがリリースされていないようなので、軽減策を実施することにしてみる。英語の文書をとりあえず流し読みしてみると、LMS (Local Managemanet Service) の機能を止めるには、以下のように実行しろ、と書いてあるようだ。
sc.exe config LMS start=disabled
なお、オリジナルの文書は単に sc と書かれているけど Windows10 1703 以降のように PowerShell がデフォルトな環境では sc だと別の処理が動いてしまうから、この手の文書には拡張子を含めたコマンドを書いて欲しいものだと思う。
さて、これを実行したら再起動して、前述のURLに再度アクセスしてみる。
とりあえずサービスは止まったようだ。これで安心してよいのかどうかはイマイチ分からんけど。
AWSやGCEの無料枠でmastodonを立てるための情報収集
とりあえずのメモ。とは言っても、すでに誰かがやっていることの後追いでしか無いわけだが。
ポイントは、無料枠のインスタンスではビルド時のメモリが足らんので、スワップを確保せねばならんことだろうか。
リファレンスの情報は、たとえばこんなあたり。
ただし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 とか使わないでしょ。せいぜい、vim か emacs 。また、同様の理由で p7zip-full も要らないはず。そもそも p7zip が必要な状況が良くわからん。アーカイブ作ったり展開したりするなら必要だけど、Delphi for Linux のビルドでそんな作業は無いはず。
sudo apt install wget curl build-essential zlib1g-dev libcurl4-gnutls-dev
WindowsでIPv6を無効化したり有効化したり
単なるメモ。
IPv6 を無効化したらDelphi/C++BuilderのLinux版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