标签归档:linux

使用ubuntu字体美化fedora

升级到ubuntu 11.04用了一段时间,实在觉得unity不太给力,用起来别扭,后来装了个dock,用的舒服点了,不过还是和gnome感情深,本来很不适应fedora(主要是包管理系统),但ubuntu这么折腾认我动摇了对它的执着,正巧fedora15正式版发布,就装上试了试,感觉还是gnome3更给力,只是fedora的字体还是没有改进,有的字大有的字小,有的笔画粗有的笔画细,有点忍受不了,看了看这篇文章,对linux字体系统有了近一步了解,觉得完全可以用ubuntu字体美化fedora,暴力操作了一通,达到了效果,方法比较简单,如下:

1.将ubuntu 11.04字体复制到fedora 字体目录。
mount /dev/sda1 /media/ubuntu
sudo cp -r /media/ubuntu/usr/share/fonts/* /usr/share/fonts/

2.将ubntu 11.04 字体配置文件复制到fedora字体配置目录。
sudo cp /media/ubuntu/etc/fonts/fonts.d/* /etc/fonts/fonts.d/
sudo cp /media/ubuntu/etc/fonts/conf.avaid/* /etc/fonts/conf.avaid/
sudo cp /media/ubuntu/etc/fonts/fonts.conf /etc/fonts/fonts.conf

3.更新defora字体缓存
fc-cache -vf

4.重启

根据ip 定位地理位置的 shell 脚本

感谢 ip138。
今日服务器受到了些恶意人士的破坏,用机器人进行注册,写了一串命令统计ip对被攻击页面的访问次数,和该ip的地理位置

grep 'xxxx.php' xxxxx.log|cut -d' ' -f1|sort -n|uniq -c|sort -n|awk 'BEGIN{ORS=""}{print $1"  "$2"\t\t";system("wget \"http://www.ip138.com/ips.asp?ip="$2"&action=2\" -qO- |grep \"
  • \”|awk -F\”
  • |
  • \” \”{print \$2,\$4,\$6}\”|iconv -f gbk”)}’

我看UNIX与Windows的本质区别

答应朋友写的一篇命题作文

我看UNIX与Windows的本质区别

     文化,我首先想到的是文化。Unix和Windows从诞生之初的文化差异本质上划分了两者的界限。直观看来,一个装逼文化,一个傻逼文化。

    Unix诞生在贝尔实验室的MULTICS项目之后。据说当时这个项目设计得十分复杂,功能设计也几乎是上天入地无所不能。虽说当时贝尔实验室是很牛,可以牛到不用装逼也能露逼一下的地步。但历史告诉我们这种项目最后绝对会死得很惨。当然,项目最终结果还是没有违背历史规律。当时一位MULTICS参与者Ken Thompson事后痛定思痛,准备重新自己开发一个多任务操作系统,摒弃了MULTICS过于复杂的系统设计,力求新系统的简洁紧凑。传闻时值Ken Thompson老婆带上孩子回娘家过日子去了,一时间Ken Thompson晚上无以为乐,只好天天以堆码为业。不到一个月,Ken Thompson用汇编把这套操作系统编写出来了,这就是后来流芳百世的UNIX。当然,当时的Ken Thompson根本没有意会到他这个业余时间的作品会改变整个计算机发展史。因此这个操作系统设计用户群只针对他预想的计算机科学家、黑客,再不济怎么也得算上个计算机科学技术本科生。Unix只面对政府、研究机构、大学等专业性很强的机构,简洁、高效、安全是Unix的文化哲学。同时结合到当时的硬件条件限制,也不难理解UNIX诞生之初就根深蒂固的文化: 继续阅读

linux 播mss2 wmv

        忘记是从什么时候开始ffmpeg可以完美的支持rmvb和wmv,所以一直没有再用过w32codecs就可以播放所以视频,但今天发现某个视频教程无法播放,mplayer 检测到的视频格试为mms2,邪恶的微软总是给我们找麻烦。于是又想到了w32codecs,把w32codecs装上再用mplayer播放果然果可以,但心理总会有些不舒服,就再研究了一下发现mplayer 要加载 /usr/lib/codecs/wms10dmod.dll 文件,在w32codecs中没找到此文件,但看到有个文件名相似的文件:wmsdmod.dll,只把此文件复制到 /usr/lib/codecs/下问题同样可以解决。
        最好不要把所有文件都复制到codecs下,这样播放器可能会优先选择此目录下的解码器,就可能会导致不能正常播放某些视频,比如 播放rmvb的drvc.so要调用libstd++.so.5但ubuntu现在用的libstd++已经是6了,所以播放rmvb会存在问题。

SERSYNC实时同步

感谢金山,受益于开源,不忘奉献开源,以下是使用金山 sersync 在各分布式站点间进行实时同步的一例。
sersync使用 inotify 监控操作系统对磁盘的操作事件,通过接收到的事件生成带特定参数的rsync命令行并执行,从而达到实时增量同步的目的。
在使用pureftp做ftp服务器时,用flashfxp客户端向ftp服务器上传一个文件会依次触发以下几个主要事件:
createFile :pureftp生成临时文件pureftpd-rename.xxxx.xxxxxxxx
openFile:ftp服务器端以可写方式打开pureftpd-rename.xxxx.xxxxxxxx
Modify:向临时文件写入数据,在文件上传没有完成前会触发大量此事件
closeWrite:传输完毕,服务器关闭可写文件句柄触发该事件。
moveFrom:.pureftpd-rename.xxxx.xxxxxxxx,应该是从目录数据区删除文件相关信息
moveTo:<实际文件名>,应该是在目录数据区设置新的文件相关信息。

经过分析,在通常的应用中只需对 createFolder、closeWrite、moveFrom、moveTo四个事件进行监控。对于大多数可能对文件产生修改的操作,都要以可写的方式打开,在文件句柄关闭时,必然会产生可写文件关闭(closeWrite)事件,固不需要对其他文件操作事件进行处理,即可实现增量实时同步。

详细配置如下: 继续阅读

中科院公寓ipv6免费上网

原理很简单,ipv6上网免费,ipv4有流量限制,只需要中科院以外的地方找台同时支持ipv6、ipv4双栈的电脑,要求是linux系统。自己的电脑通过ipv6与外网ipv6电脑通信,使用这台电脑做代理上ipv4,而自己的电脑可以是linux 可以是windows,在此只介绍一下linux下的方法,windows 下要使用 proxycap + putty实现 ,但个人很烦搞windows下的东西了,自己研究吧,原理都一样。

1.用ssh通过ipv6地址连接到远端电脑,并启用端口转发。
root@local~#ssh -fND 127.0.0.1:1080 用户名@IPV6地址

2.下载redsocks,并运行redsocks,redsocks 会将iptables redirect 到自己的流量转为 socks5 协议格式并转交给ssh提供的sock5代理。
下载redsocks,包内的的配置文件无需修改,此执行文件在 ubuntu 10.04下编译,在ubuntu10.10下测试同样可用,且稳定,其它系统没试。
redsocks.tar.gz

3.以root用户,将以下条目添加到 iptables。
ring0@local~$sudo bash
root@local~#iptables -t nat -N REDSOCKS                #新建REDSOCKS链,必需,此链用于排除 127.0.0.1 的流量被重定向到1080端口,否则redsocks转换后的包会被再次重定向,而无法发送到ssh 打开的1080端口。
root@local~#iptables -t nat -A PREROUTING -p tcp -j REDSOCKS           #将被路由的所有tcp 流量转送到REDSOCKS链,此条目是为支持“虚拟机”通过此方法上网
root@local~#iptables -t nat -A OUTPUT -p tcp -j REDSOCKS                    #将所以本机产生的tcp流量,转送到REDSOCKS链
root@local~#iptables -t nat -A POSTROUTING -p udp -m udp –dport 53 -j SNAT –to-source 替换为您当前获得的ipv4地址如210.77.27.204         #因为中科院在没登陆ipv4网关的情况下DNS也可以用,所以将DNS流量通过本地ipv4网络送出,并做源地址转换
root@local~#iptables -t nat -A REDSOCKS -s 127.0.0.1/32 -p tcp -j RETURN     #127.0.0.1的流量返回默认链,即不重定向源地址为127.0.0.1的流量,使得redsocks转换后的流量可以被送到ssh的1080端口。
root@local~#iptables -t nat -A REDSOCKS -p tcp -j REDIRECT –to-ports 12345   #流量重定向到 redsocks 的12345端口
到此,本机或本机上的guest os就可以通过ipv6免费上网了