免责声明
该帖子已被标记为该帖子的副本。应该注意的是,@DavidFoerster 已将其代码更新为功能性解决方案 - 但您必须小心下载正确的软件包。
这篇文章的目的是解释为什么他的代码有效。此条目不是重复的,因为它试图帮助任何不熟悉 linux 并面临“metadata_csum”错误的人,这可能是由于 e2fsck 版本不兼容造成的。
背景
Ubuntu 在 14.04 和 16.04 版本中使用了 e2fsck 包 1.42.X。对于 18.04 版,e2fsck 包已更新到 1.44.X。这会在使用 ubuntu 16.04 系统将 e2fsck 实用程序应用到在 ubuntu 18.04 系统上配置文件系统的 HDD 上时产生问题。
如果在 ubuntu 16.04 系统上使用 GParted 在 ubuntu 18.04 HDD 上工作,GParted 将产生错误,因为它依赖于 16.04 默认系统 e2fsck 1.42.X 实用程序。
这篇文章的目的是展示如何将 e2fsck 实用程序升级到更高版本,以便从运行新版本 ubuntu 操作系统 (18.04) 的系统中移除的硬盘驱动器可以在较旧的 ubuntu 系统 (16.04) 中提供服务。这通常在硬盘驱动器出现问题并需要管理修复时完成。
请注意,GParted 的 live CD 版本包含 e2fsck 包的最新版本,但是在进行管理修复工作时,使用可引导的 USB 设备可能不切实际。
什么有效
当使用 ubuntu 16.04 并从 ubuntu 18.04 系统为 HDD 提供服务时,可以绕过 GParted 和命令行中出现的 e2fsck“metadata_csum”错误。解决方案是不要将 e2fsprogs 和 e2fslibs 推进得太远。Ubuntu 18.04 使用 e2fsprogs 和 e2fslibs 1.44.X。无法将默认的 ubuntu 16.04 软件包(e2fsprogs 1.42.X 和 e2fslibs 1.42.X)一直升级到 1.44.X 软件包的原因是因为 1.44.X 软件包具有 1.43 中不存在的附加依赖项.X 包。
换句话说,将 e2fsprogs 和 e2fslibs 更新到 1.43.X - 不要一直升级到 1.44.X。
1.43.X 软件包足以消除“metadata_csum”错误,并允许您在命令行中使用 GParted 或 e2fsck,以便通过您的 ubuntu 16.04 系统为您的 ubuntu 18.04 HDD 提供服务。
详细说明
e2fslibs_1.44.1-1_amd64.deb
==> 该软件包需要 libext2fs2
==> 尝试安装 libext2fs2 将破坏 e2fslibs:amd64
==> libext2fs2 破坏 e2fslibs (<< 1.43.9-1~) 不允许取消配置
==> e2fs :amd64(版本 1.42.13-1ubuntu1)存在并安装。
e2fsprogs_1.44.1-1_amd64.deb
==> 这个包需要 libcomm-err2
==> libcomerr2 (1.42.X) 是 ubuntu 16.04 默认安装的,和 libcom-err2 (ubuntu 18.04) 不一样
程序
1) 获取 1.43.X 包:从Debian 的池或Ubuntu 池
(搜索列表e2fslibs_1.43并下载与您的架构相对应的文件,然后重复,搜索e2fsprogs_1.43)
2) 切换到下载目录并查看:
you@computer:~/Downloads$ ls -l
-rw-rw-r-- 1 155908 Jul 29 17:38 e2fslibs_1.43.5-1_amd64.deb
-rw-rw-r-- 1 496598 Jul 29 17:38 e2fsprogs_1.43.5-1_amd64.deb
Run Code Online (Sandbox Code Playgroud)
3)安装 1.43.X 包(@David Foerester 代码):
you@computer:~/Downloads$ for f in e2fs{libs,progs}_*_$(dpkg --print-architecture).deb; do sudo dpkg -i "$f"; done
Run Code Online (Sandbox Code Playgroud)
4)检查您安装的版本:
you@computer:~/Downloads$ e2fsck -V
e2fsck 1.43.5 (04-Aug-2017)
Using EXT2FS Library version 1.43.5, 04-Aug-2017
Run Code Online (Sandbox Code Playgroud)
5) 使用 GParted 从 ubuntu 18.04 系统打开 ext4 HDD 分区,希望不会出现“metadata_csum”错误:
you@computer:~$ sudo gparted /dev/sdb5
Run Code Online (Sandbox Code Playgroud)
原贴
@DavidFoerster:我会很感激,如果你能确认你在这个岗位提供的命令:
https://askubuntu.com/a/868737/847890
这是我下载您链接的文件并执行您的代码时我的 Ubuntu 16.04 系统的输出。
u16@u16:~/Downloads$ ls -l
total 644
-rw-rw-r-- 1 u16 u16 155908 Jul 8 22:17 e2fslibs_1.43.5-1_amd64.deb
-rw-rw-r-- 1 u16 u16 496598 Jul 8 22:16 e2fsprogs_1.43.5-1_amd64.deb
Run Code Online (Sandbox Code Playgroud)
u16@u16:~/Downloads$ sudo dpkg -i e2fs{libs,progs}_*_$(dpkg --print-architecture).deb
[sudo] password for u16:
(Reading database ... 254722 files and directories currently installed.)
Preparing to unpack e2fslibs_1.43.5-1_amd64.deb ...
De-configuring e2fslibs:i386 (1.42.13-1ubuntu1) ...
Unpacking e2fslibs:amd64 (1.43.5-1) over (1.42.13-1ubuntu1) ...
dpkg: regarding e2fsprogs_1.43.5-1_amd64.deb containing e2fsprogs, pre-dependency problem:
e2fsprogs:i386 pre-depends on e2fslibs (= 1.43.5-1)
e2fslibs:amd64 latest configured version is 1.42.13-1ubuntu1.
dpkg: error processing archive e2fsprogs_1.43.5-1_amd64.deb (--install):
pre-dependency problem - not installing e2fsprogs
dpkg: error processing package e2fslibs:amd64 (--install):
package e2fslibs:amd64 1.43.5-1 cannot be configured because e2fslibs:i386 is at a different version (1.42.13-1ubuntu1)
dpkg: error processing package e2fslibs:i386 (--install):
package e2fslibs:i386 1.42.13-1ubuntu1 cannot be configured because e2fslibs:amd64 is at a different version (1.43.5-1)
Processing triggers for libc-bin (2.23-0ubuntu10) ...
Errors were encountered while processing:
e2fsprogs_1.43.5-1_amd64.deb
e2fslibs:amd64
e2fslibs:i386
u16@u16:~/Downloads$ e2fsck -V
e2fsck 1.42.13 (17-May-2015)
Using EXT2FS Library version 1.42.13, 17-May-2015
Run Code Online (Sandbox Code Playgroud)
当我尝试处理依赖项时,我创建了很多损坏的包。感谢您帮助解决此问题。
| 归档时间: |
|
| 查看次数: |
13894 次 |
| 最近记录: |