patch命令的用法

2009-05-13 07:29:04来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

patch,是打补丁的命令,有很多用法,见帮助#man patch
patch -p0      (“p”指的是路径,后面的数字表示去掉路径的第几部分。"0",表示不去掉,为全路径)
patch -p1      (“p”后面的数字"1",表示去掉前第一个路径)

fetch
http://people.freebsd.org/~delphij/misc/patch-bge-releng62
fetch
http://people.freebsd.org/~delphij/misc/patch-bce-watchdog-rewrite
cd /sys/dev/bge
fetch ...
patch -p0

fetch
http://people.freebsd.org/~delphij/misc/patch-tcp_auto_buf-20061212-RELENG_6.diff
patch -p
注意:
1,确认目录
然后确认目录,如不在默认目录下,就写下要打补丁的当前绝对目录。如/usr/src/sys/dev/bge/if_bce.c
2,P的使用
可以使用不带数字的参数。
patch 后的软件安装
 
telnetd服务器的问题及补丁
在当前FreeBSD所有版本中,也就是FreeBSD 5.0、FreeBSD 4.3、FreeBSD 4.2、FreeBSD 4.1.1、FreeBSD 4.1、FreeBSD 4.0、FreeBSD 3.x、FreeBSD 2.x的版本,其telnetd守护进程中存在一个致命的缓冲区溢出漏洞,该问题是由于telnetd在处理telnet协议选项的函数中没有进行有效的边界检查,当使用某些选项('AYT')时,可能发生缓冲区溢出。这会导致远程root级别的安全威胁。
因此,如果一定要使用telnet服务的话,必须为服务器打上最新的patch,该patch可以从以下链接获得:
(注:通常有两个版本的telnetd服务器,有crypto及无crypto的版本,因此需要判断主机使用的是哪种版本的telnetd,这通常可以通过察看src文件来判断,比如# ls /usr/src/crypto/telnet/telnetd,如果不存在,则说明使用的是无crypto的版本了,在判别清楚之后再分别下载相关补丁文件)
crypto版本补丁:
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-01:49/telnetd-crypto.patch

ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-01:49/telnetd-crypto.patch.asc

patch方法:
# cd /usr/src/
# patch -p
无crypto版本补丁:
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-01:49/telnetd.patch

ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-01:49/telnetd.patch.asc

patch方法:
# cd /usr/src/
# patch -p
例子来源
http://toby.bokee.com/


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/13492/showart_266991.html

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:用rsync实现网站镜像和备份

下一篇:各种平台下Perl模块的安装方法