<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ubuntu,debian,redhat -linuxany.com &#187; Kernel</title>
	<atom:link href="http://www.linuxany.com/archives/category/application/kernel/feed" rel="self" type="application/rss+xml" />
	<link>http://www.linuxany.com</link>
	<description></description>
	<lastBuildDate>Thu, 26 Jan 2012 08:59:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Kernel iptables封锁指定范围的IP或端口</title>
		<link>http://www.linuxany.com/archives/1496.html</link>
		<comments>http://www.linuxany.com/archives/1496.html#comments</comments>
		<pubDate>Wed, 09 Feb 2011 03:33:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Kernel]]></category>
		<category><![CDATA[iprange]]></category>
		<category><![CDATA[iptables]]></category>

		<guid isPermaLink="false">http://www.linuxany.com/?p=1496</guid>
		<description><![CDATA[Iptables set range of IP addresses You need to use following options with match extensions (-m Ext). iprange : This matches on a given arbitrary range of IPv4 addresses.&#160;&#160; &#160;* [!]--src-range ip-ip: Match source IP in the specified range.&#160;&#160; &#160;* [!]--dst-range ip-ip: Match destination IP in the specified range. Syntax: -m iprange --src-range IP-IP -j [...]]]></description>
		<wfw:commentRss>http://www.linuxany.com/archives/1496.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>减少Linux服务器的TIME_WAIT连接</title>
		<link>http://www.linuxany.com/archives/1441.html</link>
		<comments>http://www.linuxany.com/archives/1441.html#comments</comments>
		<pubDate>Tue, 14 Dec 2010 13:17:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Kernel]]></category>
		<category><![CDATA[ipv4]]></category>
		<category><![CDATA[netstat]]></category>
		<category><![CDATA[tcp/ip]]></category>
		<category><![CDATA[time_wait]]></category>

		<guid isPermaLink="false">http://www.linuxany.com/?p=1441</guid>
		<description><![CDATA[vim /etc/sysctl.conf,如果不存在则新建此文件 net.ipv4.tcp_fin_timeout = 30net.ipv4.tcp_keepalive_time = 1200net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_max_syn_backlog = 8192net.ipv4.tcp_max_tw_buckets = 5000net.ipv4.ip_local_port_range = 1024 65000 执行以下命令使配置生效： /sbin/sysctl -p 各项解释如下： net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时，启用cookies来处理，可防范少量SYN攻击，默认为0，表示关闭； net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接，默认为0，表示关闭； net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收，默认为0，表示关闭。 net.ipv4.tcp_fin_timeout = 30 表示如果套接字由本端要求关闭，这个参数决定了它保持在FIN-WAIT-2状态的时间。 net.ipv4.tcp_keepalive_time = 1200 表示当keepalive起用的时候，TCP发送keepalive消息的频度。缺省是2小时，改为20分钟。 net.ipv4.ip_local_port_range = 1024 65000 表示用于向外连接的端口范围。缺省情况下很小：32768到61000，改为1024到65000。 net.ipv4.tcp_max_syn_backlog = 8192 [...]]]></description>
		<wfw:commentRss>http://www.linuxany.com/archives/1441.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用 inotify 监控文件系统的活动</title>
		<link>http://www.linuxany.com/archives/875.html</link>
		<comments>http://www.linuxany.com/archives/875.html#comments</comments>
		<pubDate>Sat, 17 Oct 2009 12:36:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[inotify]]></category>

		<guid isPermaLink="false">http://www.linuxany.com/?p=875</guid>
		<description><![CDATA[Inotify 是一个 Linux® 特性，它监控文件系统操作，比如读取、写入和创建。Inotify 反应灵敏，用法非常简单，并且比 cron 任务的繁忙轮询高效得多。学习如何将 inotify 集成到您的应用程序中，并发现一组可用来进一步自动化系统管理的命令行工具。 系统管理就像日常生活一样。就像刷牙和吃蔬菜一样，日常的维护能保持机器的良好状态。您必须定期清空废物，比如临时文件或无用的日志文件，以及花时间填写表单、回复电话、下载更新和监控进程等。幸好自动化 shell 脚本、使用 Nagios 等工具进行监控、通过常见的 cron 进行任务调度可以减轻这个负担。 但奇怪的是，这些工具没有一个具有响应性。当然，您可以安排一个频繁运行的 cron 任务来监控条件，但这样繁忙的轮询 — 消耗大量资源并且具有不确定性 — 并不是很理想。例如，如果您必须监控输入数据的几个 Transfer Protocol（FTP）收存箱，您可能要通过 find 命令扫描每个目标目录，列举新的内容。然而，尽管这个操作看起来并没有什么害处，但每个调用都产生一个新的 shell 和 find 命令，这需要许多系统调用来打开目录，然后扫描目录，等等。这会造成过于频繁的或大量的轮询任务（更糟糕的是，繁忙的轮询并不总是很好。想象一下一个文件系统浏览器，比如 Mac OS X 的 Finder，轮询更新时需要的大量资源及其复杂性）。 那么，管理员应该怎么办呢？令人高兴的是，您可以再次求助于可以信赖的计算机。 了解 inotify Inotify 是一个 Linux 内核特性，它监控文件系统，并且及时向专门的应用程序发出相关的事件警告，比如删除、读、写和卸载操作等。您还可以跟踪活动的源头和目标等细节。 使用 inotify 很简单：创建一个文件描述符，附加一个或多个监视器（一个监视器 是一个路径和一组事件），然后使用 read() 方法从描述符获取事件信息。read() 并不会用光整个周期，它在事件发生之前是被阻塞的。 更好的是，因为 inotify 通过传统的文件描述符工作，您可以利用传统的 select() 系统调用来被动地监控监视器和许多其他输入源。两种方法 [...]]]></description>
		<wfw:commentRss>http://www.linuxany.com/archives/875.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用 inotify 监控 Linux 文件系统事件</title>
		<link>http://www.linuxany.com/archives/870.html</link>
		<comments>http://www.linuxany.com/archives/870.html#comments</comments>
		<pubDate>Sat, 17 Oct 2009 12:16:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[inotify]]></category>

		<guid isPermaLink="false">http://www.linuxany.com/?p=870</guid>
		<description><![CDATA[Inotify 是文件系统事件监控机制，计划包含在即将发布的 Linux 内核中作为 dnotify 的有效替代。dnotify 是较早内核支持的文件监控机制。Inotify一种强大的、细粒度的、异步的机制，它满足各种各样的文件监控需要，不仅限于安全和性能。下面让我们一起学习如何安装 inotify 和如何构建一个示例用户空间应用程序来响应文件系统事件。 文件系统事件监控对于从文件管理器到安全工具的各种程序都是必要的，但是 dnotify（早期内核中的标准）存在一些局限性，这使我们期待出现一种更加完善的机制。抱着这种期待，我们发现了 inotify，一种更加现代化的文件系统事件监控替代品。 为什么使用 inotify？ 使用 inotify 取代 dnotify 的原因有很多。第一个原因是，dnotify 需要您为每个打算监控是否发生改变的目录打开一个文件描述符。当同时监控多个目录时，这会消耗大量的资源，因为有可能达到每个进程的文件描述符限制。 除此之外，文件描述符会锁定目录，不允许卸载（unmount）支持的设备，这在存在可移动介质的环境中会引发问题。在使用 inotify 时，如果正在监控被卸载的文件系统上的文件，那么监控会被自动移除并且您会接收到一个卸载事件。 inotify 的优点是它使用文件描述符作为基本接口，使应用程序开发者使用 select 和 poll 来监控设备。这允许有效的多路 I/O 和与 Glib 的 mainloop 的集成。相反，dnotify 所使用的信号常常使程序员头疼并且感觉不太优雅。 inotify 通过提供一个更优雅的 API 解决了这些问题，该 API 使用最少的文件描述符，并确保更细粒度的监控。与 inotify 的通信是通过设备节点提供的。基于以上原因，对于监控 Linux 2.6 平台上的文件，inotify 是您最明智的选择。 在简单应用程序中使用 inotify 为演示 inotify 的使用，我将展示如何为文件系统事件构造一个监控任意目录（或单个文件）的示例程序。我将站在一个较高的层次上来展示 inotify 使文件系统监控变得多么容易。 [...]]]></description>
		<wfw:commentRss>http://www.linuxany.com/archives/870.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux内核裁剪的具体步骤</title>
		<link>http://www.linuxany.com/archives/856.html</link>
		<comments>http://www.linuxany.com/archives/856.html#comments</comments>
		<pubDate>Sun, 04 Oct 2009 03:32:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Kernel]]></category>

		<guid isPermaLink="false">http://www.linuxany.com/?p=856</guid>
		<description><![CDATA[在menuconfig中配置：详细介绍内核配置选项及删改情况 第一部分：全部删除 Code maturity level options &#8212;&#62; 代码成熟等级选项 []Prompt for development and/or incomplete code/drivers 默认情况下是选择的，这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.不选。 第二部分 ：除以下选项，其它全部删除 General setup—〉 System V IPC (IPC:Inter Process Communication)是组系统调用及函数库，它能让程序彼此间同步进行交换信息。某些程序以及DOS模拟环境都需要它。为进程提供通信机制，这将使系统中各进程间有交换信息与保持同步的能力。有些程序只有在选Y的情况下才能运行，所以不用考虑，这里一定要选。 第三部分：除以下选项，其它全部删除 Loadable module support &#8212;&#62; 可引导模块支持建议作为模块加入内核 [] Enable loadable module support 这个选项可以让你的内核支持模块，模块是什么呢？模块是一小段代码，编译后可在系统内核运行时动态的加入内核，从而为内核增加一些特性或是对某种硬件进行支持。一般一些不常用到的驱动或特性可以编译为模块以减少内核的体积。在运行时可以使用modprobe命令来加载它到内核中去(在不需要时还可以移除它)。一些特性是否编译为模块的原则是，不常使用的，特别是在系统启动时不需要的驱动可以将其编译为模块，如果是一些在系统启动时就要用到的驱动比如说文件系统，系统总线的支持就不要编为模块了，否在无法启动系统。 []Automatic kernel module loading 一般情况下，如果我们的内核在某些任务中要使用一些被编译为模块的驱动或特性时，我们要先使用modprobe命令来加载它，内核才能使用。不过，如果你选择了这个选项，在内核需要一些模块时它可以自动调用modprobe命令来加载需要的模块，这是个很棒的特性，当然要选Y喽。 第四部分：全部删除 Block layer&#8212;&#8211;〉块设备 第五部分：除以下选项，其它全部删除 Processor type and features &#8212;&#62; 处理器类型 Subarchitecture Type (PC-compatible) [...]]]></description>
		<wfw:commentRss>http://www.linuxany.com/archives/856.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>无损转换ext3到ext4(UBUNTU)</title>
		<link>http://www.linuxany.com/archives/847.html</link>
		<comments>http://www.linuxany.com/archives/847.html#comments</comments>
		<pubDate>Fri, 02 Oct 2009 06:25:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Kernel]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[e2fsck]]></category>
		<category><![CDATA[ext3]]></category>
		<category><![CDATA[ext4]]></category>
		<category><![CDATA[tune2fs]]></category>

		<guid isPermaLink="false">http://www.linuxany.com/?p=847</guid>
		<description><![CDATA[Ubuntu Jaunty 9.04开始正式支持ext4文件系统，关于ext4，其优点应该早有听闻，对任何用户而言都具有难以拒绝的诱惑：对一般用户而言，有更好的磁盘性能，快速的预分配、删除，更可靠的日志，更迅速的磁盘检查（不会像ext3可能花几分钟来check，ext4经常是瞬间完成的）……更专业的描述可以看看IBM文库的这篇《Migrating to ext4》。 从Ubuntu 8.10升级到9.04，一定程度上是看上其对ext4的支持，不过如果为此重新格式化分区重装系统，对于使用积累较多的系统来说代价太高了点（PT现在用的系统是去年的8.04，后来升级8.10，再到现在的9.04……），不过根据《Migrating to ext4》的说法，从ext3到ext4的无损转换是可能的，而且并不耗时间，就如Kernel Wiki里面的Ext4 Howto提到转换所用的命令，其实也很简单： tune2fs -O extents,uninit_bg,dir_index /dev/DEVe2fsck -fD /dev/DEV 查了下tune2fs的man页，uninit_bg是支持快速check的特性，dir_index则是创建二叉树散列的目录查找，至于extents在man页没提到，Kernel Wiki里面说是ext4专有的特性，完成后用e2fsck check一次，这样就完成ext4的转换了，整个过程的耗时并不多。 不过这样转换出来的分区有点不完美的地方是，原本存放在分区内的文件结构还是ext3的结构，由ext4的机制透明兼容，以后存放的文件才是ext4的格式。本来影响不大的，不过相信会影响众多完美主义者的精神状态，所以很多人宁愿把文件全复制出来，格式化了分区再复回去。 IBM的文章内提到，因为ext4支持了在线的碎片整理，对于转换的ext4，使用e4defrag整理一遍，就是纯种的ext4了，不过到目前为之，e4defrag并未完全可用。不过相信不久的将来，转换到纯种ext4完全可以一气呵成。 最近有谣言说/boot不能是ext4，不然grub引导不了。事实上Ubuntu 9.04已经完全支持ext4，不然此前怎么会有ext4系统的9.04 21秒引导系统的新闻？不过对于升级过来的9.04，安装在/boot/grub里面的程序还是旧版的，没有自动升级，因此可能出现引导问题，相信这也是谣言的出处，所以升级过来的同学要注意了。可以使用grub-install来重新安装一次grub的文件，就如《Upgrade Ubuntu 8.10 to Ubuntu 9.04 and ext3 to ext4 in 10 Minutes》那样。不过grub-install有点要注意，grub-install复制的文件是以/为起始位置的（特别是使用了&#8211;root-directory=DIR参数的），如果boot单独分区，同时在livecd里面单独挂载了出来，很可能新复制过去的文件会多了一层boot目录，变成新旧版的引导文件共存以致没法引导grub……(我也感觉我说得一塌糊涂了……总之boot独立分区的同学使用grub-install注意它安装到什么地方去了就好)。 对于从ext3升级到ext4的系统，还有重要的一点就是fstab，完成上述的操作后，先运行blkid查看分区的新UUID，用编辑器打开/etc/fstab，替换转换了的分区的UUID，当然还有挂载类型改成ext4。 您还可能感兴趣的内容linux目录数和文件数限制(目录下最大文件数)如何恢复 Linux 上删除的文件，第 3 部分如何恢复 Linux 上删除的文件，第 2 部分如何恢复 Linux 上删除的文件，第 1 部分]]></description>
		<wfw:commentRss>http://www.linuxany.com/archives/847.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ext4,Ext3的特点和区别</title>
		<link>http://www.linuxany.com/archives/843.html</link>
		<comments>http://www.linuxany.com/archives/843.html#comments</comments>
		<pubDate>Fri, 02 Oct 2009 02:25:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Kernel]]></category>

		<guid isPermaLink="false">http://www.linuxany.com/?p=843</guid>
		<description><![CDATA[Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4。 Ext4 是 Ext3 的改进版，修改了 Ext3 中部分重要的数据结构，而不仅仅像 Ext3 对 Ext2 那样，只是增加了一个日志功能而已。Ext4 可以提供更佳的性能和可靠性，还有更为丰富的功能： 1. 与 Ext3 兼容。 执行若干条命令，就能从 Ext3 在线迁移到 Ext4，而无须重新格式化磁盘或重新安装系统。原有 Ext3 数据结构照样保留，Ext4 作用于新数据，当然，整个文件系统因此也就获得了 Ext4 所支持的更大容量。 2. 更大的文件系统和更大的文件。 较之 Ext3 目前所支持的最大 16TB 文件系统和最大 2TB 文件，Ext4 分别支持 1EB（1,048,576TB， 1EB=1024PB， 1PB=1024TB）的文件系统，以及 16TB 的文件。 3. 无限数量的子目录。 Ext3 目前只支持 32,000 个子目录，而 Ext4 支持无限数量的子目录。 4. Extents。 [...]]]></description>
		<wfw:commentRss>http://www.linuxany.com/archives/843.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

