如何在Google Colab安装Advanced Copy(补丁GNU coreutils)并解决补丁报错
问题原因
这个报错是patch工具无法定位到待修改的源码文件,核心诱因有两个:执行patch命令的工作目录不符合要求、-p(路径剥离层级)参数设置错误。
解决方案
- 先确认你下载的coreutils源码版本为8.32,解压后进入
coreutils-8.32根目录,所有补丁操作都在这个目录下执行,不要在上级目录或src子目录内操作。 - 执行打补丁命令时添加
-p1参数,命令格式如下:
patch -p1 < 补丁文件路径
-p1的作用是剥离补丁路径中第一层的coreutils-8.32/前缀,直接匹配当前目录下的src/xxx.c文件。
- 如果上述操作仍提示找不到文件,可在patch弹出
File to patch:提示时,手动输入对应文件的相对路径即可:- 第一个提示输入
src/copy.c - 第二个提示输入
src/copy.h - 第三个提示输入
src/cp.c - 第四个提示输入
src/mv.c
- 第一个提示输入
可选替代方案
多数主流Linux发行版的官方源或第三方源已经预打包了Advanced Copy工具,可直接通过包管理器搜索advcpmv安装,无需手动编译打补丁。
内容的提问来源于stack exchange,提问作者Cyber Avater
相关产品推荐
相关产品推荐

