解决 make_ext4fs is not find, it is recommanded to install android-tools-fsutils

编译cluster linux时,遇到make_ext4fs命令无法找到。这个工具是被软件包 android-tools-futils 包含的。这个软件包只支持18.04的系统,在ubuntu20.04和ubuntu22.04上,无法被正确的安装。会报依赖问题,报错的信息是依赖python相关的,但是又没有指定一个版本。

这个命令是被构建系统依赖的,因此没办法使用其它更新的版本。虽然可以直接安装deb包,但是每次使用apt install 时,都会报这个相关的错误。使用 sudo apt --fix-broken install 或者 sudo apt install -f 都是无法解决这个问题的。

这里提供一个解决办法,使用系统为ubuntu22.04 。

下载deb包

找到android-tools-futils软件的deb包:https://www.ubuntuupdates.org/pm/android-tools-fsutils

得到android-tools-fsutils_5.1.1.r38-1.1_amd64.deb。

解压软件包

使用unar工具进行解压:

bash 复制代码
unar android-tools-fsutils_5.1.1.r38-1.1_amd64.deb

解压后内容如下:

bash 复制代码
control.tar.xz  data.tar.xz  debian-binary

这里对我们有用的就是data.tar.xz ,需要对其进行再次解压:

bash 复制代码
unar data.tar.xz

得到data目录,这个目录就是相当于安装位置的根目录,我们只需要把这个目录下的软件复制到根文件系统的根目录下面,就相当于实现了手动安装了。

安装

由于是手动安装,就没有那么多要求了。这里只需要将 data/usr/bin/ 目录下的可执行文件放到 /usr/bin 目录下即可。

bash 复制代码
sudo cp data/usr/bin/* /usr/bin/

命令测试:

bash 复制代码
$ make_ext4fs 
Expected filename after options
make_ext4fs [ -l <len> ] [ -j <journal size> ] [ -b <block_size> ]
    [ -g <blocks per group> ] [ -i <inodes> ] [ -I <inode size> ]
    [ -L <label> ] [ -f ] [ -a <android mountpoint> ]
    [ -S file_contexts ] [ -C fs_config ] [ -T timestamp ]
    [ -z | -s ] [ -w ] [ -c ] [ -J ] [ -o ] [ -v ] [ -B <block_list_file> ]
    <filename> [<directory>]

OK,能识别,安装没有什么问题了。而且使用apt 安装软件时,也不再这个软件包的相关错误。

要卸载掉它,将相关的可执行文件移除就行了:

bash 复制代码
cd /usr/bin; sudo rm ext2simg   img2simg     mkuserimg  simg2simg  test_ext4fixup ext4fixup  make_ext4fs  simg2img   simg_dump
相关推荐
cominglately2 小时前
centos单机部署seata
linux·运维·centos
魏 无羡2 小时前
linux CentOS系统上卸载docker
linux·kubernetes·centos
CircleMouse2 小时前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos
木子Linux3 小时前
【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
linux·运维·服务器·centos·云计算
mit6.8243 小时前
Ubuntu 系统下性能剖析工具: perf
linux·运维·ubuntu
鹏大师运维3 小时前
聊聊开源的虚拟化平台--PVE
linux·开源·虚拟化·虚拟机·pve·存储·nfs
watermelonoops3 小时前
Windows安装Ubuntu,Deepin三系统启动问题(XXX has invalid signature 您需要先加载内核)
linux·运维·ubuntu·deepin
滴水之功4 小时前
VMware OpenWrt怎么桥接模式联网
linux·openwrt
ldinvicible4 小时前
How to run Flutter on an Embedded Device
linux
YRr YRr5 小时前
解决Ubuntu 20.04上编译OpenCV 3.2时遇到的stdlib.h缺失错误
linux·opencv·ubuntu