用Hexo新开博客了

2016年9月7日 没有评论

地址是http://blog.haw-haw.org/,欢迎大家捧场!

分类: Operation System 标签:

一个极简的抓某个分区文件被写入事件的stap脚本

2016年8月13日 没有评论
#! /usr/bin/env stap
 
probe vfs.write
{
	if (dev == MKDEV($1, $2))
		printf ("%s(%d) 0x%x/%u argstr:%s, uid:%d\n", execname(), pid(), dev, ino, argstr, uid())
}

使用方法,例如:

stap inodewatch.stp 0x08 0x01;
# 这里的0x08,0x01是设备的major、minor号
分类: Programe 标签:

CentOS7下用macvlan驱动实现docker实例直接使用主机所在的网络

2016年7月23日 没有评论

环境:CentOS 7.2(最好升级到7的最新版)
docker主机信息(eth0:10.0.0.10/24,缺省网关:10.0.0.1)
首先,安装最新的docker,这里是:1.12.0, build 8eab29e

tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
 
yum -y install docker-engine;

然后,启动docker,并将其设置为随着机器启动而启动

systemctl start docker.service;
systemctl enable docker.service;

再接着,创建新的网络,跟现有docker主机所在网络桥接

docker network create -d macvlan --subnet=10.0.0.0/24 --gateway=10.0.0.1 -o parent=eth0 MACNET;

最后,再新建一个ip地址为10.0.0.11的docker实例,并证明跟主机所在网络是直通的

docker run --net=MACNET --ip=10.0.0.11 -it --rm alpine /bin/sh;
ping -c 5 10.0.0.1;

上面ping命令证明是能ping通网关的,从别的网段也能ping通10.0.0.11

此外,有个地方比较疑惑:本来跟驱动macvlan一起的还有个驱动叫ipvlan,但是在这里只有macvlan能用,ipvlan就不行,报找不到这个驱动!
我知道了,貌似是因为CentOS7.2的kernel 3.10只支持macvlan,还不支持ipvlan

分类: tips 标签:

怎样在CoreOS里设置控制台自动登录

2016年7月17日 没有评论

公司的CoreOS让我给玩儿坏了,网络不通,没法远程连。而控制台登录帐号都没有密码,所以没法等卢。网上找了下,找到个解决方案:让系统启动后core用户自动登录到tty1。具体步骤如下:

  1. 在控制台按Ctrl+Alt+Del,或者按电源重启机器
  2. 进入grub界面时按字母键’e’
  3. 在以”linux$”开头的最后一行的末尾加上” coreos.autologin=tty1″
  4. 再按Ctrl+X或F10启动机器,系统会用core用户自动登录到控制台tty1
分类: Operation System 标签:

linux下用vnc连vm实例要密码的问题

2016年7月16日 没有评论

环境:CentOS 6.x,kernel 2.6.32-358.el6.x86_64,qemu-kvm-0.12.1.2-2.479.el6_7.3,libvirt-0.10.2-54.el6_7.3,tigervnc-1.1.0-18.el6
缘起:
有个vm,是直接下载的bitnami的vm文件跑起来的,缺省没有开启sshd,当然也没有配串口直连,所以只能想办法从宿主机用vnc客户端来连,于是,本地用ssh -X来连宿主机,然后再宿主机上不论是用vncviewer,还是virt-viewer,还是virt-manager,连此vm时都提示要密码,virsh dumpxml了vm的配置文件看,vnc项也没有密码呀?随后再发现其他的vm用vnc客户端连同样需要密码,于是意识到这个跟特定的vm无关,考虑到系统的问题,于是

yum install tigervnc-server

装上vnc server,执行vncserver,提示设定密码,于是设定之。再然后用这个密码和vnc客户端软件一起用,果然就连上了vm。

分类: Operation System 标签:

oh-my-zsh支持中文

2016年7月2日 没有评论
vim ~/.zshrc

把以下这句的注释去掉(前面的”#”号去掉)

export LANG=en_US.UTF-8

重新登录,即解决

分类: tips 标签:

用Linux在两个私网之间打洞

2016年6月25日 没有评论

http://wiki.haw-haw.org/dig_tunnel_between_two_private_nets

分类: tips 标签:

find prime within a range by using bash

2016年5月28日 没有评论

用bash找出10000到20000之间的所有质数

#!/bin/bash
for (( i=10000; i<20000; i++ ))
do
    k=$(echo "sqrt($i)" | bc)
    for (( j=2; j<=$k; j++ ))
    do
#        echo "i=$i;j=$j;k=$k"
        [[ $(($i%$j)) -eq 0 ]] && break
    done
    [[ $j -gt $k ]] && echo -n "$i "
done
echo "are prime"
分类: Programe 标签:

centos6.*下/etc/security/limit.conf文件改错导致的问题

2016年5月14日 没有评论

在我印象中,我司服务器由于/etc/security/limit.conf被改错而导致系统不能进入的故障,在我在的这一年半以内,发生过两回这种故障。第一次,是把用户的nofile改成ulimited了,导致所有的用户无法登录,只有重启进单用户,修改/etc/security/limit.conf后恢复;第二次,也是改这个文件,把nofile的数目改的比kernel参数fs.nr_open还要大,同样也导致用户无法登录,最后也只有重启进单用户恢复。所以,结论:不要轻易修改/etc/security/limit.conf文件以及/etc/security/limit.d/目录下的文件的内容,有需要调整的,尽量在启动服务的启动脚本里直接用ulimit命令来调整!

分类: Operation System 标签:

android5下原生反垃圾电话的方法

2016年4月24日 没有评论

众所周知,在大天朝,每天不接几个十几个甚至更多垃圾电话,出门都不好意思跟人打招呼:)但是我又不想安装号码通之类的第三方应用,于是就只好在原生的功能上想办法。最终也是从google上找到了这里。感觉方法太赞了!
其实思路比较简单:

  1. 首先,添加一个叫blacklist的联系人,在”edit contact”界面点击右上角三点,然后勾选上“All calls to voicemail”
  2. 然后,将每个你认为是垃圾电话的号码加到这个联系人的联系方式里。

完了,就这些。然后这些垃圾电话再打过来的时候就直接进voicemail了。这世界终于清净了。

分类: tips 标签: