古いMacBookをLinuxぽい環境にして使ってみようという内容です
スペック
- MacBook Pro A1706
- Core i5-7267U(3.1GHz)
- メモリ16GB
- SSD512GB
- 13インチ(2560*1600)
- OS Ventura 13.7.8
注意事項
どの作業もメッチャ時間かかるので、気長にやると良いです。
あと、sshで接続しているとタイムアウトで切れちゃうこともあるので注意
開発環境を入れてみる
Homebrew のインストール
Linux だとaptとかdnfとかyumみたいに使うもので、パッケージマネージャと呼ばれるものです
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
gitのインストール
brew install git
neovimのインストール
brew install neovim
dockerを入れる
brew install docker
これをやっても失敗しまくったので、公式から取得して入れることにしました
今回はOSも古いのでバージョン4.33.0を入れました
https://docs.docker.com/desktop/release-notes/#4330
Mac with Intel chipを選択してダウンロードしてインストール
% docker -v
Docker version 27.1.1, build 6312585
% docker-compose -v
Docker Compose version v2.29.1-desktop.1
nodeを入れる
brew install node
これも失敗します。で、以下設定をしなおします
- APIを使わない設定を環境変数に追加
echo 'export HOMEBREW_NO_INSTALL_FROM_API=1' >> ~/.zshrc
- 設定を反映
source ~/.zshrc
- カタログを古い形式で取得し直す
brew update
- 再実行
brew install node
- 成功!(10時間弱かかったような感じです)
% node -v
v25.9.0
java(Corretto25)を入れる
macOS x64 の pkgをダウンロードしてインストール
https://docs.aws.amazon.com/corretto/latest/corretto-25-ug/downloads-list.html
java -version
openjdk version "25.0.2" 2026-01-20 LTS
OpenJDK Runtime Environment Corretto-25.0.2.10.1 (build 25.0.2+10-LTS)
OpenJDK 64-Bit Server VM Corretto-25.0.2.10.1 (build 25.0.2+10-LTS, mixed mode, sharing)
mavenを入れる
brew install maven
また失敗です。。。
再チャレンジ
curl -O https://archive.apache.org/dist/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz
tar -xvf apache-maven-3.9.6-bin.tar.gz
mv apache-maven-3.9.6 maven
echo 'export PATH="$HOME/maven/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
mvn -v
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::load has been called by org.fusesource.jansi.internal.JansiLoader in an unnamed module (file:/Users/xxxx/maven/lib/jansi-2.4.0.jar)
WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled
Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)
Maven home: /Users/xxxx/maven
Java version: 25.0.2, vendor: Amazon.com Inc., runtime: /Library/Java/JavaVirtualMachines/amazon-corretto-25.jdk/Contents/Home
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x", version: "13.7.8", arch: "x86_64", family: "mac"
ワーニングでているけど、生成AIさん曰くOKらしい
Python入れる
brew install pyenv
% pyenv --version
pyenv 2.6.27
pyenv install 3.12.2
pyenv global 3.12.2
exec "$SHELL" -l
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
source ~/.zshrc
% python --version
Python 3.12.2
pipの最新化
python -m pip install --upgrade pip
以下参考
sshのタイムアウトを無効化する(ポーリングして回避)
注意点:.sshフォルダが無いと保存に失敗するので、mkdirで作っておくこと
Host *
ServerAliveInterval 60
TCPKeepAlive yes
UseKeychain yes
※ServerAliveIntervalは指定された秒数ごとに通信をして切れるのを防ぐ意味になります
sshデーモン再起動
sudo launchctl kickstart -k system/com.openssh.sshd
スリープ無効化(蓋閉じても)
sudo pmset -a disablesleep 1
元に戻したいときは、1を0にして実行
確認
pmset -g | grep Sleep
以下になっていればOK
SleepDisabled 1
LM Studioが入っているマシンの場合は以下も必要
まず、確認(そのアプリを一番上にして、LM StudioとDockerを調べる)
% osascript -e 'id of app (path to frontmost application as text)'
ai.elementlabs.lmstudio
com.electron.dockerdesktop
設定
defaults write ai.elementlabs.lmstudio ApplePushServiceIgnore -bool YES
defaults write com.electron.dockerdesktop ApplePushServiceIgnore -bool YES