管理者権限がない場合の各種パッケージのインストール方法(Ubuntu)

# はじめに

大学や会社のLinux PCで仕事をしていると欲しいソフトをインストールしたくても管理者権限がないため、すぐにインストールできず面倒なことがよくあります。そこでローカルにインストールして試すことになるのですが、私のやり方をメモ代わりにここに示しておきます。
（モノによっては依存パッケージの関係でうまくいかないことがありますので注意してください。）

# 基本的な手順

ホームディレクトリに`.local`という隠しディレクトリを作り、その下にインストールします。Ubuntuなら初めからあるとは思いますが、なければ作成しておきます。

次に`.local/bin`を環境変数`PATH`に追加します。`bash_profile`や`bashrc`内で追加するように設定しておくといいでしょう。

私の場合、PCが壊れた場合や新しく買った時のことを考え、自動でインストールするシェルスクリプトを作っています。

# 各種パッケージ・ライブラリ

## autoconf

```terminal
cd ~/Downloads
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
tar -zxvf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure --prefix=$HOME/.local
make
make install
```

`./configure`のときに`--prefix`オプションでインストールディレクトリを指定するのがポイントです。


## automake

```terminal
cd ~/Downloads
wget https://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz
tar -zxvf automake-1.15.tar.gz
cd automake-1.15
./configure --prefix=$HOME/.local
make
make install
```

## cmake

```terminal
cd ~/Downloads
wget https://cmake.org/files/v3.10/cmake-3.10.2.tar.gz
tar -zxvf cmake-3.10.2.tar.gz
cd cmake-3.10.2
./configure --prefix=$HOME/.local
make
make install
```

## powerline-shell

まず`powerline-shell`本体をインストールします。`pip install`に`--user`オプションをつけると`~/.local`にインストールされます。`~/.local/bin`を`PATH`に加えるのを忘れないようにしましょう。

```terminal
pip install --user powerline-shell
```

次に`powerline-shell`のフォントをインストールします。

```terminal
cd ~/Downloads
git clone https://github.com/powerline/fonts.git --depth=1
cd fonts
./install.sh
cd ..
rm -rf fonts   # インストール後はディレクトリが不要となるので削除しても大丈夫
```

フォントのインストール後にターミナルの「編集」→「プロファイルの設定」→「フォントを設定する」からpowrline-shellのフォントを選択します。

## tmux

tmuxを上記のようにしてローカルにインストールする場合、依存パッケージがインストールされていないとエラーが起きます。依存パッケージのインストールには非常に手間がかかり、解決できない場合もあります（私の場合そうでした）。そこで、[minos-static](https://github.com/minos-org/minos-static)という依存関係の問題を解決するためのプロジェクトを使うことにします。

### Minos-staticのダウンロード

まずはminos-staticを`.local/src`にダウンロードします。

```terminal
mkdir -p $HOME/.local/src
cd $HOME/.local/src
git clone https://github.com/minos-org/minos-static.git
```

これで`minos-static`というディレクトリが`~/.local/src`以下にできます。`minos-static`を使ってインストールしたパッケージを使えるようにするために、環境変数`PATH`に`~/.local/src/minos-static/bin`を加えます。

### Minos-staticを使ってtmuxをインストール

```terminal
cd ~/.local/src/minos-static
static-get tmux                # tmux-1.9a.tar.xzがダウンロードされる
tar xvf tmux-1.9a.tar.xz       # 解凍
```

ちなみに`static-get --search`とするとminos-staticを通して得られるパッケージの一覧を見ることができます。

## TexLive

英語しか使わないのでTexLiveのみインストールします。
インストール方法は[ここ](https://www.tug.org/texlive/doc/texlive-en/texlive-en.html#installation)を参照してください。

```terminal
cd ~/Downloads
wget https://www.tug.org/texlive/acquire-netinstall.html
tar -zxf install-tl-unx.tar.gz
cd install-tl-<YYYYMMDD>
perl install-tl
```
あとは画面の指示にしたがってインストールディレクトリをローカルディレクトリに設定して実行するだけです。私の場合は`~/.local/texlive/2017/`を指定してインストールしました。
ちなみに`perl install-tl -help`とするとオプションリストを見ることができます（perl-docパッケージが必要）。


## Boostライブラリ

インストール先を`--prefix`オプションで指定してあげるだけです。

```terminal
cd ~/Downloads
wget https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz
tar -zxf boost_1_66_0.tar.gz
cd boost_1_66_0
./b2 --prefix=$HOME/.local install
```

## OpenBLASライブラリ

インストール方法はOpenBLASのWikiの[User Manual](https://github.com/xianyi/OpenBLAS/wiki/User-Manual)や[Installation Guide](https://github.com/xianyi/OpenBLAS/wiki/Installation-Guide)を参照しました。

```terminal
cd ~/Downloads
wget http://github.com/xianyi/OpenBLAS/archive/v0.2.20.tar.gz
tar -zxf v0.2.20.tar.gz
cd OpenBLAS-0.2.20
make                               # コンパイル
make install PREFIX=$HOME/.local   # インストール
```