
Linux
文章平均质量分 64
sahusoft
Coding4Fun
展开
-
RedHat.Enterprise.Linux.5 VMtools 安装
RedHat.Enterprise.Linux.5 VMtools 安装 按照Readme中的安装方法,一步步按照默认的设置下来,出现如下错误:What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include]The direct转载 2008-09-11 16:17:00 · 1520 阅读 · 0 评论 -
linux进程Prelink
什么是 Prelink ? 它能为我做什么 ? 许多的应用程式使用共用函式库. 在这些程式被执行的时候, 共用函式库会被读进记忆体中, 并且跟程式中所参用到的符号(symbol)连结起来. 对大多的小程式而言, 通常这样的动态连结非常快. 但是对一些依存於大量函式库的 C++ 程式而言, 动态连结却可能花上不少的时间. 在大多数的系统上, 函式库并不会常常被更动, 每次程转载 2008-10-12 19:37:00 · 3050 阅读 · 0 评论 -
linux开机启动脚本的顺序
如果服务器重启之后需要手工开启许多服务、工作及以后的维护相对比较繁琐、特地总结了下linu x下 开机自动启动脚本所涉及的知识和方法、如下:1、相关基础知识点1)redhat的启动方式和执行次序是: 加载内核 执行init程序 /etc/rc.d/rc.sysinit # 由init执行的第一个脚本 /etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运转载 2009-02-13 10:56:00 · 914 阅读 · 0 评论 -
linux运行级别
Linux系统有7个运行级别(runlevel)运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆运行级别2:多用户状态(没有NFS)运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式运行级别4:系统未使用,保留运行级别5:X11控制台,登陆后进入图形GUI模式运行级别6:系统正常关闭并重转载 2009-02-13 22:31:00 · 946 阅读 · 0 评论 -
linux中chkconfig命令详解
chkconfig: chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。 语法: chkconfig --list [name] chkconfig --add name chkconfig --del name chkconfig [--l转载 2009-02-13 22:32:00 · 930 阅读 · 0 评论 -
VMware+Redhat9环境下实现LVS负载均衡系统(一、内核补丁及管理软件)
最近几天都做VMware+Redhat9环境的LVS,今天终于成功了!hehe。参考了网上很多做法,走了不少弯路,因此想写篇文章记录一下这几天的工作。 一开始参考的文章是《RedHat9实现集群负载均衡系统LVS》,发现在 mkinitrd /boot/initrd-2.4.20ipvs.img 2.4.20 时报错,网上查了一下是因为make menuconfig 时少选了SC原创 2009-02-20 22:38:00 · 2015 阅读 · 0 评论 -
linux下重要文件夹的解释
/ ;linux系统的根目录,是系统的最上层。 /bin ;里面是系统最基本的二进制命令文件,如ls cp rm cd 等等。 /sbin ;s就是super的意思,里面都是超级用户用于管理系统的命令,如mkfs.ext3 等。 /boot ;里面是开机程序,lilo或grub,还有linux 内核文件vmlinuz ,初始化系统的initrd.img文件。 /dev ; 就是device的意思,转载 2009-02-19 16:15:00 · 1029 阅读 · 0 评论 -
menuconfig 配置选项
在menuconfig中配置: 详细介绍内核配置选项及删改情况 第一部分:全部删除 Code maturity level options ---> 代码成熟等级选项 []Prompt for development and/or incomplete code/drivers 默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.不选。 第二部分 :除以下选项,其它全转载 2009-02-19 16:11:00 · 1724 阅读 · 0 评论 -
Vmware+redhat9.0下重新编译内核过程
Vmware+redhat9.0下重新编译内核过程:1.终端下进入/usr/src/linux-2.4/目录(内核源码所在目录);2.输入命令 make mrproper(第一次编译不需要)3.输入命令 make xconfig (图形界面下的内核配置),对话框出现后, 必选以下几项. SCSI support->SCSI low-level drivers->BusLogic S转载 2009-02-19 21:21:00 · 1446 阅读 · 0 评论 -
VMware+Redhat9环境下实现LVS负载均衡系统(二、LVS配置脚本)
按照上篇文章VMware+Redhat9环境下实现LVS负载均衡系统(一、内核补丁及管理软件)的方法为负载均衡器打好了系统补丁,安装好了管理软件。现在需要告诉负载均衡器如何使用在前一步骤中编译和安装的ipvsadm工具将数据包转发到集群节点(真实服务器 RealServer)。 执行这项工作的一种方式就是使用LVS发行版中包括的配置脚本(有关如何使用这样方法来配置LVS集群的描述原创 2009-02-22 21:47:00 · 1499 阅读 · 0 评论 -
Linux Module 的HelloWorld程序(For Kernel-2.4)
源代码如下: #include#includeint init_module(){ printk("Hello World!/n"); return 0;}void cleanup_moudle(){ printk("Hello World Module was removed!/n");}MODULE_LICENS原创 2009-03-01 18:25:00 · 1034 阅读 · 0 评论 -
antivir for unix命令行参数中译版
杏林小草根据antivir 2.1.12-43版的帮助信息翻译。 用法是:antivir [参数] [路径[/*.扩展名]] [*.扩展名] 参数有: --help .......... 显示帮助文本 (缩写: -h 或 -?) --scan-mode= 可供使用的扫描模式有“extlist(扩展名列表)”,“smart(智能)”,“all(全部扩展名)”: 在extlis转载 2009-03-11 13:10:00 · 901 阅读 · 0 评论 -
linux环境变量
非常全面http://www.chinavvb.com/wins/lx/200711/1846.htmlhttp://www.chinavvb.com/wins/lx/200711/1847.html初次学习lliux对环境变量的知识甚是不解决,特花费一个上午的时间总结了一下,可以说是全面!如各位有更加详细的见解不妨告知!定制环境变量环境变量是和Shell紧密相关的,用户登转载 2009-03-11 13:33:00 · 1041 阅读 · 0 评论 -
fedora 10硬盘安装
硬盘安装方式就是将 ISO 下载到你当前的操作系统中,通过 grub4dos 加载并完成安装过程。以在Windows XP 上硬盘安装 Fedora 为例,其本质就是将 Fedora 安装在你当前的 Windows XP的一个分区中,并与 Windows 系统共存,而且互不干扰,这就是我们通常说的双系统,你首先要做的就是在你当前的 Windows 系统中腾出一个分区,备份该分区下所有文件到其它分区原创 2009-03-14 16:09:00 · 1449 阅读 · 0 评论 -
fedora中将程序的快捷方式添加到“应用程序”中的方法
例如,现在想把Eclipse添加到系统的“应用程序”菜单里,方法如下:gedit /usr/share/applications/eclipse.desktop然后在里面添加如下内容:[Desktop Entry]Name=EclipseComment=用Eclipse开发Exec=/usr/lib/eclispe/eclipseIcon=/usr/原创 2009-03-17 12:32:00 · 1394 阅读 · 0 评论 -
Linux下Patch的应用和制作方法介绍
因为在u-boot移植过程中,有几处通用文件要修改,如果每次都要手动修改就太麻烦了。制作补丁可以解决这个问题。 学习资料的收集比较简单,方法一类似于这种初级问题网上资料非常丰富,google或者baidu搜索一下,然后选择有价值的资料,方法二是阅读man在线文档。完成收集工作,当然最终要在自己的Linux上作实验,比较总结,消化吸收为自己的东西。要除去这么一种错误思想:一定要学全。转载 2009-03-21 21:26:00 · 894 阅读 · 0 评论 -
2.6内核中netfilter hook点一览
本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。msn: yfydz_no1@hotmail.com来源:http://yfydz.cublog.cn1. 5个挂接点以下内核代码版本2.6.17.11。1.1 PREROTING/* net/ipv4/ip_input.c */int ip_rcv(s转载 2009-03-23 21:42:00 · 1615 阅读 · 0 评论 -
Netfilter 学习
一、Netfiter简介 ---From netfilter.samba.org/what is netfilter 从Linux Kernel 2.4开始,一个新的网络包过滤框架替代了原来的ipchains/ipfwadm系统,那就是netfilter和iptables。作为内核网络协议堆的一个扩展子集,netfilter可以在内核空间非常高效的进行包过滤,网络地址转换(NAT)和包重组转载 2009-03-23 23:22:00 · 1923 阅读 · 0 评论 -
2.6内核netfilter包截获
2.6版内核的网络协议栈较2.4版有所改变,比如sk_buff结构中去掉了nh联合体的定义。在2.6内核中我们如果要得到ip数据包的源节点地址,需要使用const struct iphdr *iph = ip_hdr(skb); ip_hdr的定义在linux/ip.h中定义。下面通过一个简单的例子介绍在2.6内核中如何在netfilter上挂载hook函数实现数据包的过滤。原创 2009-03-25 08:57:00 · 2595 阅读 · 0 评论 -
Linux 2.6.x 内核模块加载错误 “Invalid module format” 解决办法
Fedora:http://download.fedora.redhat.com/pub/参考URL: http://blog.youkuaiyun.com/pottichu/archive/2007/11/19/1892203.aspx环境: vmware + fedora8; gcc version 4.1.2 20070925 (Red Hat 4.1.2-33);转载 2009-03-24 15:21:00 · 4943 阅读 · 0 评论 -
Linux Module 的HelloWorld程序(For Kernel-2.6)
hello.c文件#include #include #include static int hello_init(void){ printk(KERN_ALERT "Hello World!/n"); return 0;}static void hello_exit(void){ printk(KERN_ALERT "原创 2009-03-24 15:27:00 · 1185 阅读 · 0 评论 -
netfilter
我的百科 我的贡献草稿箱netfilter 通俗的说,netfilter的架构就是在整个网络流程的若干位置放置了一些检测点(HOOK ),而在每个检测点上上登记了一些处理函数进行处理(如包过滤,NAT等,甚至可以是 用户自定义的功能)。 IP层的五个HOOK点的位置如下图所示(copy from ) : --->原创 2009-03-24 16:26:00 · 1348 阅读 · 0 评论 -
利用netfilter的hook来实现数据包的过滤(For Kernel2.4)
利用netfilter的hook来实现数据包的过滤#define __KERNEL__#define MODULE#include #include #include #include /* For IP header */#include #include /* 用于注册我们的函数的数据结构 */static struct nf_hook_op转载 2009-03-24 16:46:00 · 1427 阅读 · 0 评论 -
linux内核网络栈代码的准备知识
一.linux内核网络栈代码的准备知识 1. linux内核ipv4网络部分分层结构: BSD socket层: 这一部分处理BSD socket相关操作,每个socket在内核中以struct socket结构体现。这一部分的文件 主要有:/net/socket.c /net/protocols.c etcINET socket层:BSD socket是个可以用于各种转载 2009-03-25 14:20:00 · 1306 阅读 · 0 评论 -
modprobe加载自定义模块
将mymodule.ko文件拷贝到/lib/modules/`uname -r`/kernel/下面, 运行depmod -amodprobe mymoduleOK!原创 2009-03-27 10:59:00 · 1679 阅读 · 0 评论 -
IPVS代码阅读笔记(二):NAT模式下的TCP数据包处理
NAT模式是IPVS最常用的一种模式。相比于TUN和DR模式,NAT模式更容易部署,仅仅是需要更改真实服务器的默认网关配置。IPVS是基于Netfilter实现的。它注册了4个Netfilter钩子函数,其中与NAT模式相关的是ip_vs_in和ip_vs_out两个钩子函数。前者处理了客户端-〉服务器的数据包,后者则针对服务器-〉客户端的数据包。1、ip_vs_in钩子函数ip_vs转载 2009-03-27 14:57:00 · 2092 阅读 · 0 评论 -
IPVS代码阅读笔记(三):调度算法
调度算法就是,当新连接到来时,负载均衡器如何选择真实服务器的一种算法。它是负载均衡器的重要组成部分。IPVS中实现的负载均衡算法主要有轮询-rr、加权轮询-wrr、最少连接-lc、加权最少连接-wlc。1、ip_vs_scheduler结构/* * The scheduler object */struct ip_vs_scheduler { struct转载 2009-03-27 15:00:00 · 1699 阅读 · 0 评论 -
Linux如何在系统启动时自动加载模块
下面是以前学习Linux时写的,后来仔细研究rc.sysinit后发现,只需要修改下列地方就可以了,不必这么麻烦的:rc.sysinit中有这样的一段代码:# Load other user-defined modulesfor file in /etc/sysconfig/modules/*.modules ; do[ -x $file ] && $filedone#转载 2009-03-27 10:32:00 · 1043 阅读 · 0 评论 -
echo的特殊用法
a.把字符串输出到标准显示的指定位置:代码:r= #指定行c= #指定列echo -e "/033[${r};${c}H我在这里"b.隐藏光标:代码:echo -ne "/033[?25l"其中25后面是字母lc.ANSI控制码例如:代码:echo -ne "/033[32m" #可以将字符的显示颜色改为绿色echo -ne "原创 2009-03-27 13:59:00 · 1433 阅读 · 0 评论 -
IPVS代码阅读笔记(一):重要数据结构
IPVS是基于Netfilter框架实现的内核模块。它实现了IP层的负载均衡功能。IPVS完全在内核态实现,效率非常高。IPVS的官方网站:www.linuxvirtualserver.org。 首先来看一下IPVS模块的一些重要数据结构。 1、ip_vs_service结构ip_vs_service结构代表的是一个IPVS服务对象,它包含了IPVS服务的监听地址、端口、协议和原创 2009-03-27 15:00:00 · 2112 阅读 · 0 评论 -
c语言中volatile的使用!
在嵌入式系统中经常使用到Volatile,对于volatile的用法,我根据自己的理解做如下阐述,希望大家可以发表评论: 在c语言中,volatile关键字是一种类型修饰符,用它声明的类型变量表示该变量可以被某些编译器未知的外部因素(比如:操作系统、硬件或者其它线程)更改.遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址(定义的变量在内存中的地址原创 2009-04-01 16:51:00 · 1215 阅读 · 0 评论 -
[转]likely,unlikely宏与GCC内建函数__builtin_expect() + 原创
[转贴]likely,unlikely宏与GCC内建函数__builtin_expect() 先罗嗦几句最近在读linux 2.6 内核,虽然以前已经看了很多相关的知识,>也看了2,3遍,但读2.6内核仍然感到很吃力。面对2.6如此庞大的内核,信心真的不是很足,而且好像也没有很好的、有帮助的论坛来一起探讨,哎!现在正在边看>,边看最新的内核,自>出版以来,内核已经有了很多的变化,好难读啊!如果这样转载 2009-04-01 19:43:00 · 1364 阅读 · 0 评论 -
使用 /proc 文件系统来访问 Linux 内核的内容
这个虚拟文件系统在内核空间和用户空间之间打开了一个通信窗口文档选项打印本页将此页作为电子邮件发送样例代码级别: 初级M. T转载 2009-04-04 21:33:00 · 850 阅读 · 0 评论 -
修改Linux命令提示符
Linux修改环境变量PS1(命令行提示符),可以使用vi编辑/etc/profile文件,在最后加上: export PS1=[/u@/h /W]/$ 也可以编辑~/.profile文件(注意开头一行 #/etc/profile ~/.profile)即可,其中/u显示当前用户账号,/h显示当前主机名,/W显示当前路径,/$显示$符号 /W 代替 /w 就可以实现绝对路原创 2009-07-21 15:47:00 · 1301 阅读 · 0 评论 -
linux c 语言中使用正则表达式pcre
说起正则表达式(Regular Expression),也许有的朋友天天都在使用,比如grep、vim、sed、awk,只是可能对这个名词不大熟悉。正则表达式一般简写为regex或者regexp,甚至是RE。关于正则表达式的介绍,有很多的文章,用搜索引擎查找就可以找到很不错的使用说明。但是在C/C++语言中如何去使用,相应的介绍比较缺乏。大多数C标准库自带regex,可以通过/usr/includ原创 2009-05-18 02:50:00 · 5823 阅读 · 1 评论 -
退出SSH时继续执行PHP脚本
nohup php sleep.php > sleep.out& 再次登陆时,用ps -aux | grep php查看原创 2009-07-29 14:14:00 · 1468 阅读 · 0 评论 -
SSH退出时保存历史命令(History)
在~下添加.bash_profile文件,并加入以下内容:HISTFILE=~/.bash_profileHISTSIZE=1000000创建一个文件touch ~/.bash_profileOK了!--------------------------------其他设置------------------------------------------bash的设置运原创 2009-07-30 10:33:00 · 5714 阅读 · 1 评论 -
Linux文件查找命令find,xargs详述
总结:zhy2111314来自:LinuxSir.Org整理:北南南北摘要: 本文是find 命令的详细说明,可贵的是针对参数举了很多的实例,大量的例证,让初学者更为容易理解;本文是zhyfly兄贴在论坛中;我对本文进行了再次整理,为方便大家阅读;目录版权声明前言:关于find命令一、find 命令格式1、find命令的一般形式为;2、find命令的参数;3、find命令选项;4、转载 2009-07-29 13:29:00 · 954 阅读 · 0 评论 -
用 find 命令在指定文件类型中查找包含指定文字的文件
用find查找包含“xxx”的程序,一直记不住,记到这里。find ./ -type f -name "*.php" -exec grep -l "xxx" {} /; >/file_list.txt原创 2009-07-29 13:30:00 · 2702 阅读 · 0 评论 -
Vimdiff 使用
2006 年 7 月 06 日各种 IDE 大行其道的同时,传统的命令行工具以其短小精悍,随手可得的特点仍有很大的生存空间,这篇短文介绍了一个文本比较和合并的小工具:vimdiff。希望能对在 Unix/Linux 系统上进行开发的朋友有所帮助。源程序文件(通常是纯文本文件)比较和合并工具一直是软件开发过程中比较重要的组成部分。现在市场上很多功能很强大的专用比较和合并工具,比如 Bey转载 2009-07-29 14:28:00 · 910 阅读 · 0 评论