Raspberry Pi 4B に Plex media server を立てる(覚書)
普通に Raspberry Pi OS をセットアップして、ファームウェアを最新にしておく(と、USBブートも簡単)。この辺が詳しい
Raspberry Pi 4/400 EEPROM Firmware Update/Recovery Guide
あとは基本的に以下の記事の手順に従ってやるだけ
How to Setup a Raspberry Pi Plex Server - Pi My Life Up
外部 SSD/HDD をつないでいる時の fstab の設定もご丁寧に書いてある
Apple Silicon Mac で ruby のインストールにハマった
昨日 の続き。まあハマりそうだなと思っていたけど、ハマった。環境的には旧 Intel MacBook Pro から Migrate Assistant でコピったものなので、まっさらな状態より悪い。
最終的にやったことは
$ sudo rm -rf /Library/Developer/CommandLineTools $ sudo xcode-select --install
してから、readline を Homebrew でインストールし直し、rbenv install 3.1.2
(最終的に、特別なビルドオプションは必要無かった)
今いるチームでは ruby 3.1.2 を使っていて、rbenv + ruby-build でインストールしようとしたが、以下のようなエラーで止まった(それっぽいところを一部抜粋)。完全なログはこちら
compiling readline.c compiling ripper.c linking shared-object date_core.bundle compiling ossl_engine.c linking shared-object rbconfig/sizeof.bundle installing default libraries readline.c:1903:37: error: use of undeclared identifier 'username_completion_function'; did you mean 'rl_username_completion_function'? rl_username_completion_function); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rl_username_completion_function readline.c:79:42: note: expanded from macro 'rl_username_completion_function' # define rl_username_completion_function username_completion_function ^ /opt/homebrew/opt/readline/include/readline/readline.h:485:14: note: 'rl_username_completion_function' declared here extern char *rl_username_completion_function PARAMS((const char *, int)); ^ 1 error generated. compiling init.c make[2]: *** [readline.o] Error 1 make[1]: *** [ext/readline/all] Error 2
上の記事にあるように、readline の場所を明示的に指定しても同じエラーで失敗した。
$ brew --prefix readline /opt/homebrew/opt/readline $ RUBY_CONFIGURE_OPTS=--with-readline-dir="$(brew --prefix readline)" rbenv install 3.1.2
他にも Web で色々情報を漁って、いくつかのビルドオプションを試したが、混乱のもとになりそうなのでリンクはしない。 readline がおかしそうなのは間違いなさそうなので、brew で再インストールしてみようとしたら、Command Line Tools が古すぎるとメッセージが出た。
$ brew reinstall readline -s ==> Downloading https://ftp.gnu.org/gnu/readline/readline-8.1-patches/readline81-001 ######################################################################## 100.0% ==> Downloading https://ftp.gnu.org/gnu/readline/readline-8.1-patches/readline81-002 ######################################################################## 100.0% ==> Downloading https://ftp.gnu.org/gnu/readline/readline-8.1.tar.gz ######################################################################## 100.0% ==> Reinstalling readline Error: Your Command Line Tools are too outdated. Update them from Software Update in System Preferences or run: softwareupdate --all --install --force If that doesn't show you any updates, run: sudo rm -rf /Library/Developer/CommandLineTools sudo xcode-select --install Alternatively, manually download them from: https://developer.apple.com/download/all/. You should download the Command Line Tools for Xcode 13.4.
softwareupdate --all --install --force
では何も出なかったので、その下で示されている方法でインストールし直した。そのあと readline をインストールし直し、rbev install 3.1.2
したところ無事インストールできた。
Apple Silicon(M1)Mac に移行した時のメモ
業務用 Mac が Apple Silicon(M1)Mac になって、移行した時にやったことメモ。
- 旧マシンは MacBook Pro 13-inch 2019, 2.8 GHz Quad-Core Intel Core i7), Memory 16GB
- 新マシンは MacBook Pro 14-inch 2021, Apple M1 Pro, Memory 16GB
- 10 Cores (10 performance and 2 efficiency cores)
ここ3年くらい個人で Mac は使っていなかったので、初 Apple Silicon Mac。ファイルコピーなど面倒だったので、(たぶん)初めて Migration Assistant.app を使った。Thunderbolt ケーブルでお互いをつなげて、それぞれ Migration Assistant を起動してぽちぽち。寝る前に仕掛けたので、どれくらい時間がかかったのかは不明。
マイグレーションの各種アプリケーションについて、いくつか例を示す。
そのまま動いた
- Firefox
- Chrome
- 普通に動いてバージョン情報には arm64 とあり、謎テクノロジーだなと思った(ユニバーサルバイナリになっていたのかな)
- Visual Studio Code
- iTerm2
- Atom
- Bitwarden
- Signal
- 1Password
- Todoist
- Zoom
- Alfred 4
- ~/.rbenv 以下の ruby
- これはなんでそのまま動くのか謎だが、気持ち悪いので必要なバージョンだけ入れ直した
- (ここでの "動いた” というのは「
ruby -v
でバージョン情報が出た」)
動いたけど aarch64 版のインストールがおすすめされる
- RubyMine
Rosetta2 が必要ですよと言われる
なんだったかちゃんと覚えてない(Spotify? Slack?)けど、クライアント再インストールすればそのまま動いた
動かない
- Homebrew で入れたソフトウェア
- login shell を
/usr/local/bin/fish
とかにしているともれなく iTerm2.app Terminal.app が即落ちするが、Terminal.app の Shell > New Command から /bin/zsh などを実行して、とりあえず chsh すれば良い - brew はインストールパスが
/usr/local/bin
から/opt/homebrew/bin
に変わったそうなので、古いのは捨てて全部入れ直しが良さそう - PATH に
/usr/local/bin
を足している箇所がどこかわからなくて困ったが、とりあえずfish_add_path /opt/homebrew/bin
しておけばそっちが使われるので今はいいかな(のちにハマりそう)
- login shell を
- Google 日本語入力
- Spotify
- Slack
AppStore経由で入れたソフトウェアなどはそのまま動きそうという感じがしていたけど、思ったよりそのまま動いて驚いた。 あとは会社の Profile など入れたらセキュリティ関連のソフトウェアの挙動も落ち着いている。