オタク日記
(Mac と Linux, 2017Q2)
目次
2017-06-07 (Wed): 今更ながら macOS Sierra に (その 2)2017-05-31 (Wed): 今更ながら macOS Sierra に
2017-05-24 (Wed): USB Ethernet Adapter
2017-05-03 (Wed): メールシステムのメンテナンス
2017-04-26 (Wed): お願いしますよ、Analog Device さん
2017-04-15 (Sat): Raspberry Pi 再訪
古い日記:
2017Q1
2016Q4
2016Q3
2016Q2
2016Q1
2015Q4
2015Q3
2015Q2
2015Q1
2014Q4
2014Q3
2014Q2
2014Q1
2013Q4
2013Q3
2013Q2
2013Q1
2012 年
2011 年
2010 年
2009 年
2008 年
2007 年
2006 年
2005 年
2004 年
2003 年
2002 年
2001 年
2017-06-07 (Wed): 今更ながら macOS Sierra に (その 2)
Sierra 10.12.5 に
Yosemite からアップグレードした時 (5/10) には、 10.12.4 だったのは間違いないし、 今は 10.12.5 が動いているので、どこかの時点でアップデートしたのは間違いないのだが、 いつどうやって上げたのか思い出せない——情け無い事に、Journal にも残っていない。なので、下のコンパチビリティチェックも、 どっちだったか確かめようがないが、とりあえず 10.12.5 でも皆ちゃんと動いている、という事で。
Lucida Grande か San Francisco か
Lucida Grande の System Font で長らく幸せに暮してきたのに、 Yosemite で、「変えたがり」の誰かが Helvetica Neue とかいうものに変えた。 私にはそれが気に入らなくて、即 Lucida Grande に戻したのだった。
Apple さんもさすがに HN が不評だと悟ったのか、それ以降は San Francisco に変えたらしい——El Capitan をスキップしたので知らなかった……。 でも私はその SF も気に入らない…… 全体的に小さくなり、加えて大文字小文字の差が大きくなったような気がする。 Sierra でもそれが踏襲されている——今回は不満が殺到しなかったのか? ともあれ、前回同様、 macOSLucidaGrande というツールを使って、無理矢理 Lucida Grande にしてみた。
そのツール (コマンド) の実行自体は大変簡単で、実行後 App を restart する毎に、その App の System Font が変わっていくらしい。 macOS の System Font を変えたい時はリブートする必要がある…… その結果:
- Login Prompt で、Password を入力しても (● が) 表示されない
- Menubar の Time Machine で、Latest Backup が更新されない
- System Preferences → Network → Advance で表示が乱れる
上の 1. は最初は「入れなくなったのか?」とパニックだったが、 まあ、ちょっと慣れてきた。(そもそも Known Issue だったらしい。) が、2. 以降は、少々気味が悪い。 なので、同じツールを使って、また San Francisco に戻した……
戻してリブートしたら、今度は Login 画面の文字が全て '[?]' になる、 という、これまた衝撃的な症状が出るが、どうもこれは最初の一回だけらしい。 で、上記の 1. - 3. の問題はとりあえず解消されているように見える。 ともあれ、なんだかとっても危い橋を渡っている、という気もするので、 今後、macOSLucidaGrande がアップデートされて、せめて Known Issue が解消されるまで、System Font を弄るのはやめよう、と決心したのだった。 (Yosemite の時は、問題なく Lucida Grande にできたのになぁ……)
2017-05-31 (Wed): 今更ながら macOS Sierra に
(その前に) Apple さん、お願いしますよ (の続き)
前の「お願いしますよ」 にも書いたように…… WiFi (2.4G) の感度が悪いので何とかして、と泣きついたら、 そっちは何ともしてくれず、 しゃらっと HDD を再フォーマットしてくれた……。 などという殆んど「苛め」に近い扱いにもめげず、 もういっぺん修理 (WiFi モジュール取り換え) をお願いしてみる、という私には珍しい執着ぶりのおかげで、 二度目に戻ってきた時には、感度 (Noise) は、-74 → -78 dBm と、4 dB くらい改善されていた。
しかし、その後よく見てみると、また -74 ~ -75 dBm くらいになっている。 最初確認した時に時間経過を見なかったせいなのか、 それともそもそも着実に劣化するものなのか、よく分らないが、ともあれ、 元の木阿弥——あのクソ忙しい時に、 合計で一週間以上もロスしたと言うのに……
他にも「何だかな」は有ったと思うけど、OS をアップグレードしないといけないと思い詰める程の不具合は無かったかも知れない。
上書きアップグレードで Sierra 10.12.4 に
幸か不幸か、最近 Fusion Drive が Apple のプロの手で再フォーマットされたので、(← まだ言ってる、しつこい :-p ) また、APFS (Apple File System) は、Fusion Drive では「お呼びでない」 という事なので、迷わず上書きアップグレードで行く事にした。
となれば、日々 Time Machine でバックアップを取っている事もあり、 殆んどインストーラの「言いなり」で、Sierra にできる。 (そもそも、App Store へ行く度に「Sierra に update できるよ」と言われ続けているので、今日はその誘いに乗るだけ :-)
やってみたら、確かに思惑通りだった。 但し、引っ掛かったところも少しは有って
- iCloud に sign in できなかった——どうしてもダメだったので、 パスした。(後で問題なく設定できたが。)
- App Store での update が Keynote については、うまく行かなかった。 (後程、App Store で [resume] ボタンを押す事で、アップグレードが再開した。)
でもまあ、とにかく reboot したら、Sierra (10.12.4) が立ち上がった。
New Features
大して期待していなかった……と言いつつ、まあ、ちょっとは興味が有った事ども:- Siri: そこそこ動く。 私の酷い英語を (以前の同様な機能——Dictation Command——に比べて) より高い確率でなんとか聞き取ってくれるのは嬉しい。 が、そもそも Siri がデスクトップ機に載って何が嬉しいの? という疑問が……
- Universal Clipboard: 私にとっては、Clipboard
の「ありがたさ」というのは、
- Preview.app の File > "New from Clipboard" (で新しいファイルとして開かれる)
- Emacs.app と 他の App の間でテキストがやりとりできる、
御仕着せアップグレード
OS アップグレード中か、その後 iTunes Store でだか未詳だが、 次の App を OS と同時にアップグレードした。- Xcode (8.3.2): command line tools しか使ってみてない。
- iMovie (10.1.5): とりあえず
.mp4
file を編集してみた。 とりあえず、動くビデオクリップができた…… (触るのがあんまり久し振りなので、 操作感が良くなったのかどうかよく分りません。) - Keynote (7.1.1): 何故か最初はうまくアップグレードできなかった。 その後問題なくインストールできた。お絵描きでしばらく使ってみたが、 2 次元の画像に関していうと、 やっぱり簡便さにおいてはこれが最強という気がする。
- Pages (6.1.1): まだ使ってみてない。
- Numbers (4.1.1): 同上
Compatibilities
- Terminal.app: 文字・記号の半角/全角の判断が改善されているかと思ったが、以前のまま。 (Emacs.app のそれに倣うのが正しい、としての話)
- Basilisk II (2014-03-01 版): ウェブに情報が少なくとっても心配だったが、 とりあえず問題なく動いている。
- Wireshark (2.2.6): 問題なく動いている。心配だった WiFi の Monitor mode 移行も問題無い。(下の WiFi Tools で詳述。)
- VMware Fusion (8.5.6 -> 8.5.7): これも問題無し。 (ただ、VMware Tools のインストールのやり方が分り難くなったような気がする。 というか、Tools がインストールできているのかどうかよく分らない。)
- Gimp (2.8.20 → 2.8.22): macOS upgrade のせいか、 それとも、Gimp 自身の upgrade のせいかよく分らないが、 起動時に「font 設定」で長々と待たされる事は無くなった。
- Firefox: これも、macOS アップグレードのせいかどうか未詳だが、
Firefox から Google のアカウントにログインできなくなった……。
ちょっと慌てたが、Chrome からはログインできたので、
それでしばらくは凌いだ。
そのうち、Firefox でも、一旦 Safe Mode
で立ち上げて、ログインし、また元に戻せば OK
という記事を見付けて実行してみた。実際上手く行った。
でも、OK になってから、まだ丸二日も経ってないので、
まだ保護観察中と言った方が良さそう。
(ったく、「お願いしますよ、Google さん」だよなぁ。)
2017-06-03: 補遺—— ダメだった。一旦 Sign Out すると、元の木阿弥。Safe Mode にしないと、Login できない……
MacPorts
これは Darwin の major revision が上がるので、 再インストールが必要になるのは分っていた。 なので、むしろ、それをどれくらい簡素化できるか、が issue。
前の状態を一発で再現するための色々なテクニックがあるようだが、
このところ、LaTeX がらみの package を「取っ替え引っ替え」
しているので、/opt/local
以下が無闇に膨れ上っている事もあり、「完全自動化」ではなく、
必須のものから、手で入れていく事にした。
fukuda@falcon:~% port -qv installed > myports.txt fukuda@falcon:~% lv myports.txt fukuda@falcon:~% sudo port -f uninstall installed fukuda@falcon:~% sudo xcode-select --install fukuda@falcon:~% sudo xcodebuild -license fukuda@falcon:~% sudo port install binutils bison cctools cmake \ compface coreutils dhcp dhcping eb emacs-mac-app fish fontforge fortune \ git gmake gnupg gnuplot javacc lua lv mod_wdgi multimarkdown nkf \ OpenBLAS pandoc py27-gnuplot py27-numpy python36 skipfish sudo swig \ texlive w3m wget yasm zsh bash apache2 apache24-devel aspell \ aspell-dict-en
実は、こんな風にすんなり行った訣ではなくて、 紆余曲折が有った……一部には自分のチョンボ、あと、明らかなパッケージミス?
- Terminal.app は起動時に実行すべきスクリプトが実行できないと、
起動しない。例えば
/opt/local/bin/zsh
を呼ぶようになっているのに、 それをアンインストールしてしまっていると立ち上がらない。 そうなると、 起動スクリプトを編集する事もできない。 (正解は、 古い/opt/local/bin/zsh
を消す前に、スクリプトを編集しておく事。 (例えば、/bin/bash
にしておく等) - 途中コンパイルエラーが多発したので、
/opt/local/{bin,etc,lib}
以下を全部消してしまう、という乱暴な事をやってしまった。 コマンドについては問題なく再インストールできたのだが、cacert.pem
を消してしまった事を忘れていて Wanderlust が動かなくなり、ちょっと焦った。これは、もともとが、 こんなところに認証のためのキーファイルを置くのが間違っていたかも。 - EmacsMac.app が、Doc の icon から立ち上がらなくなった……。Icon を Doc から一旦消去して、別の方法で、EmacsMac.app を立ち上げ、 Doc 上に新たにできた icon を 右クリック ⇒ Options ⇒ "Keep in Doc" で Doc に残せば OK
PyVenv
Python-3.6 が、MacPorts で再インストールとなったので、既存の PyVenv を即確認してみたが、 pip-compile/-sync で何の問題も無し。「そう言われればそうなんだろな」と思うけど、 実際に使ってみないと危ない気もする。今のところ、iPython, Jupyter Notebook を少し触ってみただけだけど、問題無さそう。
WiFi-Tools
上に書いたように、Yosemite では、WiFi モジュールを交換したにもかかわらず、 感度は改善されなかった。Sierra に上げた理由の一つに、 ひょっとして、これが何とかならないかという期待も有った。
が、結論から言うと、2.4G でも 5G でも WiFi モジュールの感度他の性能は殆んど変わらなかった……
極初めに試験した時、5 G → 2.4G とモード変更したら、Noise が -95 → -95 dBm となって、「おお、大幅改善」と喜んだが、 これはどうもアーチファクトだったようで、何度か 5G ⇔ 2.4G の間を行ったりきたりしている間に、-78 ~ -75 dBm という元の値に戻った。
がっかり、というところだけど、それより、WiFi tools の信頼性が少し損われたような気がして、ちょっと嫌な感じ。
以下は、5G で一晩放置した後、2.4G に切り換えてさらに一時間放置した後の WiFi モジュールのモニタリング結果。Noise は、それぞれ -93 ~ -95 dBm と -74 ~ -76 dBm と大変安定している。(2.4G に関しては高め安定とも言う :-)
一方で、とても心配していた WiFi の Monitor mode は、Sierra からはできなくなっているようだが、Wireshark からは従来通り何なく設定でき、 また実際にキャプチャもできている。 (但し、Menubar の WiFi のアイコンが「目玉に変わる」という趣向は無くなった。)
2017-05-24 (Wed): USB Ethernet Adapter
MacBook Air 唯一の問題
我が家の MacBook Air (late 2010) はホントによくできた子で、 これまで問題らしい問題につきあたった事がない。これまでに Apple さんにお世話になったのは、裏蓋のゴムが取れたのを直してもらったくらい (実は「裏ブタ総とっかえ」という大騒ぎになったけど。)唯一の問題と言えば、USB-Ethernet アダプタが動かなくなった事くらいかな。 3 年前には動いていたのは確かなんだけど、 いつ頃から症状が出はじめたのか、記憶が定かではない。(そもそも、Ethernet で継ぐ機会というのがあまり無い。)
そうは言っても、Network の仕事で現場に出向く時に Ethernet に継がる手段が無い、というのもアレなので、 ちょっと真面目に対応してみた。
何度もやった「確認」をもういっぺんやって、アダプタを MBA のどの USB port に継いでもダメ、従って「これはアダプタが壊れているに違いない」 を再確認した。
これではどうにもならないので、自宅の目の前の PC Depot へ新しいアダプタを買いに出かけた。 そこで、 (今思えば我ながら感心な事に) PC Depot の Tech Center? でアダプタが駄目な事 (新しいアダプタならちゃんと動く事) を確認しておこう、 と思い立ち、お願いしてみた。気持よく引き受けてくれて、待つ事 30 分、 「アダプタ継いでみるだけなのに、なんで……」と不満が出そうになる頃に、 ようやく確認が終り、担当のお兄さん曰く「アダプタに問題は無さそうです。どうも、 デバイスドライバのようですね」だと。
家へ持ち帰って、諦め悪く色々やってみたけど、 やっぱりお兄さんの言う通りのようだ……アダプタを Mac-mini に継いだら何なく local network に継がった…… げっ、OS 再インストールかい。
OS (Mavericks) 再インストール
最近 Apple さんに Mac mini の「再インストール」をやられて酷い目に会ったのだった。 なので、「またかよ」てなもんで、とっても気が重いが、 考えてみれば、あっちは 2 TB で、こっちは 128 GB、 そんなに大変ではない筈、と意を決して取り掛かった。
- MBA の Time Machine 用 USB-HDD にパーティションを切って、 backup。 (約 3 時間。ちょっとオーバキルだったか?)
- 再インストール時に問題になりそうな「設定」を解除する。
- iTunes store のアカウントを deauthorize
- Find My Mac を停止
- Command + R を押しながら reboot
- 立ち上がった画面で、"Reinstall OSX" を選択
- さらに HDD を選ぶと Download → Install 開始。
途中でフォローをやめてしまって、最後のステップで何時間かかったか未詳。
とにかく、無事 reboot して、動くようになった……。
Device の変更が必要
PC Depot のお兄さんには、「クリーンインストールが必要かも知れませんね」 と言われていたので、今回の上書きインストールではちょっと心配だったが、 その心配がホントになってしまった。 アダプタを継いでも、やはり Ethernet cable が挿さってない、と言われる。
ショックというかパニックになりかけたが、アダプタを Mac-mini に継いだ時、デバイスが "USB Ethernet" となっていた事を思い出し、Hawk の上でも、 それを捜し出してデバイスとして使い始めてみた。
Mac-mini のときは、何もしないでも Ethernet 接続が認識されたが、 今回はダメ。それでも諦め切れずにゴチャゴチャやっていると、 何とか動くようになった。ミソは、"System Preferences" → Network → "USB Ethernet" → Advanced → TCP/IP で、
- Configure IPv6 で、"Link Local Only" を選び、
- (しつこく) [Renew DHCP Lease] を何度かやってみる事、
らしい。
まったく「何だかなぁ」であるが、とりあえず Ethernet 接続はできるようになった。
幾つか残った懸念……
- ひょっとして、OS 再インストールは不要だったのではないか? (初めから「USB Ethernet デバイス」を選んでおけば OK だったような気がする。)
- 一応継がるようにはなったが、Network pane -> Advanced はとても不安定。 (文字の位置がずれているし、ボタンが応答しなくなったりするし……) 現場に持って行ってから、その場で四苦八苦しそうな予感がする。
- そもそも、何で動かなくなったのか…… (en6) で動いていたのは間違いないので、Mavericks のアップデートのどれかで、 仕様が変わったのでは?という気がする。
2017-05-03 (Wed): メールシステムのメンテナンス
我が家というか弊社のメールシステムは (とりわけ凄い機能を持ってる訣ではないのに) 維持するのに手間暇が相当かかる…… とりわけ、 サーバの引越しなんかでは、 Dovecot/Postfix/Procmail/Mailman のケアに殆どの時間が費やされる。なのでその都度「骨折り損の草臥れ儲け」 だと痛感、「これはちょっと整理しなくては」と決心するのだが、 曲がり形にも動くようになったら、早速「喉元過ぎれば……」になってしまう。
Mail Security は大変
前にもぼやいたような気がするが、ツールやサーバ群はどんどん進歩しているのに、 メンテナンスがちっとも楽にならないのは、 セキュリティがらみ要求もどんどん高まっているからだろうと思う。
あんまり込み入っているので、ちょっと真面目に記録に残した方が、
結局は時間の節約だろう、と思って
頑張って書いた「絵」が、
さっそく古くなっているの気がついた……(今は .forward
は使っていない)。ちょっと面倒だったけど修正して再掲。
この図の左の方のネットワーク越しの SSL/TLS アクセス (SMTP/587 と IMAPS/993) が今回の話題。
Wanderlust が不調
Mac でハック の応用編がなかなか出てこないのは、Wanderlust (WL) のせいです :-p。結構面倒臭いので、私のように、 頻繁に使うメールアカウントが四つくらいもあり、さらに幾つか ML を購読している、なんていう昔ながらのメールユーザでもなければ、 そのメリットは実感できないだろうし、つぎ込んだ労力もペイしないだろう、 と思った訣。(自分でもペイしているかどうか未詳 :-)
この一年余りは安定しているし、package
パッケージでほぼ自動でアップデートできるようになったので、
そろそろ、(余計なお世話の) Mac でハック (応用編) に書こうかな、
と思っていた。(唯一の「不満」は、package で、
アップデートした直後は何故か IMAP が働かなくなる事くらい。)
しかし、最近、アップグレードの後、再起動してもやっぱり動かない、 という事があった。MBA に Wanderlust + EmacsMac.app の環境があるし、Mail.app でも、宅外サーバや、gmail.com の Dovecot (や Gimap) にアクセスできるので、然程慌てずに、ゴチャゴチャやってると、 しばらくして package がアップグレードされたか何かで、また動くようになった。
が、その時の「ゴチャゴチャ」が不味かったのか、さる ML のフォルダが読み込めなくなってしまった。 "Resuming Thread Structure" というメッセージが出っぱなしとなり、コントロールが戻って来なくなる。 一度、しばらく待って見ようと思って、4-5 時間放置しておいたら、 EmacsMac.app のメモリ専有量が 6 GB まで行ってそのままハングしていた……パニック! よりにもよって、それが起きたのは、 ltspice という ML (Yahoo groups) で LTspiceIV for Mac がアップグレードもインストールもできなくなった頃だったので、 これはとっても焦った。結局
- Mail.app に otacky.jp のメールアカウントを再度開設。 そこから問題のありそうなメッセージを消していってみた。 しかし結局全部消してしまう事になったが、それでも問題は解決せず。 (Mail.app では全部消えているのに、WL から見ると 3000 くらいもメッセージが残っている事になっている。)
-
~/.folders
内で、件のフォルダを削除。 これもフォルダを作り直せば元の木阿弥。 - emacs から elmo-cache-expire-by-age 14 を実行して、3 GB
近くあった
~/.elmo/cache
を 18 MB くらいに減らした。 こうした直後も、一時的に「3000 くらい残っている」という表示が残って ガッカリしたが、そのうちに実数を表示するようになった。(その間にも、 ML にはメッセージが上がってくるので、ゼロではない。)
という事で、ようやくそれらしい動作が戻ってきた。
IMAPS と GnuTLS
しかし、その四苦八苦の中で、見過せない現象を見てしまった……
EmacsMac.app の*Messages*
バッファで改めて再現させると
Resuming thread structure...done Opening TLS connection to ‘imap.otacky.jp’... Opening TLS connection with ‘gnutls-cli --x509cafile nil -p 993 imap.otacky.jp’...failed Opening TLS connection with ‘gnutls-cli --x509cafile nil -p 993 imap.otacky.jp --protocols ssl3’...failed Opening TLS connection with ‘openssl s_client -connect imap.otacky.jp:993 -no_ssl2 -ign_eof’...done Opening TLS connection to ‘imap.otacky.jp’...done Selecting %inbox:fukuda@imap.otacky.jp...done Checking folder diff...done Updating marks...
つまり、gnutls-cli で、プロトコルを変えて二回チャレンジして失敗、 三度目で openssl に変更して、ようやくログインに成功した、という事らしい。 (しかし、これは cafile が nil になっているので然程不思議ではない。)
という事で、falcon にもとから有る ca file で手動で試してみた……
fukuda@falcon:~% gnutls-cli --x509cafile /opt/local/etc/openssh/cert.pem -p 993 imap.otacky.jp
Error setting the x509 trust file
Resolving 'imap.otacky.jp:993'...
Connecting to '128.199.138.76:993'...
- Certificate type: X.509
- Got a certificate list of 2 certificates.
- Certificate[0] info:
.....
Public Key PIN:
pin-sha256:EL50cKdw2UTywDXQQos8RMw9SPul2zHwhJS2Wda3aks=
Public key's random art:
+--[ RSA 2048]----+
| +o .. o. |
| . .... o |
| .+ o . . |
| O . . . .o|
| o S E o . o|
| . . o o . |
| . . o . o|
| o . +..|
| .... + ..|
+-----------------+
- Certificate[1] info:
- subject `CN=Let's Encrypt Authority X3,O=Let's Encrypt,C=US'....
- Status: The certificate is NOT trusted. The certificate issuer is unknown. The certificate chain uses insecure algorithm.
*** PKI verification of server certificate failed...
*** Fatal error: Error in the certificate.
*** handshake has failed: Error in the certificate.
となる。この "The certificate is NOT trusted." にすっかり騙されてしまい (というか私の勝手な勘違いだが) サーバ側の certificate がマズいに違いないと思い込んでしまった。
そのあたりのすったもんだは措いて、また Google さんに尋ね回っての四苦八苦も扨措いて、結局その勘違いに気付いて、 自分 (falcon - EmacsMac.app) の側の ca file 新しいものにしてみる事に。 (唐突に Python なのは、たまたま最初に行き当たった入手方法だっただけです :-p)
fukuda@falcon:~/pve36% . bin/activate (pve36) fukuda@falcon:~/pve36% pip install certifi Collecting certifi Using cached certifi-2017.4.17-py2.py3-none-any.whl Installing collected packages: certifi Successfully installed certifi-2017.4.17 (pve36) fukuda@falcon:~/pve36% python Python 3.6.1 (default, Apr 24 2017, 04:48:47) [GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import certifi >>> certifi.where() >>> '/Users/fukuda/pve36/lib/python3.6/site-packages/certifi/cacert.pem' fukuda@falcon:~% sudo mkdir /opt/local/etc/gnutls fukuda@falcon:~% sudo cp /Users/fukuda/pve36/lib/python3.6/site-packages/certifi/cacert.pem \ /opt/local/etc/gnutls/
のようにセットしておくと、これを使って
fukuda@falcon:~% gnutls-cli --x509cafile /opt/local/etc/gnutls/cacert.pem -p 993 imap.otacky.jp
Processed 154 CA certificate(s).
Resolving 'imap.otacky.jp:993'...
Connecting to '128.199.138.76:993'...
- Certificate type: X.509
- Got a certificate list of 2 certificates.
- Certificate[0] info:
- subject `CN=www.otacky.jp', issuer `CN=Let's Encrypt Authority X3,O=Let's Encrypt,C=US', .....
.....
Public Key PIN:
pin-sha256:EL50cKdw2UTywDXQQos8RMw9SPul2zHwhJS2Wda3aks=
Public key's random art:
+--[ RSA 2048]----+
| +o .. o. |
| . .... o |
| .+ o . . |
| O . . . .o|
| o S E o . o|
| . . o o . |
| . . o . o|
| o . +..|
| .... + ..|
+-----------------+
- Certificate[1] info:
- subject `CN=Let's Encrypt Authority X3,O=Let's Encrypt,C=US',.....
- Status: The certificate is trusted.
- Description: (TLS1.2)-(ECDHE-RSA-SECP256R1)-(AES-256-GCM)
- Session ID: DE:77:99:7A:FF:B9:AC:73:AE:C4:25:EE:1D:15:A4:E4:5D:18:3E:4A:D5:05:DD:4A:58:8B:11:D7:11:E9:B6:C7
- Ephemeral EC Diffie-Hellman parameters
- Using curve: SECP256R1
- Curve size: 256 bits
- Version: TLS1.2
- Key Exchange: ECDHE-RSA
- Server Signature: RSA-SHA256
- Cipher: AES-256-GCM
- MAC: AEAD
- Compression: NULL
- Options: safe renegotiation,
- Handshake was completed
- Simple Client Mode:
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
. login fukuda PASSWORD
. OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS .....] Logged in
. select inbox
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft unknown-0 $Forwarded $NotJunk $Junk)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft unknown-0 $Forwarded $NotJunk $Junk \*)] Flags permitted.
* 1674 EXISTS
* 0 RECENT
* OK [UNSEEN 1626] First unseen.
* OK [UIDVALIDITY 1252205310] UIDs valid
* OK [UIDNEXT 71999] Predicted next UID
* OK [HIGHESTMODSEQ 7067] Highest
. OK [READ-WRITE] Select completed (0.000 + 0.000 secs).
....
のように、手動で IMAP4 でログインできた。
なんだ、それだけ事かぁ——元から有った certificate が、
"let's encrypt" (imap.otacky.jp
) や、
"Google Internet
Authority" (imap.gmail.com
) が発行した certificate
を認証できるものではなかっただけの事。
解ってみれば「それだけの事」だけど、それを lisp
で書き表す方法が分らない……tls.el
にある tls-program
にパラメータを渡せば良いのだろうけど、どうやるのか見当もつかない。
Dennis
さんのページ
にそれらしい事が書いてあって、
実は詳細はよく分らないのだけど、真似して書いてみたら、
一発で上手く行ったので、これで良い事にする :-p。
上の「ログインするごとに .elmo/cache
を expire させる、とい
うのを合わせて、
# ~/.wl .... ;;;; **** security ****** ;; (setq tls-checktrust t) ;; (setq gnutls-verify-error t) (let ((trustfile "/opt/local/etc/gnutls/cacert.pem")) (setq tls-program `(,(format "gnutls-cli --x509cafile %s -p %%p %%h" trustfile) ))) (setq elmo-imap4-default-authenticate-type 'clear ;; 2016-09-16 (Fri): elmo-imap4-default-stream-type 'ssl elmo-imap4-default-port '993) ;; 2017-05-01 (Mon): (elmo-cache-expire-by-age 14) ;; default is 50 days
まとめ
当初設定した際にいい加減にしていた事も含め、SSL/TLS によるログインに関する「現状」をまとめておく。
-
imap.otacky.jp
(宅外サーバ、digoc02.otacky.jp
) での、dovecot の設定: (# dovecot -n
の出力から抜粋)fukuda@digoc02:/etc/dovecot/conf.d% dovecot -n auth_mechanisms = plain login disable_plaintext_auth = no .... service imap-login { inet_listener imaps { port = 993 ssl = yes } } ssl_cert = </etc/letsencrypt/live/www.otacky.jp-0001/fullchain.pem ssl_key = </etc/letsencrypt/live/www.otacky.jp-0001/privkey.pem
/etc/dovecot/conf.d/10-ssl.conf
では、#ssl_protocols = !SSLv2
とコメントアウトされていて、default となっているが、IMAPS が TLSv1.2 で応答しているのは間違いない。 -
imap.gmail.com
での設定は未詳 (そもそも、IMAPS に、Dovecot を使ってない模様……Gimap って何?) - 適切な cacert file
(例えば
/opt/local/etc/gnutls/cacert.pem
) を使えば、imap.gmail.com/imap.otacky.jp
双方に対してgnutls-cli --x509cafile /opt/local/etc/gnutls/cacert.pem -p 993 imap.gmail.com
で、IMAPS にログインできる。 - ここでの「適切な」とは、最近の Firefox と一緒に配布される cacert
ファイルと同じ、という意味らしい。(そう言えば、Firefox は最近、
https://www.otacky.jp
としても文句を言わなくなった。) - Wanderlust から、そのコマンドを発行するには、
tls-program
を、(let ((trustfile "/opt/local/etc/gnutls/cacert.pem")) (setq tls-program `(,(format "gnutls-cli --x509cafile %s -p %%p %%h" trustfile) )))
と定義する。
2017-04-26 (Wed): お願いしますよ, Analog Devices さん
このところ、どうも LTspice IV for Mac の調子がよくない。
大分前から、自動アップデートに失敗するようになり、 おかしいなぁと思っていた。しかし、本体は (細かい不具合はともかく) まあまあ動いているようだし、これをすぐ必要とするプロジェクトも有って、 そのまま使ってきたのだった。
ただ今回 (久し振りに) デバイスの登録をしようとしたら、 色々と「あまり細かいとは言えない不具合」が出てきた。仕方ないので、.TRAN (過渡) 解析は諦めて、お絵描きだけして、お茶を濁した。(接続図は PC 向けの LTspice IV より断然キレイなので……)
それも一段落したので、さて、よくみてみよう、となった訣。
が、これがまた「どうにもこうにも」という体たらく。
- 「自動アップデート」は途中で止まる。
- Model Update
- Software Update
- 再インストールはそもそも始まらない——
.dmg
ファイルをダブルクリックしても、エラーメッセージすら表示さ れず、黙って止まってしまう。 - クリーンインストールでもダメ。
LTspice.app だけでなく、
~/Library/Application Support/LTspice
以下を全部消してしまってから、 インストールしようとしてもダメ。
万策尽きて、「しようがない、Windows 版の LTspice XVII へ移行するかな? (こっちはちゃんと動いているし、アップデートもできる)」 と思ったが、その前に一言文句を言ってやらねば、と、 MyLinear へ行って、(そこから、日本のサイトに飛ばされて) 「質問」欄にクレームを書いてみた。
実は前にも一度書いた事があるが、梨の礫だったので、 今回も返事は期待してなかったが、なんと翌朝メールで返事がもらえた。 それによると、
- Linear Technologies は Analog Devices に変わった。
- LTspice for Mac はもうアップデートされていない。
- それについての告知をできていないのは申し訳ない。
- PC 版の LTspice XVII を使って欲しい。
そう言えば、AD が LT を買った、という記事を最近見た気がするが、 こっちへの影響を全く連想できなかったよ。 「それは大変だったろうな」とは思うけど、「全く動かない (多分意図的にインストール不能にしてあるのだと思う) アプリをサイトに置いたままにしてるのはどうよ」 という苦情の返事を書いておいた。
「(告知できなくて) 申し訳ない」と言っているのに、 怒りをぶつけるとは、なんだかクレーマーになった気分だが…… それはともあれ、こちらは「どうしたもんじゃろのう」状態。 LTspice という名前のせいで、 AD さんからは蔑ろにされるんだろなぁ……。ADspice って名前を変えてもいいから、なんとか Spice for Mac のサポートを続けてくれないかなぁ、 Analog Devices さん!
2017-04-15 (Sat): Raspberry Pi 再訪
最近またぞろ Raspberry Pi を触っている。(何と、われも工房の受託がらみ……)
RasPi の OS インストールやその上でのプログラミングにはかなり慣れていた筈なのだが、 間が開くと、対象がどんどん新しくなる上に、 自分の記憶が加速度的に曖昧になる事が相俟って、結構右往左往させられる事も多い。 なので、インストールメモの形で操作マニュアルを書いておく。
前提と目標は
- Raspberry Pi 3 model B の上で、
- 最新の Raspbian を使って
- Headless システムを構築
- その上で WiFi を動かす
OS イメージのダウンロード・インストール
- Raspberry の light
を使う:
(例えば
2017-04-10-raspberry-jessie-light
.) これだと Headless システムやサーバにするなら、 圧倒的にストレージの容量を節約できる。素の OS だけなら、1.5 GB 程度に収まるので、8GB の SD をストレージにしても拡張性に何等問題ない。 - Download は Bit Torrent で: 時折、
Raspbian の
download site がとても遅い事がある。そういう時でも、
[Download Torrent]
の方をクリックして、setup file
(.torrent)
をダウンロード、 それを Transmission に食わせれば、大抵の場合数分とかからずダウンロードできる。 - dd コマンドで SD カードに書き込み: 従来通り
fukuda@falcon:~% unzip Downloads/2017-04-10-raspbian-jessie-lite.zip #1) fukuda@falcon:~% sudo diskutil list #2) fukuda@falcon:~% sudo diskutil umountDisk /dev/disk6 #3) fukuda@falcon:~% sudo dd bs=4M of=/dev/rdisk6 \ if=2017-04-10-raspbian-jessie-lite.img #4)
(言わずもがなの) 留意事項....- #1) unzip の結果は current directory へ
- #2) この結果から、今挿したカードが例えば
/dev/disk6
であると推測 - #3) umount を忘れずに
- #4)
disk6
ではなく、rdisk6
である事に注意
- Display/Keyboard 無しで ssh login: を実現するために、unmount
の前に「おまじない」をかける (dd command
が終った時点では、また
/Volumes/
以下にboot
としてマウントされている)fukuda@falcon:~% touch /Volumes/boot/ssh
として、ssh という空の file を置く。 - SD カードをイジェクト: 再び
# diskutil unmountDisk
するか、Finder から boot ドライブを eject する。その後、カードを引き抜く。
ブート・設定
上のおまじないのおかげで、Display や Keyboard を直接継ぐ事なく、Ethernet 越しにアクセスできるようになっている。- SD カードを挿し、Ethernet ケーブルのみ継いで Power ON
- 同一 subnet 内の host から ssh login:
この時の password は 'raspberry'
fukuda@falcon:~% ssh pi@raspberrypi.local user: pi password: raspberry
- raspi-config を実行:
pi@raspberrypi: ~$ sudo raspi-config
ここで、おおまかな設定:- Hostname: raspi08 #1)
- Localization Opt.:
- Locale: en_US.utf-8, default en_US.utf-8 #2)
- Time Zone: Asia/Tokyo
- Wi-Fi Country: JP
- Interfaces: Camera, SPI, I2C, serial interface
- Advanced: Expand Filesystem
- 作業用 の user account を作る: ミニマリストとしては pi
でやるべきなのかも知れないが、メインマシンでの username をそのまま使う
account を作っておけば何かと便利なので、その名前を使った自分専用のアカウントを作る。
pi@raspberrypi:~ $ sudo adduser fukuda pi@raspberrypi:~ $ sudo adduser fukuda sudo pi@raspberrypi:~ $ sudo reboot
最後の二つは、MJPG-streamer や RPi.GPIO を fukuda がユーザ権限で使えるようにする為に video/gpio グループに入る、という意味。 これ以降は、fukuda アカウントで作業する。(hostname も raspi08 に変更した事に注意。)
環境整備
新設したアカウントを使って、さらに環境整備:- 再度 login: して、zsh を導入、起動する
fukuda@falcon:~% ssh raspi08 fukuda@raspi08:~ $ sudo apt update fukuda@raspi08:~ $ sudo apt upgrade fukuda@raspi08:~ $ sudo apt install lv rsync zsh fukuda@raspi08:~ $ scp falcon:".zsh*" . fukuda@raspi08:~ $ zsh fukuda@raspi08:~%
既存の .zshrc, .zsh_alias を導入しておけば、最初の Zsh 起動の際の設定の手間が省ける。外部から Tramp でアクセスする時の事を考え、default shell は Bash のままとして、 interactive login の際、手で Zsh を起動する。 - Python3 環境:
PyVenv を使う事も考えたが、大変そうなので、とりあえず、
fukuda@raspi08:~% sudo apt install python3 python3-pip fukuda@raspi08:~% sudo pip3 install django fukuda@raspi08:~% python3 Python 3.4.2 (default, Oct 19 2014, 13:31:11) [GCC 4.9.1] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import django >>>
あっさり、Django がインストールできたようだ——素晴しい! - WiFi 設定: 実際には EmacsMac の Tramp
を使って直にファイルを編集したが、この場合は触る箇所が少ないので、
nano を使ってもそれ程手間は変わらない。
とりあえず編集するファイルはひとつだけで
fukuda@raspi08:~% wpa_passphrase "Kohei-AP" "passphrase" > pass.tmp
として得られた、network を/etc/wpa_supplicant/wpa_supplicant.conf
に書き入れて次のようになっていれば良い。fukuda@raspi08:~% sudo cat /etc/wpa_supplicant/wpa_supplicant.conf country=JP ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="Kohei-AP" #psk="passphrase" psk=c752510888216facdbb7330f96d0c6ead336568934295a890603a8db1163b991 }
言うまでもないが、 "passphrase" は、接続しようとしている AP の PSK を入れる。 こうしておいて、reboot するか、fukuda@raspi08:~% sudo wpa_supplicant -iwlan0 \ -c /etc/wpa_supplicant/wpa_supplicant.conf & dhcpcd wlan0
とやると、接続が完了する筈。fukuda@raspi08:~% iwconfig wlan0 IEEE 802.11bgn ESSID:"Kohei-AP" Mode:Managed Frequency:2.412 GHz Access Point: 10:6F:3F:87:19:16 Bit Rate=65 Mb/s Tx-Power=31 dBm Retry short limit:7 RTS thr:off Fragment thr:off Power Management:on Link Quality=51/70 Signal level=-59 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
TX-Power は以前の lxxx dBm (10 MW 以上 :-) から 31 dBm (約 1 W) になったが、これでもまだ大きすぎるだろう。(規格は「10 mW/MHz 以下」 だから、帯域 20 MHz なら 200 mW (23 dBm) 以下でないといけない筈。)
と思っていたが、iwconfig は deprecated で、 代りに iw コマンドを使うべしとの事。
fukuda@raspi08:~% iw phy Wiphy phy0 max # scan SSIDs: 10 max scan IEs length: 2048 bytes ..... Bitrates (non-HT): * 1.0 Mbps * 2.0 Mbps (short preamble supported) * 5.5 Mbps (short preamble supported) * 11.0 Mbps (short preamble supported) ...... * 48.0 Mbps * 54.0 Mbps Frequencies: * 2412 MHz [1] (20.0 dBm) ..... * 2447 MHz [8] (20.0 dBm) * 2452 MHz [9] (20.0 dBm) * 2457 MHz [10] (20.0 dBm) * 2462 MHz [11] (20.0 dBm) .... fukuda@raspi08:~% iw dev phy#0 Interface wlan0 ifindex 3 wdev 0x1 addr b8:27:eb:4b:60:60 ssid Kohei-AP type managed
うむ、これ見ると確かに 20 dBm になっているけど、これでは実際の設定値ではなくて、capability なのかも知れないし、iwconfig の代りにはならないような……。 あと、Bitrate (PHY Rate) の上限が 54.0 Mbps となっていて、iwconfig の言う 65 Mbps と違っている。(Wireshark でパケット解析すると 65 Mbps にセットされている。)
まとめ
- Jessie の img を SD カードに書いた後、
/boot
の直下に ssh という名前のファイルを作っておけば、 - ブート後、host: raspberrypi.local, user: pi, passwd: raspberry で ssh login できる。
- PHY Rate の 65 Mbps は 11n としては大して早いとは言えないが、wget で確かめた TCP Rate? では、30 Mbps くらいという妥当な値を出している。
165/1,774,450 Taka Fukuda Last modified: 2017-11-08 (Wed) 05:46:23 JST