Debian 10にLinuxbrewをインストールしてみる


2020/02/07

別のブログ記事のなかで、
手持ちのmacbook環境にてmkcertを使ってSPAを常時SSL化するやり方を取り上げました。

mkcerを使うと簡単にローカルでもhttpsで立ち上げることがわかりましたので、今回のことで著者が味をしめてまして、mkcertを簡単に導入してくれる
homebrewをosx以外で使いたい!と思い立ちました。

以下では、手始めにDebian10のデスクトップに
homebrewならぬLinuxbrewをインストールしてみようとおもいます。


Requirements

それではインストールの事前準備からです。公式では現在のところ、以下のような条件を要求されるようです。

            + GCC 4.7.0 or newer
+ Linux 2.6.32 or newer
+ Glibc 2.13 or newer
+ 64-bit x86_64 CPU
        
まずは、必要なライブラリとユーティリティをインストールします。

            $ sudo apt-get install build-essential curl file git
        
日々linuxで何かしらの開発をされている方は、既にインストールされているものも多いとおもいます。これらをインストールしたら各バージョンを確認してみます。

            #GCC
$ gcc --version
gcc (Debian 8.3.0-6) 8.3.0
Copyright (C) 2018 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.

#glibc
$ /lib/x86_64-linux-gnu/libc.so.6
GNU C Library (Debian GLIBC 2.28-10) stable release version 2.28.
Copyright (C) 2018 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.
Compiled by GNU CC version 8.3.0.
libc ABIs: UNIQUE IFUNC ABSOLUTE
For bug reporting instructions, please see:
<http://www.debian.org/Bugs/>.

#LinuxカーネルとCPU
$ uname -r
4.19.0-6-amd64
        
と準備完了です。


linuxbrewのインストール

こちらも公式に従います。

            $ sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
==> Installing Ruby to /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:05 --:--:--     0
100 26.9M  100 26.9M    0     0  1496k      0  0:00:18  0:00:18 --:--:-- 3672k
==> Installing successful
==> /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/current/bin/ruby
ruby 2.3.7p456 (2018-03-28 revision 63024) [x86_64-linux]
==> Add Ruby to your PATH by running:
PATH=/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/current/bin:$PATH
==> This script will install:
/home/linuxbrew/.linuxbrew/bin/brew
...
Receiving objects: 100% (5180/5180), 4.39 MiB | 2.21 MiB/s, done.
Resolving deltas: 100% (47/47), done.
Tapped 4958 formulae (5,222 files, 13.6MB).
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
Already up-to-date.
==> Installation successful!
...
Warning: /home/linuxbrew/.linuxbrew/bin is not in your PATH.
        
実行すると、バーっと自動でlinuxbrewをインストールしてくれるスクリプトのおかげで、ほぼ何もストレスなく導入できました。

パスを通す

さて、このままだとbrewコマンドがターミナルから実行できないので、パスを設定する必要があります。公式には~/.profile(Debian/Ubuntu) かもしくは ~/.bash_profile (CentOS/Fedora/RedHat)に、パスを設定する方法が書いてありますが、あまり.profileを汚染したくはないので、個人的に.bashrcの方へ設定します。

            $ sudo nano ~/.bashrc

#...中略

export PATH="/home/linuxbrew/.linuxbrew/bin:$PATH"
export PATH="/home/linuxbrew/.linuxbrew/share/man:$PATH"
        
パスの設定をし終わったら、ターミナルでbrewを叩いてみましょう。

            $ brew --version
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.sh: line 4: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory
Homebrew 2.2.5
Homebrew/linuxbrew-core (git revision 9302; last commit 2020-02-07)
        
なんだかsetlocaleの警告はでますが、Linuxbrew自体の機能には問題なさそうなので、これにてインストール完了です。


おまけ: linuxbrewでmkcert

それでは、linuxbrewでmkcertとnssをインストールしてみます。

            $ brew install mkcert
#...(中略)
==> Installing mkcert
==> Downloading https://linuxbrew.bintray.com/bottles/mkcert-1.4.1.x86_64_linux.
==> Downloading from https://akamai.bintray.com/7f/7f63bb06a04836755cbbf3bd67a31
######################################################################## 100.0%
==> Pouring mkcert-1.4.1.x86_64_linux.bottle.tar.gz
🍺  /home/linuxbrew/.linuxbrew/Cellar/mkcert/1.4.1: 7 files, 4.8MB
$  brew install nss
#...(中略)
==> Installing nss
==> Downloading https://linuxbrew.bintray.com/bottles/nss-3.49.2.x86_64_linux.bo
==> Downloading from https://akamai.bintray.com/a3/a33f0dd674e355205b99e2f625521
######################################################################## 100.0%
==> Pouring nss-3.49.2.x86_64_linux.bottle.tar.gz
🍺  /home/linuxbrew/.linuxbrew/Cellar/nss/3.49.2: 233 files, 37.9MB
        
おおっ、Debianでもbrewが問題なく動作しています。それでは、オレオレ認証書を吐かせてみましょう。

            $ mkcert -install
Created a new local CA at "/home/********/.local/share/mkcert" 💥
Sudo password:*************
The local CA is now installed in the system trust store! ⚡️
The local CA is now installed in the Firefox and/or Chrome/Chromium trust store (requires browser restart)! 🦊

$ mkcert localhost 127.0.0.1
Using the local CA at "/home/********/.local/share/mkcert" ✨

Created a new certificate valid for the following names 📜
 - "localhost"
 - "127.0.0.1"

The certificate is at "./localhost+1.pem" and the key at "./localhost+1-key.pem" ✅
        
無事、このDebianデスクトップだけで働くオレオレ認証書を発行できました。その後、SPAでもちゃんとSSL起動できることを確認しております。


まとめ

linuxでもHomebrewが使えるので、macユーザーにはlinuxを触るのもすこし楽しいかもしれません。今日日、macOSでフロントエンド開発などをされる方は、Homebrewはもう欠かせないユーティリティとなっていますが、macbookは普通のノートパソコンより高価なのが現状です。これからフロントエンド系のお仕事をやろうという方に、homebrewは使いたいけれど、Macbook Proが高くてそうおいそれと買えない...という方には、ぜひともlinuxでlinuxbrewに使い慣れてから余裕があるときにmacbookを購入するのはいかがかとおもいます。

またlinuxでHomebrew系のユーティリティをご紹介するかもしれませんので、そのときはまたタコキンのブログをチェックしてください。


参照サイト

Linuxbrew のススメ

記事を書いた人

記事の担当:taconocat

ナンデモ系エンジニア

電子工作を身近に知っていただけるように、材料調達からDIYのハウツーまで気になったところをできるだけ細かく記事にしてブログ配信してます。