Hyper-Vで開発用のUbuntu環境を構築
Hyper-VにUbuntu22.04LTS入れて開発環境作成したんでその時の作業メモを残しとく。
別にネットでどっかから拾ってこれるもんだけれども・・・。
自分の備忘録でおいておこうかと。そのうちShellスクリプトにでもして手でコマンド打たなくてもよくしたい。
1.初期設定 1-1.日本語化 $ sudo sed -i.bak -e "s%http://us.archive.ubuntu.com/ubuntu/%http://ftp.jaist.ac.jp/pub/Linux/ubuntu/%g" /etc/apt/sources.list $ sudo apt-get -y install language-pack-ja-base language-pack-ja ibus-mozc $ sudo localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja" $ source /etc/default/locale $ echo $LANG ja_JP.UTF-8 1-2.タイムロケール変更 $ sudo timedatectl set-timezone Asia/Tokyo $ timedatectl 1-3.ソフトウェアアップデート $ sudo apt-get update $ sudo apt-get -y upgrade 1-4.ディストリビューションアップデート $ sudo apt-get -y update $ sudo apt-get dist-upgrade 1-5.デフォルトエディタ変更 $ sudo update-alternatives --config editor alternative editor (/usr/bin/editor を提供) には 4 個の選択肢があります。 選択肢 パス 優先度 状態 ------------------------------------------------------------ * 0 /bin/nano 40 自動モード 1 /bin/ed -100 手動モード 2 /bin/nano 40 手動モード 3 /usr/bin/vim.basic 30 手動モード 4 /usr/bin/vim.tiny 15 手動モード 現在の選択 [*] を保持するには、さもなければ選択肢の番号のキーを押してく ださい: 4 update-alternatives: /usr/bin/editor (editor) を提供するためにマニュアルモードで /usr/bin/vim.tiny を使います $ sudo apt -y remove nano 1-3.ssh_config修正 $ sudo vi /etc/ssh/sshd_config ------------------------------- # PermitRootLogin noを追記しその上をコメントアウト # Authentication: LoginGraceTime 120 #PermitRootLogin without-password PermitRootLogin no StrictModes yes # ssh対策(RSA有効) PubkeyAcceptedAlgorithms=+ssh-rsa HostKeyAlgorithms=+ssh-rsa ------------------------------- 1-4.ssh再起動 $ sudo sshd -t $ sudo systemctl restart ssh 1-5.ssh用証明書作成 #TeraTermでKey作成後にWinSCP等でpubファイルアップロード後に以下のコマンド実行 $ mkdir .ssh $ chmod 700 .ssh $ mv id_rsa.pub .ssh/authorized_keys 1-6.sshd_config編集 $ su - matarain パスワード: $ sudo sed -i -e "s/#PubkeyAuthentication/PubkeyAuthentication/g" /etc/ssh/sshd_config $ sudo sed -i -e "s/PasswordAuthentication yes/PasswordAuthentication no/g" /etc/ssh/sshd_config $ sudo sed -i -e "s/PasswordAuthentication yes/PasswordAuthentication no/g" /etc/ssh/sshd_config.d/50-cloud-init.conf $ sudo sshd -t $ sudo reboot 2.開発環境 2-1.Pyenv インストール $ sudo apt install -y \ build-essential \ libffi-dev \ libssl-dev \ zlib1g-dev \ liblzma-dev \ libbz2-dev \ libreadline-dev \ libsqlite3-dev \ libopencv-dev \ tk-dev \ git $ git clone https://github.com/pyenv/pyenv.git ~/.pyenv $ git clone https://github.com/yyuu/pyenv-update.git ~/.pyenv/plugins/pyenv-update $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc $ echo 'eval "$(pyenv init -)"' >> ~/.bashrc $ source ~/.bashrc $ pyenv -v pyenv 2.3.17-10-g920ef145 $ pyenv install -l | grep -v '[a-zA-Z]' | grep -e '\s3\.?*' | tail -1 $ pyenv install $(pyenv install -l | grep -v '[a-zA-Z]' | grep -e '\s3\.?*' | tail -1) $ sudo ln -s /usr/bin/python3 /usr/bin/python $ pyenv global $(pyenv install -l | grep -v '[a-zA-Z]' | grep -e '\s3\.?*' | tail -1) $ pyenv rehash $ pyenv versions system * 3.10.2 (set by /home/m-nishimura/.pyenv/version) $ sudo apt install -y python3-pip 2-2.nvmパッケージインストール(node) $ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash $ nvm ls-remote $ nvm install stable $ nvm install --lts --latest-npm $ nvm alias default 'lts/*' $ nvm ls $ nvm use X.X.X 2-3.rbenvインストール $ sudo -y apt install \ curl \ libssl-dev \ libreadline-dev \ zlib1g-dev \ autoconf \ bison \ build-essential \ libyaml-dev \ libreadline-dev \ libncurses5-dev \ libffi-dev \ libgdbm-dev $ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc $ echo 'eval "$(rbenv init -)"' >> ~/.bashrc $ rbenv install $(rbenv install -l | grep -v - | tail -1) $ rbenv global $(rbenv install -l | grep -v - | tail -1) $ 3.VSCode設定
これShellにして一発で叩けるようにしとければいいかなぁ。そもそもDocker使えという話だと思うけど、なんかDockerにVisualStudioからどうやって入るんかが良く分からんのでHyper-Vの方が楽かなぁと思った。Version切替できるようにしとかないと色々とややこしいことなるんで・・・。
◆参考サイト
1-1.日本語化
https://qiita.com/fkshom/items/53de3a9b9278cd524099
1-3.ssh_config修正
https://remoteroom.jp/diary/2022-07-24/
https://qiita.com/lustm5/items/63433815780606c426ab
2-2.nvmパッケージインストール(node)
https://ja.linux-console.net/?p=6839#gsc.tab=0
https://qiita.com/ffggss/items/94f1c4c5d311db2ec71a
https://qiita.com/yoshixmk/items/eb4ef5025bd9feb16797
2-3.rbenvインストール
https://ja.linux-console.net/?p=6757#gsc.tab=0
3.VSCode設定
コメント