Linux的源码在Windows下解压时提示文件名字相同(重名)的原因及解决办法

问题描述、原因分析、解决方法

我在Ubuntu系统下把Linux的内核进行压缩,然后在Windows下解压,结果解压时就出现了下面的提示:

上面截图提示的意思是,某个目录中有与xt_connmark.h同名的文件。

在Ubuntu下利用下面的命令搜索相关的文件:

bash 复制代码
find . -iname "xt_connmark.h"

上面命令中参数 -iname 参数会忽略大小写,列出所有名称中包含 xt_connmark.h 的文件。

结果如下:

bash 复制代码
./include/uapi/linux/netfilter/xt_connmark.h
./include/uapi/linux/netfilter/xt_CONNMARK.h

可见,存在文件xt_connmark.h和文件xt_CONNMARK.h,它们在名字上只是大小写不同。

Linux文件系统(如ext4)默认是大小写敏感的,所以在Linux文件系统(如ext4)上会被认为是不同的文件,但是Windows下的NTFS文件系统不对大小写敏感,所以在Windows下被认为是同一个文件,所以解压时会出现上面的同名文件提示。

如果要在Windows下查看Linux的源码,我们只能选择将其中一个重命名。我利用搜索引擎搜索了下,发现文件xt_connmark.h似乎在编译时用得多一点,并且xt_connmark.h更符号Linux的命名规则,所以我们就把另一个,即xt_CONNMARK.h重命名为xt_CONNMARK_2.h吧。

我们先选择重命名,此时解压软件会把后解压的那个文件自动加上后缀_1,如下图所示:

然后等解压完了再按我们的需要修改相应的文件名,比如在这里,我们修改之后为:

所有同样存在同名文件的源码文件汇总

截图如下:

截图后面有内容,我把下面涉及到的文件的名字和路径进行了汇总,方便自己搜索解压得到的源码目录进而进行修改:











上面截图中的汇总如下【包括我分析原因的那个】:

bash 复制代码
以下五个的路径都是:Linux-4.9.88\include\uapi\linux\netfilter\
xt_connmark.h
xt_dscp.h
xt_mark.h
xt_rateest.h
xt_tcpmss.h

以下两个的路径都是:Linux-4.9.88\include\uapi\linux\netfilter_ipv4\
ipt_ecn.h
ipt_ttl.h

以下这个的路径是:Linux-4.9.88\include\uapi\linux\netfilter_ipv6\
ip6t_hl.h

以下四个的路径都是:Linux-4.9.88\net\netfilter\
xt_dscp.c
xt_hlc.c
xt_rateest.c
xt_tcpmss.c

附Linux-4.9.88源码(处理同名文件和没有处理同名文件的源码)

Linux-4.9.88源码:
没有处理同名文件的压缩包:
https://pan.baidu.com/s/1yjIBXmxG9pwP0aOhW8VAVQ?pwd=e9cv

已把同名文件中以大写命名的文件加上_2后缀的压缩包:
https://pan.baidu.com/s/1RIRRUllYFn2r47EHX0yI4g?pwd=vtva

相关推荐
Yana.nice几秒前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome
DFT计算杂谈4 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
Zhang~Ling5 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
DeeplyMind5 小时前
Linux 深入 per-VMA lock:Linux 缺页路径如何摆脱 mmap_lock
linux·per-vma lock
爱写代码的森5 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
XMAIPC_Robot6 小时前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发
重生的黑客7 小时前
Linux 进程优先级、切换与调度:从孤儿进程到 O(1) 调度模型
linux·运维·服务器·进程优先级·nice
骑上单车去旅行8 小时前
MD5校验对比脚本
linux·服务器·windows
平生幻8 小时前
Linux 常用命令
linux
ShirleyWang0129 小时前
让headlamp控制台能访问
linux·服务器·python·k8s·k3s