随笔分类 -  Linux/Unix

摘要:linux内核编译步骤 对于linux新手来说,编译内核相对有一些难度,甚至不知道如何入手,我通过在网上收集这方面的资料,最终编译成功.现在 我归纳了一下,写出这一篇还算比较详细的步骤,希望能对各位新手有一些 帮助。 1、 准备工作(1) 整理出系统需要支持的硬件、文件系统类型以及网络协议等内容。(2) 建议用命令uname –r 查看一下系统的版本号,如果你的系统版本与将要编译的内核版本一致,建议将/lib/modules下的内容备份,否则将来的make modules_install 步骤产生的文件会覆盖这个路径下的内容。(3) A:下载并解压linux内核,建议从http://www.k 阅读全文
posted @ 2011-06-28 16:43 dkcndk 阅读(12313) 评论(0) 推荐(1) 编辑
摘要:linux下统计目录及其子目录的文件的个数 查看某目录下文件的个数 ls-l|grep"^-"|wc-l或find./company-typef|wc-l 查看某目录下文件的个数,包括子目录里的。 ls-lR|grep"^-"|wc-l查看某文件夹下目录的个数,包括子目录里的。 ls-lR|grep"^d"|wc-l 说明: ls-l 长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等) grep"^-" 这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是^d 阅读全文
posted @ 2011-05-23 09:57 dkcndk 阅读(361) 评论(0) 推荐(0) 编辑
摘要:Linux系统资源的命令:衡量CPU性能的指标:1,用户使用CPU的情况;CPU运行常规用户进程CPU运行niced processCPU运行实时进程2,系统使用CPU情况;用于I/O管理:中断和驱动用于内存管理:页面交换用户进程管理:进程开始和上下文切换3,WIO:用于进程等待磁盘I/O而使CPU处于空闲状态的比率。4,CPU的空闲率,除了上面的WIO以外的空闲时间5,CPU用于上下文交换的比率6,nice7,real-time8,运行进程队列的长度9,平均负载Linux中常用的监控CPU整体性能的工具有: mpstat: mpstat 不但能查看所有CPU的平均信息,还能查看指定CPU的 阅读全文
posted @ 2011-04-26 11:19 dkcndk 阅读(3489) 评论(0) 推荐(0) 编辑
摘要:centos 安装iostat#yum install sysstat以前一直不太会用这个参数。现在认真研究了一下iostat,因为刚好有台重要的服务器压力高,所以放上来分析一下.下面这台就是IO有压力过大的服务器$iostat -x 1Linux 2.6.33-fukai (fukai-laptop) _i686_ (2 CPU)avg-cpu: %user %nice %system %iowait %steal %idle 5.47 0.50 8.96 48.26 0.00 36.82Device: ... 阅读全文
posted @ 2011-04-25 14:13 dkcndk 阅读(724) 评论(0) 推荐(0) 编辑
摘要:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombieCpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% siMem: 191272k total, 173656k used, 1 阅读全文
posted @ 2011-04-25 10:28 dkcndk 阅读(1793) 评论(0) 推荐(0) 编辑
摘要:smartd是一个守护进程(一个帮助程序),它能监视拥有自我监视,分析和汇报技术(Self-Monitoring, Analysis, and Reporting Technology - SMART)的硬盘。SMART系统使得硬盘能监视并汇报自己的运行状况。它的一个重要特性是能够预测失败,使得系统管理员能避免数据丢失。smartd由kernel-utils包缺省安装。用命令 rpm -ql kernel-utils 可以列出kernel-utils包中的文件。smartd守护进程通常在系统启动的时候被开启,它的配置文件是/etc/smartd.conf。比如,假设有两个硬盘被安装,/dev/ 阅读全文
posted @ 2011-04-13 09:56 dkcndk 阅读(829) 评论(0) 推荐(0) 编辑
摘要:Linux中的shell有多种类型,其中最常用的几种是Bourne shell(sh)、C shell(csh)和Korn shell(ksh)。三种shell各有优缺点。Bourne shell是UNIX最初使用的shell,并且在每种UNIX上都可以使用。Bourne shell在shell编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。Linux操作系统缺省的shell是Bourne Again shell,它是Bourne shell的扩展,简称Bash,与Bourne shell完全向后兼容,并且在Bourne shell的基础上增加、增强了很多特性。Bash放 阅读全文
posted @ 2011-04-02 17:39 dkcndk 阅读(2963) 评论(0) 推荐(0) 编辑
摘要:insmod 与 modprobe 都是载入 kernel module,不过一般差别于 modprobe 能够处理 module 载入的相依问题。比方你要载入 a module,但是 a module 要求系统先载入 b module 时,直接用 insmod 挂入通常都会出现错误讯息,不过 modprobe 倒是能够知道先载入 b module 后才载入 a module,如此相依性就会满足。不过 modprobe 并不是大神,不会厉害到知道 module 之间的相依性为何,该程式是读取 /lib/modules/2.6.xx/modules.dep 档案得知相依性的。而该档案是透过 de 阅读全文
posted @ 2011-04-02 10:20 dkcndk 阅读(1109) 评论(0) 推荐(0) 编辑
摘要:http://www.linuxidc.com/Linux/2011-01/31401.htmhttp://blog.csdn.net/lanmanck/archive/2010/12/27/6100019.aspxhttp://fengtong.javaeye.com/category/77366 阅读全文
posted @ 2011-04-01 16:34 dkcndk 阅读(278) 评论(0) 推荐(0) 编辑
摘要:用户空间文件系统(Filesystem in Userspace,简称FUSE)是操作系统中的概念,指完全在用户态实现的文件系统。目前Linux通过内核模块对此进行支持。一些文件系统如ZFS,glusterfs和luster使用FUSE实现。 Linux用于支持用户空间文件系统的内核模块名叫FUSE,FUSE一词有时特指Linux下的用户空间文件系统。 文件系统是一个通用操作系统重要的组成部分。传统上操作系统在内核层面上对文件系统提供支持。而通常内核态的代码难以调试,生产率较低。 Linux从2.6.14版本开始通过FUSE模块支持在用户空间实现文件系统。 在用户空间实现文件系统能够大幅提高. 阅读全文
posted @ 2011-03-30 09:21 dkcndk 阅读(9598) 评论(0) 推荐(0) 编辑
摘要:epoll:Edge and Level Trigger Polling (epoll)边缘触发(edge trigger)和条件触发(level trigger)边缘触发是指每当状态变化时发生一个io事件,条件触发是只要满足条件就发 生一个io事件。举个读socket的例子,假定经过长时间的沉默后,现在来了100个字 节,这时无论边缘触发和条件触发都会产生一个read ready notification通知应用程 序可读。应用程序读了50个字节,然后重新调用api等待io事件。这时条件触发的api会 因为还有50个字节可读从而立即返回用户一个read ready notification。 阅读全文
posted @ 2011-03-28 14:03 dkcndk 阅读(4084) 评论(1) 推荐(1) 编辑
摘要:Python代码:import socket, loggingimport select, errnologger = logging.getLogger("network-server")def InitLog(): logger.setLevel(logging.DEBUG) fh = logging.FileHandler("network-server.log") fh.setLevel(logging.DEBUG) ch = logging.StreamHandler() ch.setLevel(logging.ERROR) formatter 阅读全文
posted @ 2011-03-25 17:57 dkcndk 阅读(12205) 评论(0) 推荐(2) 编辑
摘要:[作者]:滕昱,2005/3/30,0.1版本[版权声明]:此文档遵循GNU自由文档许可证(GNU Free Documentation License).任何人可以自由复制,分发,修改,不过如果方便,请注明出处和作者:)(1)导言:首先,我强烈建议大家阅读Richard Stevens著作《TCP/IP Illustracted Volume 1,2,3》和《UNIX Network Programming Volume 1,2》。虽然他离开我们大家已经5年多了,但是他的书依然是进入网络编程的最直接的道路。其中的3卷的《TCP/IP Illustracted》卷1是必读-如果你不了解tcp协 阅读全文
posted @ 2011-03-25 17:18 dkcndk 阅读(1102) 评论(0) 推荐(0) 编辑
摘要:Xshell的Sessions存放目录:C:\Documents and Settings\用户\Application Data\NetSarang\Xshell\Sessions==========================================退格键删除,却在屏幕显示出了“^H”,退格不行,再按删除键,却显示出“^[[3~”,怎么着就是删除不了。需要设置:[文件]–>[打开]–>在打开的session中选择连 接的那个 ,点击properties -> [Terminal ] -> [keyboard] ,在右边的Delete key sequen 阅读全文
posted @ 2011-03-14 16:09 dkcndk 阅读(18181) 评论(0) 推荐(0) 编辑
摘要:linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) 5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行) ps工具标识进程的5种状态码: D 不可中断 uninterruptible sleep (usually IO) R 运行 runnable (on run queue) S 中断 slee 阅读全文
posted @ 2011-03-11 08:08 dkcndk 阅读(73015) 评论(0) 推荐(2) 编辑
摘要:SUID含义:文件的该位被设 置为1,在该文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权,如果所有者是root的话,那么执行人就有超级用户 的特权了,这是该位将变成一个安全漏洞,因此不要轻易设置该位。SGID含义:运行者将具有文件所有组的权限。STICKY粘合位: 要求操作系统既是在可执行程序退出后,仍要在内存中保留该程序的映像,这样做是为了节省大型程序的启动时间,但是会占用系统资源,因此设置该位,不如把程序写好。set uid ;set gid;sticky bit区别每一个文件有所有者及组编号,set uid ;set gid可以改变用户对文 阅读全文
posted @ 2011-03-09 19:48 dkcndk 阅读(8305) 评论(0) 推荐(1) 编辑
摘要:第一:给耗时操作增加统一的TimeOut超时处理机制无论是否启用了Python的多线程机制,只要利用signal模块就可以为耗时操作增加统一的超时处理机制(当然在使用了多线程的情况下还是有一些不一样的地方,只有在主线程里面才可以调用signal.signal函数,而子线程可以调用signal.alarm函数对信号的状态进行设置,具体需参照signal模块自身文档)。单线程情况下,可直接参考如下示例: Code:import signaldef handler(signum, frame):print 'Signal handler called with signal', si 阅读全文
posted @ 2011-03-07 22:20 dkcndk 阅读(7534) 评论(1) 推荐(0) 编辑
摘要:select()系统调用提供一个机制来实现同步多元I/O:#include <sys/time.h>#include <sys/types.h>#include <unistd.h>int select (int n,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,struct timeval *timeout);FD_CLR(int fd, fd_set *set);FD_ISSET(int fd, fd_set *set);FD_SET(int fd, fd_set *set);FD_ZERO(fd_ 阅读全文
posted @ 2011-02-12 17:56 dkcndk 阅读(683) 评论(0) 推荐(0) 编辑
摘要:服务器端配置1 创建共享目录# mkdir /home/share# chown nobody.nogroup /home/share2 创建或修改/etc/exports 配置文件这个文件的内容非常简单,每一行由抛出路径,客户名列表以及每个客户名后紧跟的访问选项构成:[共享的目录] [主机名或IP(参数,参数)] 其中参数是可选的,当不指定参数时,nfs将使用默认选项。默认的共享选项是 sync,ro,root_squash,no_delay。当主机名或IP地址为空时,则代表共享给任意客户机提供服务。当将同一目录共享给多个客户机,但对每个客户机提供的权限不同时,可以这样:[共享的目录] [主 阅读全文
posted @ 2011-01-13 20:21 dkcndk 阅读(4548) 评论(0) 推荐(0) 编辑
摘要:1.ctags(1)到http://ctags.sourceforge.net/下载ctags源码ctags-5.6.tar.gzhttp://prdownloads.sourceforge.net/ctags/ctags-5.6.tar.gz(2)解压并安装tar zxvf ctags-5.6.tar.gzcd ctags-5.6./configure && make && make install(3)使用在源代码目录下执行$ ctags -R[/home/brimmer/src]$ ctags -R"-R"表示递归创建,也就包括源代码根 阅读全文
posted @ 2009-09-28 01:27 dkcndk 阅读(508) 评论(0) 推荐(0) 编辑