追記

meta's blog - The Power To Serve

筆者について

FreeBSDを通じてOSSにささかな貢献を。HTTPS化したいとは思っているんです…

OSS活動をご支援いただける方を募集しています


2020-09-18 NTT西日本の光ポータブルLTEを解約した [長年日記]

NTT西日本の光ポータブルLTEを解約した

2020年6月8日、NTT西日本が光ポータブル各種のサービス終了を発表しました。

光ポータブルというのは、NTT西日本がモバイルWi-Fiルーターをレンタルするサービスで、東日本でも同様のサービスを提供していましたが、一足先に終了しています。

光ポータブルLTEで提供されていた機種はPWR-N1000という、NECのMR02LNのOEM機種(NTT西日本向け特別仕様)で、2013年6月発売の2020年となってはかなり古い機種です。

既にメーカーでの生産は終了しており、NTT向けの保守部品としての提供も困難になったためサービス終了となったようです。2014年から契約していて、MR05LN相当の機種にリニューアルされるのではないかと期待してずっと契約していたのですが、リニューアルされることなくサービス終了となってしまいました。

さて、注目すべきは「ご利用機器の無償譲渡について」の部分です。サービス終了時点まで契約していた顧客には機器を無償譲渡するとあります。

現在ご利用いただいている「光ポータブル」機器については、サービス終了後にお客さまへ無償で譲渡いたします。譲渡した機器を用いて、これまでどおりご家庭等で無線LANルーターとしてご利用いただけます。

無償譲渡を行う条件については以下のとおりとなります。

  • 2020年9月30日時点まで「光ポータブル」(3G)をご利用中のお客さま
  • 2022年9月30日時点まで「光ポータブル LTE」をご利用中のお客さま

光ポータブルLTEの場合は2020年9月30日までサービスが提供されるので、あと2年は契約していることができるのですが、これまでの経験上、サービス終了に伴う機器の無償譲渡が発表された場合、サービス終了前に解約してもNTTは機器は回収しないことが多いです。回収するにも送料がかかりNTTが負担するので、いずれは無償譲渡する予定のも回収コストをかけたくない気持ちはわかります。

機器が回収されるかどうかは契約期間にもよるかもしれませんが、私の場合は2014年から契約していて、300円/月(税別)×12ヶ月×6年= 21600円 普通に機器を購入できるくらいの金額を払ってきたので回収されないと見込みました。

7月21日に電話で解約の申し込みをすると、後日契約住所宛に返却袋を送付するという旨を伝えられたのですが、2か月弱経った9月18日現在返却袋は送られてきていません。思惑通りです。

もちろん、解約したことにより故障時の修理・交換を受けることはできなくなりますが、サービス終了より2年早く解約したことで 330円/月(税別)×24ヶ月=7920円 が浮いた計算になります。

光ポータブルLTEの機器自体は、旧機種ですがまだまだホテルに宿泊したときのWi-Fi APとして使用するつもりです。


2020-06-29 [長年日記]

SoftEther 通信スループット測定サーバの構築方法 (FreeBSD)

私がメンテナンスしているSoftEtherVPNのFreeBSDパッケージで、通信スループット測定ツール(TrafficServer)の構築ができるようになったので構築方法を紹介します。

FreeBSDにおいては、3つのバージョンのSoftEtherVPNが利用できます。以下のバージョンから、お好みのものを選択してインストールしてください。

  • softether
  • softether-devel
  • softether5

※ Raspberry Pi など、非x86プロセッサアーキテクチャの環境で利用する場合は softether5 をインストールしてください。

# pkg install softether

以下のコミットで対応しています。pkg install する場合は、2020年7月以降にインストールすると、TrafficServer対応版がインストールできます。

通信スループット測定サーバを実行するには、以下のようにして softether_trafficserver サービスを実行します。

# sysrc softether_trafficserver_enable=yes
# service softether_trafficserver start

これで通信スループット測定サーバが実行されました。サーバは9821番ポートで待ち受けています。あとは、GUIの測定ツールから当該サーバを指定すると通信スループットをテストできます。

SoftEtherVPN 通信スループット測定ツール SoftEtherVPN 通信スループット測定結果

あるいは、CLIツールを使用して以下のように測定を実行することも可能です。

$ vpncmd /TOOLS /CMD:TrafficClient localhost
(snip)
通信スループット測定ツールによる測定結果  
  
項目名 | 通常の表示| 省略表示  
----------------------------------+--------------------+------------  
測定に使用した時間 | 00:00:15.010|  
Ethernet フレーム用にデータ補正 | はい|  
ダウンロード方向の通信データ量 |25,610,593,346 Bytes|25.61 GBytes  
アップロード方向の通信データ量 |25,615,098,993 Bytes|25.62 GBytes  
合計通信データ量 |51,225,692,339 Bytes|51.23 GBytes  
中継機器入出力合計スループット算出| いいえ|  
ダウンロード方向の平均スループット| 13,649,883,195 bps| 13.65 Gbps  
アップロード方向の平均スループット| 13,652,284,606 bps| 13.65 Gbps  
合計平均スループット | 27,302,167,801 bps| 27.30 Gbps  
コマンドは正常に終了しました。

IPv4/IPv6 両対応のクラウドなどに設置して、PPPoE/IPoEの速度比較に使うといいかもしれません。


2020-06-27 NCロードスター エアコンガス補充 @104006km [長年日記]

NCロードスター エアコンガス補充 @104006km

夏本番を前に、ロードスターのエアコンが冷えなくなっていたことに気がついたのでディーラーで点検とガスの補充をしてもらいました。

ガス漏れの点検をしたものの明確なガス漏れの箇所は特定できず、10年かけて微量ずつガス漏れしていたようで、ひとまずガス補充をして様子見ということになりました。

エアコンガス補充明細

明細を見ると分かる通り、低圧側が 0.85MPa とかなり半分近く低い数値になっていました。停車中は冷えにくいのは仕方ないですが、走行中十分に風があたっている状態でもぬる~い状態で夏本番を乗り切れないと危惧していましたが、ガス補充後は十分に冷えるようになりました。

ガス補充と同時に、WAKO'S パワーエアコンプラスを入れてもらいました。冷えるようになったのはガス補充の効果なので、PAC+の効果はよくわかりません。


2020-05-19 ruby-buildのバージョンリスト表示を整理した [長年日記]

ruby-buildのバージョンリスト表示を整理した

すでにお気づきの方もいるかもしれませんが、昨日リリースされた ruby-build v20200518 では rbenv version -l で表示されるインストール可能なRubyバージョンのリストが大きく整理しされ、短くなりました。

これは私が2020年に入って取り組んでいたもので、多くの人にとって使い勝手の向上となる変更であると信じています。ここでは、当該機能を実装したプルリクエスト rbenv/ruby-build#1402 で改善した内容を解説します。

改善したこと: rbenv install -l の出力を整理した

ruby-build v20200518 以降では、rbenv install -l で出力されるバージョンのリストが以下のように大変スッキリした短いものになりました。以下のようなルールで、現在サポートされている系列の最新バージョンが表示されます。

  • MRIはセキュリティメンテナンス期間を含むサポート中の各マイナーリリースの最新を表示
  • それ以外のRuby実装は最新バージョンのみ表示
$ rbenv install -l
2.5.8
2.6.6
2.7.1
jruby-9.2.11.1
maglev-1.0.0
mruby-2.1.0
rbx-4.15
truffleruby-20.0.0

Only latest stable releases for each Ruby implementation are shown.
Use 'rbenv install --list-all' to show all local versions.

最後の3行は標準エラー出力へ出力されているので、実質的なリスト部分は8行です。

上記のリストに表示されていないバージョンも、非表示になっているだけでインストールは可能です。

$ rbenv install 2.7.0

背景: rbenv install -l 長すぎ問題

本機能を実装するに至った背景を解説します。

従来のruby-buildでは、ruby-buildを使ってインストールできるすべてのバージョンのRubyを表示していました。

$ rbenv install -l | head -n 5 
1.8.5-p52
1.8.5-p113
1.8.5-p114
1.8.5-p115
1.8.5-p231
(中略)
truffleruby-19.2.0.1
truffleruby-19.3.0
truffleruby-19.3.0.2
truffleruby-19.3.1
truffleruby-20.0.0

過去のすべてのバージョンが含まれるリストは大変長くなっていて、2020年5月19日現在で489行にもなります。

$ rbenv install -l | wc -l
     489

このため、多くの人はruby-buildでインストールできるRubyのリストを、lessに渡すか、ターミナルをスクロールバックする等して、500行弱のリストからインストールしたい目的のバージョンを探していたのではないでしょうか。

あるいは、リストを見ずに rbenv install 2.7.1 などと実行して、該当するバージョンがなければruby-buildのアップデートをするという方もいるかもしれません。

rbenv install -l で表示されているリストが過去のすべてのバージョンを含んでいることにより、以下のような問題がありました。

  • 多くの人は最新あるいは少し前のバージョンのRubyしかインストールしない
  • ほとんどの人によって必要とされていないバージョンがリストの大部分を占めている
  • 必要なバージョンを見るためにスクロールが必要で煩わしい
  • バージョンのリストは将来にわたって際限なく増え続ける

ruby-buildでインストールできるRubyのバージョンが、50や100だった頃はすべてのバージョンを表示していてもよかったのですが、500近くになっている現在では整理が必要ではないかという提案を行いました。

互換性への配慮

ruby-buildをバージョンアップして突然 rbenv install -l の出力が短くなっているとびっくりするでしょうから、サポート中のリリースのみを表示している旨のメッセージを表示するようにしました。また、メッセージはリストを machine readable に保つため標準エラー出力へ出力しリスト自体と混ざらないようにしています。


Only latest stable releases for each Ruby implementation are shown.
Use 'rbenv install --list-all' to show all local versions.

過去のバージョンを含んだすべてのバージョンを表示したい場合は rbenv install --list-all というオプションで実行します。大文字の -L というオプションはエイリアスです。

$ rbenv install --list-all / -L

1.8.5-p52
1.8.5-p113
1.8.5-p114
1.8.5-p115
1.8.5-p231
(中略)

ruby-build コマンドはrbenv installよりスクリプトの中でとして実行されることが多いため、こちらの動作は変更せず --list オプションを追加してサポート中のバージョンのみを表示するようにしました。

まとめ

ruby-build v20200518 では、以下のようにコマンドの仕様が変更されています。毎回 less を挟んだりスクロールするという手間がなくなり、多くの人の「ひと手間」を削減する改善となっているはずです。

コマンド オプション バージョンリスト 仕様変更 新規追加
rbenv install -l / --list サポート中のみ
rbenv install -L / --list-all すべて
ruby-build --definitions すべて
ruby-build -l / --list サポート中のみ

現状MRI以外のRuby実装はマイナーリリースを考慮せず、最新バージョンのみを表示するという実装となっていますが、これは「とりあえずこれでいいだろう」とコミュティティで合意したものです。しかし、強い理由があって決まったものではないので、マイナーリリースまで表示してほしいという要望があれば更に改善の余地はあります。


2020-04-29 リトルカブシート張替 [長年日記]

リトルカブシート張替 @27100km

シートを張替えました。吸盤も終わっていたので、合わせて交換しました。シートはNTBの張り替え用カバーにしました。交換時の走行距離は27100kmくらい。

まずはシートを剥がして、シートベースを洗浄しました。洗浄は食器用洗剤のジョイできれいにしました。

吸盤もついでに交換します。品番は77211-GBJ-830ですが、1個入りの品番なので2個注文する必要があります。古い吸盤を外すときは、シートを分解して裏側からカットすると簡単です。逆に取り付けるときは、シリコンスプレーなどを塗って滑りやすくして力でゴリ押しして押し込みます。

途中をすっ飛ばしますが、タッカーで新しいシートを打ち込んで完成です。上下左右を先に留め、少しずつ伸ばしながら間を埋めるように打ち込んでいくのがポイントです。詳しくはYouTubeに説明動画が多くあるのでそちらを参照するといいと思います。

ついでにサイドカバーのステッカー跡をきれいに剥がしました。

新型コロナウィルスの影響による在宅勤務中のレストアもだいぶ仕上がってきました。みすぼらしかった外見もかなりきれいになりました。

今回の使用パーツ


2020-04-27 [長年日記]

FreeBSD ports 作成: sysutils/mackerel-agent

はてなの提供するサーバリソース監視サービス Mackerel.io のエージェントである mackerel-agent のFreeBSD portsを作成しました。

もともと非公式ながらFreeBSDに対応しているので、素直に作成するだけ。rc scriptは少々手直ししました。

一応インストール方法や使い方を解説しておきます。quarterlyには入れていないので、pkg install できるようになるのは2020年7月以降になります。それまではportsからインストールしてください。

# portmaster -d sysutils/mackerel-agent

or

# make -C /usr/ports/sysutils/mackerel-agent install clean

インストールできたら、/usr/local/etc/mackerel-agent/mackerel-agent.conf を編集してAPIキーを追加します。

$ sudoedit /usr/local/etc/mackerel-agent/mackerel-agent.conf

以下の行にAPIキーを書いておきます。最低限の初期設定はこれだけ。 apikey = "WRITE_API_KEY_HERE"

サービスを有効にして、

# sysrc mackerel_agent_enable=YES
mackerel_agent_enable:  -> yes

サービスを起動する。

# service mackerel_agent start

ログはsyslogに出るようになっています。

# tail -f /var/log/messages
Apr 22 18:22:09 icepick mackerel-agent[76166]: 2020/04/22 18:22:09 main.go:174: INFO <main> Starting mackerel-agent version:0.67.1, rev:, apibase:https://api.mackerelio.com
Apr 22 18:22:20 icepick mackerel-agent[76166]: 2020/04/22 18:22:20 command.go:735: INFO <command> Start: apibase = https://api.mackerelio.com, hostName = example.vmeta.jp, hostID = HOSTIDHOSTID

しばらくすると、mackerel.io のコンソールにメトリクスが表示されているはずです。

GitHub Sponsors

GitHub Sponsors プログラムに参加し、無事に承認されました。ご支援いただけるとうれしいです。


2020-04-18 リトルカブタイヤ交換など @26900km [長年日記]

リトルカブタイヤ交換など @26900km

ここ最近カブの記事が続きますが、コロナウィルスの影響を受けた世の中により、例に漏れず在宅勤務になっています。よって、しばらくカブでの通勤もないので、日曜日の夜までに元通りにしないといけないというスケジュールに追われることなく、あちこちバラしたり直したり、レストアを進めています。

今回はタイヤ交換。左が古いの、右が新しいのです。メーカーはIRC。交換歴は不明ですが、たぶん新車から無交換なのではないかと思います。もし無交換であれば、15年27000kmほど走行した、使い古したタイヤがツイていたことになります(古いタイヤの製造年を見るのを忘れていた!)。

2週間前に交換したいと言っていたやつですね。タイヤ交換は自分でやってできないことはないと思いますが、廃タイヤの処理など面倒くさいのでお店でやってもらいました。部品代+工賃合計で8000円でした。安くはないですが、高くもなく、こんなもんかな?

交換後はしっかりグリップするようになりました。ニュータイヤ気持ちいい。使い古しのタイヤは、乾燥路面で赤信号でのブレーキでも、ちょっと強めに制動をかけるとロックするほどでした。

他にもいろいろレストアしていて、リアキャリアをヤフオクでゲットしたスーパーカブ用に交換したり。裏側の黒い部分はサビ落としして、シャシーブラックを塗ってます。

エアクリーナーもおそらく無交換だったので、交換。ご機嫌な吸気音になって、少しパワーも回復した気がします。シート裏の吸盤も部品は購入していますが、これは後日交換します。

あとは純正色スプレーで塗装ハゲのひどい部分や、盗難にあったときに缶スプレーでいたずらされて汚くなっていた部分を塗装したり。

あまりにも見た目がひどい部分だけをちょいちょいっと塗るだけのつもりが「この部品を外せばもうちょっと奥まで塗れるな」と次から次へと塗りたくなってしまって、塗ると残された汚い部分が気になる…沼にハマりました。

マフラーステーもやっつけシャーシブラック。ざらつきは気にしない。

だいぶきれいになりました。あとは、サイドカバー・シート張替えをすればだいぶ見栄えがよくなりそうです。リアウィンカーをワレンズにもしたい。

まとめ: 今日やったこと @26900km

  • リアタイヤ交換
  • リアキャリアをスーパーカブ用に交換 (サビ落とし・シャーシブラック塗装)
  • エアクリーナ交換
  • 純正色スプレー塗装
  • マフラーステーシャーシブラック塗装

書き忘れていましたが、フロントのステムカバーもヤフオクで買ったパーツを取り付けて復活しています。

記事中に登場したパーツ