LoginSignup
0
0

Synology DiskStation の Intel プラットフォームの DSM 7.x に Homebrew (Linuxbrew) をインストールする

Last updated at Posted at 2023-03-13

Synology DiskStation の Intel プラットフォームの DSM 7.x に Homebrew (Linuxbrew) をインストールする

元ネタはこちら

前提条件

  • DiskStation の要件が、Linux 3.2以降、Glibc 2.13 以降、64ビットx86_64 CPUであること
    • 注意:ARM プラットフォーム対象外
    • 注意:32 ビット x86 プラットフォーム対象外
  • DiskStation に admin 権限で SSH ログインした状態で作業すること

DiskStation に、コミュニティパッケージの Git と Ruby をインストールする

  • インストール手順

    1. DSM7 に管理者としてログイン
    2. メインメニュー → パッケージセンター → [パッケージソース]タブを選択
    3. [追加]をクリックし、[名前:]に SynoCommunity、[場所:]に https://packages.synocommunity.com/ と入力し、[OK]を押す
      pict01.png
    4. パッケージセンター に戻り、左ペインの [コミュニティ] を選択、Git と Ruby をインストールする
      pict02.png

    注意:パッケージソースのタブに追加できない場合は、証明書を最新にする

    DiskStation に admin 権限で SSH ログインした状態で作業すること
    $ sudo mv /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt.bak
    $ sudo curl -Lko /etc/ssl/certs/ca-certificates.crt https://curl.se/ca/cacert.pem
    $ sudo chmod 777 /etc/ssl/certs/ca-certificates.crt
    
  • 参考資料:Packages for Synology NAS 公式サイト

  • 参考資料:パッケージセンターでアプリケーションをインストールするにはどうすればよいですか?

Homebrew インストール前の準備を行う

  1. /usr/bin/ にダミーの ldd コマンドを作成する
    DiskStation に admin 権限で SSH ログインした状態で作業すること
    $ cd /usr/bin/
    $ sudo touch ldd
    $ sudo chmod 777 /usr/bin/ldd
    $ sudo vi ldd
    # vi で以下の「ダミーの ldd のスクリプト」の内容をコピペして保存
    
    ダミーの ldd のスクリプト
    #!/bin/bash
    [[ $(/usr/lib/libc.so.6) =~ version\ ([0-9]\.[0-9]+) ]] && echo "ldd ${BASH_REMATCH[ 1]}"
    
    ダミーの ldd の詳細と実行を確認する
    $ ls -la /usr/bin/ldd
    -rwxrwxrwx 1 root root 101 Feb 14 13:03 /usr/bin/ldd
    $ /usr/bin/ldd
    ldd 2.26
    
  2. /binにあるlddコマンドの権限を変える
    DiskStation に admin 権限で SSH ログインした状態で作業すること
    $ sudo chmod 777 /bin/ldd
    $ ls -la /bin/ldd
    -rwxrwxrwx 1 root root 101 Feb 14 13:03 /bin/ldd
    $ /bin/ldd
    ldd 2.26
    
  3. /volume1/homes/home としてバインドする
    DiskStation に admin 権限で SSH ログインした状態で作業すること
    $ sudo mkdir /home
    $ sudo chmod 777 /home
    $ sudo mount -o bind "/volume1/homes" /home
    

    注意:DiskStation の再起動時はマウントが解除されるので、自動的に再マウントするスクリプトを追加する

    • 以下の手順でタスクを新規設定する
      • コントロールパネル→ タスク スケジューラー→
      • 作成→ トリガーされたタスク→
      • ユーザー指定のスクリプト
    • 「全般」タブを選択して、以下を設定する
      • タスク: 任意の名前(例:BIND HOME)
      • ユーザー: root
      • イベント: ブートアップ
      • プリタスク: そのまま
      • 有効: オン
    • 「タスク設定」タブを選択して、以下を設定する
      • 「ユーザー指定のスクリプト」に以下のスクリプトを記述する
    ユーザー指定のスクリプトの入力欄に記述する内容
    #!/bin/sh
    sleep 10
    mount -o bind "/volume1/homes" /home
    

Homebrew をインストールする

  1. Homebrew公式ページのインストールコマンドを実行する
    DiskStation に SSH ログインして作業する
    # 以下は参考:インストールコマンドは随時修正される、公式ページのインストールコマンドをコピペして実行すること
    $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    

Homebrew インストール成功直後のメッセージ

  • Homebrew のインストールに成功すると以下のようなメッセージが表示される
DiskStation に SSH ログインして作業する
# Homebrew インストール成功
==> Installation successful!  

# Homebrew の匿名情報収集とオプトアウトの説明表示 
==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics
No analytics data has been sent yet (nor will any be during this install run).

# Homebrew は完全無給のボランティア運営、寄付のお願い
==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations

# 次のステップ:
==> Next steps:

# ターミナルで以下の2つのコマンドを実行し、PATH に Homebrew を追加する
- Run these two commands in your terminal to add Homebrew to your PATH:
    (echo; echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"') >> /var/services/homes/自分のユーザー名/.profile
    eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"

# sudo権限がある場合は、Homebrewの依存ファイルをインストール、詳しくは以下、URL を参照
- Install Homebrew dependencies if you have sudo access:
  For more information, see:
    https://docs.brew.sh/Homebrew-on-Linux

# GCCのインストールを推奨
- We recommend that you install GCC:
    brew install gcc

#  brew help を実行してヘルプを表示、さあ始めましょう
- Run brew help to get started

# さらにドキュメントを見たい場合は:
- Further documentation:
    https://docs.brew.sh

上記のメッセージを受けて、PATHを通し、必須コンパイラ(含む llvm)の追加を行う

DiskStation に SSH ログインして作業する
$ (echo; echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"') >> /var/services/homes/自分のユーザー名/.profile
$ eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
$ brew update
$ brew upgrade
$ brew install gcc
$ brew install llvm
$ brew doctor

注意:brew doctor で警告があれば、メッセージに従って修正すること
ただし、以下の警告は無視してよい(参考URLは、以下のとおり)
[Synology DSM] Any command outputs "brew.sh: line 604: /etc/os-release: No such file or directory" #4670

DiskStation に SSH ログインして作業する
$ brew doctor
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.sh: line 598: /etc/os-release: No such file or directory
Your system is ready to brew.

余談 Homebrew 4.0 からの技術的な変更点

0
0
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
0
0