Open19

Ubuntu 22.04 設定

hirukiyohirukiyo

ディレクトリを英語化

LANG=C xdg-user-dirs-gtk-update
hirukiyohirukiyo

CapsLockをCTRLに変更

  • keyboard設定ファイルを開く
sudo vi /etc/default/keyboard
  • ファイル編集
 - XKBOPTIONS=""
 + XKBOPTIONS="ctrl:nocaps"
hirukiyohirukiyo

VPN (L2TP)

  • Install
sudo apt install network-manager-l2tp network-manager-l2tp-gnome
hirukiyohirukiyo

リモートデスクトップ

  • 設定の共有からリモートデスクトップを有効にできる
  • 画面ロックされると接続できない

画面ロックでもRDPできる方法

  • gnome-shell-extension-manager のインストール
    sudo apt install gnome-shell-extension-manager
    
  • shell extension を起動後に検索で Allow locked Remote Desktop を探し追加する
  • shell extension 内で有効化させておく

自動ログイン

  • 自動ログインでもログイン後にキーリングの認証ができていないためRDP接続はできない
hirukiyohirukiyo

Docker Engin Install

ref

Install

  • Install command
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
  • 起動確認
sudo docker run hello-world
  • グループ追加(sudo回避)
sudo groupadd docker
sudo usermod -aG docker $USER
sudo chown $USER:$USER /home/$USER/.docker -R
sudo chmod g+rwx $HOME/.docker -R
-- 一度ログアウト必要
docker run hello-world
hirukiyohirukiyo

最新版のGOのインストール

sudo apt update
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt install golang-go
hirukiyohirukiyo

Vlang をインストール

  • https://vlang.io/の TOP にある、Download for Linux から Zipをダウンロード
  • 展開したvフォルダを所定に位置に配置
  • 環境変数を追加(自身のhome以下にvを配置した場合)
export V=$HOME/v
export PATH=$PATH:$V
hirukiyohirukiyo

Vlang で sqlite3 を使う

db.sqliteを使用するためにはsqlite3 devパッケージが必要。
sqliteと合わせてインストールする。

sudo apt install -y sqlite3 libsqlite3-dev
hirukiyohirukiyo

warp

install

  • Download deb package.
  • Install
sudo apt install ./warp-terminal_0.2024.02.20.08.01.stable.02_amd64.deb
hirukiyohirukiyo

Rust

Install

  • Install
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • Add zshrc
source "$HOME/.cargo/env"

Install rustlings

curl -L https://raw.githubusercontent.com/rust-lang/rustlings/main/install.sh | bash
hirukiyohirukiyo

VSCode Neovim

Re-install neovim

  • Ubuntu 22.04 のneovimは0.7系
  • vscode-neovim が要求するバージョンは >= 0.9
  • 最新版のインストールが必要

Uninstall neovim

  • 以下のコマンドでインストール済みのneovimを削除
sudo apt-get purge --auto-remove neovim

Install neovim

  • Pre-build archive を利用してインストールを行う
  • 以下のコマンドで/usr/local/nvimに展開
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz
sudo rm -rf /usr/local/nvim
sudo tar -C /usr/local/nvim -xzf nvim-linux64.tar.gz
  • zshrcにパスを追加
# neovim
export PATH=$PATH:/usr/local/nvim-linux64/bin

設定

[
    {
        // jj で入力モードを抜ける
        "command": "vscode-neovim.compositeEscape1",
        "key": "j",
        "when": "neovim.mode == insert && editorTextFocus",
        "args": "j"
    },
    {
        // 定義ジャンプ
        "key": "space d",
        "command": "editor.action.goToDeclaration",
        "when": "neovim.mode == normal && editorTextFocus",
    },
    {
	// 戻る
        "key": "space b",
        "command": "workbench.action.navigateBack",
        "when": "neovim.mode == normal && editorTextFocus",
    },
    {
        // 進む
        "key": "space f",
        "command": "workbench.action.navigateForward",
        "when": "neovim.mode == normal && editorTextFocus",
    },
    {
        // ホバー
        "key": "space h",
        "command": "editor.action.showHover",
        "when": "neovim.mode == normal && editorTextFocus",
    },
    {
        // ターミナルにフォーカス
        "key": "space t",
        "command": "terminal.focus",
        "when": "neovim.mode == normal && editorTextFocus",
    },
]
hirukiyohirukiyo

apt update で 署名照合中にエラー

sudo apt updateを実行した際に以下のようなエラーが発生

W: 署名照合中にエラーが発生しました。リポジトリは更新されず、過去のインデックスファイルが使われます。GPG エラー: https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_22.04 ./ InRelease: 以下の署名が無効です: EXPKEYSIG B8AC39B0876D807E home:npreining OBS Project <home:npreining@build.opensuse.org>
W: https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_22.04/./InRelease の取得に失敗しました  以下の署名が無効です: EXPKEYSIG B8AC39B0876D807E home:npreining OBS Project <home:npreining@build.opensuse.org>
W: いくつかのインデックスファイルのダウンロードに失敗しました。これらは無視されるか、古いものが代わりに使われます。

onedriveについては自分で署名をインストールする手段をとっているため更新を実施する

  • 署名の削除: エラーメッセージ中のEXPKEYSIGを使用して削除する
    $ sudo apt-key del B8AC39B0876D807E
    Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
    OK
    
  • 署名の再登録
    $ wget -qO - https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_22.04/Release.key | gpg --dearmor | sudo tee /usr/share/keyrings/obs-onedrive.gpg > /dev/null
    
  • 実行後はsudo apt updateを実行してもエラーにならなくなった
hirukiyohirukiyo

aws cli v2

aws cli install

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

session manager plugin

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

aws configure

aws configure
AWS Access Key ID [None]: AKI***********************
AWS Secret Access Key [None]: MT***********************
Default region name [None]: ap-northeast-1
Default output format [None]: json

session-managerを使ったssh接続

  • ~/.ssh/config を編集
vi ~/.ssh/config
  • 以下の内容を追記
# SSH over Session Manager
host i-* mi-*
    ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
    IdentityFile ~/.ssh/key.pem 
  • sshコマンドでアクセス
$ ssh ec2-user@i-*********************
   ,     #_
   ~\_  ####_        Amazon Linux 2023
  ~~  \_#####\
  ~~     \###|
  ~~       \#/ ___   https://aws.amazon.com/linux/amazon-linux-2023
   ~~       V~' '->
    ~~~         /
      ~~._.   _/
         _/ _/
       _/m/'
[ec2-user@ip-172-18-18-128 ~]$