Ubuntu 20.04 にアップグレードした
やったこと
一度カーネルとパッケージを最新にしてアップグレードを実行する。
$ sudo apt-get upgrade $ sudo apt-get dist-upgrade $ sudo apt-get install update-manager-core $ sudo do-release-upgrade
ダメだった場合 -d
オプションをつける。
$ sudo do-release-upgrade -d
後処理
python3
強制バージョンアップの影響か pip3 経由で入れたライブラリが壊れていたので入れ直した。
$ sudo pip3 install ansible
Ansible を走らせてエラーを潰していく。
rbenv
Ansible で入れていた ruby-build 依存ライブラリの libgdbm5
を libgdbm6
に変更する。
apt リポジトリ
アップグレード時に無効化された apt リポジトリについて対応する。
/etc/apt/sources.list
の整理- bionic 時代のコメントアウトがそのまま残っていた
- 直接編集してもよいが
Software & Upgrades
でポチポチするとわかりやすい
/etc/apt/sources.list.d/~
の整理(公式の対応次第)- ppa は未対応なら ansible playbook からコメントアウトするとか
nvidia driver
公式は対応していたがアップグレード時に無効化されていたので ppa を入れ直す。
sudo add-apt-repository ppa:graphics-drivers/ppa
sources.list.d
で bionic
のままになっていたのを修正する。
sudo mv graphics-drivers-ubuntu-ppa-bionic.list \ graphics-drivers-ubuntu-ppa-focal.list
そもそも Ubuntu 19.04 からはデフォルトで公式ドライバが入っているっぽいので(たしかに ppa を入れ直さない状態でも使えていた)普通に使う分にはそれで良さそう。
golang
今までは ppa 経由で入れていたが、まだ focal に対応していなかったので snap 経由で入れるように Ansible を修正した。
+ - name: Uninstall packages from apt + apt: + name: + - golang-go # migrate to snap + state: absent + update_cache: yes + become: yes - name: Install packages from snap snap: name: + - go - ... classic: yes become: yes
その他
2020/05/02 時点で focal 未対応だったリポジトリ。
- docker
- 公式対応待ちで良さそう
Remove python2
$ sudo apt purge python2.7-minimal $ sudo apt autoremove $ which python2 python2 not found
Google Cloud SDK
上記の方法でインストールしていた場合、Google Cloud SDK 自体は python3 に対応しているが apt リポジトリ上では python2 に依存したままなので python2 がないと(apt-get 経由では)インストールできなかった。
# sources.list.d に追加された状態 $ sudo apt show google-cloud-sdk Package: google-cloud-sdk Version: 290.0.0-0 Priority: optional Section: misc Maintainer: Google Cloud SDK Authors <https://code.google.com/p/google-cloud-sdk/> Installed-Size: 278 MB Depends: python2.7 Recommends: python-crcmod Suggests: google-cloud-sdk-app-engine-java, google-cloud-sdk-app-engine-python, google-cloud-sdk-pubsub-emulator, google-cloud-sdk-bigtable-emulator, google-cloud-sdk-datastore-emulator, kubectl Conflicts: gsutil Homepage: https://cloud.google.com/sdk/ Download-Size: 47.8 MB APT-Sources: http://packages.cloud.google.com/apt cloud-sdk/main amd64 Packages Description: Utilities for the Google Cloud Platform
結局 snap 経由でのインストールに変えた。
- name: Install packages from snap
snap:
name:
- go
+ - google-cloud-sdk
- ...
classic: yes
become: yes
テーマ
Ubuntu 公式の Yaru がいい感じになっていたので採用する。
アイコンだけは Tela-ubuntu を引き続き使う。
感想
パッケージ周りで多少躓いたところはあったが、python2 非依存にできるしテーマも洗練されているし、アップグレードしてよかったなと思う。
元々 Chrome でタブを開きまくってもメモリあまり食わなかったり、Linux カーネルなだけあって Docker が速かったりして快適だったので機会を見つけて使っていきたい。
あと snap とても便利。