はじめに
家にあったMacminiの使い途がなかったので、Ubuntuを入れて何か便利に使ってみようと、
色々調べて構築してみました。
また普段使っているパソコンはMacbookなので、それとの連携を考えました。
各スペックと実装する内容は以下の通り。
サーバ側
Macmini
- 内蔵ドライブはSSD 128GBとHDD 500GBに換装(自作FusionDriveを組んでいた)
- 外付けドライブはHDD 1TB
- 内部をあれこれ触っているうちにAirMacとBluetoothのアンテナが外れちゃったので、それぞれUSBで接続
クライアント側
Macbook
やりたいこと
- TimeMachineサーバ(バックアップディスクのリモート化)
- iTunesライブラリの外出し (もうiTunesって言わないんだった。。。)
- 写真ライブラリの外出し
- メディアサーバ化
Ubuntuのインストール(ざっくり)
- Ubuntu 18.04のISOイメージをUbuntu日本語サイトからDL、DVDを作成
- 外付けDVDドライブでインストールDVDから起動
- Macとのデュアルブートは考えてないから、SSDを全消ししてインストール
- 一度パーティション暗号化しちゃったけど、あとあと面倒なことになったので暗号化せずに再インストール
- Wifiは手元にあったPlanexの適当なやつ
インストールの後は以下の3つを実施。
データ保存用ディスクの作成
内蔵HDDの500GBと外付けHDD 1TBをLVMに組み込んで1.5TBのボリュームを作成。(/mediaにマウント)
GUIでやる方法がわからなかったので、コマンドラインで作成。(詳細は割愛)
VNCを有効可
Macのデフォルトのクライアントは、そのままでは繋がらないので、以下のように暗号化要求を無効。
sudo gsettings set org.gnome.Vino require-encryption false
でもデフォルトクライアントは遅かったのでiTeleportを利用。
でもiTeleportって開発、配布終了してない??
sshdを有効可
デフォルトでsshdが入っていなかった(結構驚きだった。)のでインストールから。
sudo apt-get install aptitude
sudo aptitude install ssh
TimeMachineサーバ化
さてここから本題。まずはTimeMachineサーバ化をします。
前はAFPっていうプロトコルで接続するためにNetatalkを入れて実現するんでしたが、
最近のMacOSはAFPでTimeMachineバックアップができなくなったので、
割と新しいSambaを入れます。
sambaのインストール
aptで入れられるSambaではバージョンが古くて、TimeMachineバックアップはできないので、
ソースからコンパイルして、インストールします。
あんまりちゃんとメモしてなかったので、色々割愛。
ソースはこちらからダウンロード。Samba HP
自分はバージョンは4.11.9を入れた模様。
configure時のオプションは、こちらのサイトとかを参照。
sambaの設定
設定はこんな感じかな?
[global]
# globalセクションの最後の方とかに以下を追加
# Special configuration for Apple's Time Machine
vfs objects = catia fruit streams_xattr
fruit:model = MacMini # ここは何でもいいっぽい。多分。
fruit:resource = file
fruit:metadata = netatalk
fruit:locking = netatalk
fruit:encoding = native
durable handles = yes
kernel oplocks = no
kernel share modes = no
posix locking = no
fruit:advertise_fullsync = true
smb2 leases = yes
fruit:aapl = yes
[TimeMachine@Ubuntu]
# 上記の名前がTimeMachineの設定に出てくる。
path = /media/timemachine # バックアップを取るパスを指定。
valid users = hoge
writable = yes
durable handles = yes
kernel oplocks = no
kernel share modes = no
posix locking = no
vfs objects = catia fruit streams_xattr
ea support = yes
browseable = yes
read only = No
inherit acls = yes
fruit:time machine = yes
fruit:aapl = yes
spotlight = yes
create mask = 0666
directory mask = 0777
comment = Time Machine
fruit:time machine max size = 512G # timemachineのボリュームを制限するならここで指定。
mDNSでMacminiを探せるように、avahi-daemonをインストール。
これはaptでインストールしても問題ないので、諸々割愛。
バックアップが途中で止まっちゃったりするようであれば、こちらを参考。
iPhoneの同期とかTimeMachineバックアップのときにSambaがCoreファイルを吐いて強制終了する話
iTunesライブラリの外出し
ローカルに音楽ファイルがあると、ローカルのSSDを食いつぶしちゃうので、
これもさっきのSambaで共有したフォルダに置いておきます。
それ用のフォルダの設定はこんな感じ。
[media]
comment = media
path = /media
guest ok = no
browseable = yes
read only = no
create mask = 0666
directory mask = 0777
あとはMacで共有フォルダをマウントして、iTunesのライブラリ(Music Media)の場所を、マウントしたボリュームに変更。
さらにファイル->ライブラリ->ライブラリを整理...を選択して、
ファイルに結合にチェックを入れてOKを押すと、共有フォルダにファイルがコピーされる。
ローカル側でCDの読み込みをしても、ちゃんとサーバ側にファイルができるので便利。
写真ライブラリの外出し
写真もiTunesと同じ用にやればライブラリの外出しはできるんだけど、
そうすると今度はiCloud写真が無効化されちゃうので、結局もとに戻した。
メディアサーバ化
ソフトを探してみたが、しっくり来るものがなく今回は保留。
そもそもメディアサーバってあんまり用途がないかも・・・。
はじめ音楽ファイルはMacmini側からDLNAで配信すればいいかなーって思ってたけど、
それだとiPhoneに同期できないのやめました。
こんな感じでMacminiの再利用・有効活用ができて、MacBookのディスク使用量も削減できました。