AWS EC2の初期環境構築:Emacs, zsh, Python3(Miniconda)
TL; DR
まっさらなEC2インスタンスにログインして作業環境を構築した際のメモ
-
emacs-nox
をリポジトリから導入 -
zsh
をリポジトリから導入-
/etc/passwd
を編集しシェルを変更
-
-
/etc/locale.conf
を編集し文字化けを解消-
.zshrc
を編集し変更を適用
-
-
Miniconda3
をインストーラから導入-
/path/to/conda init zsh
を実行
-
はじめに
本記事ではAmazon Linux 2を使っているが,Ubuntu Serverを使う場合もあるため,以下に注意する.
Amazon Linux 2のデフォルトユーザ名は
ec2-user
になる.Ubuntu Serverではubuntu
になる.Amazon Linux 2はRedHat系なので,パッケージマネージャには
apt
ではなくyum
を使う.
リポジトリの初期化
$ sudo yum update
$ sudo yum update
Debian系のsudo apt update
とsudo apt upgrade
に相当する.なお,-y
オプションを追加すれば確認をスキップすることができる.
開発ツールのインストール
sudo yum groupinstall "Development Tools"
sudo yum groupinstall "Development Tools"
Debian系のsudo apt install build-essential
に相当する.
インストールされるパッケージはgccやmake,gitなど.1
Emacsのセットアップ
$ sudo yum install emacs-nox
$ sudo yum install emacs-nox
yumを使ってインストールしたら,自分好みの.emacs.dを用意する.
use-packageやleafを導入したいけどしてない人は注意(私です)
バイトコンパイルされたパッケージやログファイルなどはそのまま移行すると不具合を起こすので,init.el
やリポジトリにないパッケージだけをコピーし,残りをM-x package-list-packages
で用意した方が楽である.そのあと--debug-init
でデバッグを行う.
zshのセットアップ
Amazon Linux 2のデフォルト環境では,chsh
が使えないため少し面倒.
インストール
$ sudo yum install zsh
デフォルトのシェルをzshに
方法は2通りある.
今回は/etc/passwd
を直接編集する方法を取った.
/etc/passwd
の編集
まず,該当するファイルを開く.
$ sudo emacs /etc/passwd
ec2-user:x:1000:1000:EC2 Default User:/home/ec2-user:/bin/bash
以下のようにして末尾のみ編集する.
※ユーザ名などは適宜読み替えること
#ec2-user:x:1000:1000:EC2 Default User:/home/ec2-user:/bin/bash
ec2-user:x:1000:1000:EC2 Default User:/home/ec2-user:/bin/zsh
変更の適用
/etc/passwd
を編集する方法は,編集内容を間違えた場合にログインできなくなる可能性があるため,変更を行ったら別の端末を開いてログインすることを推奨する.
別の端末で$ ssh -i [ダウンロードしたキー] ec2-user@[アドレス]
を実行し,新たにログインを行う.
zshの初期設定
新しい端末でログインに成功し,zshに切り替わっていれば,おそらくzshの初期設定を促す画面に到達する.
私は以下のように設定した.
-
(1) Continue to the menu
を選択 -
(2) Use the new completion system.
を実行-
(1) Turn on completion with the default options.
を実行,メニューに戻る
-
-
(0) Exit, saving the new settings. They will take effect immediately.
を実行して設定を完了
設定が終われば,通常の画面に戻る.上の画面で設定した内容が反映された.zshrc
などが作成されていることが確認できる.
あとは.zshrc
を加えて編集するなどして,zshを自由にカスタマイズする.
日本語の文字化けを解消
デフォルトでは,ログインしてyum install hoge
などと実行すると,日本語が????
のように文字化けしてしまう.これを直すには,以下の操作が必要である.4
/etc/locale.conf
の編集
$ sudo emacs /etc/locale.conf
LANG=en_US.UTF-8
以下のようにして編集する.
#LANG=en_US.UTF-8
LANG=ja_JP.UTF-8
LC_CTYPE=ja_JP.UTF-8
ロケール設定の有効化
$ emacs .zshrc
.zshrc
に以下の行を追加する.
source /etc/locale.conf
これで次のログインから文字化けが解消される.
Python (Miniconda3)のインストール
conda
を使った環境に慣れているため,大きな容量を必要としないMinicondaをインストールした.以下の方法で導入できる.5
インストーラの入手
以下の公式サイトからインストーラのURLを取得する.
Miniconda - Conda documentation
URLをコピーしたら,インスタンス上で目的のインストーラを取得する.
$ wget [コピーした最新のインストーラのURL]
Minicondaのインストール
$ zsh Miniconda3-latest-Linux-x86_64.sh
インストーラを実行する.
※ファイル名は適宜読み替えること
Welcome to Miniconda3 4.8.2
In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>>
以上のような画面に移り変わるため,まずは指示通りにENTERを入力する.
ソフトウェア利用許諾契約が表示されるので,less
と同じようにしてq
で終了する.
[省略]
Last updated February 25, 2020
Do you accept the license terms? [yes|no]
[no] >>>
以上のように同意するかを尋ねられるので,yes
と答える.
Miniconda3 will now be installed into this location:
/home/ec2-user/miniconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
[/home/ec2-user/miniconda3] >>>
続けて以上のようにインストールする場所を尋ねられるので,/home/ec2-user/miniconda3
で良い場合はENTERを入力する.
Do you wish the installer to initialize Miniconda3
by running conda init? [yes|no]
[no] >>>
さらに初期化の有無を尋ねられるが,ここでの初期化はbashにしか反映されないため,no
と答える.
You have chosen to not have conda modify your shell scripts at all.
To activate conda's base environment in your current shell session:
eval "$(/home/ec2-user/miniconda3/bin/conda shell.YOUR_SHELL_NAME hook)"
To install conda's shell functions for easier access, first activate, then:
conda init
If you'd prefer that conda's base environment not be activated on startup,
set the auto_activate_base parameter to false:
conda config --set auto_activate_base false
Thank you for installing Miniconda3!
以上のようにしてインストールが完了する.しかし,加えて初期化を行う必要がある.
$ /home/ec2-user/miniconda3/bin/conda init zsh
以上のように対象をzshに指定して初期化を行うと,以下のようなメッセージが表示される.
no change /home/ec2-user/miniconda3/condabin/conda
no change /home/ec2-user/miniconda3/bin/conda
no change /home/ec2-user/miniconda3/bin/conda-env
no change /home/ec2-user/miniconda3/bin/activate
no change /home/ec2-user/miniconda3/bin/deactivate
no change /home/ec2-user/miniconda3/etc/profile.d/conda.sh
no change /home/ec2-user/miniconda3/etc/fish/conf.d/conda.fish
no change /home/ec2-user/miniconda3/shell/condabin/Conda.psm1
no change /home/ec2-user/miniconda3/shell/condabin/conda-hook.ps1
no change /home/ec2-user/miniconda3/lib/python3.7/site-packages/xontrib/conda.xsh
no change /home/ec2-user/miniconda3/etc/profile.d/conda.csh
modified /home/ec2-user/.zshrc
==> For changes to take effect, close and re-open your current shell. <==
再度ログインし直すことで,conda
の各種コマンドが使用可能になる.
Author And Source
この問題について(AWS EC2の初期環境構築:Emacs, zsh, Python3(Miniconda)), 我々は、より多くの情報をここで見つけました https://qiita.com/willow-micro/items/e6e36c68ee4757b32179著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .