1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ubuntu@MacminiをMacで使える便利サーバにする

Last updated at Posted at 2020-08-08

はじめに

家にあった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の設定

設定はこんな感じかな?

/etc/samba/smb.conf
[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で共有したフォルダに置いておきます。

それ用のフォルダの設定はこんな感じ。

/etc/samba/smb.conf
[media]
   comment = media
   path = /media
   guest ok = no
   browseable = yes
   read only = no
   create mask = 0666
   directory mask = 0777

あとはMacで共有フォルダをマウントして、iTunesのライブラリ(Music Media)の場所を、マウントしたボリュームに変更。
スクリーンショット 2020-08-08 17.18.23.png

さらにファイル->ライブラリ->ライブラリを整理...を選択して、
ファイルに結合にチェックを入れてOKを押すと、共有フォルダにファイルがコピーされる。
スクリーンショット 2020-08-08 17.19.58.png

ローカル側でCDの読み込みをしても、ちゃんとサーバ側にファイルができるので便利。

写真ライブラリの外出し

写真もiTunesと同じ用にやればライブラリの外出しはできるんだけど、
そうすると今度はiCloud写真が無効化されちゃうので、結局もとに戻した。

メディアサーバ化

ソフトを探してみたが、しっくり来るものがなく今回は保留。
そもそもメディアサーバってあんまり用途がないかも・・・。

はじめ音楽ファイルはMacmini側からDLNAで配信すればいいかなーって思ってたけど、
それだとiPhoneに同期できないのやめました。


こんな感じでMacminiの再利用・有効活用ができて、MacBookのディスク使用量も削減できました。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?