
Linux
文章平均质量分 58
瞧见风
把知识总结写出来是一个好习惯,而这个好习惯的培养只需要21天。
展开
-
vim+cscope+ctags打造属于自己的IDE
所谓工欲善其事,必先利其器。作为专业码农,特别是长期在Unix系统上展开工作(查看源代码、coding)的码农,没有一个极致的IDE环境,工作效率会很受影响的。当然啥时候Unix系统如果有Visual Studio这样牛X的IDE,相信很多人会很开心。但生活是残酷的,我们总得自己丰衣足食,下面介绍一下,我在ubuntu12.04上使用vim+cscope+ctags搭建的IDE。原创 2015-03-15 17:35:10 · 10220 阅读 · 1 评论 -
Linux中的loop设备
1. 什么是loop设备?loop设备是一种伪设备,是使用文件来模拟块设备的一种技术,文件模拟成块设备后, 就像一个磁盘或光盘一样使用。在使用之前,一个 loop 设备必须要和一个文件进行连接。这种结合方式给用户提供了一个替代块特殊文件的接口。因此,如果这个文件包含有一个完整的文件系统,那么这个文件就可以像一个磁盘设备一样被 mount 起来。之所以叫loop设备(回环),其实是从文件系统这一原创 2015-07-06 18:38:14 · 21349 阅读 · 0 评论 -
通过sysrq打印linux内核信息
我们知道命令hang,一般问题都出在内核里, 如果我们能根据自己的需要打印内核的信息,可能会事半功倍,很快定位到问题。幸运的是linux真的有提供这样的方式,就是通过SysRq,今天在这里我就介绍一下。原创 2015-07-15 22:37:06 · 7652 阅读 · 0 评论 -
XFS文件系统碎片整理
网上有些帖子说XFS不用做碎片整理,其实是错误的。XFS用延迟写入等技术确实可以减少碎片的出现,但是如果服务器用了几年,并且文件操作比较频繁,还是会出现碎片的,应该整理。注意:在Debian中XFS相关命令在xfsprogs包中,而xfs_fsr命令是在xfsdump包中的。所以要用xfs_fsr整理碎片,记得安装xfsdump包。 其他Linux发行版本中,包含xfs相关命令的包也应该叫类似的名转载 2015-07-29 09:40:32 · 8887 阅读 · 0 评论 -
linux内存管理之物理内存相关知识
Linux内核采用页式存储管理,进程的地址空间被划分成固定大小的“页面”(page),物理内存同样被分为与页面大小相同的“页帧“(page frame),由MMU在运行时将虚拟地址“映射”成某个物理内存页帧上的地址,MMU一般内嵌在CPU上。1 NUMA(Non Uniform Memory Access)在现代计算机,特别是在多核的CPU环境中,CPU访问内存的速度与两者之间的距离有关,原创 2015-07-22 23:13:37 · 1174 阅读 · 0 评论 -
linux内存管理之内核对物理内存的描述
Linux将物理内存按固定大小的页面(一般为4K)划分内存,在内核初始化时,会建立一个全局struct page结构数组mem_map[ ]。如系统中有76G物理内存,则物理内存页面数为76*1024*1024k/4K= 19922944个页面,mem_map[ ]数组大小19922944,即为数组中每个元素和物理内存页面一一对应,整个数组就代表着系统中的全部物理页面。 在服务器中,存在NUMA架原创 2015-07-23 10:02:20 · 2904 阅读 · 0 评论 -
为shell命令设置超时
最近写一个检查所有集群状态的脚本,在使用ssh在server上执行远程命令时,如果server一时网络不通,则ssh命令会等将近1分钟才会返回,这会延长脚本的执行。通过google,也在网上查到一些解决方案,比如设置timeout、TMOUT等,但timeout好像不管用,而TMOUT设置了之后,如果在设定的时间之内没有响应的话整个ssh连接都会被干掉,这明显不符合我的需求啊。最后,我发现sh原创 2015-11-17 21:39:10 · 25410 阅读 · 1 评论 -
在mac上配置git send-email使用gmail
最近在往Qemu社区贡献代码,借着这个机会也有了通过邮件发送patch的体验(因为之前主要专注于Ceph和OpenStack的开发,所以提交代码基本上是用Pull Request和Gerrit,比较简单方便)。另外,向linux社区贡献代码一般也是需要通过邮件发送patch的方式进行code review的。在这里主要介绍一下如何在mac中配置git send-email使用gmail来发patc原创 2016-02-16 12:02:07 · 4005 阅读 · 0 评论 -
Qemu/Kvm中的tracing工具
Qemu有自己的Trace框架并支持多个debug/trace后端包括:nop, dtrace, ftrace, log, simple, ust,可以帮助我们分析Qemu中的问题。关于这些backend的介绍,可以看这个链接:http://repo.or.cz/w/qemu/stefanha.git/blob_plain/refs/heads/tracing:/docs/tracing.txt,原创 2016-03-03 12:40:43 · 3990 阅读 · 0 评论 -
qemu网络配置
最近又开始折腾virtfs了,由于之前搭建的环境被拆掉所以需要重新将qemu环境搭建起来。玩qemu总会遇到一个问题,那就是上网,如何让宿主机和虚拟机同时都能上网呢?网上也有很多答案,但通常是分为三种:1)使用Qemu自实现的user模式网路;2)使用网桥模式;3)使用NAT模式。总的来说,第一种用起来最简单,但功能也最简陋,第三种可能做得很牛X,但配置起来最复杂(因为涉及到iptables),相原创 2016-02-03 17:28:53 · 4357 阅读 · 2 评论 -
安装lsb_release
lsb_release命令用来查看当前系统的发行版信息(prints certain LSB (Linux Standard Base) and Distribution information.)。有了这个命令就可以清楚的知道到底是RedHat的、还是别的发行版,还有具体的版本号,比如3.4还是5.4等等。有些系统上不一定安装了这个命令,可以通过查看/etc/issue文件得到发行版信息。[原创 2016-02-18 11:38:55 · 24965 阅读 · 0 评论 -
整理各大公司的开源项目链接
几大开源公司的开源项目:Intelhttps://01.org/zh/projectsGooglehttps://github.com/googleNetflixhttps://github.com/Netflixawshttps://github.com/awsIBMhttps://developer.ibm.com/open/ya原创 2016-02-18 14:47:00 · 1997 阅读 · 0 评论 -
Linux在本地建立git仓库管理代码
目前在做一个项目的prototype,为了方便生成查看自己修改的代码,需要在本地建立一个代码仓库作为代码的gate,然后从这个gate产生一个副本,再在这个副本上作修改。这样就可以使用副本和gate产生修改代码的diff,方便知道都改了什么文件。准备源码,比如我这里要做基于qemu-kvm的代码改动# git clone https://git.kernel.org/pub/scm/v原创 2015-05-27 09:55:07 · 1574 阅读 · 0 评论 -
十条nmap常用的扫描命令
NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包。nmap是在网络安全渗透测试中经常会用到的强大的扫描器。功能之强大,不言而喻。下面介绍一下它的几种扫描命令。具体的还是得靠大家自己学习,因为实在太强大了。1) 获取远程主机的系统类型及开放端口nmap -sS -P0 -sV -O 这里的 可以是单一 IP, 或主机名,或域名,或子网-sS T转载 2015-06-11 09:23:00 · 15232 阅读 · 0 评论 -
设置linux终端字符颜色
本文介绍了如何让终端字符有颜色原创 2015-06-03 12:20:47 · 3936 阅读 · 0 评论 -
VirtualBox中安装CentOS7后无法上网的解决方案
最近想基于CentOS7搭建一个OpenStack的环境,因为之前一直用VirtualBox,所以这次也采用VirtualBox。 在完成系统的安装后,发现系统无法上网,各种Google、百度后都没有找到有效的解决方案,我相信很多人都有和我一样的经历。功夫不负有心人,我最终把这个问题解决了,现在将办法记录下来,方便自己今后查阅,也为了能对别人有帮助。话不多说,上步骤。1 配置VirtualBo原创 2015-03-11 22:34:51 · 26665 阅读 · 11 评论 -
Linux man page各编号含义
manpage类别整理原创 2015-05-14 09:30:51 · 2712 阅读 · 0 评论 -
在Oracle Enterprise Linux上配置iSCSI
从这篇文章中,您能学到如何在linux上配置iSCSI环境。原创 2014-09-22 15:19:18 · 1681 阅读 · 0 评论 -
Ubuntu中添加新硬盘
为系统扩充磁盘存储容量是一件非常常见的事情,特别是现在在云平台中。不像windows系统,当我们在系统中添加一块硬盘时,系统有界面提示有新硬件,你可以直接在新硬件上右键,然后格式化之后就能用了。但在Linux系统中,如果你没有安装桌面系统,要能把新的硬盘使用起来还是要做一些配置的。这里我介绍一下在云主机ubuntu系统中如何处理新加的硬盘的,具体来说分为以下6步:1)找到新添加的硬盘设备,原创 2015-04-16 10:16:13 · 11098 阅读 · 0 评论 -
ubuntu包管理命令apt和dpkg总结
使用linux系列的系统,你不可避免的会涉及一些包的管理,这里我整理了一下ubuntu下常用的包管理命令,与大家分享。apt-get命令:apt-get是debian,ubuntu发行版的包管理工具,与红帽中的yum工具非常类似,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。apt-get在安装包的时候是根据/etc/apt/so原创 2015-04-11 20:41:03 · 6037 阅读 · 0 评论 -
Oracle Enterprise Linux上iSCSI的multiple sessions以及multiple path的配置
您从本文章中可以了解到iscsi multiple session以及multiple path的配置。原创 2014-10-10 09:20:45 · 1801 阅读 · 0 评论 -
在Ubuntu上配置DNS
1.修改:/etc/resolvconf/resolv.conf.d/base(这个文件默认是空的)在里面插入:nameserver 8.8.8.8nameserver 8.8.4.4如果有多个DNS就一行一个2. 修改好保存,然后执行resolvconf -u3原创 2014-10-03 21:58:29 · 940 阅读 · 0 评论 -
linux中的errno,你是否踩过它的坑?
之所以写这篇文章,是因为我踩过它的坑,希望大家对errno引起重视。原创 2015-05-27 23:21:30 · 5982 阅读 · 0 评论 -
在linux上使用screen启后台程序
在工作中,我们常常ssh到服务器上运行一些命令,但当这个命令的执行需要很长时间而我们又不能一直保持ssh连接等着它结束时或者我们的网络不好随时都有断网的可能,相信大家大部分情况都是使用nohup把程序放到后台执行,但有些情况没法使用nohup,比如我就不能使用nohup启动一个qemu程序,这主要是因为,nohup之后,程序就不再接收标准输入了(无法输入系统启动密码),当然也有别的办法来解决这个问原创 2015-06-03 21:12:57 · 968 阅读 · 0 评论 -
FATAL: Module iptable_nat not found解决办法
当你在系统中执行modprobe iptable_nat,系统报错FATAL: Module iptable_nat not found时,说明你的内核中没有编译这个模块,你需要重新编译内核。这里介绍一下Centos下使用make menuconfig如何添加NAT相关模块。1)依次进入Networking support -> Networking options -> Network pa原创 2015-06-25 10:14:03 · 9245 阅读 · 0 评论 -
Mac上制作Linux U盘启动盘
最近干了件蠢事,在使用lvreduce缩减一个lv时,把文件系统给搞挂了。问题是这样的,之前系统的/var目录已经建立在lv上,由于没有使用resize2fs缩小文件系统的大小,就直接缩小lv的大小,导致了/var的文件系统出现不一致问题,而/var又是automount的,所以启动系统时,就会报错,接着进入maintenance模式。我想尽了各种办法,进入系统后修改/etc/fstab取消/va原创 2015-06-04 10:01:37 · 9457 阅读 · 0 评论 -
比较两个文件的不同
linux中的diff命令可以比较两个文件的不同,并输出友好的结果,方便查看。其中-y表示输出两列对比,而'--suppress-common-lines'屏蔽了相同的行。$ diff --suppress-common-lines default.cf osd.4.cf -yname = client.admin | name = osd.4debug_lockdep原创 2016-03-20 19:53:44 · 1493 阅读 · 0 评论