【アップグレード】Ubuntu20.04から22.04へのアップグレードで遭遇した問題点とその対策
目次
手動でUbuntuをupgradeする方法
アップグレード手順
# (1)コマンドが入っているかどうかの確認
which do-release-upgrade # これでパスが出れば入っている
# (2) アップグレードできるかどうか確認
do-release-upgrade -c # option で -c を付けるとアップグレードできるかどうか確認できる
新しい Ubuntu のリリースをチェックしています
新しいリリース '22.04.2 LTS' が利用可能になっています。
'do-release-upgrade' を実行してアップグレードしてください
# (3) 最後にdo-release-upgradeを実行すれば自動で行ってくれる。
do-release-upgrade
途中で何回か質問されますが、全てdefaultのまま進めていくと、アップグレードできました。見た目は全く変わらず、設定画面からシステムVersionを確認するとUbuntu22.04に変更されていました。「簡単に変更できるんだ」と感心していましたが、使っていくうちに問題点に気づきました。
発生した問題と解決策
問題
- ftpデーモン(proftpd)が起動できない。
- スクリンショットが動作しない。範囲指定しても真っ黒な画面しか取得できない。
- Pythonの仮想環境を作るvirtualenvコマンドが使えなくなっている。また以前に作成した仮想環境(djangoプロジェクト)が動作しない。
原因と解決策
- 一旦全て削除して再インストールします。
sudo apt purge <package名>はパッケージとそれに関連する設定ファイルの両方をシステムから完全に削除します。
パッケージのみを削除するだけで良い場合は、sudo apt remove <package名>を使います。ここでは完全に削除して、その後再インストールしたいのでsudo apt purge <package名>を使います。
実行コマンド
# 削除
sudo apt purge proftpd*
# 再インストール
sudo apt install proftpd
# 再起動
sudo service proftpd restart
# 起動確認する
service --status-all
--- 中略
[ + ] proftpd
--- 省略
- ディスプレイサーバーの変更により互換性の不具合が発生
Ubuntu 22.04では、デフォルトのディスプレイサーバーがXorgからWaylandに変更されています。Waylandはセキュリティとパフォーマンスに優れていますが、古いアプリなどで互換性に問題が生じることがあります。
しかし簡単に元に戻すことができます。
ディスプレイサーバーを元に戻す
- ログイン画面で、ユーザー名を選択後、パスワードを入力する前に、画面右下の歯車アイコンをクリックします。
- 「Ubuntu on Xorg」を選択してログインします。
- アップグレードプロセス中に、古いバージョンのvirtualenvが削除されたか、あるいは、Ubuntu 22.04でデフォルトのPythonバージョンが変更されたのか、などが考えられます。
そこで、仕方がないので、virtualenvを再インストールします。システム全体の Python 環境でvirtualenvを利用したいので、pipではなくaptコマンドを使ってインストールします。
実行コマンド
sudo apt install python3-virtualenv
# その後仮想環境を作って、Djangoプロジェクトを再構築します。
以上です。