リモートサーバーを使っているときに、新しいパッケージをインストールしたいのに、管理者権限が無いから”sudo apt install”が出来ない!ということは良くあることだと思う。
特に、ConoHa WINGを契約している人は、何故かnano(コマンドライン上で動くテキストエディタの一つ)が最初から入っていないため、vimが苦手な人などはnanoがインストールしたくなるかも。
そこで”ConoHa WING”、”nano”を例として、管理者権限の無いLinuxサーバーでのパッケージインストール方法を説明する。
ホームディレクトリに”.local”フォルダを作成し、PATHを通す
Linuxで管理者権限のないユーザーが新しいパッケージをインストールする場合、基本的にはホームディレクトリに隠しディレクトリ”.local”を作成し、その下にインストールすることになる。
また、インストールしたパッケージをどこからでも使えるようにするために、環境変数”PATH”に、”.local/bin”を追加する必要がある。
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
場合によっては最初から”.local”フォルダも作成されていて、”.bash_profile”に”.local/bin”のPATHも通っているだろう。ぼくのConoHa WINGもそうだった。
インストールしたいパッケージの圧縮ファイルをリモートに置く
PATHが通ったらインストールしたい各種パッケージ・ライブラリのソースコードをリモートに置く。
方法は基本的には二通りあり、①wgetなどでリモートのシェルでダウンロードする。②公式サイトから自分のPCにダウンロードしてファイル転送(sftpなど)を用いてリモートに置く。 がある。
①の場合はダウンロードしたいディレクトリで以下のコマンドを入力する。(nanoの場合で、2023年7月18日現在最新のnano-7.2の場合)
wget https://www.nano-editor.org/dist/v7/nano-7.2.tar.gz
②の場合はnanoの公式サイトからローカルのPCにダウンロードして、ダウンロードしたファイルをsftpなどを用いて配置する。
ConoHa WINGの場合は、”ConoHa ファイルマネージャー”がわかりやすくて使いやすいので、こちらを使っても良いだろう。ftpはセキュリティ的にあんまり推奨されないし。
ちなみにnanoの公式サイトには拡張子の異なる同一ファイルが置いてある。”.tar.xz”や”.tar.xz.asc”, “.tar.gz”, “.tar.gz.asc”だ。
これらはすべてファイルの圧縮形式(.zipとかの仲間)であり、”.tar” は複数のファイルを1つのアーカイブファイルにまとめるための形式で、”.xz”と”.gz”は圧縮のアルゴリズム違いで分かれている。”.xz”の方がより圧縮されているが、解凍にかかる時間が長い。また、.asc は、ファイルの電子署名を表す拡張子で、ファイルが改ざんされていないことを確認するためのものらしい。基本的にはどれをダウンロードしても良い。
解凍してビルドする
圧縮ファイルをリモートに置いたら、解凍する。”.tar”の解凍は”tar”コマンドだ。
tar -xvf nano-7.2.tar.gz
展開すると凄い量のログが流れる。(中に入っているファイルの数にも依る)
ファイルを展開したら、展開先のディレクトリに行こう。(nanoなら”cd nano-7.2″)
展開しただけでは利用できないので、ビルドして.localに置く必要がある。
./configure --prefix=$HOME/.local
make
make install
それぞれのコマンドを実行したらインストール完了だ。試しにhoge.txtをnanoで編集してみれば……。
nano hoge.txt
無事にnanoのインストールが完了!お疲れ様でした!
パッケージによってはビルドの方法が異なるかもしれないので、nano以外の場合は適宜調べて欲しい。
今日のところはこれで終わり!
ではでは~
コメント