概要
macOS ではメジャーな Homebrew の Linux 版が出たので試してみました
インストールから基本的な使い方まで紹介したいと思います
環境
- Ubuntu 16.04 LTS
- Linuxbrew 2.1.1
各種バージョン
インストールするには gcc や glibc、カーネルバージョン、CPU アーキテクチャなどが要件を満たしている必要があります
- GCC 4.4 or newer
- Linux 2.6.32 or newer
- Glibc 2.12 or newer
- 64-bit x86_64 CPU
Ubuntu での各種バージョンの確認方法は以下の通りです
gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
ldd --version
ldd (Ubuntu GLIBC 2.23-0ubuntu10) 2.23
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
uname -an
Linux ubuntu-xenial 4.4.0-143-generic #169-Ubuntu SMP Thu Feb 7 07:56:38 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
これらは以下のコマンドでインストールできるのでインストールされていない場合はインストールしましょう
sudo apt install build-essential
インストール
ワンライナーで可能です
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
ちなみに root ユーザで実行しようとすると怒られるので一般ユーザで実行してください
インストール中は実行しているコマンドが流れるので何をしているか詳細を確認できます
問題なく上記のコマンドが実行できたら profile にセットアップ用の設定を入れます
これらのコマンドはインストールコマンドを実行後に表示されるので、表示されたコマンドを実行してください
echo 'eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)' >>~/.profile
eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
1 行目で実行したコマンドは 2 行目で実行しているコマンドを .profile
に書き込んでいるだけです
なので 2 行目を実行せずにログアウト -> ログインでも OK です
書き込んだら以下のコマンドを実行してインストールが問題なく完了したか確認しましょう
brew --version
とりあえずインストールしてみる
なんでもいいのでインストールしてみましょう
brew install tmux
apt
と違って root
権限が必要ないです
これで tmux
コマンドが使えるようになっていると思います
パスを確認してみる
まずコマンドがどこにインストールされているですが /home/linuxbrew/.linuxbrew/bin/tmux
にありました
このパスは先程 .profile
に書き込んだ /home/linuxbrew/.linuxbrew/bin/brew shellenv
を実行することで $PATH
に追加してくれています
インストールした tmux 自体は /home/linuxbrew/.linuxbrew/Cellar/tmux/2.8_1
にありここの bin から /home/linuxbrew/.linuxbrew/bin
にシンボリックリンクが貼られています (この辺りは Homebrew と同じ仕組みだと思います)
Brewfile
普通に使えます
brew bundle dump
で現在のインストールしたフォームラや tap の情報を Brewfile に書き込んでくれます
tap "homebrew/bundle"
tap "homebrew/core"
brew "tmux"
brew "redis"
例えば brew "redis"
を追加で書き込んだとします
それをインストールするには
brew bundle
と実行します
バックグラウンド起動するには
Homebrew には brew services
というコマンドがあり例えば
brew services start redis-server
brew services list
という感じでプロセスの管理を行えます
Linuxbrew でも試してみたのですがどうやら services はまだサポートされていないようです
コマンドを実行してみたところ Error: brew services is supported only on macOS
となったので間違いないと思います
.service
ファイルを作成して systemctl に組み込むことは可能ですが面倒なので微妙な感じはします
なのでバックグラウンドで実行する場合は &
や nohup
を使うしかなさそうです
最後に
Ubuntu16.04 で Linuxbrew を試してみました
少ししか触っていませんが Homebrew と同じ感じで使えると思います
ただ一部のコマンドがまだ動作しないのでその辺りは注意が必要です
あとは apt
と混在するのが面倒な気もするので使うならどちらかのほうが良いかなと思います
apt の場合はインストールしたいバッケージのバージョンが最新でないケースが多いですが Linuxbrew は基本的には最新です
ただ、特殊なパスにインストールされたり systemctl
対応していないなどもあるので開発などを進めていると Ubuntu 特有のハマりポイントも出てくるかもしれません
apt
や systemctl
とは完全に隔離したものとして使うのであれば特に問題は出ないかなと思います
パスワードレスのsudoの場合にはインストール時にCI=1環境変数を設定して実行してください
返信削除