易截截图软件、单文件、免安装、纯绿色、仅160KB

GNU/Linux 开发环境 (1)

几周以前,无意中看了我开发Linux服务程序的工作环境搭配这篇文章,忍不住拍了砖,结果作者在回复中激我,要我写个看看。其实看不惯很多人围绕M$的习惯,早已有写点什么的想法,可是没什么时间,也担心不同的想法和自己退步了很多的中文会迷惑有Linux学习热情的同行,更不用说没准还会吓跑别人。为了表示我是从来不吃激将法的,我等了几周,觉得那篇文章差不多被人遗忘了,就开始了思考这个题目。
声明:写这些是为了和有学习Linux开发兴趣的同行们交流,坚决看不惯Linux或者不得不学点Linux的人就不要浪费时间看了。另外文中的中文翻译不准确的地方,我都尽量标注英语以防误解。
1)GNU + Linux
许多人特别是内核的开发者曾经反复强调Linux只是Linux操作系统的内核,这是我非常赞同的,因为GNU工具同样是Linux操作系统不可缺少的部分,GNU + Linux才是完整的操作系统。
理解GNU/Linux的第一步是理解内核模式和用户模式的区别。其实简单的讲,使用任何一种Linux发布版,我们直接用的都是用户模式下的应用程序,尽管操作都是在内核的帮助下完成的,这和Windows没有区别。
无论在用户模式还是内核模式,GNU工具是必不可少的,尽管它们远远没有内核出的风头大。这就是我坚持称之为GNU/Linux的原因。不过,区别是GNU工具是内核开发所必需的,而在用户模式下,它们是任何应用程序运行不可或缺的。
GNU工具:bash, GCC (GNU Compiler Collection, 不是GNU C compiler), ld, gdb, gprof, glibc, binutils, nm, objdump, ldd, 等等等等.
2)内核开发
GNU/Linux的内核开发环境非常简单,但也是对技能和知识要求很高的,命令行的工具如GCC, make, shell script 和 vi/Emacs/Nano 是必须会用的,因为大多数情况下,调试的时候只有bash,同时,必须有很强的代码阅读能力,因为许多细节都在内核代码中。
需要注意的是,虽然有kgdb的存在,内核代码的调试基本不用调试器,因此printk是首要工具,而且它是必须熟练掌握的,因为每个内核开发者都会不可避免的依赖它。不过另一个有趣的kgdb应用是它可以用来学习system call是如何实现的。
我虽然做了不少内核开发和调试,但是深知自己很肤浅,在此就不继续深谈了。需要说明的是,GNU/Linux开发不是只有内核开发,也不是做内核开发就高人一等,“术业有专攻”而已。
3) 用户模式应用程序的开发
在Linux和UNIX的世界,延续了内核开发习惯,C语言是最重要的编程语言,简单的讲,内核 +  GLIBC


相关文档:

Linux iptable文档

总览
用iptables -ADC 来指定链的规

,-A添加 -D删除 -C 修改
iptables - [RI] chain rule num rule-specification[option]
用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]
iptables -[NX] chain
用 -NX ......

应用TPM作linux可信起动的初步实践


首先要有一台带有TPM 1.2芯片,装有linux系统的计算机。
使用下面这条命令可以查看系统内核tpm驱动情况:
$ ls -la /lib/modules/`uname -r`/kernel/drivers/char/tpm
总计 100
drwxr-xr-x 2 root root 4096 02-03 21:47 .
drwxr-xr-x 7 root root 4096 02-03 21:47 ..
-rwxr--r-- 1 root root 9812 01-21 15:27 tp ......

Linux 访问fat格式文件系统

首先要导入这些头文件
#include
#include
#include
#include
#include
#include



然后看一下实际的操作


1、查看文件系统信息
asmlinkage long get_files_info(char * filesystem_type)//取得当前目录的文件系统信息
{
struct fs_struct *fs ;
struct vfsmount *mnt ;
......

Linux平台下文件的压缩与解压参数说明


面对着一些后缀为tar、tar.gz、tar.bz2……就有些茫然了,
其实理解了,自然就迎刃而解了。
首先要明确一个概念,linux下面的打包和压缩是两码事,
也就是你可以对文件进行打包,但是不压缩。
来看个例子:
在我的根目录下有个名为wallpaper的文件夹,里面是一些墙纸,
我现在对这个文件夹进行打包,但 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号