Skip to content

Instantly share code, notes, and snippets.

@udnp
Last active March 10, 2021 10:10
Hyper-V の「クイック作成」で用意した Ubuntu 18.04 LTS を 20.04 に upgrade する/Upgrade Ubuntu to 20.04 from 18.04 LTS by [Hyper-V Quick Create]

Hyper-V の「クイック作成」で用意した Ubuntu 18.04 LTS を 20.04 に upgrade する

動機

そのまま upgrade すると vmconnect と xrdp の組合せで拡張接続できなくなるので,それを解消する.

環境

ホスト

Windows 10 Pro 20H2 の Hyper-V

ゲスト

Hyper-V の「クイック作成」で提供されている Ubuntu 18.04 LTS
(今はもう,より新しい LTS に更新されているかもしれない)

クライアント

Windows 10 Pro 20H2 の vmconnect

手順

Ubuntu 18.04 で SSH を有効にする.

$ sudo apt install openssh-server

SSH で Ubuntu に log in して,

$ sudo apt update
$ sudo apt install update-manager
$ sudo apt dist-upgrade
$ sudo do-release-upgrade -d

し,指示に従う.

次の項目で設定ファイルの競合について問い合わせが発生した. いずれも N を選択して進めた.

設定ファイル '/etc/xrdp/sesman.ini'
 ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
 ==> パッケージ配布元が更新版を提供しています。
   どうしますか? 以下の選択肢があります:
    Y か I  : パッケージメンテナのバージョンをインストールする
    N か O  : 現在インストールされている自分のバージョンを残す
      D     : 両バージョンの差異を表示する
      Z     : 状況を調査するためにシェルを開始する
 デフォルトでは現在使っている自分のバージョンを残します。
*** sesman.ini (Y/I/N/O/D/Z) [デフォルト=N] ? n

設定ファイル '/etc/xrdp/xrdp.ini'
 ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
 ==> パッケージ配布元が更新版を提供しています。
   どうしますか? 以下の選択肢があります:
    Y か I  : パッケージメンテナのバージョンをインストールする
    N か O  : 現在インストールされている自分のバージョンを残す
      D     : 両バージョンの差異を表示する
      Z     : 状況を調査するためにシェルを開始する
 デフォルトでは現在使っている自分のバージョンを残します。
*** xrdp.ini (Y/I/N/O/D/Z) [デフォルト=N] ? n

これらの xrdp に関するものは,後ほど linux-vm-tools を更新するので無視できる.

設定ファイル '/etc/gdm3/custom.conf'
 ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
 ==> パッケージ配布元が更新版を提供しています。
   どうしますか? 以下の選択肢があります:
    Y か I  : パッケージメンテナのバージョンをインストールする
    N か O  : 現在インストールされている自分のバージョンを残す
      D     : 両バージョンの差異を表示する
      Z     : 状況を調査するためにシェルを開始する
 デフォルトでは現在使っている自分のバージョンを残します。
*** custom.conf (Y/I/N/O/D/Z) [デフォルト=N] ? d
--- /etc/gdm3/custom.conf       2019-08-30 06:11:23.199899030 +0900
+++ /etc/gdm3/custom.conf.dpkg-new      2020-11-10 21:27:10.000000000 +0900
@@ -3,9 +3,8 @@
 # See /usr/share/gdm/gdm.schemas for a list of available options.

 [daemon]
-# Uncoment the line below to force the login screen to use Xorg
+# Uncomment the line below to force the login screen to use Xorg
 #WaylandEnable=false
-InitialSetupEnable=false

 # Enabling automatic login
 #  AutomaticLoginEnable = true

設定ファイル '/etc/gdm3/custom.conf'
 ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
 ==> パッケージ配布元が更新版を提供しています。
   どうしますか? 以下の選択肢があります:
    Y か I  : パッケージメンテナのバージョンをインストールする
    N か O  : 現在インストールされている自分のバージョンを残す
      D     : 両バージョンの差異を表示する
      Z     : 状況を調査するためにシェルを開始する
 デフォルトでは現在使っている自分のバージョンを残します。
*** custom.conf (Y/I/N/O/D/Z) [デフォルト=N] ? n

これについては大きな差分がないので無視した.

すると次のメッセージで upgrade が完了した.

処理中にエラーが発生しました:
 xrdp
Exception during pm.DoInstall():  E:Sub-process /usr/bin/dpkg returned an error code (1)

*** 問題のレポートを開発者に送信しますか?

問題のレポートが送信された後で、フォームに入力してください(入力用ページをウェブブラウザーで自動的に開きます)。

対処方法を選択してください:
  S: レポートの送信(S) (1.1 MB)
  V: レポートの表示(V)
  K: 後で送信もしくは他の場所にコピーするためにレポートファイルを保持する(K)
  I: 中止し、このプログラムバージョンでは今後クラッシュしても無視する(I)
  C: キャンセル(C)
選択してください (S/V/K/I/C): K
問題報告ファイル: /var/crash/xrdp.0.crash

アップグレードをインストールできません

アップグレードを中断しました。システムが不安定な状態の可能性があります。今からリカバリーを実行します。(dpkg --configure -a)

xrdp (0.9.12-1) を設定しています ...
Job for xrdp.service failed because the control process exited with error code.
See "systemctl status xrdp.service" and "journalctl -xe" for details.
libc-bin (2.31-0ubuntu9.2) のトリガを処理しています ...

アップグレードが完了しました

アップグレードは完了しましたが、アップグレード中にいくつかのエラーが発生しました。

続けるには [ENTER] キーを押してください

これで vmconnect から upgrade した Ubuntu に接続できるようになったが,「拡張セッション」を利用することができないので,次を参考に lunux-vm-tools を変更した.

「Hyper-V上で動くUbuntu 20.04LTSで拡張セッションを使うには」
https://blog.watappo.com/2020/09/How-to-install-Ubuntu-20-04-LTS-on-Hyper-V-with-enhanced-session.html

$ git clone https://github.com/microsoft/linux-vm-tools.git
$ cd linux-vm-tools/
$ git fetch --all
$ git pull origin pull/106/head:pull_106
$ git checkout pull_106
$ cd ubuntu/20.04/
$ sudo bash ./install.sh
$ sudo shutdown -r now

$ cd linux-vm-tools/ubuntu/20.04/
$ sudo bash ./install.sh

ここまでを実行して再起動すると vmconnect で「拡張セッション」を利用可能になった.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment