9 月 172010
 

一般LINUX防火墙(iptalbes)的运用无非是用nat 表(PREROUTING、OUTPUT、POSTROUTING)和filter表(FORWARD、INPUT、OUTPUT)。我们只有知道了数据的流向才能正确的配置防火墙。现用一个相对比较直观的图形解释数据的走向。

(此处只作最基本的iptables数据流走向说明。)

上图是你的家,蓝色的圈是你家院子,有两扇大门①⑥进出,你家有两个房间,分别为eth0和 eth1房间,每个房间有两个门可以进出②③④⑤。旁边是张三和李四的家,张三家和李四家之间的往返必须要过你家院子。

现假设,eth0网卡IP为:192.168.5.1链接内网,eth1网卡IP为:218.100.100.111链接互连网。

再假设,“张三家”为一个局域网,“李四家”为互连网。进我家院子用PREROUTING,出我家院子用FORWARD,进我家门用INPUT,出我家门用OUTPUT。(当我们的操作是征对服务器本身而言的话,如SSH操作,此时肯定会用到PREROUTING、INPUT和OUTPUT,当数据只是通过服务器去访问别的机器时会用到PREROUTING和FORWARD。) Continue reading »

8 月 092010
 

1.PDF转JPG

安装一个软件ImageMagick:
# sudo apt-get install imageMagick
然后就可以转换了,yes!!
# convert XXX.pdf XXX.jpg
这样XXX.pdf 就转换成了一大堆的XXX-*.jpg,一页一张JPG。
如果想清晰些(实验中):
# convert -verbose -colorspace RGB -resize 1800 -interlace none -density 300 -quality 100 XXX.pdf XXX.jpg

2. PDF转txt
我们要用poppler来做,它是系统自带的,
呵呵,先加一个中文支持:
# sudo apt-get install poppler-data

嘻嘻,转换啦!!
# pdftotext -layout -nopgbrk XXX.pdf
因为pdftotext不支持同时处理多个 pdf,所以用批处理要脚本搞定,打开终端,进入放置 pdf 的目录,运行下面命令
find ./ -name '*.pdf' | while read i; do pdftotext -layout -nopgbrk $i; done
很快就在当前目录下输出很多 txt 文件,“-layout”参数表示保留页面布局,“-nopgbrk”表示不输出换行符,自己对比一下就知道区别了。

7 月 262010
 

1.下载微软雅黑字体(或直接从vista或win7中copy)
http://ishare.iask.sina.com.cn/f/6812314.html

2.将下载的压缩包中msyh.ttf和msyhbd.ttf解压缩出来(例如放到~目录下)

3.将上述两个文件copy到ubuntu的字体目录下
cd /usr/share/fonts/truetype
sudo mkdir msyahei
sudo cp ~/msyh.ttf msyahei
sudo cp ~/msyhbd.ttf msyahei

4.修改字体文件权限
sudo chmod 644 msyahei/*

4. 建立字体缓存
sudo mkfontscale
sudo mkfontdir
sudo fc-cache -fv

5.在Chrome/Chromium里选择微软雅黑字体就OK啦。

5 月 112010
 

Network Upgrade for Ubuntu Servers (Recommended)

1. Install update-manager-core if it is not already installed:
sudo apt-get install update-manager-core

2. edit /etc/update-manager/release-upgrades and set Prompt=lts
# default behavior for the release upgrader
#

[DEFAULT]
# default prompting behavior, valid options:
# never – never prompt for a new distribution version
# normal – prompt if a new version of the distribution is available
# lts – prompt only if a LTS version of the distribution is available
Prompt=lts
Continue reading »