patch 命令用法详解(转) |
您所在的位置:网站首页 › patch的发音 › patch 命令用法详解(转) |
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 < patch-tcp_auto_buf-20061212-RELENG_6.diff 也可以把文件中的目录全改成系统已在的目录如/usr/src/sys..... 注意: 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 < /path/to/patch # cd /usr/src/secure/libexec/telnetd # make depend && make all install 无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 < /path/to/patch # cd /usr/src/libexec/telnetd # make depend && make all install 例子来源http://toby.bokee.com/ 文件:isp1161-2.6.12.patch(在/root下) 由于patch文件的首行已经指明了路径,所以根据当前所在的目录,加不同的参数使用patch命令: 1:如果当前的目录是和linux-2.6.12的同级目录: [root@kcn-110mw]#patch -p0 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |