标签类目:Kernel

Kernel iptables封锁指定范围的IP或端口

分类:KernelIptables 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.

    * [!]--src-range ip-ip: Match source IP in the specified range.
    * [!]--dst-range ip-ip: Match destination IP in the specified range.

Syntax:

-m iprange --src-range IP-IP -j ACTION
-m iprange --dst-range IP-IP -j ACTION

继续阅读 »

使用 inotify 监控文件系统的活动

分类:C/C++分类:KernelInotify 是一个 Linux® 特性,它监控文件系统操作,比如读取、写入和创建。Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁忙轮询高效得多。学习如何将 inotify 集成到您的应用程序中,并发现一组可用来进一步自动化系统管理的命令行工具。
系统管理就像日常生活一样。就像刷牙和吃蔬菜一样,日常的维护能保持机器的良好状态。您必须定期清空废物,比如临时文件或无用的日志文件,以及花时间填写表单、回复电话、下载更新和监控进程等。幸好自动化 shell 脚本、使用 Nagios 等工具进行监控、通过常见的 cron 进行任务调度可以减轻这个负担。

但奇怪的是,这些工具没有一个具有响应性。当然,您可以安排一个频繁运行的 cron 任务来监控条件,但这样繁忙的轮询 — 消耗大量资源并且具有不确定性 — 并不是很理想。例如,如果您必须监控输入数据的几个 Transfer Protocol(FTP)收存箱,您可能要通过 find 命令扫描每个目标目录,列举新的内容。然而,尽管这个操作看起来并没有什么害处,但每个调用都产生一个新的 shell 和 find 命令,这需要许多系统调用来打开目录,然后扫描目录,等等。这会造成过于频繁的或大量的轮询任务(更糟糕的是,繁忙的轮询并不总是很好。想象一下一个文件系统浏览器,比如 Mac OS X 的 Finder,轮询更新时需要的大量资源及其复杂性)。

那么,管理员应该怎么办呢?令人高兴的是,您可以再次求助于可以信赖的计算机。

继续阅读 »

使用 inotify 监控 Linux 文件系统事件

分类:C/C++分类:KernelInotify 是文件系统事件监控机制,计划包含在即将发布的 Linux 内核中作为 dnotify 的有效替代。dnotify 是较早内核支持的文件监控机制。Inotify一种强大的、细粒度的、异步的机制,它满足各种各样的文件监控需要,不仅限于安全和性能。下面让我们一起学习如何安装 inotify 和如何构建一个示例用户空间应用程序来响应文件系统事件。
文件系统事件监控对于从文件管理器到安全工具的各种程序都是必要的,但是 dnotify(早期内核中的标准)存在一些局限性,这使我们期待出现一种更加完善的机制。抱着这种期待,我们发现了 inotify,一种更加现代化的文件系统事件监控替代品。
继续阅读 »

Debian下编译内核模块的方法

分类:Debian  改用Debian之后发现用之前在Red Hat下编译内核模块的Makefile不好使了,原因是在/lib/modules/`uname -r`/下没有了build目录,也没有内核的源代码。上网查了一些资料,说在Debian下编译内核需要安装内核头文件。 继续阅读 »

Linux操作系统内核分析方法

分类:Kernel  Linux的最大的好处之一就是它的源码公开。同时,公开的核心源码也吸引着无数的电脑爱好者和程序员;他们把解读和分析Linux的核心源码作为自己的最大兴趣,把修改Linux源码和改造Linux系统作为自己对计算机技术追求的最大目标。

  Linux内核源码是很具吸引力的,特别是当你弄懂了一个分析了好久都没搞懂的问题;或者是被你修改过了的内核,顺利通过编译,一切运行正常的时候。那种成就感真是油然而生!而且,对内核的分析,除了出自对技术的狂热追求之外,这种令人生畏的劳动所带来的回报也是非常令人着迷的,这也正是它拥有众多追随者的主要原因:
继续阅读 »

重编译以及优化debian自带kernel

分类:Kernel

apt-get –compile source linux-image-2.6-686-smp
>>>然后很有可能会报告你有很多包的依赖关系不合格,然后用apt-get install … 将这些包安装上去,然后就不要浪费时间继续编译了…直接<CTRL>+<C>
apt-get source linux-image-2.6-686-smp
cd linux-2.6-2.6.15/debian/arch/i386
vi config.686-smp 继续阅读 »

编译最新版本的linux kernel为debian linux通用包

分类:Kernel

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.1.tar.gz
tar -xzvf linux-2.6.16.1.tar.gz
cd linux-2.6.16.1
cp /boot/config-2.6.15-1-686-smp ./myconfig
make menuconfig
>>> 选择 Load an Alternate Configuration File ,加载我们自己的 myconfig 配置
>>> 由于 2.6.16 的版本对megaraid2, qla2xxx的驱动进行了升级,2.6.15的配置文件不适应,我们自己打开 继续阅读 »


返回顶部