TrueOS Discontinuation
TrueOSはOSコア部分に特化して、Project Tridentがデスクトップ部分を開発していくみたいな話だったが、結局打ち切りとなってしまったようだ。
そしてなんとProject TridentはVoid Linuxベースになっている。
その後デスクトップBSDとして、FuryBSDというのが出てきているらしい。
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.
なかなか厳しいですな。
しかし、OSの機能として比較した時、もはや2019年の現在ではFreeBSDとLinuxの間には大きな差はなく、単純にコンパイル済みのバイナリコードを使って必要なところだけソースコードを検証するという用途であれば、FreeBSDの利点は薄れる。また、PortsをコンパイルするだけでもLLVMのコンパイラを3種類(4, 5, 6)用意しなければならないなど、実用的なシステムとして維持することは容易ではなかった。バイナリのpackageも結局Portsとの整合性を取らなければならないという問題があり、UbuntuのaptやmacOSのHomeBrewのような環境構築というわけにはいかなかった。
HP Envy 360を買った
メインとしてはずっとx220を使っていて、生きていけているのだけれど、ちゃんとしたWindows10のマシンが無い状態だったので買うことにした。
いまのところスペックとしては充分。 右側のキーが少し打ちづらいのと、タッチパッドもスクロールに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を翻訳することにした。
こちら。
正式リリースまでに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にアクセスできない症状の処方箋 | マイナビニュース