2020/07/20

UniFi Controller 5.13.32 on Debian 10.4

I installed UniFi Controller 5.13 on Debian 10.4. Here is the instruction from Ubiquiti but it is a bit old now.

https://help.ui.com/hc/en-us/articles/220066768-UniFi-How-to-Install-and-Update-via-APT-on-Debian-or-Ubuntu


Below is what I did to install UniFi Controller 5.13.32 on Debian 10.4.


Debian 10.4 (VM)

  • Installer image: debian-10.4.0-amd64-netinst.iso
  • CPU:1
  • RAM: 2GB
  • HDD: 10GB (Swap:2GB)
  • Software selection: SSH server + Standard system utilities

Set static IP address

# vi /etc/network/interfaces
auto enp0s4
iface enp0s4 inet static
        address 192.168.20.5/24
        gateway 192.168.20.1
# systemctl restart networking

Install MongoDB 3.6

UniFi requires MongoDB 3.6 but Debian 10 installs 4.x. It needs to use Debian 9/Stretch's package. Gnupg is required by apt-key.

# apt install gnupg

# wget -qO - https://www.mongodb.org/static/pgp/server-3.6.asc | apt-key add -

# echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/3.6 main" | tee /etc/apt/sources.list.d/mongodb-org-3.6.list

# apt update

# apt install mongodb-org

# mongo --version

MongoDB shell version v3.6.18

# systemctl start mongod

# systemctl status mongod

# systemctl enable mongod


Install Java 8

UniFi requires Java 8, but it is not available for Debian 10 (yet? never?). And so using Stretch again.

# echo "deb http://ftp.nl.debian.org/debian stretch main" > /etc/apt/sources.list.d/stretch.list

# apt update

# apt install openjdk-8-jre-headless


Install UniFi Controller

Now, you can install UniFi controller.

# apt-get install ca-certificates apt-transport-https

# echo 'deb https://www.ui.com/downloads/unifi/debian stable ubiquiti' | tee /etc/apt/sources.list.d/100-ubnt-unifi.list

# wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ui.com/unifi/unifi-repo.gpg

# apt update

# apt info unifi

Package: unifi

Version: 5.13.32-13646-1

Priority: optional

Section: java

Maintainer: UniFi developers <unifi-dev@ubnt.com>

Installed-Size: 231 MB

Provides: unifi-controller

Pre-Depends: debconf (>= 0.5) | debconf-2.0

Depends: binutils, coreutils, adduser, libcap2, curl,

 mongodb-server (>= 2.4.10) | mongodb-10gen (>= 2.4.14) | mongodb-org-server (>= 2.6.0),

 mongodb-server (<< 1:4.0.0) | mongodb-10gen (<< 4.0.0) | mongodb-org-server (<< 4.0.0),

 java8-runtime-headless, jsvc (>=1.0.8), logrotate

Conflicts: unifi-controller

Replaces: unifi-controller

Homepage: http://www.ubnt.com/unifi

Download-Size: 128 MB

APT-Sources: https://www.ui.com/downloads/unifi/debian stable/ubiquiti amd64 Packages

# apt install unifi

# systemctl start unifi

# systemctl status unifi

# systemctl enable unifi


Disk Usage after installation (w/o any UniFi device)

$ df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda2       7.4G  2.4G  4.6G  35% /

/dev/sda1       511M  5.1M  506M   1% /boot/efi


Memory Usage after installation (w/o any UniFi device)

MiB Mem : 1994.8 total,  315.2 free,  548.5 used, 1131.1 buff/cache
MiB Swap: 2046.0 total, 2046.0 free,    0.0 used. 1279.1 avail Mem

  PID USER         VIRT    RES    SHR %MEM   TIME+ COMMAND
 5610 unifi     3054.3m 273.2m  22.8m 13.7 1:40.45 Java
 5649 unifi     1020.9m 126.3m  38.5m  6.3 1:00.50 mongod
 2438 mongodb    963.4m 105.6m  32.0m  5.3 0:49.68 mongod
 5588 unifi     2895.0m  79.3m  21.0m  4.0 0:14.20 launcher


2020/07/15

FreeNASのアップデート: 9.2.1.9 → 11.3-U3.2

自宅のファイルサーバとしてFreeNASを長い間使っているけれど、特に不便がないのでアップデートをさぼってた。2GBのサイズで足りる9.2.1.9が、産業用のDOM (disk on module)を使っていたので、トラブル知らずで今まで動いていた。
USBのピンヘッダに直接差すDOM

ハードウェアも今だにML110 G6が現役。通電時間を見たら、3000日近かった。
2960日÷365=8.1年

小さいサーバをVMで走らせたくなったので、メモリを8GBから16GBに増設して、FreeNASも最新にしてbhyveでVMを走らせることにした。アップデートの方法を調べてみると、メジャーバージョン毎に順番にアップデートすれば良いみたい。

まずは9.3だけど、最低8GBのディスクが必要。似たようなDOMの8GBとか16GBとかがないかなぁと探してみたけれど、最近はSATAのDOMが主流みたい? SATAに繋ぐなら余っている古いSSDで十分だろうということで、古いPlextorのSSD、PX-128M2Pを引っ張り出してきた。

具体的な手順は、
  1. 設定ファイルの保存
  2. シャットダウン
  3. USBのDOMを外して、SSDを接続
  4. 9.3のインストーラで起動して、SSDにインストール
  5. Web GUIを使って保存した設定ファイルをアップロード
  6. (自動で再起動)
  7. 今まで通り動作することを確認
"今まで通り動作することを確認"が終るまでzpoolのアップデートさえしなければ、何か問題があっても、元のUSB DOMで起動すれば元通りなので安心して作業できる。そして9.3にアップデートすれば、あとはWeb GUIからアップデートできるので簡単な作業。

9.3からは途中のバージョンを飛ばして11.3にアップデートできるという記述も見つけたけれど、実際に試してみると自分の環境ではうまくアップデートできなかった。なので、地道に一つづつアップデートしていった。
  1. 9.2.1.9
  2. 9.3 (9.3-STABLE-201506292332) ←自分がダウンロードしたバージョン
  3. 9.3.1 (9.3-STABLE-201604150515)
  4. 9.10.2-U6
  5. 11.1-U7
  6. 11.2-U8
  7. 11.3-U3.2
自分がダウンロードした9.3より新しい9.3.1があったみたいで、最新をダウンドードしていれば不要な1ステップが増えているけれども、9.3以降はWeb GUIからクリックするだけでアップデートができる。

11.3までアップデートできたら、今まで通りに動作していることを確認した後、zpoolをアップデートして完了。これで本来の目的のVMを走らせることができる。

2020/07/14

Dell Latitude 3480 Refurbished

子供にノートPCを買ったら自分も新しいのが欲しくなったので、Inspiron 11 3147を買い替えることにした。子供と同じHPのでいいかと思ったけれど、もう在庫がなかったのでちょうどセールだったDell Latitude 3480のrefurbished modelを買ってみた。
  • CPU i3-7100U / HD Graphics 620
  • 14インチ フルHD
  • RAM 8GB (2スロット、換装可)
  • M.2 128GB (マニュアルによるとSATAにアダプタを介して付けているみたい)
恐らくだけれども、企業向けにCTOされたモデルで、リースが切れたのでrefurbishedされて出てきたのだと思う。WindowsはPro版だし、SIMカードスロットが付いてる。外観はまぁまぁ綺麗なのだけど、天板にシールが貼られていた痕や何箇所か擦傷があった。でも、キーボード&タッチパッドのパーツは取り替えたのか新品同様だった。
シールの痕が右上に…
HPのrefurbishedが優秀なのか、たまたま子供に買ったモデルが当りだったのかは分らないけれども、refurbishedの場合は外観が新品同様である期待はしないほうが良いみたい。メーカーによって基準があったりするのだろうか?

NZ$800が40% offでNZ$480だったので、このくらいの擦傷は許容範囲内だし、むしろなぜそんなに安いのかったのかちょっと心配だったけど、なんとなく納得。機能的には問題なく動いているけれど、念の為Dellのサービスタグでチェックしたらメーカー保証も来年まできちんと付いていたので、とりあえず安心。

でも、届いた箱にはACアダプタが入っていなかった… 幸いXPSのアダプタが使えたのでそのままセットアップして、入っていなかったACアダプタについては販売店に問い合わせ中。

5年前に買ったInspiron 11 3147/Celeron N2830と比べるとやはりCPUの処理速度に雲泥の差がある。何かがバックグラウンドで動くと全てが遅くなってしまっていたけれど、今は快適。Inspironでゲームをするのは無理だったけど、このLatitudeならそんなこともないので、子供と一緒にコタツでゲームができるようになった。

キーボードの感触も、InspironのはXPSに比べるとイマイチな感触だったけど、このLatitudeのはXPSの感触に近くて良い感じ。最新機種に比べるとスクリーンの額縁が太くて見た目は正直古くさいけど、子供に買ったHP 14-df0023clと同様にRAMとSSDは自分で換装できるので、あと数年くらいはリビングルームPCとして使えそう。

2020/07/09

Star Trek CATAN

CATANのStar Trek版を見つけてしまったので買ってしまった。

といっても買ったのは2ヶ月ほど前。

CATANは子供向けのJunior版というのを持っていたのだけれども、子供たちの食い尽きはあまりよくなかった。たぶん10回程度しか遊んでいないと思う。

なので、遊ぶかどうか少し不安だったけど、それは杞憂に終わって、買ってから一週間くらいは文字通り毎日遊んだ。さすがに2ヶ月経ったので今は落ち着いたけれど、それでも雨の降っている週末に遊んだりしている。

プレイ時間は1時間くらい。サイコロを振ることによって得られるリソースの量が大きく影響するので、運の要素も多いけれど、戦略要素は無視できないし、リソースのトレードで甘くしていると、子供相手でも勝てない。

長く遊べるゲームだと思うけど、本家のCATANのように拡張セットはないので、今度は本家のCATANを買ってみようと思う。

子供たちは一度もStar Trekを見たことがないのでStar Trekの話をしていたら、クリンゴン語に興味を持った上の子がDuolingoでクリンゴン語の勉強を始めた。まぁ、すぐに飽きたみたいだけれど、クリンゴン語で会話する子供達を見たかった気もする。

2020/07/07

HP 14-df0023cl Refurbished

子供たちが使っているDell XPS L502Xが2台とも調子が悪くなってきたので、買い替えることにした。条件としては、あと数年は学校で使える + 2Dや古い3Dゲームがそこそこ動くくらいが目安。具体的には、
  • CPUはi3以上
  • スクリーンは15インチ以下
  • 解像度はフルHD以上
  • メモリは8GB、換装/増設できるなら4GBでも可
  • SATAまたはM.2
ぐらいのスペックで探してみた。

最初は新品で探していたけれど、2台買うとなると予算的に厳しくなる。1台だけ買って交代で共有してもらうことも考えたけれど、オンラインの協力ゲームを3人で遊べなくなるのは、ちょっと寂しい。かと言って解像度をHD(1366x768)に下げて、CPUもCeleronかPentiumで我慢すれば、予算的に収まるけれど、結局は安物買いの銭失いになりそう。

中古で我慢するかと思ったけれど、直接状態を見れないオンラインで買うのはできるだけ避けたいので、新品と中古の中間的な? refurbished / remanufactured モデルを買ってみた。

買ったのはHPのdf-0023clというモデル。スペックは、
  • Core i3-8130U / UHD Graphics 620
  • 14インチ フルHD
  • RAM 8GB (2x4GB 換装可)
  • M.2 128GB (マニュアルによるとSATAも付いているみたい)
となっていて条件にピッタリ。CPUがi7(L502Xはi7-2630QM)からi3に下ったけれど、ベンチマーク的にはほぼ同じで、むしろシングルスレッドのスコアはi3の方が上になっている。GPUもL502XはGT540Mが入っているけれども、i3-8130U/UHD Graphics 620の方が性能が上みたい。

"Certified Refurbished"と書かれた箱に、中身はノートPC本体、ACアダプターとA4一枚の紙だけが入っていた。

余計な物(ゴミ)が入ってない分、普通の新品よりいいかも。外観もきれいで、新品と何が違うのか分らないくらい。どうしても欲しいものが新品でないと手に入らないとかではない限り、refurbishedでも十分な気がする。

ただ、2台買った内の1台がセットアップ中のネットワークの認識で失敗した。ハズレを引いたか? と思ったけれど、そのままローカルアカウントでセットアップを継続したらネットワークにも問題無く接続できた。たまたまかな? と思いつつ、ビルド1909までアップデートした後に、念の為一旦リセットしてセットアップからやり直したら特に問題無くセットアップできた。(リセットすると前のビルド/バージョンのシステム ファイルを消してくれるので一石二鳥。)

キーボードの感触はノートPCにしては悪くないほう。必要ならRAMもM.2 SSDも自分で換装できるし、日常用 + ちょっとしたゲーム用として長く使えそう。

2020/07/03

Samba and System error 67

I was banging my head against a wall for a few days.

I installed and configured Samba (4.11) on CentOS 8 and one shared directory works okay, but the other did not work. 'net use' command returned 'System error 67'.
System error 67 has occurred.
The network name cannot be found.
Because the other shared directory is working, it is not a problem of a hostname, and of course, I triple checked the shared name spelling.

To make a long story short, the cause is SELinux's security context of the parent directory.

While configuring, I run the following command for the shared directory.
chcon -t samba_share_t /a/b/c
And check the result by 'ls -Z'.
drwxrwxr-x. user group system_u:object_r:samba_share_t:s0  /a/b/c
But somehow the security context of the parent directory was something like this.
drwxr-xr-x. user group unconfined_u:object_r:mnt_t:s0      /a
drwxr-xr-x. user group system_u:object_r:unlabeled_t:s0    /a/b

Parent directories of other working shared directories have system_u:object_r and usr_t or var_t. I changed those using chcon command, then the system error 67 was gone.