TrueOS Discontinuation

TrueOSはOSコア部分に特化して、Project Tridentがデスクトップ部分を開発していくみたいな話だったが、結局打ち切りとなってしまったようだ。

www.truenas.com

そしてなんとProject TridentはVoid Linuxベースになっている。

project-trident.org

その後デスクトップBSDとして、FuryBSDというのが出てきているらしい。

www.furybsd.org

FuryBSD pays homage to desktop BSD projects of the past like PC-BSD and TrueOS with its graphical interface and adds additional tools like a live, hybrid USB / DVD image.

なかなか厳しいですな。

note.com

しかし、OSの機能として比較した時、もはや2019年の現在ではFreeBSDLinuxの間には大きな差はなく、単純にコンパイル済みのバイナリコードを使って必要なところだけソースコードを検証するという用途であれば、FreeBSDの利点は薄れる。また、PortsコンパイルするだけでもLLVMコンパイラを3種類(4, 5, 6)用意しなければならないなど、実用的なシステムとして維持することは容易ではなかった。バイナリのpackageも結局Portsとの整合性を取らなければならないという問題があり、UbuntuのaptやmacOSのHomeBrewのような環境構築というわけにはいかなかった。

HP Envy 360を買った

メインとしてはずっとx220を使っていて、生きていけているのだけれど、ちゃんとしたWindows10のマシンが無い状態だったので買うことにした。

jp.ext.hp.com

いまのところスペックとしては充分。 右側のキーが少し打ちづらいのと、タッチパッドもスクロールに2点を使う方式は初めてなので慣れが必要そう。 見た目も気に入ったけど、中開けて部品交換は難しそうなので短命かもしれないなあ。

MongoDB 4.2 Release Notes翻訳

4.1系が順調に月1でリリースされていて、MongoDB Worldでのセッションの一覧にもいくつか「4.2では・・・」のような説明が含まれている。mongodb.comのブログ記事 

www.mongodb.comの中でも、

We plan to ship global transactions with MongoDB 4.2 later this year*(ただしSafe Harbor Statement参照)

みたいな感じになっている。

RC版のようなものは出ていないので、MongoDB World期間中に発表されるかどうかはまだ分からないけれど、おそらくその付近で出てくる可能性があるのでは、と推測して、ちょっと早いがRelease Notesを翻訳することにした。

こちら。

qiita.com前回と同じくgithubにも置いている。

MongoDB-Documents-JP/MongoDB-4.2-ReleaseNotes-JP.md at master · satokano/MongoDB-Documents-JP · GitHub

正式リリースまでにRelease Notesにも変更があったら、できるかぎり追随したいと思っている。

MongoDB 4.0 互換性の変更

訳した。「互換性への変更」って直訳したけど・・・「変更点」とか「影響」でもいいかな。
MongoDB 4.0 での互換性の変更
MongoDB 4.0 での互換性の変更 - Qiita

githubにも元ネタをおいた。
https://github.com/satokano/MongoDB-Documents-JP/blob/master/4.0-compatibility.md

おおよそ当然の流れというか、いまさらという感じのものが多い。

  • MONGODB-CRなど認証系、x.509、TLS 1.0、稼働したままバージョンアップするのでなければ、実際あまり影響ないのでは。
  • MMAPv1非推奨、pv0廃止、マスタースレーブレプリケーション廃止、--nojournal廃止(当然・・・)

ちょっと気になるのは、このタイミングで$isolatedが廃止になったことぐらいかな。3.6では生きていて3.6.1でdeprecatedになって、4.0で廃止というのはちょっと急な感じ。おそらく実装の都合で廃止せざるを得なかったのだと想像するが。
Compatibility Changes in MongoDB 3.6 — MongoDB Manual
3.4 $isolated $isolated — MongoDB Manual
3.4 Read Isolation, Consistency, and Recency — MongoDB Manual
3.6 Read Isolation, Consistency, and Recency — MongoDB Manual


あとmongoperf廃止はなぜ?という感じ。これも何か内部の実装に依存していて、廃止せざるを得なかった?

mongolite on FreeBSD

R言語用のMongoDBドライバとして、mongoliteというものがある。比較的新しくて、2018年6月現在アクティブに開発されているらしい。

ただしどうやらLinux/Windows/Macを想定しているようで、FreeBSDだとinstall.packageするとエラーになる。

install.package("mongolite")
...
cc -shared -L/usr/local/lib/R/lib -L/usr/local/lib -Wl,-rpath=/usr/local/lib/gcc6 -L/usr/local/lib/gcc6 -B/usr/local/bin -fstack-protector -o mongolite.so bson.o client.o collection.o cursor.o hex.o mongo_log.o reader.o utils.o -Lmongoc -lstatmongoc -Lbson -lstatbson -lsasl2 -L/usr/local/lib -lssl -lcrypto -lresolv -lz -L/usr/local/lib/R/lib -lR
/usr/local/bin/ld: -lresolv が見つかりません
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake: *** [/usr/local/lib/R/share/make/shlib.mk:6: mongolite.so] エラー 1
ERROR: compilation failed for package ‘mongolite’

* removing ‘/usr/home/okano/R/amd64-portbld-freebsd12.0-library/3.4/mongolite’

 ダウンロードされたパッケージは、以下にあります 
        ‘/tmp/RtmpPqW3nN/downloaded_packages’ 
 警告メッセージ: 
 install.packages("mongolite") で: 
   パッケージ ‘mongolite’ のインストールは、ゼロでない終了値をもちました 
> 

libresolvが見つからない、となっているが、このライブラリはBSD系には存在しないようで、configureにもそれらしいコードが入っている。

# Linux, MacOS and Solaris use libresolv
if [[ "$OSTYPE" != *"bsd"* ]]; then
  PKG_LIBS="$PKG_LIBS -lresolv"
fi

ただ、FreeBSDの場合、OSTYPEが"FreeBSD"となりBSDが大文字なので、ここの条件に引っかからない。とりあえず小文字に揃えて回避してみる。

if [[ "${OSTYPE,,}" != *"bsd"* ]]; then
  PKG_LIBS="$PKG_LIBS -lresolv"
fi

/tmpに残っているディレクトリ内で、再インストール。

[okano@truex220] /tmp/RtmpPqW3nN/downloaded_packages% R CMD INSTALL --build mongolite
...
cc -shared -L/usr/local/lib/R/lib -L/usr/local/lib -Wl,-rpath=/usr/local/lib/gcc6 -L/usr/local/lib/gcc6 -B/usr/local/bin -fstack-protector -o mongolite.so bson.o client.o collection.o cursor.o hex.o mongo_log.o reader.o utils.o -Lmongoc -lstatmongoc -Lbson -lstatbson -lsasl2 -L/usr/local/lib -lssl -lcrypto -lz -L/usr/local/lib/R/lib -lR
installing to /usr/home/okano/R/amd64-portbld-freebsd12.0-library/3.4/mongolite/libs
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* creating tarball
packaged installation of ‘mongolite’ as ‘mongolite_1.5_R_amd64-portbld-freebsd12.0.tar.gz’
* DONE (mongolite)
[okano@truex220]

入ったっぽい。つなげてみる。

> library(mongolite)
> con <- mongo("・・・・", url = "mongodb://・・・・")

いけてる模様。

Windows10から古いLinkStationのファイル共有にアクセスできない

Windows 10 Fall Creators Update以降、SMB1がデフォルトではインストールされなくなったらしい。

Windows 10ミニTips(47) Windows 10で古いNASにアクセスできない症状の処方箋 | マイナビニュース

システム屋さんの忘備録 Windows 10 Fall Creators Update適用後にNASに接続できない