
Ubuntu日本語フォーラム

ログインしていません。
sudo apt upgrade したらカーネルが3個になり、一番古いやつを消したい
オフライン
https://www.it-swarm.dev/ja/linux/linux%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%8C%E8%A4%87%E6%95%B0%E3%81%82%E3%82%8B%E3%81%AE%E3%81%AF%E8%89%AF%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F/960881965/
RedHatとDebianベースのディストリビューションはどちらも、デフォルトでyumまたは_apt-get_を使用して新しいバージョンをインストールすると、
カーネルのいくつかのバージョンを保持します。これは良い習慣と考えられており、
:最新のカーネルで何か問題が発生した場合、常に再起動でき、GRUBで以前のカーネルのいずれかを使用して起動することを選択できます。
Debianは古いカーネルを保持しますが、それらを自動的に削除しません。ブートパーティションを解放する必要がある場合は、
古いカーネルを手動で削除する必要があります(以前のカーネルの少なくとも1つを残すことを忘れないでください)。
すべてのカーネルインストールパッケージとカーネルヘッダーパッケージを一覧表示するには、dpkg -l | egrep "linux-(im|he)"を使用します。
---------------------------
ということで
$ dpkg -l | egrep "linux-(im|he)"
ii linux-headers-4.19.0-10-amd64 4.19.132-1 amd64 Header files for Linux 4.19.0-10-amd64
ii linux-headers-4.19.0-10-common 4.19.132-1 all Common header files for Linux 4.19.0-10
ii linux-headers-4.19.0-12-amd64 4.19.152-1 amd64 Header files for Linux 4.19.0-12-amd64
ii linux-headers-4.19.0-12-common 4.19.152-1 all Common header files for Linux 4.19.0-12
ii linux-headers-4.19.0-9-amd64 4.19.118-2+deb10u1 amd64 Header files for Linux 4.19.0-9-amd64
ii linux-headers-4.19.0-9-common 4.19.118-2+deb10u1 all Common header files for Linux 4.19.0-9
ii linux-image-4.19.0-10-amd64 4.19.132-1 amd64 Linux 4.19 for 64-bit PCs (signed)
ii linux-image-4.19.0-12-amd64 4.19.152-1 amd64 Linux 4.19 for 64-bit PCs (signed)
rc linux-image-4.19.0-8-amd64 4.19.98-1+deb10u1 amd64 Linux 4.19 for 64-bit PCs (signed)
ii linux-image-4.19.0-9-amd64 4.19.118-2+deb10u1 amd64 Linux 4.19 for 64-bit PCs (signed)
ii linux-image-amd64 4.19+105+deb10u7 amd64 Linux for 64-bit PCs (meta-package)
$
つぎはどうしたら?
オフライン
$ sudo apt autoremove
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 12 個。
$
かな?と思いつきやってみたがダメでした
オフライン
nahoko による投稿:
$ dpkg -l | egrep "linux-(im|he)"
ii linux-headers-4.19.0-10-amd64 4.19.132-1 amd64 Header files for Linux 4.19.0-10-amd64
ii linux-headers-4.19.0-10-common 4.19.132-1 all Common header files for Linux 4.19.0-10
ii linux-headers-4.19.0-12-amd64 4.19.152-1 amd64 Header files for Linux 4.19.0-12-amd64
ii linux-headers-4.19.0-12-common 4.19.152-1 all Common header files for Linux 4.19.0-12
ii linux-headers-4.19.0-9-amd64 4.19.118-2+deb10u1 amd64 Header files for Linux 4.19.0-9-amd64
ii linux-headers-4.19.0-9-common 4.19.118-2+deb10u1 all Common header files for Linux 4.19.0-9
ii linux-image-4.19.0-10-amd64 4.19.132-1 amd64 Linux 4.19 for 64-bit PCs (signed)
ii linux-image-4.19.0-12-amd64 4.19.152-1 amd64 Linux 4.19 for 64-bit PCs (signed)
rc linux-image-4.19.0-8-amd64 4.19.98-1+deb10u1 amd64 Linux 4.19 for 64-bit PCs (signed)
ii linux-image-4.19.0-9-amd64 4.19.118-2+deb10u1 amd64 Linux 4.19 for 64-bit PCs (signed)
ii linux-image-amd64 4.19+105+deb10u7 amd64 Linux for 64-bit PCs (meta-package)
$
出力結果からするとubuntuではなくdebianをインストールされてませんか?
debianで古くなったカーネルをうまいこと削除してくれるツールがあるのかは、わかりません。
https://www.debian.org/doc/manuals/debian-faq/kernel.ja.html#removeoldkernel
オフライン
たしかにカーネル バージョンが ubuntu らしからぬ点がありますが、それは置いておいて
まず以下のコマンドでインストールされているカーネルに一覧を出します。
dpkg -l 'linux-*' | grep '^ii' | awk '{print $2 "\t" $3}' | grep 'image\|headers\|modules' | sort -V -k2バージョンを見て要らないカーネル パッケージを sudo apt purge で削除するだけです。
最低限は linux-image-X.X.X...... のカーネル イメージを削除すれば事足りますが、同じバージョンのヘッダーやモジュールも不要になるはずなので大抵は一緒に削除してしまいますね。
なお、新しいバージョンのカーネルだけを残して他を削除するお手軽コマンドは寡聞にして存じません。
オフライン
ubuntuに限っていえば、古くなったカーネルはautoremoveの対象になります
https://gihyo.jp/admin/serial/01/ubuntu … 278?page=2
また20.04以降のデスクトップ環境では、autoremoveの対象になったカーネルは"ソフトウェアの更新(update-manager)"で削除の提案がされるようになってます。
オフライン
debianをインストールされてませんか?
はい。rohizukaさんお返事ありがとうございます。
デビアンでは手動。ubuntuではautoremove。
1,Debianは古いカーネルを保持しますが、それらを自動的に削除しません。ブートパーティションを解放する必要がある場合は、古いカーネルを手動で削除する必要があります(以前のカーネルの少なくとも1つを残すことを忘れないでください)。
(自分がひっぱってきた機械翻訳の引用文)
2,ubuntuに限っていえば、古くなったカーネルはautoremoveの対象になります
3,dist-upgradeで新しくカーネルパッケージを追加し,起動も問題なく行えることを確認できたら,古いカーネルパッケージは不要になります。個別にパッケージ名を指定してアンインストールすることも可能ですが,「autoremove」コマンドを使うことで,不要になったカーネルパッケージを一括削除できます。
autoremoveで削除されるのは,原則としてアップグレード時点で使用中ではなく,最新でもないカーネルです。少なくとも,2つのバージョンは削除せずにそのまま残すようになっています。
1の >Debianは古いカーネルを保持しますが、それらを自動的に削除しません。
ubuntu と比較してDebianは挙動が違うという意味とわかりませんでした。何でもかんでもほとんど同じと思っていました。
削除するターゲットについて。何がいらないか?
>バージョンを見て要らないカーネル パッケージを sudo apt purge で削除するだけです。
>最低限は linux-image-X.X.X...... のカーネル イメージを削除すれば事足りますが、同じバージョンのヘッダーやモジュールも不要になるはずなので大抵は一緒に削除してしまいますね。
>autoremoveで削除されるのは,原則としてアップグレード時点で使用中ではなく,最新でもないカーネルです。少なくとも,2つのバージョンは削除せずにそのまま残す
以上の方針を踏まえて
>まず以下のコマンドでインストールされているカーネルを一覧を出します。
$ dpkg -l 'linux-*' | grep '^ii' | awk '{print $2 "\t" $3}' | grep 'image\|headers\|modules' | sort -V -k2
linux-image-amd64 4.19+105+deb10u7 <
linux-headers-4.19.0-9-amd64 4.19.118-2+deb10u1 <
linux-headers-4.19.0-9-common 4.19.118-2+deb10u1 <
linux-image-4.19.0-9-amd64 4.19.118-2+deb10u1 <
linux-headers-4.19.0-10-amd64 4.19.132-1
linux-headers-4.19.0-10-common 4.19.132-1
linux-image-4.19.0-10-amd64 4.19.132-1
linux-headers-4.19.0-12-amd64 4.19.152-1
linux-headers-4.19.0-12-common 4.19.152-1
linux-image-4.19.0-12-amd64 4.19.152-1
$
>バージョンを見て
4.19.0-12 と 同-10 を残します。
削除するターゲットは < をつけたやつと思います
$ sudo apt purge linux-image-amd64 4.19+105+deb10u7
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
E: パッケージ 4.19+105+deb10u7 が見つかりません
E: '4.19+105+deb10u7' に一致するパッケージは見つかりませんでした
E: 正規表現 '4.19+105+deb10u7' ではパッケージは見つかりませんでした
$ sudo apt purge linux-headers-4.19.0-9-amd64 4.19.118-2+deb10u1
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
E: パッケージ 4.19.118-2+deb10u1 が見つかりません
E: '4.19.118-2+deb10u1' に一致するパッケージは見つかりませんでした
E: 正規表現 '4.19.118-2+deb10u1' ではパッケージは見つかりませんでした
$
挫折。ryさんありがとうございます。
オフライン
参考元
https://qiita.com/ytkumasan/items/d6cc70f151f130d58e9b
古いカーネルの削除方法メモ
$ uname -r
4.19.0-12-amd64
$ dpkg --get-selections | grep linux-
binutils-x86-64-linux-gnu install
firmware-linux-free install
firmware-linux-nonfree install
linux-base install
linux-compiler-gcc-8-x86 install
linux-headers-4.19.0-10-amd64 install
linux-headers-4.19.0-10-common install
linux-headers-4.19.0-12-amd64 install
linux-headers-4.19.0-12-common install
linux-headers-4.19.0-9-amd64 install
linux-headers-4.19.0-9-common install
linux-image-4.19.0-10-amd64 install
linux-image-4.19.0-12-amd64 install
linux-image-4.19.0-8-amd64 deinstall
linux-image-4.19.0-9-amd64 install
linux-image-amd64 install
linux-kbuild-4.19 install
linux-libc-dev:amd64 install
util-linux-locales install
$
パッケージ名?は
linux-headers-4.19.0-9-amd64 等
まず、ヘッダを消します。
$ sudo apt-get autoremove --purge linux-headers-4.19.0-9-amd64
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージは「削除」されます:
linux-headers-4.19.0-9-amd64* linux-headers-4.19.0-9-common*
アップグレード: 0 個、新規インストール: 0 個、削除: 2 個、保留: 14 個。
この操作後に 55.9 MB のディスク容量が解放されます。
続行しますか? [Y/n] y
(データベースを読み込んでいます ... 現在 254606 個のファイルとディレクトリがインストールされています。)
linux-headers-4.19.0-9-amd64 (4.19.118-2+deb10u1) を削除しています ...
linux-headers-4.19.0-9-common (4.19.118-2+deb10u1) を削除しています ...
$
いけました!
>ここで依存があればイメージも巻き込んで削除してくれます。(上記参考ページ)
$ sudo apt autoremove --purge linux-image-4.19.0-9-amd64
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージは「削除」されます:
linux-image-4.19.0-9-amd64*
アップグレード: 0 個、新規インストール: 0 個、削除: 1 個、保留: 14 個。
この操作後に 269 MB のディスク容量が解放されます。
続行しますか? [Y/n] y
(データベースを読み込んでいます ... 現在 237328 個のファイルとディレクトリがインストールされています。)
linux-image-4.19.0-9-amd64 (4.19.118-2+deb10u1) を削除しています ...
/etc/kernel/prerm.d/dkms:
dkms: removing: r8168 8.046.00 (4.19.0-9-amd64) (x86_64)
-------- Uninstall Beginning --------
Module: r8168
Version: 8.046.00
Kernel: 4.19.0-9-amd64 (x86_64)
-------------------------------------
Status: Before uninstall, this module version was ACTIVE on this kernel.
r8168.ko:
- Uninstallation
- Deleting from: /lib/modules/4.19.0-9-amd64/updates/dkms/
rmdir: 'updates/dkms' を削除できません: ディレクトリは空ではありません
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
depmod........
update-initramfs...
DKMS: uninstall completed.
dkms: removing: zfs 0.8.4 (4.19.0-9-amd64) (x86_64)
-------- Uninstall Beginning --------
Module: zfs
Version: 0.8.4
Kernel: 4.19.0-9-amd64 (x86_64)
-------------------------------------
Status: Before uninstall, this module version was ACTIVE on this kernel.
zavl.ko:
- Uninstallation
- Deleting from: /lib/modules/4.19.0-9-amd64/updates/dkms/
rmdir: 'updates/dkms' を削除できません: ディレクトリは空ではありません
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
znvpair.ko:
- Uninstallation
- Deleting from: /lib/modules/4.19.0-9-amd64/updates/dkms/
rmdir: 'updates/dkms' を削除できません: ディレクトリは空ではありません
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
zunicode.ko:
- Uninstallation
- Deleting from: /lib/modules/4.19.0-9-amd64/updates/dkms/
rmdir: 'updates/dkms' を削除できません: ディレクトリは空ではありません
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
zcommon.ko:
- Uninstallation
- Deleting from: /lib/modules/4.19.0-9-amd64/updates/dkms/
rmdir: 'updates/dkms' を削除できません: ディレクトリは空ではありません
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
zfs.ko:
- Uninstallation
- Deleting from: /lib/modules/4.19.0-9-amd64/updates/dkms/
rmdir: 'updates/dkms' を削除できません: ディレクトリは空ではありません
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
icp.ko:
- Uninstallation
- Deleting from: /lib/modules/4.19.0-9-amd64/updates/dkms/
rmdir: 'updates/dkms' を削除できません: ディレクトリは空ではありません
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
zlua.ko:
- Uninstallation
- Deleting from: /lib/modules/4.19.0-9-amd64/updates/dkms/
rmdir: 'updates/dkms' を削除できません: ディレクトリは空ではありません
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
spl.ko:
- Uninstallation
- Deleting from: /lib/modules/4.19.0-9-amd64/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
depmod...
DKMS: uninstall completed.
'/boot/initrd.img-4.19.0-9-amd64.old-dkms' を削除しました
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-4.19.0-9-amd64
/etc/kernel/postrm.d/zz-update-grub:
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Linux イメージを見つけました: /boot/vmlinuz-4.19.0-12-amd64
Found initrd image: /boot/initrd.img-4.19.0-12-amd64
Linux イメージを見つけました: /boot/vmlinuz-4.19.0-10-amd64
Found initrd image: /boot/initrd.img-4.19.0-10-amd64
Adding boot menu entry for EFI firmware configuration
完了
(データベースを読み込んでいます ... 現在 232926 個のファイルとディレクトリがインストールされています。)
linux-image-4.19.0-9-amd64 (4.19.118-2+deb10u1) の設定ファイルを削除しています ...
$
なんか凄いヤバイ雰囲気を感じます...再起動せずに対策を考えます
オフライン