はじめに
とりあえずここまでの修正を commit - push しようとしたら、bitbucket に蹴られました。そういえば ssh 鍵をまだ登録していませんでした。とりあえず、以下の作業で作成した鍵を Bitbucket に登録してきます。
ssh-keygen cat ~/.ssh/id_rsa.pub | pbcopy
また bootstrap.sh で最初に https で clone しているので、.git/config の該当行を ssh アクセスに修正する必要もありました。
[remote "origin"] url = git@bitbucket.org:hkob/dotfiles.git
これで push できました。これでどんどんアプリを追加しています。最初は他から使われるものを中心に入れていきます。
アプリのインストールの続き
引き続きインストールを続けます。
Xquartz
Homebrew も外部アプリに依存しないという指針で動くようなので、そもそも X11 を使うものはほとんどなくなったのですが、念のため Xquartz も入れておきます。多分タンスの肥やしになるでしょうが。
cask "xquartz"
Cask のインストールはほとんど問題になることはなさそうです。インストールされたものは、当然ながら Intel です。今後の対応も期待が薄そうですね。
Google chrome
Safari だとはてなブログの編集開始が面倒なので、先に Google Chrome をインストールします。
cask "google-chrome"
これはちゃんと Universal になっています。
Google については複数のアカウントを保持しています。この中で、G Suite はアクセス制限が厳しいので、これをデフォルトアカウントにします。パスワード入力画面で、メニューバーの 1Password をクリックすると「1Password を Chrome に追加」が選べます。
クリックすると拡張機能インストールページにつながりました。
Install をクリックすると chrome ウェブストアにつながりました。「Chrome に追加」でインストールします。これで1Password が使えるようになりました。ただ、それを使ってGoogle にログインしたらその他の機能拡張も同期しました。先にログインしてしまえばよかったですね。
Mac TeX
他に影響がでない Cask で急ぎで必要なものということで、次に MacTeX をインストールします。MacTeX 2020 はまだ Intel binary なのですが、Universal のパッケージも別に用意されています。https://oku.edu.mie-u.ac.jp/~okumura/macosx/m1.html:奥村先生の M1 Mac のページを参考に、バイナリだけ置き換えることにします。とりあえず、cask では "mactex-no-gui" をインストールしておきます。
cask "mactex-no-gui"
ダウンロード終了後インストールしようとしたところで、Ghostscript の依存関係で跳ねられました。ということで、ghostscript を先に build-from-source でインストールします。
brew "ghostscript", args: ["build-from-source"] cask "mactex-no-gui"
Homebrew のページではまだ M1 ready 表示になっていなかったのですが、無事にインストールできたようです。これで mactex-no-gui も無事にインストールが完了しました。
続いて、奥村先生のところにある対応を追加します。手順通りにすると Universal binary が /usr/local/texlive/2020/bin/custom に入るようなので、/Library/TeX/texbin に通されているパスを変更変更する必要があります。素直に考えるとここに設定されているシンボリックリンクを差し替えるのがいいのでしょうが、冪等性を確保するために、/etc/paths.d のファイルを差し替えることにしました。ここにある TeX というファイルを消して、M1TeX というファイルを差し替えることにします。少し冗長かもしれませんが、こんな感じに設定しました。
# MacTeX を Universal binary に差し替え # See: https://oku.edu.mie-u.ac.jp/~okumura/macosx/m1.html if is_arm; then if [ ! -f "/etc/paths.d/M1TeX" ]; then echo "Replace Intel TeX binaries to universal ones ..." curl -o MacTeX-2020-Universal.pkg http://www.tug.org/mactex/MacTeX-2020-Universal.pkg pkgutil --expand /tmp/MacTeX-2020-Universal.pkg /tmp/hoge pax -rz -f /tmp/hoge/MacTeX-2020-Universal-Start.pkg/Payload sudo mv usr/local/texlive/2020/bin/custom /usr/local/texlive/2020/bin/ rm -rf usr /tmp/hoge MacTeX-2020-Universal.pkg sudo rm -f /etc/paths.d/TeX echo /usr/local/texlive/2020/bin/custom > M1TeX sudo mv M1TeX /etc/paths.d echo echo "Please exec ./bootstrap.sh again in $DOTPATH after opening new terminal." exit 1 fi fi
bootstrap.sh が止まったところで、新しいターミナルを開いて PATH を確認すると正しく設定されていることがわかります。また、再度実行しても置き換え処理が実行されないことも確認できました。
hkob@hM1Air ~ % printenv PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/texlive/2020/bin/custom:/Library/Apple/usr/bin
platex コマンドがちゃんと Universal binary になっていることを file で確認しました。
hkob@hM1Air ~ % file `which platex` /usr/local/texlive/2020/bin/custom/platex: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64:Mach-O 64-bit executable arm64] /usr/local/texlive/2020/bin/custom/platex (for architecture x86_64): Mach-O 64-bit executable x86_64 /usr/local/texlive/2020/bin/custom/platex (for architecture arm64): Mach-O 64-bit executable arm64
せっかく MacTeX の差し替えまでできたので、TeX Live を最新版まであげる処理まで実行しておくことにします。ここは時間かかりそうなので、放置しておくことにします。16:14現在でバッテリーは残り 38% まで落ちました。本当に1日バッテリーが持ちそうですね。
# MacTeX (TeX Live) のアップデート echo "Updating TeX Live library ..." TLMGR_REPOSITORY=http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet sudo tlmgr option repository $TLMGR_REPOSITORY sudo tlmgr update --self --all --no-persistent-downloads exit # ここで止める
長くなったのでこの記事はここまでにします。と書いたところで、放置していた tlmgr がエラーになっていたのに気づきました。
/usr/local/texlive/2020/bin/custom/tlmgr: only MacOSX is supported, not darwin 11.1 (from sw_vers -productVersion: 11.1) tlmgr: setting default package repository to http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet tlmgr: updating /usr/local/texlive/2020/tlpkg/texlive.tlpdb /usr/local/texlive/2020/bin/custom/tlmgr: only MacOSX is supported, not darwin 11.1 (from sw_vers -productVersion: 11.1) tlmgr: package repository http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet (not verified: gpg unavailable) tlmgr: saving backups to /usr/local/texlive/2020/tlpkg/backups TLPDB::_install_package: unsupported container format xz tlmgr: Installation of new version of texlive.infra failed, trying to unwind. [1/1, ??:??/??:??] update: texlive.infra [423k] (54630 -> 57132) ... tlmgr: Restoring old package state succeeded. done tlmgr: action update returned an error; continuing. tlmgr: package log updated: /usr/local/texlive/2020/texmf-var/web2c/tlmgr.log tlmgr: An error has occurred. See above messages. Exiting.
調べたところ、TeX Forumの記事にひっかかりました。cask でインストールするものが 4 月版で Big Sur に対応していないためでした。この問題は Intel Mac でも同じなので、tlmgr の処理の前に TLUtils.pm の差し替え処理を記載します。これも冪等性を担保したいので、TLUtils.pm を TLUtils.pm.orig とバックアップを取ることにします。このファイルがある時には、処理を差し替え処理をスキップすることにします。該当部分は以下のようになりました。
# MacTeX (TeX Live) のアップデート echo "Updating TeX Live library ..." TLMGR_REPOSITORY=http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet TLUTILS_PM=/usr/local/texlive/2020/tlpkg/TeXLive/TLUtils.pm TLUTILS_PM_ORIG=${TLUTILS_PM}.orig if [ ! -f $TLUTILS_PM_ORIG ]; then echo "Replace $TLUTILS_PM for Big Sur" curl -o TLUtils.pm https://tug.org/svn/texlive/trunk/Master/tlpkg/TeXLive/TLUtils.pm?view=co sudo mv $TLUTILS_PM $TLUTILS_PM_ORIG sudo mv TLUtils.pm $TLUTILS_PM echo fi
実行すると正しく tlmgr のアップデートが進みました。今度こそ放置します。
Updating TeX Live library ... Replace /usr/local/texlive/2020/tlpkg/TeXLive/TLUtils.pm for Big Sur % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 139k 0 139k 0 0 61029 0 --:--:-- 0:00:02 --:--:-- 61002 tlmgr: setting default package repository to http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet tlmgr: updating /usr/local/texlive/2020/tlpkg/texlive.tlpdb tlmgr: package repository http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet (not verified: gpg unavailable) tlmgr: saving backups to /usr/local/texlive/2020/tlpkg/backups [1/1, ??:??/??:??] update: texlive.infra [423k] (54630 -> 57132) ... done tlmgr: Restarting to complete update ... tlmgr: package repository http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet (not verified: gpg unavailable) tlmgr: saving backups to /usr/local/texlive/2020/tlpkg/backups [ 1/793] auto-remove: einfuehrung2 ... done [ 2/793] auto-remove: latex-tabellen ... done [ 3/793] auto-remove: latex-bib-ex ... done [ 4/793] auto-remove: updmap-map ... done [ 5/793] auto-remove: einfuehrung ... done [ 6/793] auto-remove: presentations ... done [ 7/793] auto-remove: oops ... done [ 8/793] auto-remove: latex-referenz ... done
今度こそ、この記事を終了します。
次の記事: アプリインストール(Alfred, Visual Studio Code - Insiders) - M1 MacBook Air インストール覚書(15) - hkob’s blog
前の記事: アプリインストール(1Password, mas) - M1 MacBook Air インストール覚書(13) - hkob’s blog