从ubuntu 9.04平滑升级到9.10 alpha 6

今天闲来无事就试着把我的ubuntu 升级到9.10 这是我第一次做跨版本升级,起初一直担心会失败。3个小时后,这种担心是多余的了。这次的升级比我想象的简单很多 只需要这sudo gnome-update-manager -dc 一条命令就ok了,中间会有几处需要你确认是否更新配置文件的地方。其他的时间我都没管它,等我回来发现已经升级完毕。 哈哈,抱着兴奋的心情重启后,咦!竟然进不了系统,文件系统检查报错,手动的检查了下,一切ok继续启动。哈哈!这就迎来的我的ubuntu 9.10 说是alpha 版 不过,我觉得已经比上个版本有不少的进步,绝对不是心理作用,比如亮度和音量的控制,我的thinkpad sl400 之前的音量控制快捷键是用不了的,现在可以控制了。还有亮度控制,之前面板上的亮度控制钮,只要一拖动它,屏幕就一卡一卡的很不爽。
总的来说,ubuntu的每次升级都会给用户带来新的体验,它真的是一直在进步,我会一直使用她,和所有开源爱好者一起见证ubuntu的成长,见证linux的成长!
还在犹豫是否要升级到9.10 alpha 版的朋友们,不要犹豫了,她不会让你失望的。

Posted in Tips | Tagged | Leave a comment

debian修改时间

第一步#编辑文件/etc/timezone为以下内容
Asia/Shanghai

第二步# date MMDDhhmmCCYY
设定系统时间和硬件时间为MM/DD hh:mm, CCYY。
显示时间为本地时间而硬件时间使用UTC。

例1:设置时间为下午14点36分。

# date -s 14:36:00

Fri Nov 26 14:15:00 CST 1999

例2:设置时间为1999年11月28号。

# date -s 991128

Sun Nov 28 00:00:00 CST 1999

第三步# hwclock --utc --systohc
第四步# hwclock --show

附录:
UTC Universal Time Coordinated,世界标准时间
GMT Greenwich Mean Time,格林尼治时间
CST China standard Time ,中国标准时间

#date -u 显示标准时间
四 3月 10 03:51:56 UTC 2005

#date 显示本地时间
四 3月 10 11:52:54 CST 2005

Posted in Tips | Leave a comment

兄弟的说唱

sunny day
老姜 牛阿!

Posted in Tips | Leave a comment

ubuntu上修改指点杆(小红帽)速度和中键模拟鼠标滑轮

平时一直用小红帽很方便,不用离开键盘就可以操控鼠标,不仅可以提高工作效率,还省了买鼠标的钱了 哈哈。唯一美中不足的是它的默认移动速度不太理想,对于obea来说这当然不是问题 google一下就能解决。下面就是解决方法了:

find /sys/devices/platform/i8042/ -name speed

这个speed文件里面保存的小红帽移动速度 0-255 设置 一个合适自己的值

echo -n 200 > /sys/devices/platform/i8042/serio4/serio5/speed

还有一个sensitivity 文件设置敏感度的可以根据自己需要设置。

还没完重启后你会发现又变回去了,那怎么办呢。简单啊,只要在 /etc/rc.local 下加入那句,启动的时候系统就能自己执行了。

PS:如果觉得上面的操作麻烦,还有现成的工具可以使用 http://sourceforge.net/projects/tpctl/

创建 /etc/hal/fdi/policy/mouse-wheel.fdi

加入

  1. <match key="info.product" string="TPPS/2 IBM TrackPoint">
  2. <merge key="input.x11_options.EmulateWheel" type="string">true</merge>
  3. <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
  4. <merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
  5. <merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
  6. <merge key="input.x11_options.ZAxisMapping" type="string">4 5</merge>
  7. <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
  8. </match>

重启 ok

Posted in Ubuntu | Leave a comment

利用autofs自动挂载smb

[code] aptitude install autofs [/code]

编辑 /etc/auto.misc 加入

win     -fstype=smbfs  ://ip/目录      win表示 挂载点的相对路径

编辑/etc/auto.master 修改

/mnt  /etc/auto.misc

重启autofs服务 就ok了

PS: 用ls 看不到/mnt 下有win目录 但可以访问到里面的内容。
补充一个 smbmout //ip/目录  /mnt 挂载点

Posted in Note | Leave a comment

linux下查看cpu 硬盘温度

查看cpu温度
cat /proc/acpi/thermal_zone/THRM/temperature
或 使用 sensors

查看硬盘温度

hddtemp /dev/sda

Posted in Tips | Leave a comment

如何在linux下访问 MS Access数据库

如何在linux下访问 MS Access数据库

由于工作需要,才作了这么一件事,网上关于这个方法也有,但比较零散、内容也有些老。当然有一定基础的朋友,多参考几篇就能摸索出来,为了便人利己,特把整个过程分享一下。相信能为 以后需要的朋友节省不少时间

Access数据库是 微软的一种本地数据库,对于它的访问需要MS office的access组件,或是通过odbc数据源。

linux下当然没有 MS office可以用,那么我们就要通过odbc来访问 mdb文件了。

需要的工具有  : unixodbc   mdbtools-odbc   mdbtools

前面两个是必须的 第一个是相当于odbc的*nix版本 ,第二个是access的odbc 驱动, 第三个 我觉得可有可无,可以用来操作mdb数据库,如果你要通过你是用java 或 php等动态语言 去访问数据库,那也可以不装它。

1、安装

在debian 的源里都包含上面的工具,直接安装即可

[code] sudo aptitude install unixodbc mdbtools-odbc mdbtools [/code]

对于rpm包平台方法类似,如果yum源没有,那么就手动搜索下载即可。需要注意的是 mdbtools-odbc的版本至少要0.6pre1 否则后面测试会出现错误,利用 isql  数据源名字  此命令测试数据源的时候,会报无法解释sql语句的错误, 这个是很多文章没有提到的。

PS:debian的源 版本满足上面要求。

2、配置驱动和数据源

编辑 /etc/odbcinst.ini

加入

[MDBToolsODBC]
Description             = MDBToolsODBCdrivers
Driver                       = /usr/lib/libmdbodbc.so.0
UsageCount            = 2
FileUsage                = 1

编辑  /etc/odbc.ini 加入

[datasource_kl]
Description = Microsoft Access Database of datasource_kl
Driver = MDBToolsODBC
Database = /root/a/ClouDnt_Dat.mdb
Servername = localhost
#UserName =
#Password =
port = 5432

[code] odbcinst -i -d -f /etc/odbcinst.ini

odbcinst -i -s -f /etc/odbc.ini [/code]

测试数据源建立是否成功

[code] isql  datasoucrename [/code]

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>
出现上面 画面 表示成功。

现在你就可以用自己的程序去访问mdb文件了。

Posted in Linux | Leave a comment

[转载]梁宁:选择比能力更重要

我喜欢《挪威的森林》。

既喜欢披头士的那支曲子也喜欢村上春树的那 本小说,无论在哪里听到这首曲子,我都会停下来听一会儿;那本小说里很多精妙的比喻,比如“喜欢你就象春天里的熊。”“妙到森林里所有的老虎都变成黄油。 ”“安静的就象全世界所有的细雨落到全世界所有的草坪上。”这些感受常常会涌上我的心头。而其中描述诱惑的一句话,是我觉得关于诱惑的说得最好的一种:

“身边总是存在各种各样的可能,而自身又具备这样的能力,就忍不住想试一试。”

不就是这样吗?

彩票期期开大奖,总是有人获得500万,而获得500万的人的能力和所做的事情和我们差不多,是不是我们只要象他/她一样去做就可以中大奖;

与彩票类似,纳斯达克经常有创造神话的公司,尤其是在稻糠亩繁盛的时候,神话被批量制造,于是每个人都认为自己有创造神话的可能,于是数万或数十万年轻人离开自己过去的生活轨迹,去追随一个梦想;

开公司年年有人兴旺,经常会听到过去某熟人又换车了,又买楼了,而在公司打工,似乎得到的数得清而前途看不清,于是大家说,我们有什么什么样的能力,可以做什么什么样的事情,这种事情一定是被市场需要的,所以我们应该去开公司。

可是,这么多的“可能”,哪一种对你来讲是“最可能”的?

同时,“可能”与“最可能”,都不是现实,从可能到现实要有一个过程,你预备了多少现金储备和心理储备?

还有,你一生可以为“可能”而折腾多少次?每次多长时间?可能折腾两次,青春就没有了,再折腾两次就已经中年了。

所以多少朋友找对象都是从20岁谈起,到32岁结婚,80%最终不是选择最漂亮、最可爱、最聪明,而是最容易结婚的女孩。看上去这票人都属于折腾够了的样子。

上个星期,我们大学的同学聚会。因为正好一个同学从深圳来,一个同学从上海来,在北京的同学就难得地凑得这么齐。

在 觥畴交错、起坐喧哗中,忽然发现毕业到现在的7年里,虽然大家都一直在北京,虽然大家的地位、财富并没有特别大的区别,但是大家的气质已经变了,明显地各 自归入了社会某个群落的特有气质。比如:大机关/金融单位里的那种矜持、谨慎,比如在小公司里的那种实际和利益当先,比如大公司外企里那种细节之处故作洋 派和喜欢高谈阔论等等,一切都如此鲜明,基本上十分钟内就可以判断这个人基本生活层面。

7年前我们的气质有区别吗?

肯定是有的。但那个时候,我们的气质属于共同的一个群落,“学生”。

7年前我们的能力有区别吗?

有。有人考试90分,有人考试70分;有人跑百米12秒,有人跑百米14秒。就是这么大的区别,不超过20%。

当时这20%的区别,和今天气质上、未来道路上、十年后的成就上,将必然产生的迥异的差别有多大的关系呢?

想 到这里就有一点理解《哈里波特》第二本里的一段情节。哈里波特是个天生的小巫师,与生俱来有作为一个黑巫师(用武侠小说的话来讲就是邪派高手)的禀赋。到 了年龄,他就要上巫师学校,系统地学习巫术。但是巫师学校里,不同禀赋的小巫师的学习内容是不一样的。比如斯莱特林学院是培养黑巫师的地方,那里诞生过魔 法史上最可怕的黑巫师伏地魔,小哈里的禀赋与他类似,所以巫师学校认为以他的能力应该去斯莱特林,并告诉他在那里会有很多机会给他,而小哈里选择了以正义 和勇敢为追求的格兰芬多学院,并因此而有了他以后的所有的经历。

小哈里一方面已经选择了格兰芬多学院,另一方面,小哈里身上又有黑魔法的能力,他周围的人,包括他自己都为哈里是否应该是黑巫师这一问题而困扰。

魔法学校的校长、智慧的邓不利多大巫师对此的解答是:

“只有在选择中才能体现真正的自我。选择比能力更能说明你是怎样的人。”

就像是几个女孩一起去燕莎,都打算买1000块钱的衣服,消费能力都是一样的,但是可能有人会买镶着珠片的色彩招摇的衣衫,有人会买颜色和款式都很保守的套装。在一样的能力下,做出的不同的选择,折射出来的就是真正的自我。

中国有十亿人,即使是万份之一的优秀,全国也有10万人一样优秀。但是人和人之所以5年会有一个区别,10年又是一个区别,30年差同云泥,是因为这段时间里的人们一次又一次的选择。

刚才和一个老领佳节又重阳导吃饭,问起当年和我一起出道的一个女孩,他摇摇头说:“这个女孩子能力是有,但是每次只要一给她选择的机会,她的选择总是很奇怪??哎,本来很有前途的一个孩子。”

纵观古今,很多少年成名的人,最终并未获得大家在他少年时对他期望的那么大的成就。是不是因为他们太年轻的时候就有了太多选择的机会,而少年心气时的选择,和经过千锤百炼的成年人的选择不一样?

所以我想,能力是聪明,而选择是智慧。

Posted in Life | Leave a comment

debian上搭建openvpn服务器

OpenVPN允许参与建立VPN的单点使用共享金钥,电子证书,或者用户名/密码来进行身份验证。它大量使用了OpenSSL加密库中的SSLv3/TLSv1协议函式库。目前OpenVPN能在SolarisLinuxOpenBSDFreeBSDNetBSDMac OS XWindows 2000XPVista上运行,并包含了许多安全性的功能。它并不是一个基于Web的VPN软件,也不与IPsec及其他VPN软件包兼容。

第一步  安装openvpn

利用网络安装(推荐)

[code] sudo aptitude install openvpn [/code]

手动安装

解压源码包

[code] tar xfz openvpn-[version].tar.gz [/code]

进入解压后的目录

[code] cd openvpn-[version] [/code]

配置 编译 安装

[code] ./configure
make
make install [/code]


第二步 配置vpn 证书和密钥信息


1、备份示例配置文件,目的是防止软件更新后覆盖配置好的文件 [code] cp -R /usr/share/doc/openvpn/examples /etc/openvpn/ [/code]
2、将 vars 里的 KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, 及 KEY_EMAIL 值改成自己的信息:

[code] cd /etc/openvpn/examples/esay-rsa/2.0/

vim ./vars [/code]

加入
export KEY_COUNTRY="CN"
export KEY_PROVINCE="sichuan"
export KEY_CITY="Chengdu"
export KEY_ORG="Copy-Left"
export KEY_EMAIL="obea@qq.com"
修改
export KEY_SIZE=1024 为 2048  //提高安全性

3、使用下列脚本,配置openvpn server 初始化 PKI

[code] . ./vars
./clean-all
./build-ca[/code]
ai:easy-rsa # ./build-ca Generating a 1024 bit RSA private key ............++++++ ...........++++++ writing new private key to 'ca.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [KG]: State or Province Name (full name) [NA]: Locality Name (eg, city) [BISHKEK]: Organization Name (eg, company) [OpenVPN-TEST]: Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []:OpenVPN-CA Email Address [me@myhost.mydomain]:
以上信息只有common name 需要手动填写,内容可以自定义(上例中使用的OpenVPN-CA),其他信息是刚才在vars设置的。 4、为server生成证书和密钥 [code] ./build-key-server server [/code] 5、为client生成证书和密钥 [code] ./build-key client1 ./build-key client2 ./build-key client3[/code]
如果需要密码保护证书和密钥,使用build-key-pass脚本 6、生成Diffie-Hellman 参数 [code] ./build-dh [/code]
此表是我们生成的证书和密钥的信息
Filename Needed By Purpose Secret
ca.crt server + all clients Root CA certificate NO
ca.key key signing machine only Root CA key YES
dh{n}.pem server only Diffie Hellman parameters NO
server.crt server only Server Certificate NO
server.key server only Server Key YES
client1.crt client1 only Client1 Certificate NO
client1.key client1 only Client1 Key YES
client2.crt client2 only Client2 Certificate NO
client2.key client2 only Client2 Key YES
client3.crt client3 only Client3 Certificate NO
client3.key client3 only Client3 Key YES
拷贝相关的crt和key文件到,需要使用vpn的客户端。

第三步 创建server的配置文件
目录sample-config-files下保存着openvpn示例配置文件 拷贝 server.conf到/etc/openvpn下 [code] cp /etc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/ [/code]
参考该server.conf 编辑
#与;是注释 去掉注释表示 该条目启用 local 10.0.0.107 port 1194
proto udp
dev tun
ca /etc/openvpn/examples/easy-rsa/keys/ca.crt
cert /etc/openvpn/examples/easy-rsa/keys/server.crt
key /etc/openvpn/examples/easy-rsa/keys/server.key
dh /etc/openvpn/examples/easy-rsa/keys/dh2048.pem
server 10.0.1.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.0.0.1 255.255.255.0"
keepalive 10 120
tls-auth ta.key 0 # This file is secret
cipher DES-EDE3-CBC # Triple-DES
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
;log openvpn.log
log-append openvpn.log
verb 3
第四步 创建client配置文件
在windows下,可使用openvpn-gui作为客户端 复制config.opvn 和crt key文件 到 config目录下 编辑config.opvn 与server上的信息相互对应 参考示例
# Specify that we are a client and that we # will be pulling certain config file directives # from the server. client
# Use the same setting as you are using on # the server. # On most systems, the VPN will not function # unless you partially or fully disable # the firewall for the TUN/TAP interface. ;dev tap dev tun
# Windows needs the TAP-Win32 adapter name # from the Network Connections panel # if you have more than one. On XP SP2, # you may need to disable the firewall # for the TAP adapter. ;dev-node MyTap
# Are we connecting to a TCP or # UDP server? Use the same setting as # on the server. ;proto tcp proto udp
# The hostname/IP and port of the server. # You can have multiple remote entries # to load balance between the servers. remote 10.0.0.107 1194 ;remote my-server-2 1194
# Choose a random host from the remote # list for load-balancing. Otherwise # try hosts in the order specified. ;remote-random
# Keep trying indefinitely to resolve the # host name of the OpenVPN server. Very useful # on machines which are not permanently connected # to the internet such as laptops. resolv-retry infinite
# Most clients don't need to bind to # a specific local port number. nobind
# Downgrade privileges after initialization (non-Windows only) ;user nobody ;group nobody
# Try to preserve some state across restarts. persist-key persist-tun
# If you are connecting through an # HTTP proxy to reach the actual OpenVPN # server, put the proxy server/IP and # port number here. See the man page # if your proxy server requires # authentication. ;http-proxy-retry # retry on connection failures ;http-proxy [proxy server] [proxy port #]
# Wireless networks often produce a lot # of duplicate packets. Set this flag # to silence duplicate packet warnings. ;mute-replay-warnings
# SSL/TLS parms. # See the server config file for more # description. It's best to use # a separate .crt/.key file pair # for each client. A single ca # file can be used for all clients. ca ca.crt cert client1.crt key client1.key
# Verify server certificate by checking # that the certicate has the nsCertType # field set to "server". This is an # important precaution to protect against # a potential attack discussed here: # http://openvpn.net/howto.html#mitm # # To use this feature, you will need to generate # your server certificates with the nsCertType # field set to "server". The build-key-server # script in the easy-rsa folder will do this. ;ns-cert-type server
# If a tls-auth key is used on the server # then every client must also have the key. ;tls-auth ta.key 1
# Select a cryptographic cipher. # If the cipher option is used on the server # then you must also specify it here. ;cipher x
# Enable compression on the VPN link. # Don't enable this unless it is also # enabled in the server config file. comp-lzo
# Set log file verbosity. verb 3
# Silence repeating messages ;mute 20 第五步 启动openvpn服务器
openvpn [server config file]
客户端连接 server 测试连通性 点击 openvpn-gui的tray 点connect 连上服务器后会得到ip ping 网关测试 如果ping成功,表示vpn服务器搭建成功

参考资料: OpenVPN How-To

Posted in Debian | Leave a comment

Bash 使用技巧

Bash 是我们经常与之打交道的 Shell 程序,本文针对其使用技巧进行了搜罗。相信在你看过这些内容之后,定会在 Bash 的世界里游刃有余。

* 从历史中执行命令 有时候,我们需要在 Bash 中重复执行先前的命令。你当然可以使用上方向键来查看之前曾经运行过的命令。但这里有一种更好的方式:你可以按 Ctrl + r 组合键进入历史搜索模式,一旦找到需要重复执行的命令,按回车键即可。
* 重复命令参数 先来看一个例子: mkdir /path/to/exampledir cd !$ 本例中,第一行命令将创建一个目录,而第二行的命令则转到刚创建的目录。这里,“!$”的作用就是重复前一个命令的参数。事实上,不仅是命令的参数可以重复,命令的选项同样可以。另外,Esc + . 快捷键可以切换这些命令参数或选项。
* 用于编辑的快捷键
o Ctrl + a:将光标定位到命令的开头
o Ctrl + e:与上一个快捷键相反,将光标定位到命令的结尾
o Ctrl + u:剪切光标之前的内容
o Ctrl + k:与上一个快捷键相反,剪切光标之后的内容
o Ctrl + y:粘贴以上两个快捷键所剪切的内容
o Ctrl + t:交换光标之前两个字符的顺序
o Ctrl + w:删除光标左边的参数(选项)或内容
o Ctrl + l:清屏
* 处理作业 首先,使用 Ctrl + z 快捷键可以让正在执行的命令挂起。如果要让该进程在后台执行,那么可以执行 bg 命令。而 fg 命令则可以让该进程重新回到前台来。使用 jobs 命令能够查看到哪些进程在后台执行。 你也可以在 fg 或 bg 命令中使用作业 id,如: fg %3 又如: bg %7
* 使用置换
o 命令置换 先看例子: du -h -a -c $(find . -name *.conf 2>&amp ;-) 注意 $() 中的部分,这将告诉 Bash 运行 find 命令,然后把返回的结果作为 du 的参数。
o 进程置换 仍然先看例子: diff <(ps axo comm) <(ssh user@host ps axo comm) 该命令将比较本地系统和远程系统中正在运行的进程。请注意 <() 中的部分。
o xargs 看例: find . -name *.conf -print0 | xargs -0 grep -l -Z mem_limit | xargs -0 -i cp {} {}.bak 该命令将备份当前目录中的所有 .conf 文件。
* 使用管道 下面是一个简单的使用管道的例子: ps aux | grep init 这里,“|”操作符将 ps aux 的输出重定向给 grep init。 下面还有两个稍微复杂点的例子: ps aux | tee filename | grep init 及: ps aux | tee -a filename | grep init
* 将标准输出保存为文件 你可以将命令的标准输出内容保存到一个文件中,举例如下: ps aux > filename 注意其中的“>”符号。 你也可以将这些输出内容追加到一个已存在的文件中: ps aux >> filename 你还可以分割一个较长的行: command1 | command2 | ... | commandN > tempfile1 cat tempfile1 | command1 | command2 | ... | commandN > tempfile2
* 标准流:重定向与组合 重定向流的例子: ps aux 2>&1 | grep init 这里的数字代表:
o 0:stdin
o 1:stdout
o 2:sterr
上面的命令中,“grep init”不仅搜索“ps aux”的标准输出,而且搜索 sterr 输出。

http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash

Posted in Tips | Leave a comment