Linux Versions and Patches
Linux version
[1] 2.6.10
2.6 version number, 10 release number
[2] 2.6.10 and 2.6.11
They can differ significantly even in core components and in fundamental algorithms
[3] 2.6.11.12
when a new kernel release appears, it is potentially unstable and buggy. To address this problem, the kernel developers may release patched versions of any kernel, which are identified by a fourth number in the version numbering scheme
Which patch to apply which Release?
[1] Stable kernel patches apply to the base kernel version.
patch-2.6.17.10 --> linux-2.6.17 = linux-2.6.17.10
patch-2.6.17.10 -/-> linux-2.6.17.9
[2] base kernel release patches only apply to the previous base kernel version.
patch-2.6.18 --> linux-2.6.17 = linux-2.6.18
patch-2.6.18 -/-> linux-2.6.17.2
[3] incremental patches upgrade from a specific release to the next release
patch-2.6.17.10-11 --> linux-2.6.17.10 = linux-2.6.17.11
An example
How to go from the 2.6.17.9 kernel release, to the 2.6.17.11 release?
Finding the incremental patches http://www.kernel.org/pub/linux/kernel/v2.6/incr/
patch-2.6.17.9-10 --> linux-2.6.17.9 = linux-2.6.17.10
patch-2.6.17.10-11 --> linux-2.6.17.10 = linux-2.6.17.11
Ïà¹ØÎĵµ£º
/*
* linux/fs/char_dev.c
*
* (C) 1991 Linus Torvalds
*/
#include <errno.h>
#include <sys/types.h> // ¶¨ÒåÁË»ù±¾µÄϵͳÊý¾ÝÀàÐÍ
#include <linux/sched.h>
#include <linux/kernel.h> // º¬ÓÐһЩÄں˳£Óú¯ÊýµÄÔÐζ¨Òå
#include < ......
/*
* ¸ÃÎļþÖеÄÁ½¸öº¯Êýread_pipeºÍwrite_pipeÊÇÉϲ㺯Êý
* readºÍwriteµÄµ×²ãʵÏÖ
*/
/*
* linux/fs/pipe.c
*
* (C) 1991 Linus Torvalds
*/
#include <signal.h>
#include <linux/sched.h>
// ÄÚ´æ¹ÜÀíÍ·Îļþ¡£º¬ÓÐÒ³Ãæ´óС¶¨Òåº ......
1£¬ÍøÂçÕûÌåÁ÷Á¿²é¿´
ifconfig -s
cat /proc/net/dev
sar -n DEV/EDEV interval(ʱ¼ä¸ô) count(´ÎÊý)
nload -m [-d interface]
2£¬Ïêϸ²é¿´ÍøÂçÁ÷Á¿£¬±ÈÈç²é¿´Ä³Ò»¸öip/port£¬Ä³Ò»¸öÐÒé
iptraf£¬Îı¾´°¿Ú½çÃæ
ntop£¬webÍøÒ³½çÃæ ......
ÓÉbootload½øÈëlinuxºóÓÉhead.s½øÈëÁËstart_kernelÁË.
asmlinkage void __init start_kernel(void)
{
char * command_line;
extern struct kernel_param __start___param[], __stop___param[];
&hel ......
LinuxÏÂÅäÖþ²Ì¬IPµØÖ·£¬ÉèÖÃDNSºÍÖ÷»úÃû
ÅäÖÃÎļþλÓÚ£º
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.3
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
ʹIPµØÖ·ÉúЧ£º
/sbin/ifdown eth0
/sbin/ifup eth0
ÅäÖÃdns½âÎö
echo "nameserver 211.98.1.28" ......