Random Posts
Tags
Categories
Recent Comments
- 小肥 on GDB 从裸奔到穿戴整齐
- flandre on 异步事件模型的 Self-pipe trick
- inv on 异步事件模型的 Self-pipe trick
- skywind on 异步事件模型的 Self-pipe trick
- skywind on 异步事件模型的 Self-pipe trick
Links
Meta
Monthly Archives: December 2016
Emacs/Vim 深度比较
生命在于折腾,折腾完了 Atom Editor,开始跟着陈斌大婶和 purcell的配置折腾 Emacs,比较下。很多人都在比较键位,比较插件,这是十分肤浅的,我们比较点深入的东西: 代码结构 Emacs 源代码:eLisp 79%, C 21% Vim 源代码:C 52%, VimScript 48% 从代码结构上来讲,Emacs的代码最多的是 elisp,C代码只是一个微内核,Vim 里C代码还是大头。当然不排除 24.X, 25.X以后 Emacs源代码里带了好几个重量级的包,而 Vim向来比较精简一些,官方没带啥大点的插件有关。去除自带插件后,Emacs的 elisp代码比例应该会下降很多,不过总体来说,Emacs有更多组件使用 elisp开发而成,也就是说可以被用户修改或者替换的地方比 Vim要多,当然速度也会相应慢一点(比如 Emacs新打开上万行的文件连续按住PageDown时cpu 100%占满),不过比较大 JB,Atom Editor来说,还是快不少。 系统接口 大框架基本类似: Vim 可以操作: buffer, window, tabpage, 光标,marker, region 跳转表等等。 … Continue reading
Aix 折腾手记
早年开发工作主要在 FreeBSD 进行,2006 年后来切换到 Linux下,期间穿插使用了一下 Solaris,所以我的网络库一直都是只支持这三个系统。为了让网络库支持更多平台,网上购置了一台 IBM AIX 小型机,因为其他大部分非 Linux 系统,今天基本都可以在虚拟机里面安装了,而 AIX 系统,你真的没法虚拟。 弄了几天以后,发现真他妈的麻烦,强大是强大,但是真的太琐碎了,相比之下,Linux/FreeBSD 之流基本是傻瓜了。不看说明直接操作 AIX 的话,可能连开机都麻烦,或者关机没关对,下次直接启动不了。 文字终端就没什么好拍的了,先上一张图形桌面的靓照吧: 是的你没看错,这就是 AIX 7,2012 年的操作系统,就是那么的霸道,四处透着古典 Unix 的味道。这样的机器今天还跑在各大银行的机房里,AIX 系统管理员也拿着比 Linux 系统管理员多几倍的工资,虽然工作岗位比较稀少。 下面来感受一下你想正常开关机,安装软件的话要怎么弄:
Linux 网桥设置
在公司机房的物理机上架设 KVM虚拟化的时候,经常需要配置网桥,先要安装网桥工具: apt-get install bridge-utils apt-get install uml-utilities 编辑 /etc/network/interfaces,参考下面配置加入网桥配置信息: auto lo iface lo inet loopback auto eth0 iface eth0 inet manual auto br0 iface br0 inet static address 192.168.10.6 netmask 255.255.255.0 network 192.168.10.0 broadcast 192.168.10.255 dns-search dell1 bridge_ports eth0 … Continue reading
Linux 硬件时区折腾备忘
前段时间折腾家中 Nas的虚拟化服务,有时候虚拟机系统时间总是快8个小时。Guest这边设好了,到了 物理机就会慢8个小时。网上说只要修改/etc/default/rcS中的 UTC=no就行了,但还是没反映,没办法,一步步找问题。发现在/etc/rcS.d/S05hwclock.sh有这样一段话: # 2012-02-16 Roger Leigh rleigh@debian.org # – Use the UTC/LOCAL setting in /etc/adjtime rather than # the UTC setting in /etc/default/rcS. Additionally # source /etc/default/hwclock to permit configuration. 也就是说时间是按照/etc/adjtime设置的,而不是/etc/default/rcS,晕倒。查了下adjtime文件,原来这个才是现在调整时间的设置文件,那个rcS已经被忽略了,也就是网上的那些方法只适合以前的系统,看来走了不少弯路啊。 将 /etc/adjtime 第三行由 UTC 改为 LOCAL 即可。
Linux 线上系统调优备忘
大公司呆久了,都会对 SA的依赖十分强烈,很多事情 SA都帮我们搞定了。如今控制成本,没有招聘 SA,又没有购买 VPS,从买物理机开始到 IDC部署,服务器调优,虚拟机管理,全部都是自己来,才发现,安装一台 Linux机器自己玩很简单,但是要达到线上服务器的标准,还有若干调优工作需要做,有 SA的日志是多幸福的事情啊。 物理机设备驱动 Dell服务器默认安装系统后会报找不到驱动: W: Possible missing firmware /lib/firmware/tigon/tg3_tso5.bin 因为 Debian/Ubuntu 的包都是开源的,默认开源驱动性能不行,于是需要添加 non-free源: deb http://ftp.de.debian.org/debian main contrib non-free deb-src http://ftp.de.debian.org/debian main contrib non-free 然后: apt-get update apt-get install firmware-linux-free firmware-linux-nonfree 解决 Dell驱动报错问题。 配置限制 查看 /etc/security/limits.conf 没有就新建,加入 … Continue reading
Linux 下配置 Iptables 端口转发
经常需要对服务端的端口进行转发映射,让链接A服务器(202.181.55.93:8080)端口的所有tcp数据,forward到B服务器(106.185.43.22:80)端口,比如国内联通出国访问比较快,而电信比较坑爹,如果你家是电信网络,你却想畅快的访问境外的 vps,那么可以在你联通网络的境内服务器上进行这样一个端口映射,你链接境内服务器(201.181.55.93:8080)端口相当于链接境外服务器的(106.185.43.22:80)端口。 Linux内核的 Iptables很强大,它维护一组内核变量,使用 /sbin/iptables命令进行直接规则设置,且通过配置新规则,可以直接支持端口转发,简单在 A服务器上使用下面这个 shell脚本即可: #! /bin/sh # create forward rule by source interface # http://serverfault.com/questions/532569/how-to-do-port-forwarding-redirecting-on-debian PortForward1() { local IN_IF=$1 local IN_PORT=$2 local OUT_IP=$3 local OUT_PORT=$4 local IPTBL=”/sbin/iptables” echo “1” > /proc/sys/net/ipv4/ip_forward $IPTBL -A PREROUTING -t nat -i … Continue reading