要旨
Ubuntuは無償で利用できるものの、Canonicalの商業的な姿勢や技術的な制約が目立つようになってきました。特にUbuntu 24.04では、Snapの強制、Ubuntu Proへの勧誘、LTS版とは思えない完成度の低さ(VirtualBoxでの不安定さなど)が見受けられます。
本記事では、Ubuntuの問題点を整理し、より自由で安定したディストリビューションへの移行を提案します。Debian、Linux Mint、RHEL互換のAlmaLinuxやRocky Linuxなど、選択肢は豊富です。
なお、UbuntuをISOからインストールする場合、安定して動作するかどうかは運次第です。ovaファイルについては、VirtualBox用として動作を確認してから配布されているので、問題が少ないです。
主な論点:
- Snapの問題: Firefoxを例にすると、Snap版が優先される構成になっており、ユーザーが自由に選択することが難しくなっています。Snapを削除しても復活することがあり、管理が煩雑です。
- Ubuntu Pro勧誘の問題: LTSのメインサポート期間中にもかかわらず、esm-appsの勧誘が表示されるのは違和感があります。Debianと同じ名称のパッケージに対して有償サポートを促す姿勢は、オープンソースの理念から逸脱しています。
- VirtualBoxでの不安定性: Ubuntu 24.04では、VirtualBoxゲスト環境でカーネル周りの不具合が多く報告されています。経験豊富なLinuxユーザーでも苦労しており、安定運用には工夫が必要です。
- CUDA Toolkitの環境: WSL版はUbuntuしかありませんが、ストレージを増設して、WindowsとLinuxのデュアルブートとすることにより対応できます。
1. Snapの問題
Firefox
Mozillaのページには、debパッケージをインストール(推奨)、ディストリビューションのパッケージマネージャーからインストール、Flatpak からインストール、Snap からインストール、Mozilla ビルドの Firefox をインストールがあります。Linux に Firefox をインストールする
Ubuntuのsnap版をアンインストールし、Mozillaのdebパッケージをインストールすると、firefoxのバージョンダウンします(help画面では同じバージョン)と表示されました。
しかし、Ubuntuの常時表示される左ドッグのfirefoxアイコンから起動したのはsnap版のfirefoxでした。端末に表示される情報と実態が異なっていることが問題です。
その他の問題
Ubuntuのアプリセンター(snap専用のストア)が恣意的:パートナ-であるマイクロソフトのVS-Codeが優、歴史もあり有名なkdeのKateが可の評価。
flatpakは、GNOMEやKDE Plasmaのソフトウェアアプリ(flatpak+リポジトリ)を使用し、評価項目、評価点数は比較的公平(VS-code、Kate、共に高い)。
debパッケージかsnapパッケージか区別できない:debのアプリと同じ名称を使用しているので、混乱します(コマンド:snap run featherpad)。flatpakは長い名称を使用しています(コマンド:flatpak run org.gnome.Calculator)。
WINEで動かすWindowsアプリ:有名なWindowsアプリとして、エディターのNotepad++、音楽再生ソフトfoobar2000のWINE版がストアに登録されています。これらにはLinuxの代替アプリがあります。
ソースコードからコンパイルし直して、Linuxネイテイブアプリ化する技術力とやる気を示してほしい。
簡単に消えないSnapを削除し、復活させない
先のfirefoxのように消したはずのsnapパッケージがゾンビのように復活します。スクリプトを作る人がいる程、手ごわくなっています。ubuntuのsnapパッケージを全て削除してsnapdも削除してsnapdが再インストールされないように制限する
#!/bin/bash
### from https://blog.hidenori.biz/1857
### 1度では全て削除できない場合があるのでsnapのパッケージが全て消えるまでコマンドを繰り返す。
while :
do
WSNAP=$(which snap)
if [ "$WSNAP" = "" ]; then
break
fi
SNAPLISTFILE=snaplist.txt
sudo snap list |awk '{print $1}'>$SNAPLISTFILE
## snap list が空ファイルであれば終了
if [ ! -s $SNAPLISTFILE ]; then
break
fi
## snap list の件数が0件の場合も終了
NSNAP=`grep "No snaps are installed" $SNAPLISTFILE -c`
if [[ $NSNAP > 0 ]]; then
break
fi
while read linetext; do
if [ $linetext != "Name" ]; then
sudo snap remove $linetext
fi
done < "${SNAPLISTFILE}"
done
スクリプトによりsnapアプリを削除した後、snap関係のパッケージ、デーモンを削除、インストールを制限する。
# snapdを削除する
sudo apt remove snapd snap
sudo apt purge snapd snap --purge -y
sudo apt update
# snap系のデーモンを確認
sudo systemctl list-unit-files|grep snap
# snapd関連のsystemctlデーモンを無効化
sudo systemctl disable snapd.*
# snapdとsnapのインストールを制限する
sudo apt-mark hold snapd snap
### 以下はCopilotからの提案です ###
# パッケージのピンを設定してインストールを禁止
sudo nano /etc/apt/preferences.d/block-snaps
Package: snapd
Pin: release *
Pin-Priority: -1
# snapに関連するディレクトリを削除する
sudo rm -rf /var/lib/snapd
# ブラックリスト設定(dpkgレベルでインストールを防ぐ)
sudo nano /etc/apt/blacklist
blacklist snapd
Snapの状態確認方法
snap listコマンドでの応答により、確認できます。
### snap、snapdがインストールされているが、アプリがない状態
snap list
No snaps are installed yet. Try 'snap install hello-world'.
### snap、snapd自体がインストールされていない状態
snap list
コマンド 'snap' が見つかりません。次の方法でインストールできます:
sudo apt install snapd
Snapを削除し、MozillaのFirefoxとGNOME Softwareをインストールするスクリプト
githubに便利なスクリプトを見つけました。手順が悪くブラウザのない状態にしてしまうと、最初のブラウザのインストール手間がかかるので、便利です。なお、GNOME Softwareがあれば、flatpak導入も簡単です。
PagalSarthak/Remove-snap-in-ubuntu
Snapを削除してインストールできなくなるパッケージ
vanilla-gnome-desktopのインストールができなかったので、snapなしでは放置されるパッケージが増加すると思われます。snapを嫌うがDebian系を使いたい人は、DebianもしくはLinux Mintに移行することをお勧めします。なお、問題のパッケージはAudio(音)関係なので、基幹部分ではないです。
sudo apt install vanilla-gnome-desktop
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
pipewire-alsa : Conflicts: pulseaudio but 1:16.1+dfsg1-2ubuntu10.1 is to be installed
pipewire-audio : Conflicts: pulseaudio but 1:16.1+dfsg1-2ubuntu10.1 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
2. Ubuntu Pro、ESMの問題
Ubuntu Pro
オープンソースソフトウェアのセキュリティを守る包括的なサブスクリプション
個人利用は無償。
Ubuntu LTSにセキュリティとコンプライアンスを追加:10+2年間* にわたり25,000以上のパッケージに対応
** Expanded Security Maintenance (ESM)* Ubuntu Proからの抜粋
何が問題なのか
Ubuntu の長期サポート (LTS) リリースでは、リリース日から 5 年間、Ubuntu メイン リポジトリ内のパッケージの標準的なセキュリティ メンテナンスを受け取ります。
Ubuntu 24.04LTSは、リリースから1年4か月であり、LTSのメインサポート期間中です。端末からアップデートした後にUbuntu Proへの勧誘が表示された例を以下に示します(苦情により消える可能性もあります)。
デスクトップ環境およびWSL2のUbuntu-24.04LTSにおいての表示されました。
### 最近表示されるようになったWSL2のUbuntu-24.04LTSです。###
sudo apt update && sudo apt full-upgrade
...
All packages are up to date.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
Get more security updates through Ubuntu Pro with 'esm-apps' enabled:
libzvbi-common liburiparser1 libcjson1 libavcodec60 libzvbi0t64 libavutil58
libswscale7 libswresample4 libavformat60
Learn more about Ubuntu Pro at https://ubuntu.com/pro
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
これらのパッケージは、Ubuntu24.04LTSベースのLinuxMint-22に全て含まれていました。
sudo apt install libzvbi-common liburiparser1 libcjson1 libavcodec60 libzvbi0t64 libavutil58 libswscale7 libswresample4 libavformat60
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
libzvbi-common はすでに最新バージョン (0.2.42-2) です。
libcjson1 はすでに最新バージョン (1.7.17-1) です。
libavcodec60 はすでに最新バージョン (7:6.1.1-3ubuntu5) です。
libzvbi0t64 はすでに最新バージョン (0.2.42-2) です。
libavutil58 はすでに最新バージョン (7:6.1.1-3ubuntu5) です。
libswscale7 はすでに最新バージョン (7:6.1.1-3ubuntu5) です。
libswresample4 はすでに最新バージョン (7:6.1.1-3ubuntu5) です。
libavformat60 はすでに最新バージョン (7:6.1.1-3ubuntu5) です。
以下のパッケージが新たにインストールされます:
liburiparser1
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
35.8 kB のアーカイブを取得する必要があります。
この操作後に追加で 110 kB のディスク容量が消費されます。
続行しますか? [Y/n]
Debian 13は、不自由なCodecやAV関係のソフトを意識的に削除しているようです。Sidにはあります。
sudo apt install libzvbi-common liburiparser1 libcjson1 libavcodec60 libzvbi0t64 libavutil58 libswscale7 libswresample4 libavformat60
パッケージ libavcodec60 は使用できませんが、別のパッケージから参照されます。
これは、パッケージが欠落しているか、廃止されたか、または別のソース
からのみ利用可能であることを意味します。
パッケージ libavformat60 は使用できませんが、別のパッケージから参照されます。
これは、パッケージが欠落しているか、廃止されたか、または別のソース
からのみ利用可能であることを意味します。
パッケージ libavutil58 は使用できませんが、別のパッケージから参照されます。
これは、パッケージが欠落しているか、廃止されたか、または別のソース
からのみ利用可能であることを意味します。
パッケージ libswresample4 は使用できませんが、別のパッケージから参照されます。
これは、パッケージが欠落しているか、廃止されたか、または別のソース
からのみ利用可能であることを意味します。
パッケージ libswscale7 は使用できませんが、別のパッケージから参照されます。
これは、パッケージが欠落しているか、廃止されたか、または別のソース
からのみ利用可能であることを意味します。
Error: パッケージ 'libavcodec60' にはインストール候補がありません
Error: パッケージ 'libavutil58' にはインストール候補がありません
Error: パッケージ 'libswscale7' にはインストール候補がありません
Error: パッケージ 'libswresample4' にはインストール候補がありません
Error: パッケージ 'libavformat60' にはインストール候補がありません
パッケージ: libavcodec60 (7:6.0-6 など) FFmpeg オーディオ・ビデオコーデック用 ...
パッケージ: libavutil58 (7:6.0-6 など) FFmpeg library with functions ...
パッケージ: libswscale-dev FFmpeg library for image scaling ...
以下省略
まとめ
Ubuntu ProのESMと表示されるものは特殊なものでありません。DebianやMintで使われている名称と同じです。また、リリースから1年4か月の時点で延長サポートのような表現をするのは違和感を感じます。
3. VirtualBoxでのKernelの不安定性
不具合の具体例:ISOファイルからのインストール
- VirtualBox Ver.7.1.12(2025年7月15日リリース。RHEL10インストール対応のため、Hyper-V の使用時にもゲストにAVX/AVX2機能を利用できるようにした)
- 操作手順は以下の通り。
### Ubuntu24.04のgeneric-kernel(6.8系)のインストール
apt list --installed | grep linux # 現在インストールされているカーネルを調べる
## generic-kernel(6.8系)が無い場合は以下のコマンドを実行
sudo apt install linux-image-generic linux-headers-generic linux-tools-generic
sudo nano /etc/default/grub # Grubのメニューを常時表示させ、kernelと起動条件を選択しやすくした
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=5
sudo update-grub
### Grubでlinux-kernel 6.8系を選択して再起動後、HWEカーネル(現在は6.14系)を削除。
sudo apt purge linux-*6.14*
apt list --installed | grep linux # 6.14系が削除されたかを確認する
# sudo apt autoremoveは、linux-libc-dev 6.8.0-71.71 amd64 などを消去するので、注意が必要です。
# パッケージを残したい場合は、sudo apt install linux-libc-dev とすると手動でインストールしたと判断され残ります(手抜き作法です)。
### VirtualBox Guest Additionsのビルド
# ビルドに必要なパッケージをインストール
sudo apt install build-essential dkms debian-keyring autoconf automake libtool flex bison
# デバイス → Guest Additions CDイメージの挿入 → File (nautilus)から開く → 端末で開く
# 以降は端末画面だけで操作できます
ls # 端末でのコピペをしやすいようにGuest Additionのパッケージを表示
sudo sh ./VBoxLinuxAdditions.run
cat /etc/group
sudo gpasswd -a username vboxsf # Debian系は adduserコマンドも使えますが、RHEL系も考えてgpasswd
sudo gpasswd -a username vboxdrmipc # 最近のVirtualBoxで加わったグループ
### この方法で、うまくいくか、フリーズ状態になるかは半々です
### 動作していても、フリーズするようになることがあります。
私は、Grubのrecovery modeから起動して、Guest Additionsの再ビルドすると復旧したので、深入りしていません。
Open foamの統合環境"DEXCS"の開発者 野村様のブログでは、update-initramfsの実態を移動して修正する方法が記載されています。DEXCS2024カーネルアップデート不具合暫定対応版 #2 /カーネルアップデート不具合の原因
cat /usr/sbin/update-initramfs
#!/bin/true
# diverted by curtin
ls /usr/sbin/update-ini* -l
-rwxr-xr-x 1 root root 32 2月 19 18:58 /usr/sbin/update-initramfs
-rwxr-xr-x 1 root root 6908 2月 7 18:55 /usr/sbin/update-initramfs.curtin-disabled
sudo rm -rf /usr/sbin/update-initramfs
sudo mv /usr/sbin/update-initramfs.curtin-disabled /usr/sbin/update-initramfs
問題が少ない例:OVAファイルからのインポート
ISOファイルでは、動的に変わる要素がありますが、ovaファイル版では骨格ができているので、トラブルが少ないと感じます。
オープンCAE勉強会@富山について openfoam用仮想マシン 2025年版
- ディスク使用量: ダウンロードファイル 5GB程度,展開後 10GB程度(使用時には増える可能性あり。)
- OS: Lubuntu 24.04LTS
- OpenFOAM:v2412
- ParaView:5.11.2
- 軽量化だけを目的にした仮想マシンです。軽量化重視のため,日本語入力環境は追加していません。必要最低限の機能だけが使えます。
Elmer Virtual Machine
- ディスク使用量: ダウンロードファイル 6.8GB程度,展開後 15GB程度
- OS: Ubuntu 22.04LTS
- Elmer devel version 9.0 Rev: 2aaceb9ae, Compiled: 2024-10-06
- 公式バイナリの環境としては、最も多機能
- Windowsで使用するなら、小生が作成したWSL版の方がWindowsとの連携がよく使いやすいと思います。Elmerをコンパイルするシェルスクリプト ファイルのダウンロード方法はElmerフォーラムに投稿した英文のままです
Ubuntu24.04をカスタマイズしたovaファイルを作りました
- linux-kernelは、6.8系
- VirtualBoxのGuest Additionsは、Ver.7.1.12
- githubのスクリプトにより、snap消去、mozillaのdeb版FirefoxとGnome Softwareをインストール
- GNOMEの設定を操作:外観を涼しくした。Ubuntu Desktopを設定し、GNOME標準に近づけた。
- user名:user、パスワード:user
- snapなしのUbuntuの体験用です。軽量化重視のため,日本語入力環境は追加していません。
- 私のOneDriveにアップロードしました。カスタマイズしたUbuntu24.04LTSのovaファイル:約5GBです
4. Linux用Cuda ToolKitの環境
WindowsとLinuxのデュアルブート
UEFIが導入される前のBIOSでは、それほど苦労しなくてもデュアルブートを構築することができました。
2015年頃のWindows10の登場で本格的に普及し(IntelのCPUでは、第6世代のskylakeの頃です)、デュアルブートが難しくなりました。
UEFI+セキュアブートの条件でのデュアルブートに抵抗がありましたが、再開してみると昔のBIOSの頃と同等レベルの操作での構築が可能になっています。
現在ではメジャーなLinuxディストロがセキュアブートに対応しています。但し、デュアルブートのLinux側からVirtualBoxなどkernelに深く関係するアプリを動かす場合はセキュアブートをオフにした方がトラブルに出会うことが少ないです。
ネットにはわかりやすい情報がないので、2025年の経験を紹介します。
- Debian12, 13, Ubuntu-24.04, Mint-22, Rocky/Alma-9,10, Fedora-42をデュアルブートにできました。なお、openSUSEはインストーラの途中でフリーズしました。
- WindowsのCドライブの入ったSSDとLinuxをインストールするSSDを別ドライブにすると、ドライブの状態がわかりやすい。
- SSDは、容量の違いや、NVMeとSATAのインターフェースの違いがあると見分けがつきやすい。
- Linux用のドライブはgptとし、先頭側半分をLinux用、後ろ半分をNTFS形式でWindowsとLinuxから読めるようにしました。
- DebianはWindowsドライブの/boot/efiを使用します(これにより問題は生じていません)。他のディストロはLinuxドライブの/boot/efiを利用できました。
- ノートパソコンは1TBのNVMe-SSD×2台の構成です。不注意でLinuxのインストール中にWindowsの起動ファイルを消去しました。起動用no/boot/efiのみであれば、Windows11のインストールUSBを作り、Copilotに聞きながら起動ファイルを作ることで復旧できました。
- 非公式ですが、UbuntuではWubiがという、Ubuntu導入のWindowアプリがあります。Wubi: Installing Ubuntu from within Windows
ストレージが遅いのとUbuntuと公式フレバー以外を選べないので、通常のデュアルブートをおすすすめします。
Linux用Cuda ToolKit
WSLではUbuntuしかありません。
私のデュアルブートを試したディストロの対応状況を調べました。デュアルブートにすればメジャーなディストロは対応しているので、Ubuntu以外の選択が可能になります。
- Debian 12:〇, 13:未対応(リリース予定日が8月9日ですので、数か月先に対応すると思われる)
- Ubuntu 24.04:〇
- Mint 22:おそらく〇(Ubuntu24.04に独自のMintパッケージを加えてもの。開発ツールにはsnapを用いていないと思われる)
- Rocky 9, 10:〇(おそらくAlma 9, 10も〇)
- Fedora 42:〇
出典:CUDA Toolkit 13.0 Downloads
5. 現在のデュアルブートのネィティブLinux環境
デスクトップパソコン
- 12世代 Core i7-12700K (Pコア:8、Eコア:4)
- RAM:128 GB
- グラフィックカード:NVIDIA GeForce RTX 3060
- ストレージ:NVMe SSD x 2, SATA SSD x 1
- ディスプレイ:フルHD、4Kの2台、GNOME Waylandのfractal Scalingを使用(Xorgの環境でxrandrコマンドにより微調整できるが、文字がにじむのでWaylandにした。CAE関係のソフトは、xwaylandなどを使用)。新しいディストロの方がうまく対応している。
- UEFIの設定によりセキュアブートを無効に設定した
- マシンパワーに余裕があるので、VirtualBoxによりCAEソフトを動作させても良いと考えた
- OracleはRHEL互換のOracle Linuxの開発元であるので、VirtualもRHEL系への対応が早い。
- Linuxディストロを2つに絞ると(サポートの短いもの、オープンソースの姿勢から外れたUbuntuを除外すると)、DebianとRHELとなる。上記の2点から Rocky-10 を選んだ。
Elmer、FrontISTRは、VirtualBOXから動作させます。
ノートパソコン
- 10世代 Core i7-10750H (6コア)
- RAM:64 GB
- グラフィックカード:NVIDIA GeForce RTX 2060(CPU内蔵のIntelグラフィックとスィチング)
- ストレージ:NVMe SSD x 2(2台とも1GBなので、/boot/efiを間違えて消したことがあります)
- セキュアブートはロックされていて、無効にできない仕様
- VirtualBoxを動作させることは難しい。QEMU/KVMは慣れるまでは大変である。
- 仮想マシンを使わなくても多数のCAEソフトを動かせるように、Debian 13 を選んだ。