Ubuntu 24.04 LTS へアップグレードした

やり方

以下のページのまんまです。

linuxconfig.org

update-manager-core をインストールしたうえで $ sudo do-release-upgrade -d を実行して、あとは待っているだけです*1

/etc/os-release の内容

今回は 23.04 からアップグレードしました。途中で 23.10 のアップグレードを挟んでいます。それぞれでの /etc/os-release の内容は次のとおりです。

Ubuntu 23.04

$ cat /etc/os-release
PRETTY_NAME="Ubuntu 23.04"
NAME="Ubuntu"
VERSION_ID="23.04"
VERSION="23.04 (Lunar Lobster)"
VERSION_CODENAME=lunar
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=lunar
LOGO=ubuntu-logo

Ubuntu 23.10

$ cat /etc/os-release
PRETTY_NAME="Ubuntu 23.10"
NAME="Ubuntu"
VERSION_ID="23.10"
VERSION="23.10 (Mantic Minotaur)"
VERSION_CODENAME=mantic
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=mantic
LOGO=ubuntu-logo

Ubuntu 24.04 LTS

PRETTY_NAME="Ubuntu 24.04 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo

困ったこと

アップグレード後に困ったことです。

phpenv でインストールした PHP 8.3.6 が実行できずにエラーになる

以下のようなエラーが出て実行できないため、再度 $ phpenv install 8.3.6 を実行したところ、正常に実行できるようになりました。

$ php -v
php: error while loading shared libraries: libicuio.so.72: cannot open shared object file: No such file or directory

*1:ときどき y/N 入力が求められる

Ubuntu 24.04 LTS にて apt でインストールした peco のバージョンが古かったので文字化けした

環境

  • WSL2
  • Ubuntu 24.04 LTS
  • $ sudo apt install -y peco にて peco をインストールした

状況

以下のコマンドを実行すると、次のような画面になりました。

$ peco --version
peco version v0.5.10 (built with go1.21.0)
$ ls -la | peco

gyazo.com

どうしたらいいか

apt で入れないで、直接バイナリをダウンロードして、パスが通った場所に置きます。

1. 削除

まずは apt で入れた peco を削除します。

$ sudo apt purge -y peco

2. Releases ページからアーカイブを落とす

Releases のページ から該当アーカイブを落とします。今回は peco_linux_amd64.tar.gz でした。

3. 展開して得られた peco のバイナリをパスの通った場所に置く

アーカイブを展開すると peco のバイナリが入っているので、パスが通った場所に置きます。自分は /usr/local/bin に置きました。

4. 実行して確かめる

確かめます。

$ peco --version
peco version v0.5.11 (built with go1.19.5)
$ ls -la | peco

gyazo.com

brew (Homebrew) 自身をアップデートするためにはどうしたらいいか

結論

$ brew update

実例

$ brew --version
Homebrew 4.0.24-26-g8d9aa90

$ brew update
==> Downloading https://ghcr.io/v2/homebrew/portable-ruby/portable-ruby/blobs/sha256:f7be167f7ac4f296b9f4c5874ceeea4aafd9999c3c7f2b0378cae7dd273e2322
######################################################################## 100.0%
==> Pouring portable-ruby-3.1.4.x86_64_linux.bottle.tar.gz
==> Homebrew collects anonymous analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics
No analytics have been recorded yet (nor will be during this `brew` run).

==> Downloading https://formulae.brew.sh/api/formula_tap_migrations.jws.json
################################################################################################################# 100.0%
Updated 4 taps (dart-lang/dart, leoafarias/fvm, homebrew/core and homebrew/cask).
==> New Formulae
(中略)
You have 1 outdated formula installed.
You can upgrade it with brew upgrade
or list it with brew outdated.
==> Downloading https://formulae.brew.sh/api/cask_tap_migrations.jws.json
################################################################################################################# 100.0%

$ brew --version
Homebrew 4.2.20

公式ドキュメント

docs.brew.sh

Rails 7.1.3.2(というか ActiveRecord 7.1.3.2)では SQLite gem の v2 のインストールでエラーが発生する

状況

Renovate が自動で出してきた Pull Request で CI が落ちていたので、ログを見たところ、以下のエラーが発生していました*1

bin/rails aborted!
LoadError: Error loading the 'sqlite3' Active Record adapter. Missing a gem it depends on? can't activate sqlite3 (~> 1.4), already activated sqlite3-2.0.1-x86_64-linux-gnu. Make sure all dependencies are added to Gemfile. (LoadError)

結論

github.com

どうすればいいか

上記がマージされたバージョンのリリースを待ちます。すでにリリースされているかもしれません。

補足

以下のような話も出てきています。

github.com

*1:bin/rails db:create 時

Ubuntu にて rbenv で 3.3.1 のインストールでエラーがでたので --with-baseruby で対処した

状況

現状の Ruby が 3.3.0 の状況において $ rbenv install 3.3.1 を実行するとエラーが出て、以下のようなログが出ました。

1727 make[2]: ディレクトリ '/tmp/ruby-build.20240424104050.96605.DfIbDe/ruby-3.3.1/ext/ripper' から出ます
1728 make[2]: ディレクトリ '/tmp/ruby-build.20240424104050.96605.DfIbDe/ruby-3.3.1' に入ります
1729 tool/file2lastrev.rb:6:in `require': cannot load such file -- optparse (LoadError)
1730 »-from tool/file2lastrev.rb:6:in `<main>'
1731 ./tool/file2lastrev.rb:6:in `require': cannot load such file -- optparse (LoadError)
1732 »-from ./tool/file2lastrev.rb:6:in `<main>'
1733 make[2]: *** [uncommon.mk:1322: .revision.time] エラー 1
1734 make[2]: ディレクトリ '/tmp/ruby-build.20240424104050.96605.DfIbDe/ruby-3.3.1' から出ます
1735 make[1]: *** [exts.mk:99: ruby] エラー 2
1736 make[1]: ディレクトリ '/tmp/ruby-build.20240424104050.96605.DfIbDe/ruby-3.3.1' から出ます
1737 make: *** [uncommon.mk:397: build-ext] エラー 2
1738 external command failed with status 2

どうしたか

環境変数 RUBY_CONFIGURE_OPTS="--with-baseruby=$HOME/.rbenv/versions/3.2.3/bin/ruby" を付与して実行したところ、インストールが正常に終了しました。3.2.3 というのは適当に入れた値です*1

$ RUBY_CONFIGURE_OPTS="--with-baseruby=$HOME/.rbenv/versions/3.2.3/bin/ruby" rbenv install 3.3.1
==> Downloading ruby-3.3.1.tar.gz...
-> curl -q -fL -o ruby-3.3.1.tar.gz https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 21.0M  100 21.0M    0     0  30.5M      0 --:--:-- --:--:-- --:--:-- 30.5M
==> Installing ruby-3.3.1...
-> ./configure "--prefix=$HOME/.rbenv/versions/3.3.1" --enable-shared --with-ext=openssl,psych,+ "--with-baseruby=$HOME/.rbenv/versions/3.2.3/bin/ruby"
-> make -j 20
-> make install
==> Installed ruby-3.3.1 to /home/foobar/.rbenv/versions/3.3.1

参考的なもの

github.com

*1:もちろん、あらかじめインストールされている必要があります

Powered by はてなブログ