LoginSignup
8
7

はじめに

長らく使っていた(放置していた)Ubuntu 18.04 のEOSLを過ぎてしまい、新しくパッケージを入れようにもトラブルに見舞われることが多くなったため22.04へアップグレードしました。その時のメモを未来の私に向けて残します:writing_hand:

この記事の操作を一通り実行すれば、サーバや開発環境の基礎を構築できる内容にまとめています。また、この手順でうまくいかなかったときのヒントになることを期待して、私のおま環ではうまくいかなかった方法を記載しています。このメモが皆さんのお役に立てれば幸いです:relaxed:

システム要求

OSのアップデートがサーバアプリケーションや開発環境に影響しないようなシステムを目指します。

  • OSにインストールするソフトウェアは最小限にする
  • サーバアプリケーションと必要なパッケージは、Dockerイメージにセットアップしコンテナとして動作させる
  • 開発環境は、Dockerイメージにセットアップしコンテナとして動作させる
  • プロキシを経由してインターネットに接続する

OS

Try1 - 18.04 > 20.04 > 22.04 (失敗)

18.04 から 22.04 へアップグレードするには、20.04 を経由する必要があり、まずは 20.04へアップグレードします。

# /etc/apt/sources.list は、リポジトリ・証明書の有効期限が切れているものを外し、代わりに http://jp.archive.ubuntu.com/ubuntu bionic InRelease を追加
sudo apt update -y
sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo apt autoremove -y
sudo apt clean -y
sudo do-release-upgrade
# 下記 do-release-upgrade.log 参照

update と upgrade、autoremoveで更新が生じない状態にしても以下のメッセージが出てうまくいかず:innocent:

do-release-upgrade.log
Please install all available updates for your release before upgrading.

参考にした外部サイト:

Try2 - Ubuntu 22.04クリーンインストール (成功)

メディア作成

Ubuntu のHPからUbuntu 22.04のイメージファイルをダウンロードします。
セットアップした当時23.10が既にリリースされていましたが、技術資料も最新版よりLTSの方が見つけやすく、また、不要なトラブルを避けるため安定板のLTSを使用します。

USBメモリや外付けSSDをインストールメディアにセットアップします。DVDやBlu-ray Discでも問題ないですが、DVDは多層型でなければ容量が不足します。
セットアップは、balenaEtcher を使用します。balenaEtcherは、マルチプラットフォームに対応しています。DVDやBlu-ray Discは、OSが提供する書き込み機能を使用します。以降外付けSSDを使用する方法を記載します。
以下のサイトからOSとアーキテクチャに合ったインストーラをダウンロードします。

セットアップするメディアをPCに接続します。
balenaEtcherを起動し、
balenaEtcher の Flash from file > ダウンロードしたimgファイルを選択 > Select target > インストールメディにするストレージを選択 > Flash > Flash Complete! となれば閉じる

インストール

  • Installation Type では、クリーンインストールを選択するため、システムディスクのバックアップを取っておくか、インストール中にマルチブートの設定を行います
    #クリーンインストールを推奨します
  • 社外持ち出しするようなPCは、Installation TypeAdvanced features から暗号方式を選択します

インストールするPCにインストールメディを接続し、Bootメニューからインストールメディアを選択します。
Try or Install Ubuntu > 言語一覧から English を選択 > Install Ubuntu > キーボードレイアウト一覧から Japanese(左のリスト)Japanese(右のリスト) を選択 > Continue > Minimal installation のみを選択 > Erase disk and install Ubuntu > Install Now > Time zone で日本近辺を選択し Tokyo に変更 > Continue > Create User Account の各項目を入力 > Continue > インストール完了後 Restart Now > インストールメディを取り除く

  • Updates and other softwareDownload updates while installing Ubuntu は、プロキシ設定がなく失敗するため選択しません
  • Updates and other softwareInstall third-party software for graphics and Wi-Fi hardware and additional media formats は、NVIDIAドライバーが適切な組み合わせでインストールされず、どのみち再インストールが必要になるため選択しません
    #これを外すとKernelブート中のエラーが減りました

参考になる外部サイト:

メディア初期化

インストールメディアをストレージに戻します。
Windows PCにインストールメディアを接続し、Windows PCのコマンドプロンプトを管理者権限で起動します。

diskpart
REM 下記 diskpart.log 参照

DISKPARTのプロンプトで以下のコマンドを実行します。

  • select disk1はインストールメディアを間違えずに指定します(番号は環境によって変わるので注意)
  • assing letterEは適宜変更します
  • format fsexfatは適宜変更します
diskpart.log
Microsoft DiskPart バージョン 10.0.19041.3636

Copyright (C) Microsoft Corporation.
コンピューター: PC-HP2203C0070R

DISKPART> list

Microsoft DiskPart バージョン 10.0.19041.3636

DISK        - ディスクの一覧を表示します。例: LIST DISK
PARTITION   - 選択したディスクのパーティションの一覧を表示します。
              例: LIST PARTITION
VOLUME      - ボリュームの一覧を表示します。例: LIST VOLUME
VDISK       - 仮想ディスクの一覧を表示します。

DISKPART> list disk

  ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                          ミック
  ------------  -------------  -------  -------  ---  ---
  ディスク 0    オンライン           476 GB      0 B        *
  ディスク 1    オンライン          3725 GB  1024 KB        *

DISKPART> select disk 1

ディスク 1 が選択されました。

DISKPART> list partition

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    プライマリ             4779 MB    32 KB
  Partition 2    システム              5034 KB  4779 MB
  Partition 3    プライマリ              300 KB  4784 MB
  Partition 4    不明                3721 GB  4786 MB

DISKPART> select partition 1

パーティション 1 が選択されました。

DISKPART> delete partition override

DiskPart は選択されたパーティションを正常に削除しました。

DISKPART> select partition 2

パーティション 2 が選択されました。

DISKPART> delete partition override

DiskPart は選択されたパーティションを正常に削除しました。

DISKPART> select partition 3

パーティション 3 が選択されました。

DISKPART> delete partition override

DiskPart は選択されたパーティションを正常に削除しました。

DISKPART> select partition 4

パーティション 4 が選択されました。

DISKPART> delete partition override

DiskPart は選択されたパーティションを正常に削除しました。

DISKPART> list partition

このディスクには表示するパーティションがありません。

DISKPART> create partition primary

DiskPart は指定したパーティションの作成に成功しました。

DISKPART> list partition

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
* Partition 1    プライマリ             3725 GB  1024 KB

DISKPART> assign letter=E

DiskPart はドライブ文字またはマウント ポイントを正常に割り当てました。

DISKPART> format fs=exfat quick

  100% 完了しました

DiskPart は、ボリュームのフォーマットを完了しました。

DISKPART> exit

DiskPart を終了しています...

参考になる外部サイト:

ディスプレイマネージャー

Ubuntu 20.04まではX11がデフォルトのディスプレイマネージャーでした。22.04からはWaylandに変更されています。リモートデスクトップは、X11を使う部分もあり、技術資料もX11が揃っています。対して、Waylandは成熟の部分では懸念が残ります。トラブルを避けるためディスプレイマネージャーをX11に変更します。

Power Off/Logout > Logout > ユーザ選択 > 右下の歯車アイコン > Ubuntu on Xorg(表示が多少異なるかも) > ユーザのパスワードを入力

画面が真っ白になった場合は、Windowsキー > terminalと入力 > Enterキー でターミナルを開き以下を実行します。

sudo reboot

Ubuntu PCのデスクトップの Settings > About

Windows SystemX11 になっていることを確認します。
ビデオドライバがインストールされていなければ表示解像度が1024 x 768に変更されます。
ビデオドライバのインストールは、GPU関係 に記載します。

プロキシ

GNOME(NetworkManager)

これを設定すればブラウザ(Firefox)でWebを閲覧できます(=Qiitaにアクセスでき、このページを見ながら作業できる!)。

Ubuntu PCのデスクトップの Settings > Network > Network Proxy
Manual に変更し、HTTP ProxyHTTPS ProxyFTP ProxySocks Proxy のプロキシサーバとポートを入力

  • プロキシサーバのプロトコル指定(例: http://)は不要です
  • Ignore Hosts は任意に設定します

Shell

vproxy_servervproxy_portの値はネットワークカメラ環境に合わせて変更します。

vproxy_server=hoge
vproxy_port=foo
sudo touch /etc/profile.d/proxy.sh
echo "MY_PROXY_URL='http://${vproxy_server}:${vproxy_port}'" | sudo tee -a /etc/profile.d/proxy.sh > /dev/null
echo "HTTP_PROXY=\$MY_PROXY_URL" | sudo tee -a /etc/profile.d/proxy.sh > /dev/null
echo "HTTPS_PROXY=\$MY_PROXY_URL" | sudo tee -a /etc/profile.d/proxy.sh > /dev/null
echo "http_proxy=\$MY_PROXY_URL" | sudo tee -a /etc/profile.d/proxy.sh > /dev/null
echo "https_proxy=\$MY_PROXY_URL" | sudo tee -a /etc/profile.d/proxy.sh > /dev/null
echo "ftp_proxy=\$MY_PROXY_URL" | sudo tee -a /etc/profile.d/proxy.sh > /dev/null
echo "export HTTP_PROXY HTTPS_PROXY http_proxy https_proxy ftp_proxy" | sudo tee -a /etc/profile.d/proxy.sh > /dev/null
source /etc/profile.d/proxy.sh

apt

sudo touch /etc/apt/apt.conf.d/90proxy
echo 'Acquire::http::proxy "'${http_proxy}'";' | sudo tee -a /etc/apt/apt.conf.d/90proxy > /dev/null
echo 'Acquire::https::proxy "'${https_proxy}'";' | sudo tee -a /etc/apt/apt.conf.d/90proxy > /dev/null
echo 'Acquire::ftp::proxy "'${ftp_proxy}'";' | sudo tee -a /etc/apt/apt.conf.d/90proxy > /dev/null
echo 'Acquire::socks::proxy "'${http_proxy}'";' | sudo tee -a /etc/apt/apt.conf.d/90proxy > /dev/null

sudo

sudo su -
visudo -f /etc/sudoers
# 下記 /etc/sudoers.log 参照
exit

追記する内容

/etc/sudoers.log
Defaults env_keep+="HTTP_PROXY"
Defaults env_keep+="HTTPS_PROXY"
Defaults env_keep+="NO_PROXY"
Defaults env_keep+="EDITOR"

エディタ

vim は好みに合わせて変更します。

sudo apt update
sudo apt install -y vim
sudo update-alternatives --set editor /usr/bin/vim.basic

必須パッケージ

インストール作業で要求される機会が多いパッケージと、リモートアクセスのパッケージをインストールします。

sudo apt install -y gcc make cmake curl wget ssh

日本語入力

sudo apt install -y fonts-ipafont fonts-ipaexfont
sudo apt install -y fcitx fcitx-mozc
im-config -n fcitx
sudo reboot

デスクトップ上のターミナルで以下のコマンドを実行します。

im-config

OK > No > OK と選択

sudo apt install -y fcitx-config-gtk
sed -i "/EnabledIMList/s/mozc:False/mozc:True/g" ~/.config/fcitx/profile
fcitx-configtool mozc

Input Method Configuration のリストを上から順に以下の通りに設定します。

  1. Keyboard - Japanese
  2. Mozc

MozcAdd input methodOnly Show Current Language のチェックを外すと表示されます。

Add input methodEnglish があると動作しない場合があるので必要でなければ削除します。

Global Config > Trigger Input MethodZenkakuhankaku and/or Ctrl+Zenkakuhankaku に変更します。

GPU関係

モニタの出力にNVIDIAのGPUを搭載しているビデオカードを使う場合や、GPGPUを使う場合にインストールします。

NVIDIA Driver

Try1 - インストールスクリプト (失敗)

マシンにインストールされているビデオカードの型番を調べます。

lspci | grep -i nvidia

以下のサイトから型番とアーキテクチャを指定してインストールします。

cd Downloads/
chmod u+x NVIDIA-Linux-x86_64-550.54.14.run

コンソールモードへ移ります。
Ctrl+Alt+F6

コンソールモードから戻る場合 Ctrl+Alt+F2

sudo ./NVIDIA-Linux-x86_64-550.54.14.run

ビルドに失敗、ログでは非対応オプションを指定しているようなエラーが出力され、解決策を見つけられず断念...

参考にした外部サイト:

Try2 - 手操作 (成功)

Nouveau の無効化(要否不明)

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
# 下記 /etc/modprobe.d/blacklist-nouveau.conf 参照

nouveauの設定ファイルを新規作成して以下を記入して保存します。

/etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0

保存後、以下を実行します。

sudo update-initramfs -u

利用可能なドライバーを表示します。

sudo ubuntu-drivers list

nvidia:xxxxnvidia:xxxx-serverの両方が揃っている最も大きいバージョンを探し、DRIVER_BRANCH の値をバージョンに置き換えて実行します。

DRIVER_BRANCH=xxxx
sudo ubuntu-drivers install nvidia:${DRIVER_BRANCH}
sudo ubuntu-drivers install --gpgpu nvidia:${DRIVER_BRANCH}-server
sudo apt install -y nvidia-utils-${DRIVER_BRANCH}-server
sudo apt install -y nvidia-fabricmanager-${DRIVER_BRANCH} libnvidia-nscq-${DRIVER_BRANCH}
sudo apt install -y linux-modules-nvidia-${DRIVER_BRANCH}-generic
sudo apt-cache policy linux-modules-nvidia-${DRIVER_BRANCH}-$(uname -r)
# 下記 apt-cache.log 参照

インストールしたバージョンを確認します(以下参考)。

apt-cache.log
linux-modules-nvidia-535-6.5.0-18-generic:
  Installed: (none)
  Candidate: 6.5.0-18.18~22.04.1
  Version table:
     6.5.0-18.18~22.04.1 500
        500 http://jp.archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages
        500 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages
sudo apt install -y linux-headers-generic
sudo apt-cache policy linux-headers-$(uname -r)
# 下記 apt-cache.log 参照

インストールしたバージョンを確認します(以下参考)。

apt-cache.log
linux-headers-6.5.0-18-generic:
  Installed: 6.5.0-18.18~22.04.1
  Candidate: 6.5.0-18.18~22.04.1
  Version table:
 *** 6.5.0-18.18~22.04.1 500
        500 http://jp.archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages
        100 /var/lib/dpkg/status
sudo apt install nvidia-driver-${DRIVER_BRANCH}
sudo apt install nvidia-fabricmanager-${DRIVER_BRANCH} libnvidia-nscq-${DRIVER_BRANCH}

参考になる外部サイト:

NVIDIA CUDA

バージョンが異なる2つ以上ドライバをインストールしていると cuda-driversのインストールに失敗します。古い方を以下のコマンドで削除します。${DRIVER_BRANCH} は削除するバージョンに置き換えます。

dpkg -l | grep nvidia-driver
# 下記dpkg.log参照
DRIVER_BRANCH=XXX
sudo apt --purge remove -y '*nvidia*${DRIVER_BRANCH}*'
sudo apt autoremove -y
dpkg.log
ii  nvidia-driver-XXX                          XXX.YY.ZZ-0ubuntu1                      amd64        NVIDIA driver metapackage

以下のサイトからCUDA Toolkitのインストールコマンドを確認します。

Installer Typedeb(network) を選択すると、以下のようなインストールコマンドが表示されます(以下参考)。

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-3
sudo apt-get install -y cuda-drivers

一旦ログアウトし、再度ログインします。

リモートデスクトップ

いずれか1つしか機能せず、1つを選ぶことになります。どれも一長一短です。

実機でログインしている場合に機能

実機でログインしデスクトップ表示している場合に機能

Ubuntu PCのデスクトップの Settings > Sharing > タイトルバーのスイッチを ON に切り替え
続いて、Remote Desktop > Remote DesktopONRemote ControlONPassword にパスワードを入力

ランダムなパスワードがデフォルトで設定されていますので、任意に変更します。

参考になる外部サイト:

実機でログインしてスクリーンロックしている場合も機能

Try1 - Gnome Shell Extension Manager (失敗)

sudo apt install gnome-shell-extension-manager
extension-manager

Extension managerのタブを Browse に切り替えるとCore dumpが発生し落ちました:sob:

参考にした外部サイト:

Try2 - Gnome Shell Extensions (成功)

gnome-shell-extension-manager をインストールしている場合は、アンインストールします。

sudo apt --purge remove -y gnome-shell-extension-manager
sudo apt autoremove -y

一旦ログアウトし、再度ログインします。

sudo apt update
sudo apt install -y gnome-shell-extensions

デスクトップからログアウトし、再度ログインします。
ログイン後Firefoxを立ち上げ以下のURLにアクセスします。

ページのAdd to Firefoxを実行します。
アドオンをインストール後ターミナルで以下のコマンドを実行します。

sudo apt install -y chrome-gnome-shell

Firefoxを立ち上げてExtensionをインストールします。

Addon(ピースアイコン) > GNOME Shell Integration > 検索欄に allow locked と入力 > Allow Locked Remote Desktop > ON > Install

参考になった外部サイト:

実機でログアウトしている場合に機能

sudo apt install -y xrdp
sudo ufw allow 3389
sudo systemctl status xrdp

ログインし直し、以下のコマンドでxrdpサーバが正常に実行されているか確認します。

sudo systemctl restart xrdp
sudo systemctl status xrdp

ログインし直し、勝手に書き換わるパスワードを再設定します。

Settings > Sharing > Remote Desktop > Passwordにパスワードを入力

参考になる外部サイト:

いつでも機能 (Xfceデスクトップ)

実機のログイン有無関係なくリモートデスクトップを利用できますが、デスクトップがXfceになり、ウィンドウメニューやコピー&ペーストなど不都合が生じます。

sudo apt update
sudo apt install xrdp -y
sudo ufw allow 3389
sudo systemctl status xrdp
sudo adduser $USER xrdp
sudo apt install xfce4 xfce4-goodies -y
echo "xfce4-session" > ~/.xsession
sudo vim /etc/xrdp/startwm.sh
# 下記 /etc/xrdp/startwm.sh 参照
sudo reboot
/etc/xrdp/startwm.sh
()
#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
#exec /bin/sh /etc/X11/Xsession
startxfce4
sudo systemctl restart xrdp
sudo systemctl status xrdp

参考になる外部サイト:

Docker

Docker engine

DockerコンテナからNVIDIA GPGPUを利用する場合、NVIDIA Docker 2でGPUのハードウェア仮想化が必要になります。Dockerの導入手順を紹介する記事で良く使われているdocker-ceでは、NVIDIA Docker 2をインストール際、依存関係エラーが発生するため、docker.ioを使用します。

sudo apt-get install -y docker.io
sudo gpasswd -a $(whoami) docker
sudo chgrp docker /var/run/docker.sock
sudo mkdir -p /etc/systemd/system/docker.service.d/
sudo touch /etc/systemd/system/docker.service.d/http-proxy.conf
echo '[Service]' | sudo tee -a /etc/systemd/system/docker.service.d/http-proxy.conf > /dev/null
echo 'Environment="HTTP_PROXY='${HTTP_PROXY}'"' | sudo tee -a /etc/systemd/system/docker.service.d/http-proxy.conf > /dev/null
echo 'Environment="HTTPS_PROXY='${HTTPS_PROXY}'"' | sudo tee -a /etc/systemd/system/docker.service.d/http-proxy.conf > /dev/null
echo 'Environment="NO_PROXY='${NO_PROXY}'"' | sudo tee -a /etc/systemd/system/docker.service.d/http-proxy.conf > /dev/null
sudo reboot
docker version
# 下記 docker version.log 参照
docker run hello-world
# 下記 docker run.log 参照
docker version.log
Client:
 Version:           24.0.5
 API version:       1.43
 Go version:        go1.20.3
 Git commit:        24.0.5-0ubuntu1~22.04.1
 Built:             Mon Aug 21 19:50:14 2023
 OS/Arch:           linux/amd64
 Context:           default

Server:
 Engine:
  Version:          24.0.5
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.3
  Git commit:       24.0.5-0ubuntu1~22.04.1
  Built:            Mon Aug 21 19:50:14 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.7.2
  GitCommit:        
 runc:
  Version:          1.1.7-0ubuntu1~22.04.2
  GitCommit:        
 docker-init:
  Version:          0.19.0
  GitCommit:        
docker run.log
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Pull complete 
Digest: sha256:d000bc569937abbe195e20322a0bde6b2922d805332fd6d8a68b19f524b7d21d
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

参考になる外部サイト:

Docker compose

sudo apt install docker-compose -y
docker-compose -v
# 下記 docker-compose.log 参照
docker-compose.log
docker-compose version 1.29.2, build unknown

NVIDIA Docker 2

DockerコンテナからNVIDIAのビデオカード(アクセラレータ)を制御できるように設定します。

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
nvidia-ctk -v
# 下記 nvidia-ctk.log 参照
sudo nvidia-ctk runtime configure --runtime=docker
cat /etc/docker/daemon.json
# 下記 /etc/docker/daemon.json  参照
sudo systemctl restart docker
docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
# 下記 docker.log 参照
nvidia-ctk.log
NVIDIA Container Toolkit CLI version 1.14.5
commit: 9ea336070134e612145d342e495f2fc616aab063
/etc/docker/daemon.json
{
    "runtimes": {
        "nvidia": {
            "args": [],
            "path": "nvidia-container-runtime"
        }
    }
}
docker.log
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
01007420e9b0: Pull complete 
Digest: sha256:f9d633ff6640178c2d0525017174a688e2c1aef28f0a0130b26bd5554491f0da
Status: Downloaded newer image for ubuntu:latest
Tue Mar  5 08:26:46 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.14              Driver Version: 550.54.14      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 2080 Ti     Off |   00000000:05:00.0 Off |                  N/A |
| 25%   31C    P8             15W /  260W |      66MiB /  11264MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   1  NVIDIA GeForce RTX 2080 Ti     Off |   00000000:09:00.0 Off |                  N/A |
| 25%   33C    P8             19W /  260W |       5MiB /  11264MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
+-----------------------------------------------------------------------------------------+

参考になる外部サイト:

インストールしているビデオカードの構成によって出力が異なります。

Visual Studio Code (VSCode)

テキストエディアとしても勿論、エクスプローラーとしても、リモート接続やDocker管理もでき非常に便利です。

snapでVSCodeをインストールしようと考えましたが、諸所で日本語入力ができないとの書き込みがあり、また、本家GitHubも未だissueがクローズになっていないため、従来どおりaptを使用します。

参考になる外部サイト:
https://ch-random.net/post/458/
https://qiita.com/ykmchd/items/707e5460f739c0c775d2
https://redj.hatenablog.com/entry/2020/04/30/001946
https://github.com/microsoft/vscode/issues/77382

sudo apt update
sudo apt install apt-transport-https software-properties-common
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt update && sudo apt install code
rm microsoft.gpg

起動方法は以下のとおりです。

code

参考になる外部サイト:

VSCode Extensions

とりあえず入れておく拡張機能をインストールします。

  • Remote Development (Microsoft)
    OS関係なく別のPCにインストールされているVSCodeにリモートアクセスし、VSCodeを操作できる
  • Docker (Microsoft)
    Dockerコンテナのファイルやコンソールを操作でき、かつDocker Desktopの代わりにもなる

最後に

Dockerを使った開発サーバの構築は別途記事にする予定です:nerd:

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7