为linux内核创建补丁文件

时间:2014-04-30 14:27:59

标签: linux ubuntu-12.04 diff sudo

我正在尝试创建一个补丁文件,用于我在linux内核中所做的修改。 原始目录是 /usr/src/linux.vanilla ,新内核是 / usr / src / linux-master 。 我使用的命令是

h@ubuntu:/usr/src$ sudo diff -rupN  linux-master/ linux.vanilla/ > original.patch 

但是我收到错误说明

bash: original.patch: Permission denied

任何人都可以指出我哪里出错了。我使用的是Ubuntu和Linux内核版本3.15.0。

感谢。

1 个答案:

答案 0 :(得分:5)

您输入终端的命令是:

sudo diff -rupN  linux-master/ linux.vanilla/ > original.patch 

这将以root身份运行:

diff -rupN  linux-master/ linux.vanilla/

然后作为普通用户帐户,它会将输出写入

original.patch

但是,您没有original.patch的写入权限。

修复1

在root shell下完成工作。

sudo su
diff -rupN  linux-master/ linux.vanilla/ > original.patch 

修复2

使用tee重定向到文件。

sudo diff -rupN  linux-master/ linux.vanilla/ | sudo tee original.patch 

修复3

将文件写入您的主目录(或您具有写权限的其他位置)。

sudo diff -rupN  linux-master/ linux.vanilla/ > ~/original.patch