※ OSは Ubuntu 20.04(LTS) を使用
- まずはプロンプトを変更(ミニマルな内容にする)
#1.まずは現在の設定確認
user@DESKTOP-XXXXX:~$ **echo $PS1**
\\[\\e]0;\\u@\\h: \\w\\a\\]${debian_chroot:+($debian_chroot)}\\[\\033[01;32m\\]\\u@\\h\\[\\033[00m\\]:\\[\\033[01;34m\\]\\w\\[\\033[00m\\]\\$
#2.PS1の値を書き換え
user@DESKTOP-XXXXX:~$ **PS1='\\[\\e[1;32m\\]\\W\\$ \\[\\e[m\\]'**
~$
#3.設定内容を永続化
~$ **echo "PS1='\\[\\e[1;32m\\]\\W\\$ \\[\\e[m\\]'" >> .bashrc**
#4.ターミナルを再起動して、設定が永続化されてること確認
~$
- systemd を PID1(親プロセス)にする
#1.現状のプロセスを確認
~$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 896 528 ? Sl 16:13 0:00 /init
root 120 0.0 0.0 896 84 ? Ss 16:19 0:00 /init
#2.dotnet-runtime-5.0などの依存モジュールをインストール
wget <https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb> -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt-get update; \\
sudo apt-get install -y apt-transport-https && \\
sudo apt-get update && \\
sudo apt-get install -y aspnetcore-runtime-5.0
sudo apt install -y daemonize dbus gawk libc6 libstdc++6 policykit-1 systemd systemd-container
sudo -s
apt install apt-transport-https
wget -O /etc/apt/trusted.gpg.d/wsl-transdebian.gpg <https://arkane-systems.github.io/wsl-transdebian/apt/wsl-transdebian.gpg>
chmod a+r /etc/apt/trusted.gpg.d/wsl-transdebian.gpg
cat << EOF > /etc/apt/sources.list.d/wsl-transdebian.list
deb <https://arkane-systems.github.io/wsl-transdebian/apt/> $(lsb_release -cs) main
deb-src <https://arkane-systems.github.io/wsl-transdebian/apt/> $(lsb_release -cs) main
EOF
apt update
#3.genieインストール
sudo apt install -y systemd-genie
#4.genieを実行
genie -s
#5.エラー解消
#5-1.systemd-remount-fs.serviceのエラーを解消する
dfでルートパーティション確認→/dev/sdb
sudo e2label /dev/sdb cloudimg-rootfs
#5-2.multipathd.socketのエラーを解消する
sudo systemctl disable multipathd.socket
#5-3.ssh.serviceのエラーを解消する
sudo ssh-keygen -A
#6.bashrcに設定記入
# Are we in the bottle?
if [[ ! -v INSIDE_GENIE ]]; then
echo "Starting genie:"
exec /usr/bin/genie -s
fi
#7.Ubuntu再起動後にPID1を確認
~$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.2 0.1 175028 13128 ? Ss 21:40 0:01 systemd
root 50 0.0 0.1 51456 15596 ? S<s 21:40 0:00 /lib/systemd/systemd-journald
root 72 0.0 0.0 19564 5228 ? Ss 21:40 0:00 /lib/systemd/systemd-udevd
補足:systemdをPID1にしないと、systemctlを実行すると以下のようなエラーが出る
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
- WindowsのPATHを引き継がないように設定
1. 設定の追加
sudo vi /etc/wsl.conf
--
# WindowsのPATHを引き継がない設定を追記する
[interop]
appendWindowsPath = false
2. Widnowsコマンドプロンプトから再起動
--
wsl.exe --shutdown
- Golangをインストール
# 1. Goのパッケージをダウンロード
~$ wget <https://go.dev/dl/go1.17.7.linux-amd64.tar.gz>
# 2. 展開
~$ sudo tar -C /usr/local -xzf go1.17.7.linux-amd64.tar.gz
# 3. PATHに追加・反映
~$ echo "PATH=$PATH:/usr/local/go/bin" >> .bashrc
~$ source .bashrc
# 4.動作確認
~$ go version
go version go1.17.7 linux/amd64
- ghq(Gitリポジトリ管理ツール)をインストール
go install github.com/x-motemen/ghq@latest
echo "PATH=$PATH:~/go/bin" >> .bashrc
# dial tcp: lookup proxy.golang.org: no such host のエラー出た場合
go env -w GOPROXY=direct
- AWS CLI 2をインストール
curl "<https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip>" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
~$ aws --version
aws-cli/2.4.23 Python/3.8.8 Linux/5.10.60.1-microsoft-standard-WSL2 exe/x86_64.ubuntu.20 prompt/off
- AWS Session Managerをインストール
curl "<https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb>" -o "session-manager-plugin.deb"
sudo dpkg -i session-manager-plugin.deb
~$ session-manager-plugin
The Session Manager plugin was installed successfully. Use the AWS CLI to start a session.
Proxy環境下の関連設定
zscalerの場合
- Linuxで証明書導入
/usr/share/ca-certificates/ 配下に任意のディレクトリ作成
/usr/share/ca-certificates/zscaler/ 配下に証明書を配置
/etc/ca-certificates.confに/usr/share/ca-certificates/ 以下の相対パスを追加
(ここではzscaler/zscaler.cer)
/usr/sbin/update-ca-certificatesを実行
- aws
export AWS_CA_BUNDLE=~/zscaler_root.crt
- git, conda, pip
1.最新のPythonの信頼する証明書リストを入手する。<https://curl.haxx.se/ca/cacert.pemからダウンロードする。>
2.このファイルの末尾に、テキスト形式で保存したzscalerのオレオレ証明書のテキストを追加する。
3.以下のパスに保存する# Windows%USERPROFILE%\\certs\\ca-bundle.crt
4.以下のコマンドをコマンドプロンプトで実行し、保存した証明書リストを使うように設定する。
pip config set global.cert %USERPROFILE%\\certs\\ca-bundle.crtconda config --set ssl_verify %USERPROFILE%\\certs\\ca-bundle.crtgit config --global http.sslVerify truegit config --global http.sslCAInfo path/to/ca-bundle.crt
- DNS Resolver に8.8.8.8追加
#1. /etc/systemd/resolved.conf に以下を追加
---------------
[Resolve]
DNS=8.8.8.8
#2.再起動
systemctl restart systemd-resolved
#3.DNS確認
systemd-resolve --status