b-shock. Fortress

High Sierra雑感

少々日が経って旬を逃した感のある話題だがw、macOS 10.13がリリースされた。
おれは仕事があったりもしたので、リリース当日の適用はしなかったけど、翌日には適用してた。 APFSという大きな変更があったにも関わらず、仕事にも使ってるメインマシンであるにも関わらず、 相変わらずの人柱体質w。

本題に入る前に、名前について

High Sierra? Snow LeopardとかMountain Lionとかはギリギリありだけど、High Sierraはないよ。(根拠不明)
ジョブズが存命だったら、きっと怒り狂ってるであろうネーミング。いや、想像だけど。

そうそう、個人的にはmacOSもないなと思ってて。 Mac OS 9以前を指す為に、いちいち「旧Mac OS」と言わなくちゃいけなくなったじゃないか。事実、 英語圏でも “Classic Mac OS” らしいし。
大文字小文字の頓着がない、Mac OS 9以前を知らないひとが、「Mac OS」と誤記することもある であろうことを考えると、もやもやするよ。

よく使うアプリ等の互換状況

Sierraからのアップグレードは、クリーンインストールじゃなくて通常インストール。ご了承頂きたい。

FileMaker Pro 12.0

こいつが起動できるかどうかが、最大の懸案だった。本来保証外であるものの、一応起動したのでひと安心。 但し、12.0v5の話
素の12.0は、Sierraの時点で既に、インストーラが起動できなかった。今使ってる12.0v5は本来の インストール手順によるものではなく、前に使ってたMacBook Airからアプリのファイルだけコピーしたもの。 (当然だが、正規購入品なのでライセンス上問題ないはず)
この.appファイルを失うと、旧OSで動くMacを用意しなければ、インストーラすら起動しない。要注意だ。

実はFileMaker Pro、ちょっとお高いと思ってる。いま、会社の請求書/見積書にしか使ってないから、 アップグレードはちょっと金額的に見合わない。
近々、MS Access+VBAで書き直そうと思ってる。バックエンドでMySQLとか使えるから、色々できるなと思ってて。 この話はそのうち。

Path Finder

Sierraからのアップグレード直後は起動しなかったけど、公式から対応版を落としてきたら 問題なく動いた。無問題。

Mac標準のFinderは、ファイルモード,オーナー,グループ等を一覧表示できず、開発用途には向かない。
代替ファイラーは色々ある様なので、不満がある人は、たとえPath Finderでなくとも利用を推奨。

sshfs / FUSE for macOS

初回起動で署名に関する警告がでる。OKすれば問題なく利用可能。

旧Mac OSから吸い出した各種データ

sndリソースからAIFFに変換した音声ファイルは、High Sierraでも警告音として使用できてる。

旧Mac OSの魂とも言うべきChicagoフォントは、Sierraの時点で既に認識できないアプリがあった。
このファイルは特に変換などかけておらず、当時のままのファイルを使用している。旧Mac OSの TrueTypeフォントって、フォント本体は確かリソースフォークにあったよね。APFSってリソースフォークも 保持できたんだっけ。

ちなみに旧Mac OS(正確には “System”)のCDは、個人輸入で購入したものに遡る。

MacPorts

マカーの間ではHomebrewがデファクトスタンダードになってるけど、あえてMacPortsを好んで使ってる。
既にHigh Sierraに対応済みだけど、リリース翌日の時点では対応していなかった。

公式のGit Installの手順通りにやれば、 なんてことはなくインストールできたので、無問題。

/usr/bin/telnet

前情報通り、telnetコマンドとftpコマンドは削除されてた。
FTP自体がオワコンなので、ftpコマンドはなくなっても問題ないとして、telnetが削除されたことには困った。 (telnetコマンドでHTTPやらSMTPやら喋ったり、みんなも当然やるよね?)

心配無用、Sierraのtelnetコマンドがふつうに動くみたい。
Sierraからの更新インストールなら、TimeMachineからtelnetコマンドを回収して、/usr/local/binに置けばよろしい。 (いや、事前にコピーしといてもいいんだけど)

Node.js

このブログはHexoで書いており(関連記事)、 動作環境としてNode.js 6.xが必要。
High Sierraリリース翌日の時点のMacPortsでは、nodejs6(及びnpm3)パッケージのインストールが できなかった。
確か翌日には解決して、インストールできるようになってた。問題なし。

Mstdn

NodeベースのMastodonクライアント(たぶんMacで動く唯一の専用クライアント)だが、 単純にnpm install mstdnでインストールできた。Electronアプリを経由した動作だけど、 細かいことは気にしない。
公式に上がってるバイナリはスタンドアロン動作が可能と思われるが、署名がHigh Sierraと互換性がなく、 起動しない。
署名なしの野良アプリを動作させるハックがある様だが、当然そんな無茶はやらないw ご興味の向きはググってみては。

他のアプリ

ぜんぶ確認した自信はないけど、今のところ問題なし。Office 2016含む。
ちょうどジョブズによってFlashがオワコン認定された頃に、Creative Suiteの更新はやめた。 そんなわけで、Creative Cloudのことはよく存じ上げません。申し訳ない。

/usr/binの中身

各種言語、どんなバージョンが入ってるかって話。
普通は/usr/binのやつは使わずに、自分でインストールしたものを使うと思うので、ご参考までに。

/usr/bin/php

1
PHP 7.1.7 (cli) (built: Jul 15 2017 18:08:09) ( NTS )

PHPerとしては、最初に調べるのはPHP。
まぁ、いいんじゃないでしょうか。ちなみに、リリース当日の最新バージョンは7.1.9。

/usr/bin/ruby

1
ruby 2.3.3p222 (2016-11-21 revision 56859) [universal.x86_64-darwin17]

2.4固有の機能とか全く使いこなせてないおれには、ぜんぜんアリです。

/usr/bin/perl

1
This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-thread-multi-2level

こんなん見たら長老がキレるよ。

/usr/bin/python

1
2
Python 2.7.10 (default, Jul 15 2017, 17:16:57)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin

同じく。きっとPython警察が来るよ。

launchdまわり

/Library/LaunchDaemons/ に、個人的にいくつかファイルを足してる。
多くはずっと前から使っているものだが、一応問題なく動いてる…と思う。

/Library/LaunchDaemons/jp.co.b-shock.periodic-hourly.plist

/usr/local/etc/periodic/hourly/ に置いたスクリプトを1時間ごとに実行するやつ。
ずっと前に、システム標準のperiodic dailyを実行するやつをhourlyと書き換えただけのもので、 大したことはしてない。

余談だが、最近は/usr/libexec/periodic-wrapperなるコマンドが動く仕様に変わっており、 FreeBSD由来の/usr/sbin/periodicではなくなっている模様。
まだ残ってるみたいなのに。へんなの。

/Library/LaunchDaemons/jp.co.b-shock.path.plist

periodicで実行されるスクリプトから/usr/local/bin等が見えないと困るので、PATH環境変数をむりやり 上書きするやつ。
これがないと、periodic用のスクリプトが相当書きにくくなる。

/Library/LaunchDaemons/org.postfix.master.plist

ネットで見つけたやつを拝借。 内蔵のPostfixを、本来の動作通りデーモン化するもの。ちゃんとメールは送れてる。
そもそもこれがないと、periodicの実行結果を受け取ることができない。

macOS 10.12 “Sierra” Postfix Launch Daemon Property List

/Library/LaunchDaemons/jp.co.b-shock.noatime.plist (おまけ)

Sierra以前は使ってたが、このplistを使うのは もうやめた
SSDへの書き込みを少しでも減らす為に、atimeの書き込みを抑止するという古いTIPSに由来するものだが、 「SSD専用」と謳っているAPFSにこの程度の対策がないとは考えにくい。
APFSに関する情報が出そろうまでは、余計なことはしないほうが得策と思い、利用を止めてる。

まぁ一応、ご参考までに。

plist適用の手順

マカーならばplist適用の手順はご存知と思うが、まぁ一応。

1
2
3
4
cd /Library/LaunchDaemons
sudo launchctl load jp.co.b-shock.periodic-hourly.plist
sudo launchctl load jp.co.b-shock.path.plist
sudo launchctl load org.postfix.master.plist