LINUX
cuijianzhongswust
这个作者很懒,什么都没留下…
展开
-
深入Linux内核网络堆栈
作者:bioforge alkerr@yifan.net 原名: >翻译,修改: duanjigang duanjigang1983@126.com>翻译参考:raodan (raod_at_30san.com) 2003-08-22 第一章 简介本文将描述如何利用Linux网络堆栈的窍门(不一定都是漏洞)来达到一些目的,或者是恶意的,或者是出于其它意图的。文中会就后门通讯对Netfilter钩转载 2009-11-23 20:54:00 · 2052 阅读 · 0 评论 -
Linux Kernel Makefiles
1、概述Makefile 由五个部分组成: Makefile:顶层 Makefile。 .config:内核配置文件。 arch/*/Makefile:体系结构 Makefiles。 子目录 Makefile:大约三百个。 Rules.make:为所有子目录 Makefile 提供通用规则。顶层 Makefile 读入在内核配置过程中生成的 .config转载 2011-12-15 13:42:50 · 468 阅读 · 0 评论 -
rmmod chdir no such file or directory
说明:1. 此文档基于 linux 2.6.32,TQ2440上测试通过,2. arm-linux-gcc版本 Thread model: posixgcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) 一. 问题描述及追踪分析使用 rmmod时候发现如下错误rmmod chdir no such file or direct转载 2011-12-15 14:05:15 · 1298 阅读 · 0 评论 -
make的版本降到3.81
#!/bin/bashwget https://fedoraproject.org/static/E8E40FDE.txtsudo rpm --import E8E40FDE.txtsudo yum downgrade make --releasever=13make -version原创 2012-01-05 13:53:37 · 2047 阅读 · 0 评论 -
Udev 的使用
我常常见到的一个问题,不知大家有没有常常发现这种问题,就是 Linux 系统中原来有一个 SCSI 的硬盘,系统分配是 /dev/sda ,后来维护又加了一个新的硬盘,接上后,新的硬盘变成了 /dev/sda ,原来的老的硬盘变成了 /dev/sdb 。是否有法子固定下来啦?这个问题在过去一直无解,直到 udev 出来,这个能完美的解决这个问题。Linux 里都是以设备文件的形式存在。在早转载 2012-02-21 18:37:02 · 1060 阅读 · 0 评论 -
linux kernel kbuild详解 之一
内核编译过程中会生成以下类型的文件 参见Documentation/kbuild/kbuild.txtmodules.order:这个文件记录了Makefile中模块出现的顺序。modprobe通过它来确定解决多个模块匹配的别名(指定模块的绝对路径)。 如:kernel//home/cjz/Desktop/test/d原创 2012-02-21 12:59:22 · 13381 阅读 · 0 评论 -
idr机制
感谢原创作者分享此文,不过我忘了出处,还请见谅。 idr在linux内核中指的就是整数ID管理机制,从本质上来说,这就是一种将整数ID号和特定指针关联在一起的机制。这个机制最早是在2003年2月加入内核的,当时是作为POSIX定时器的一个补丁。现在,在内核的很多地方都可以找到idr的身影。idr机制适用在那些需要把某个整数和特定指针关联在一起的地方。举个例子,在I2C总线中,每个设备都转载 2012-04-28 11:35:13 · 505 阅读 · 0 评论 -
fedroa 16安装VMware 8.0
一、根据出错的问题改如下包里的文件tar xf /usr/lib/vmware/modules/source/vmnet.tar二、Gtk-Message: Failed to load module "pk-gtk-module"Gtk-Message: Failed to load module "canberra-gtk-module"yum instal原创 2012-04-20 12:56:36 · 857 阅读 · 0 评论 -
fedora 16 bash快捷键
ctrl + c 复制ctrl + shift + v 粘贴(可以用在vi里)ctrl + a bash中的开头ctrl + e bash中的结尾原创 2012-05-17 11:07:43 · 563 阅读 · 0 评论 -
fedora16下启动配置ftp nfs samba服务
新版本的fedora16服务配置指令已经发生了改变例如ftp服务配置service vsftpd start时出错信息如下Redirecting to /bin/systemctl start vsftpd.service Failed toissue method call: Unit vsftpd.service failed to load: No such fileor转载 2012-08-09 09:30:11 · 1080 阅读 · 0 评论 -
linux下如何模拟按键输入和模拟鼠标?
查看/dev/input/eventX是什么类型的事件, cat /proc/bus/input/devices 设备有着自己特殊的按键键码,我需要将一些标准的按键,比如0-9,X-Z等模拟成标准按键,比如KEY_0,KEY-Z等,所以需要用到按键模拟,具体方法就是操作/dev/input/event1文件,向它写入个input_event结构体就可以模拟按键的输入了。linux/转载 2012-08-08 15:07:57 · 593 阅读 · 0 评论 -
Linux 定时器setitimer()
用法:#include int getitimer(int which, struct itimerval *value);int setitimer(int which, const struct itimerval *value, structitimerval *ovalue); 功能描述:获取或设定间歇计时器的值。系统为进程提供三种类型的计时器,每一类以不同转载 2012-10-20 22:23:20 · 571 阅读 · 0 评论 -
Linux查看CPU和内存使用情况
在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要。在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况。运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q (在 top 运行中敲 q 键一次)。 操作实例: 在命令行中转载 2012-12-03 14:55:46 · 478 阅读 · 0 评论 -
linux 线程
一、要包含的头文件#include 二、线程类型pthread_t三、获取线程IDpthread_t pthread_self(void);四、创建线程a、创建线程函数thread:所创建的线程号。attr:所创建的线程属性,这个将在后面详细说明。start_routine:即将运行的线程函数。art:传递给线程函数的参数。如原创 2012-11-21 11:36:29 · 451 阅读 · 0 评论 -
linux 线程同步
互斥锁尽管在Posix Thread中同样可以使用IPC的信号量机制来实现互斥锁mutex功能,但显然semphore的功能过于强大了,在Posix Thread中定义了另外一套专门用于线程同步的mutex函数。1. 创建和销毁有两种方法创建互斥锁,静态方式和动态方式。POSIX定义了一个宏PTHREAD_MUTEX_INITIALIZER来静态初始化互斥锁,方法如下: pthread转载 2012-11-21 15:34:53 · 515 阅读 · 0 评论 -
linux gnu c feature
===========================Linux 内核使用的 GNU C 扩展===========================GNC CC 是一个功能非常强大的跨平台 C 编译器,它对 C 语言提供了很多扩展,这些扩展对优化、目标代码布局、更安全的检查等方面提供了很强的支持。本文把支持 GNU 扩展的 C 语言称为 GNU C。Linux 内核转载 2013-04-05 08:38:43 · 822 阅读 · 0 评论 -
显示驱动:FrameBuffer,libggi,vga三种图形驱动
显示驱动:framebuffer (最快), VGA (慢), libggi (慢). FrameBuffer,可以译作“帧缓冲”,有时简称为fbdrv,基于fbdrv的console也被称之为fbcon。这是一种独立于硬件的抽象图形设备。 FrameBuffer的优点在于其高度的可移植性、易使用性、稳定性。使用Linux内核的FrameBuffer驱动(vesafb),可以轻松支持到10转载 2013-06-14 15:21:08 · 1748 阅读 · 0 评论 -
openssl 加密
PS:昨天有童鞋问我在linux用tar打包文件是否可以加密码。其实是可以的,不过要跟openssl结合使用。用法如下:在当前目录下有一个pma目录的文件夹:1、使用tar对文件压缩加密:# tar -zcvf - pma|openssl des3 -salt -k password | dd of=pma.des3完成将得到一个pma.des3的打包文件,用你设置的密码替换pas转载 2013-08-16 12:59:03 · 1341 阅读 · 0 评论 -
GCC 命令行详解 -L 指定库的路径 -l 指定需连接的库名
1。gcc包含的c/c++编译器gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的,(没有看太明白前面这半句是什么意思:))一般c程序就用gcc编译,c++程序就用g++编译2。gcc的基本用法gcc test.c这样将编译出一个名为a.out的程序gcc test.c -o test这样将编译出一个名为test的程序,-o参数用来指定生成程序的名转载 2011-12-21 11:06:39 · 571 阅读 · 0 评论 -
linux内核驱动中_IO, _IOR, _IOW, _IOWR 宏的用法与解析
在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域: bit31~bit30 2位为 “区别读写” 区,作用是区分是读取命令还是写入命令。 bit29~bit15 14位为 "数据大小" 区,表示 ioctl() 中的 ar转载 2011-11-25 09:12:29 · 807 阅读 · 0 评论 -
linux字符cdev和inode的联系
好长时间没怎么看书了,最近把字符设备驱动部分又复习了一下,写个笔记. Char Device Driver 相关数据结构: struct cdev { struct kobject kobj; struct module *owner; con转载 2011-10-19 14:27:30 · 2799 阅读 · 2 评论 -
KGDB调试内核
一、kgdb安装1. 系统配置:VMware Workstation 5.5.4Fedora Core 3(2.6.9-1.667)kgdb-2.4(linux-2.6.15.5)2. 系统安装:在虚拟机上安装FC3,然后参照后面的文章,将系统的内核升级到2.6.15.5,命名为“FC3-kgdb-client”。Clone一个和预装环境一样的系统,选择"Create a full clo转载 2010-04-25 17:31:00 · 8907 阅读 · 1 评论 -
Makefile详解
陈皓 概述 —— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不转载 2010-04-29 20:08:00 · 734 阅读 · 0 评论 -
insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists解决方法
编译2.6.31内核后重启出现insmod: error inserting /lib/dm-region-hash.ko : -1 File exists解决方法:1,解压initrd文件[root@bogon ~]# cp /boot/initrd-2.6.30.4.img /tmp[root@bogon ~]# cd /tmp/[root@bogon tmp]# lsi原创 2010-05-06 12:50:00 · 2323 阅读 · 0 评论 -
JNI
java调用C APIC 调用java APIC 异步调用java API,用于C中做异步处理过程(例如信号处理句柄,异步事件处理)中需要回调java api的情况,示例为定时器异步处理调用java的情况。 下载android-ndk-1.5_r1-linux-x86.zip也就是 android 所谓的NDK, 下载地址以及配置方法见我其他的文原创 2011-06-28 18:25:00 · 721 阅读 · 0 评论 -
字节对齐详解
一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排原创 2011-07-12 20:10:47 · 680 阅读 · 0 评论 -
bootloader
6.1.2 Bootloader的启动Linux系统是通过Bootloader引导启动的。一上电,就要执行Bootloader来初始化系统。可以通过第4章的Linux启动过程框图回顾一下。系统加电或复位后,所有CPU都会从某个地址开始执行,这是由处理器设计决定的。比如,X86的转载 2011-07-17 19:49:55 · 8885 阅读 · 0 评论 -
sysfs文件系统操作
//在/sys下注册设备文件的方法#include #include #include #include #include #include MODULE_AUTHOR("CJZ cuijianzhongswust@163.com");MODULE_LICEN原创 2011-09-01 17:17:48 · 513 阅读 · 0 评论 -
Meego源码管理
工作需要,编译Meego的内核。可是 rpm -i kernel-*.src.rpm 后,却找不到去哪里了rpm -qa 也看不到的,后来想起应该是在 ~/ 里,进去一看,果然有,在SOURCES和SPECS里,一大堆的patch,看的头晕。 rpm -qf 也不原创 2011-08-02 10:39:25 · 800 阅读 · 0 评论 -
linux subsys_initcall
宏定义__define_initcall(level,fn)对于内核的初始化很重要,他指示编译器在编译的时候,将一系列初始化函数的起始地址值按照一定的顺序放在一个section中。在内核初始化段,do_initcalls() 将按顺序从该section中以函数指针的形式取出这些函转载 2011-09-05 15:33:15 · 1214 阅读 · 1 评论 -
遍历函数数组
k在内核下半部里,软中断的执行调用do_softirq()去循环遍历每一个,函数代码如下:u32 pending = softirq_pending (cpu);if (pending) { struct softirq_action *h = 0;原创 2011-08-23 11:01:27 · 409 阅读 · 0 评论 -
amule安装方法
http://www.webalice.it/iz0bbz/amule/amule.html原创 2011-08-30 14:14:46 · 1017 阅读 · 0 评论 -
fork,vfork和clone底层实现
fork,vfork,clone都是linux的系统调用,用来创建子进程的(确切说vfork创造出来的是线程)。先介绍下进程必须的4要点:a.要有一段程序供该进程运行,就像一场戏剧要有一个剧本一样。该程序是可以被多个进程共享的,多场戏剧用一个剧本一样。b.有起码的私有转载 2011-10-13 09:33:34 · 2502 阅读 · 0 评论 -
ELF Bin 文件查看 ELF Bin 文件区别
嵌入式开发的时候,我们的编译一个*.S文件,并最终生成bin文件,编译命令大致如下:CC=arm-softfloat-linux-gnu-gccLD=arm-softfloat-linux-gnu-ldOBJCOPY=arm-softfloat-linux-gnu-o转载 2011-10-13 09:43:35 · 716 阅读 · 0 评论 -
linux文件搜索查找命令
1、grep功能描述grep 命令在一个或多个文件中查找与指定模式匹配的字符串。如果模式里包含有空格,必须用引号括起来。grep的模式只能是一个被引号括起来的字符串或者是一个单词,后面紧跟着的参数都被当作文件名。grep命令把结果输出到标准输出上,并不改变被搜索的源文件。转载 2011-10-09 09:44:10 · 470 阅读 · 0 评论 -
【转载】在 Linux 下用户空间与内核空间数据交换的方式,第 1 部分: 内核启动参数、模块参数与sysfs、sysctl、系统调用和netlink
杨燚 ,计算机科学硕士 本系列文章包括两篇,它们文详细地介绍了 Linux 系统下用户空间与内核空间数据交换的九种方式,包括内核启动参数、模块参数与 sysfs、sysctl、系统调用、netlink、procfs、seq_file、debugfs和relayfs,并给出具体转载 2011-10-18 19:53:14 · 685 阅读 · 0 评论 -
【转载】在 Linux 下用户空间与内核空间数据交换的方式,第 2 部分: procfs、seq_file、debugfs和relayfs
燚 杨 (yang.y.yi@gmail.com), 计算机科学硕士 简介: 本系列文章包括两篇,它们文详细地地介绍了Linux系统下用户空间与内核空间数据交换的九种方式,包括内核启动参数、模块参数与sysfs、sysctl、系统调用、netlink、procfs、seq_f转载 2011-10-18 19:52:25 · 1393 阅读 · 0 评论 -
更改一个目录下所有非可执行文件的权限
for i in `find . -type f | xargs file | grep text | awk -F: '{print $1}'`; do chmod 664 $i;done原创 2013-10-10 17:16:28 · 639 阅读 · 0 评论