Linux Develop
文章平均质量分 66
Walter_Jia
性格开朗,爱好广泛(篮球、象棋、游泳等),网络安全领域协议识别,Linux研发,希望和您成为真心朋友。
展开
-
准备写了
hello原创 2008-03-22 21:56:00 · 741 阅读 · 2 评论 -
Linux管理用户日志
一、首先了解一些环境用户登录过程中的变量设置情况 /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.~/.原创 2009-07-27 23:14:00 · 998 阅读 · 0 评论 -
Linux kernel Studying constantly
http://blog.chinaunix.net/u/22617/showart.php?id=2015646原创 2009-08-09 19:42:00 · 553 阅读 · 0 评论 -
Linux TC设置
同一个机器两个网卡使用SNAT进行转发,设置如下:一、 下载设置1、 规则 (eth0为内网卡,可以限制下载流量)tc qdisc add dev eth0 root handle 2:0 htb default 30 tc class add dev原创 2009-08-12 23:25:00 · 3204 阅读 · 0 评论 -
Linux内核模块编程举例
一、编写hello.c文件利用vi编辑器,我们键入下面的代码,并保存为hello.c文件。/** * hello.c * ------Test for kernel module */ #i nclude #i nclude MODULE_LICENSE("MYGPL"); //(1) static int hello_i原创 2009-08-12 23:44:00 · 903 阅读 · 0 评论 -
Linux内核编译过程解析
Linux系统高手之路 内核编译过程解析http://www.98825.com/News/2009-06-04/20090604094951.html下载源代码 Linux内核总是不断发展的,最新的内核Kernel2.6.0对USB2.0予以正式的支持,以及内核模块文件后缀最显著的一个变化由*.o到*.ko等等,我们可以从www.kernel.org下载到tarball的源代码包。原创 2009-08-13 00:37:00 · 985 阅读 · 0 评论 -
QoS技术中令牌桶算法实现
QoS技术中令牌桶算法实现方式比较前序:令牌桶算法比较麻烦,但是请注意,在IE考试里整形和管制的概念以及在实际生活中所使用的限速都是基于这一算法.所以很有必要搞搞清楚!!!!!今天我发得我的心得,这里暂时先不涉及在cisco设备上的配置,我会用专门的专题来讲!!!令牌桶算法是目前IP QoS中最常采用的一种流量限制方法,广泛应用于约定访问速率原创 2009-08-12 23:41:00 · 4926 阅读 · 0 评论 -
Linux内核模块编程引导
http://dirac.org/linux/writing/lkmpg/2.6/chinese/lkmpg_chs/c148.html#AEN150原创 2009-08-13 00:16:00 · 663 阅读 · 0 评论 -
Linux字符设备驱动程序的编写框架
一、Linux device driver 的概念 系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它完成以下的功能: 1、对设备初始化和释放; 2、把数据原创 2009-08-16 14:13:00 · 1003 阅读 · 0 评论 -
内核模块用户和内核态通讯函数
copy_to_user,copy_from_user,get_user,put_user函数比较copy_to_user,copy_from_user,get_user,put_user函数比较copy_to_user -- Copy a block of data into user space. copy_原创 2009-08-16 16:35:00 · 873 阅读 · 0 评论 -
内核模块调试
对于任何一位内核代码的编写者来说,最急迫的问题之一就是如何完成调试。由于内核是一个不与特定进程相关的功能集合,所以内核代码无法轻易地放在调试器中执行,而且也很难跟踪。同样,要想复现内核代码中的错误也是相当困难的,因为这种错误可能导致整个系统崩溃,这样也就破坏了可以用来跟踪它们的现场。 本章将介绍在这种令人痛苦的环境下监视内核代码并跟踪错误的技术。 4.1 通过打印调试原创 2009-08-16 16:37:00 · 2587 阅读 · 0 评论 -
内核模块编程之入门(二)—必备知识
模块编程属于内核编程,因此,除了对内核相关知识有所了解外,还需要了解与模块相关的知识。1.应用程序与内核模块的比较为了加深对内核模块的了解,表一给出应用程序与内核模块程序的比较。表一 应用程序与内核模块程序的比较 C语言应用程序内核模块程序使用函数转载 2009-08-16 22:54:00 · 709 阅读 · 0 评论 -
Linux内核中的seq操作
Linux内核中的seq操作 本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。msn: yfydz_no1@hotmail.com来源:http://yfydz.cublog.cn1. 前言 在fs/seq_file.c中定义了关于seq原创 2009-08-18 16:18:00 · 1088 阅读 · 0 评论 -
Linux模块跟踪Strace
strace命令用法 调用: strace [ -dffhiqrtttTvxx ] [ -acolumn ] [ -eexpr ] ... [ -ofile ] [ -ppid ] ... [ -sstrsize ] [ -uusername ] [ command [ arg ... ] ] strace -c [ -eexpr ] ... [ -Ooverhead ] [ -Ssort原创 2009-08-18 23:52:00 · 959 阅读 · 0 评论 -
内核模块共享变量实例
您的内核必须已经启用这些选项进行了编译:Loadable module support ---> [*] Enable loadable module support [*] Module unloading [ ] Module versioning support (EXPERIMENTAL) [*] Automatic kernel module l原创 2009-08-17 19:23:00 · 2284 阅读 · 0 评论 -
内核态与用户态交互的方式(1)
引自http://www.ibm.com/developerworks/cn/linux/l-kerns-usrs/本人不具有任何版权,如转载请著名作者出处。在 Linux 下用户空间与内核空间数据交换的方式,第 1 部分: 内核启动参数、模块参数与sysfs、sysctl、系统调用和netlink原创 2009-08-18 23:39:00 · 6103 阅读 · 0 评论 -
用户态与内核态交付方式(2)
本文引自http://www.ibm.com/developerworks/cn/linux/l-kerns-usrs2/本人无任何版权,如需转载请著名作者出处。在 Linux 下用户空间与内核空间数据交换的方式,第 2 部分: procfs、seq_file、debugfs和relayfs本系列文章包括两篇,它们文详细地地介绍了Linux系统下用户空间与内核空间数据交换的九种方式,包原创 2009-08-18 23:43:00 · 1517 阅读 · 0 评论 -
Linux seq HowTo
Documents/SeqFileHowToLinux kernel seq_file HOWTO Randy Dunlap v0: 2003-02-22 v1: 2003-03-14 Parts of this seq_file HOWTO were contributed by Andries Brouwer (aeb%win!tue!nl). [Another seq_file原创 2009-08-18 16:20:00 · 910 阅读 · 0 评论 -
Linux Mount用法集
mount [-t vfstype] [-o options] device dir 其中: 1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有: 光盘或光盘镜像:iso9660 DOS fat16文件系统:msdos Windows 9x fat32文件系统:vfat Windows NT ntfs文件系统:ntfs Mou原创 2009-08-21 00:06:00 · 991 阅读 · 0 评论 -
Netfilter所处的位置
Netfilter位于网络层,Tc位于网络层于MAC层之间。 问题 iptables中snat和MASQUERADE的区别 解决方案 iptables中可以灵活的做各种网络地址转换(NAT) 网络地址转换主要有两种:snat和DNAT snat是source network address translation的缩写 即源地址目标转换 比如,多个P原创 2009-08-21 21:34:00 · 1364 阅读 · 0 评论 -
Netfilter中5个HOOK 的理解
DNAT(Destination Network Address Translation,目的地址转换) 通常被叫做目的映谢。而SNAT(Source Network Address Translation,源地址转换)通常被叫做源映谢。这是我们在设置Linux网关或者防火墙时经常要用来的两种方式。以前对这两个都解释得不太清楚,现在我在这里解释一下。首先,我们要了解一下IP包的结构,如下图原创 2009-08-22 11:42:00 · 1004 阅读 · 0 评论 -
Libpcap抓包原理
Library),即数据包捕获函数库,是Unix/Linux平台下的网络数据包捕获函数库。它是一个独立于系统的用户层包捕获的API接口,为底层网络监测提供了一个可移植的框架。 Library),即数据包捕获函数库,是Unix/Linux平台下的网络数据包捕获函数库。它是一个独立于系统的用户层包捕获的API接口,为底层网络监测提供了一个可移植的框架。 一、 libp原创 2009-08-22 11:55:00 · 1352 阅读 · 0 评论 -
Skb与网卡驱动
分析skb和网卡驱动的关系 by good02xauthttp://xabai.21ic.org/user1/1066/archives/2007/40745.html 网卡驱动所能看到的仅仅是MAC帧,MAC帧独立于任何上层协议,仅仅属于数据链路层。以太网为例,DM9000作为设备。1.发送的skb是什么样?(内核决定)发送的MAC帧格式: PR| SD原创 2009-08-26 22:44:00 · 1250 阅读 · 0 评论 -
Sk_buff结构
套接字缓冲区用结构体struct sk_buff表示,它用于在网络子系统中的各层之间传递数据,处于一个核心地位,非常之重要。它包含了一组成员数据用于承载网络数据,同时,也定义了在这些数据上操作的一组函数。下面是其完整的定义: struct sk_buff { struct sk_buff *next; struct sk_buff *prev;原创 2009-08-26 22:53:00 · 2921 阅读 · 0 评论 -
Linux grub 命令引导过程及Iptables设置
root (hd0,0)kernel /Vmlinux.................. root=/dev/sda5 signalinitrd /initrd...........bootiptables -t nat -Fiptables -t mangle -Fiptables -t nat -I POSTROUTING -s 10.2.0.76/16 -j SNAT --to 10.0.0.76service mysqld start原创 2011-04-24 16:47:00 · 763 阅读 · 0 评论 -
Gprof使用介绍
Gprof功能:打印出程序运行中各个函数消耗的时间,可以帮助程序员找出众多函数中耗时最多的函数。产生程序运行时候的函数调用关系,包括调用次数,可以帮助程序员分析程序的运行流程。有了函数的调用关系,这会让开发人员大大提高工作效率,不用费心地去一点点找出程序的运行流程,这对小程序原创 2011-08-25 22:14:05 · 792 阅读 · 0 评论 -
linux windows静态库和动态库的区别
注意:Linux 静态编译时将动态库也编入文件中。文件预览文件目录树如下,如你所见,非常简单。 1. libtest/ 2. |-- lt.c 3. |-- lt.h 4. `-- test.c 代码#lt.c 1. /* lt.c 2. * 3. */ 4. 5. #include原创 2012-01-17 16:45:04 · 5157 阅读 · 1 评论 -
ldconfig使用与环境变量设置
编译安装新的库后,会在usr/local/lib目录中生成一个so文件,如果不执行ldconfig –v命令则此库无法进行链接提示如下错误:./demo: error while loading shared libraries: libreadline.so.4: cannot open shared object file: No such file or directory Ld原创 2012-03-08 14:41:38 · 2958 阅读 · 0 评论 -
linux设置开机自动启动服务及执行相关命令
1、到/etc/目录 使用find查找 find ./ -name "rc.local" 看是否存在rc.local文件,如果存在直接将所要启动的服务及命令加入此文件中保存退出即可。2、如mount挂载很多硬盘到此系统中,或者tomcat服务,mysql服务等都可以在这里设置。 vi rc.local service mysqld restart wq 完成编辑原创 2012-05-16 09:46:56 · 890 阅读 · 0 评论 -
High Performance Linux Clusters with OSCAR, Rocks, OpenMosix, and MPI
This section describes the installation of three software packages that, when installed, will provide you with a complete working cluster. These packages differ radically. openMosix provides Linux ker翻译 2012-11-27 15:55:28 · 9798 阅读 · 0 评论 -
Oscar的安装配置
http://wenku.baidu.com/view/f1217bfc941ea76e58fa04d9.html转载 2012-11-27 16:35:39 · 1233 阅读 · 0 评论 -
Torque安装部署方法
总结:1、安装系统2、修改/etc/hosts文件将计算节点服务节点对应的IP加入其中,此处不加则无法进行通信3、关闭防火墙service iptables stop,此处不停止则无法进行通信4、安装Torque并将生成的*.sh packet放到各个计算节点中,在计算节点中安装。5、计算节点需要手动配置config文件,之后再启动pbs_mom,此处不加则pbsnodes时状原创 2012-11-27 15:47:04 · 13790 阅读 · 0 评论 -
find命令查找文件大小或将按条件将文件移动及Tar文件目录打包命令
Linux的find与exec结合,功能强大例子:find . -name "*aa*" -exec cp -r {} destpath \;解释:这个命令会把所有名字包含aa的文件拷贝到destpath目录下用法:find . -name "*something*" -exec action {} somearguments \;详细解释find . -name "*原创 2012-12-10 13:31:26 · 4704 阅读 · 0 评论 -
c字符串处理函数
#include void *memset(void *dest, int c, size_t count); 将dest前面count个字符置为字符c. 返回dest的值. void *memmove(void *dest, const void *src, size_t count); 从src复制count字节的字符到des原创 2012-12-18 10:39:24 · 601 阅读 · 0 评论 -
gdb常用命令
1、常用命令如下:b 函数断点 file.c:15文件多少行等。i b 查看断点信息d num 删除断点信息n 执行进入下一步s 进入函数执行p 打印变量内容,字符串可以使用p /x *(char *)strAddr@32 显示字符串地址的字符16进制信息。display 变量名 实时打印变量信息until 单步执行到循环的最后一行后使用此命令退出循环原创 2012-12-18 14:44:17 · 701 阅读 · 0 评论 -
gcc和makefile制作
1、编写strchange.c文件后使用如下命令编译可执行文件:gcc -g -o strchange.o -c strchange.cgcc -g -o strchange strchange.o2、将上面的内容写入makefile文件保存,注意写入makefile中的每条命令开头必须为tab键,执行make 后同样生成可执行文件all:strchange.o gc原创 2012-12-18 14:49:43 · 703 阅读 · 0 评论 -
C语言获取文件长度及全部内容
FILE*fp; fp=fopen("localfile","rb");// localfile文件名 fseek(fp,0L,SEEK_END); /* 定位到文件末尾 */ flen=ftell(fp); /* 得到文件大小 */ p=(char *)malloc(flen+1); /* 根据文件大小动态分配内存空间 */ i原创 2012-11-25 17:23:52 · 31340 阅读 · 5 评论 -
C/C++常用算法AES,DEC,MD5等常用算法加密库
Source Available Cryptographic Libraries(Last changed: $Date: 2005/10/25 14:15:07 $)This is a list offull-featured, source-available cryptographic libraries thatI am aware of. I choose t原创 2012-12-21 17:40:23 · 10890 阅读 · 0 评论 -
extern用法说明
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗? 答案原创 2013-03-09 12:16:22 · 766 阅读 · 0 评论 -
编程中告警及日志级别说明
告警级别:级别 缩写字母 严重值 颜色 CRITICAL严重告警 C 500 红色 MAJOR重大告警 M 400 橙色 MINOR次要告警 m 300 黄色原创 2013-03-09 18:26:23 · 13816 阅读 · 0 评论