Ubuntuで新規に環境構築した際に自分がよくインストールする物


概要

Ubuntuで新規環境構築した際、自分がインストールする物をまとめてみました

  • 以下が本記事でインストールする物
    • linuxbrew
    • Docker
    • GitHub CLI
    • VSCode 拡張機能、設定

内容

GitHubCLI

  • Linux環境でのインストール方法
  USER_NAME=hoge

  sudo git clone https://github.com/Homebrew/brew ~/.linuxbrew/Homebrew   && sudo mkdir ~/.linuxbrew/bin   && sudo ln -s ~/.linuxbrew/Homebrew/bin/brew ~/.linuxbrew/bin   && 
  echo 'eval $(~/.linuxbrew/bin/brew shellenv)' >> ~/.bashrc
  # Linux環境でRootUserでないとsudo brew install gh は権限の関係上できないので、Brewに権限を与える
  sudo chown -R $(whoami) /home/${USER_NAME}/.linuxbrew/
  # brew の元のRubyかなにかがgcc を使っているのかローカルにgccをインストールする必要あり
  sudo apt install -y gcc

  brew install gh
  gh version

Docker

  # 最新バージョン番号の取得
  COMPOSE_VERSION=`git ls-remote https://github.com/docker/compose | grep refs/tags | grep -oE "[0-9]+\.[0-9][0-9]+\.[0-9]+$" | sort --version-sort | tail -n 1`

  # 最新バージョンのダウンロード
  sudo curl -L https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

  # 実行可能モードを設定
  sudo chmod +x /usr/local/bin/docker-compose

  # Bash自動補完スクリプトのダウンロード
  sudo curl -L https://raw.githubusercontent.com/docker/compose/${COMPOSE_VERSION}/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
  • aptで入るdocker-composeはバージョンが古く3.3までしか使えないので注意
    apt install -y docker.io
    sudo apt install -y docker-compose

VSCode

  • 同じアカウント間で同期する場合、Githubアカウントの認証からGistを生成する機能を使うのが手っ取り早い

    • 以下は違うアカウントなどで行う場合
  • 拡張機能の同期

      code --list-extensions | xargs -L 1 echo code --install-extension
    
    • 別の環境で上記コマンドの出力結果を貼り付けて実行すれば拡張機能がインストールされる
        # 出力例
        code --install-extension yzhang.markdown-all-in-one
    
    • 個人開発環境で使用している一覧

        # code --install-extension WSL: Ubuntu-20.04 にインストールされている拡張機能:
        code --install-extension eamodio.gitlens
        code --install-extension GraphQL.vscode-graphql
        code --install-extension ms-azuretools.vscode-docker
        code --install-extension MS-CEINTL.vscode-language-pack-ja
        code --install-extension ms-kubernetes-tools.vscode-kubernetes-tools
        code --install-extension mushan.vscode-paste-image
        code --install-extension redhat.vscode-yaml
        code --install-extension shd101wyy.markdown-preview-enhanced
        code --install-extension yzane.markdown-pdf
        code --install-extension yzhang.markdown-all-in-one
      
  • 設定の同期

    • 最低限行っている設定。主にMarkdown関連。その他はDocker開発環境によって適切な設定を行っている
setting.json
    {
      "editor.tabSize": 2,
      "[markdown]": {
        "editor.wordWrap": "on",
        "editor.quickSuggestions": false,
        "editor.formatOnSave": true,
        "editor.defaultFormatter": "yzhang.markdown-all-in-one",
      },
    }
Markdown.json
{
    "Print to console": {
        "prefix": "cbb",
        "body": [
            "```bash",
            "",
            "```"
        ],
        "description": "Bash output to console"
    },
    "Print to log": {
        "prefix": "cbl",
        "body": [
            "```log",
            "",
            "```"
        ],
        "description": "Log output to console"
    },
    "Print to docm": {
        "prefix": "docm",
        "body": [
            "# 概要",
            "",
            "",
            "## refarence"
        ],
        "description": "Docment file output to console"
    }
}

git

    sudo chown -R $(whoami) /usr/bin/git

エラー

  • 環境構築する際に発生したエラーとその対策

W: be careful as root. Don't run this as root!

参考資料