Ubuntu - XiZi's Blog
修改Ubuntu本地编码,让你的播放器正常显示标题
Ubuntu默认安装的环境为zh_CN.utf8或者en_US.utf8,然而很多windows的文档还是以GB2312或GBK编码保存的,当你打开Window文件的时候,总是有各种问题,出现各种诡异的乱码。因此十分有必要在Ubuntu下生成GBK或GB2312的locale。并设置默认本地编码:
1. 修改/var/lib/locales/supported.d/local文件,在文件中添加如下代码:
zh_CN.GBK GBK
en_US.GBK GBK
zh_CN.GB2312 GB2312
en_US.GB2312 GB2312
2. sudo dpkg-reconfigure --force locales
然后在输出的结果中会出现
zh_CN.GB2312 done
zh_CN.GBK done
en_US.GBK done
en_US.GB2312 done
3. 修改默认配置文件 /etc/default/locale
修改默认LANG="en_US.UTF8"为
LANG="en_US.GBK"
或者
LANG="zh_CN.GBK"
4. 重启Gmone
# 如果没启动那么 Ctrl+Alt+F1 登录进入命令行模式
sudo /etc/init.d/gdm start
英文界面Ubuntu,修改界面默认雅黑字体
1。对于默认使用中文字体的问题:
用Ubuntu 的英文界面的朋友,进入系统后字体是Bitmap, 在evolution中收中文邮件时,新邮件里的中文乱码。
一定是字体出了问题,检查后发现在切换到英文界面后/etc/fonts/conf.d/中29-language-selector-zh.conf、 69-language-selector-zh-cn.conf、99-language-selector-zh.conf这三个链接被删掉了。
在/etc/fonts/conf.d 里面加上3 个文件的链接:
sudo ln -s /etc/fonts/conf.avail/29-language-selector-zh.conf
sudo ln -s /etc/fonts/conf.avail/69-language-selector-zh-cn.conf //好像只要这个就行
sudo ln -s /etc/fonts/conf.avail/99-language-selector-zh.conf
重启看看中文变成了系统默认的雅黑。
2。添加字体
Ubuntu 9.04 正式版的默认字体感觉太粗,有点模糊。改为文泉译字体,英文又不漂亮,于是将其替换成了微软雅黑字体 Yahei Consolas Hybrid ,该字体包含了Lucida Grande.ttf 和 Microsoft YaHei.ttf,前者是英文等宽字体,后者是中文字体,使用这个字体就不用考虑单独设置中英文字体了,可以做到界面、网页、终端字体统一风格。
另外经常要共享Office文档,基本都是使用宋体,仅有雅黑还不够,所以不得不把XP下的simsun等字体也拷贝一份过来。(用着D版XP就考虑不了字体版权问题了)
配置过程:
1)、拷贝XP字体:
sudo cp /media/win_c/WINDOWS/Fonts/simsun.ttc /usr/share/fonts/zh_CN/TrueType/
sudo cp /media/win_c/WINDOWS/Fonts/tahomabd.ttf /usr/share/fonts/zh_CN/TrueType/
sudo cp /media/win_c/WINDOWS/Fonts/tahoma.ttf /usr/share/fonts/zh_CN/TrueType/
sudo cp /media/win_c/WINDOWS/Fonts/verdanab.ttf /usr/share/fonts/zh_CN/TrueType/
sudo cp /media/win_c/WINDOWS/Fonts/verdanai.ttf /usr/share/fonts/zh_CN/TrueType/
sudo cp /media/win_c/WINDOWS/Fonts/verdana.ttf /usr/share/fonts/zh_CN/TrueType/
sudo cp /media/win_c/WINDOWS/Fonts/verdanaz.ttf /usr/share/fonts/zh_CN/TrueType/
2)、下载雅黑字体
http://rapidshare.com/files/34563809/YaHei.Consolas.1.11b.zip
解压后,复制到 /usr/share/fonts/zh_CN/TrueType 目录,并重命名为YaHei_Consolas.ttf:
sudo cp YaHei.Consolas.1.11b.ttf /usr/share/fonts/zh_CN/TrueType/YaHei_Consolas.ttf
3)、生成字体目录列表等命令:
cd /usr/share/fonts/zh_CN/TrueType/
sudo mkfontscale
sudo mkfontdir
sudo fc-cache /usr/share/fonts/zh_CN/TrueType/
4)、修改配置文件
sudo gedit /etc/fonts/conf.d/69-language-selector-zh-cn.conf
找到 行,添加 YaHei Consolas Hybrid (这个是字体的名字,不是字体的文件名,双击字体文件可以查看字体名)共有三处,都要添加
例如:
YaHei Consolas Hybrid
Bitstream Vera Sans Mono
DejaVu Sans Mono
WenQuanYi Zen Hei
AR PL UMing CN
AR PL ShanHeiSun Uni
WenQuanYi Bitmap Song
AR PL UKai CN
AR PL ZenKai Uni
5)、重启x-window
正常的话,在没重启x-window时就应该能看到效果,可以查看一下各软件菜单、网页内容、虚拟终端的字体应该都有变化了。另外打开Word文档,宋体也可以显示正常。
ubuntu 9.04 server pptpd vpn server 配置
This is a bug in Ubuntu 9.04 with pptpd you have to disable the logs in
/etc/pptpd.conf put a quote on logwtmp.
# Use wtmp(5) to record client connections and disconnections.
#
# logwtmp //加一个#注释掉这行
重启pptpd服务
再次连接应该正常了。
Setup a VPN server in Ubuntu 8.10 for iPhone
Why still Intrepid (Ubuntu 8.10) server? I just don’t have time to upgrade it. For a server, as long as it is secure and stable, no need for the cutting edge.
Why VPN? Check wiki. For me, I want to access some location sensitive files while I am on the iPhone via 3G network.
How? There is an excellent How-To in Chinese. I followed it and it works! This post is a summary of what I did.
For iPhone, three VPN protocols are supported: L2TP, PPTP and Cisco IPSec. I am going to install a pptpd on my Ubuntu server.
-
Get the server installed.
sudo apt-get install pptpd
-
Edit /etc/pptpd.conf file to setup the IP address for connected clients. Enable localip and remoteip to something like
localip 10.100.113.1 remoteip 10.100.113.2-4
-
Use /etc/resolv.conf to find the DNS of the system, and edit /etc/ppp/pptpd-options to enable ms-dns - something like
ms-dns 128.218.254.10 ms-dns 128.218.254.40
-
Set the VPN account by editing /etc/ppp/chap-secrets. For an account test with password TSET that can connect from any where
test pptpd TSET *
-
Restart the server by executing
sudo /etc/init.d/pptpd restart
-
Enable forward for Internet connection. First, edit /etc/sysctl.conf file to enable
net.ipv4.ip_forward=1
and
sudo sysctl -p
Second, use iptables (install by apt-get) to setup a route
sudo iptables -t nat -A POSTROUTING -s 10.100.113.0/24 -o eth0 -j MASQUERADE
-
Setup VPN in the iPhone by General > Network > VPN > PPTP. Enable Auto encryption level. Keep RSA SecurID off.
It should work now. -
Automatically enable iptables after rebooting. First, save the working iptables by
# iptables-save > /etc/iptables-rules
Second, edit /etc/network/interfaces to something like
# The primary network interface auto eth0 iface eth0 inet dhcp pre-up iptables-restore < /etc/iptables-rules
That is all I did and I don’t need to tweak other things as listed in the original post. I also tested on a windows xp machine, which works like a charm. Enjoy Ubuntu!
PS:
这里添加一下在Centos6.4遇到防火墙(iptables及iptables6)的问题解决方法:(Added at 2013.4.11)
iptables -F FORWARD #允许转发,默认是禁止的 iptables -t nat -A POSTROUTING -j MASQUERADE #全网段可NAT,不安全。 iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE #部分网段NAT,安全考虑可以使用这个命令。 iptables -A INPUT -i tun* -j ACCEPT #允许Tun*接口的所有传入连接 /etc/init.d/iptables save
ok,就这样应该就可以了。
Ubuntu 配置 vsftp+mysql
1、安装vsftpd
2、安装pam的mysql验证模块"pam_mysql.so"
3、配置vsftpd的PAM验证文件
Here is an example,注释掉原有的,添加最下面两行
# auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
# Note: vsftpd handles anonymous logins on its own. Do not enable
# pam_ftp.so.
# Standard blurb.
#@include common-session
#@include common-auth
#auth required pam_shells.so
account required pam_mysql.so user=yoursqluser passwd=p@ssw0rd host=localhost db=vsftpd table=user usercolumn=name passwdcolumn=passwd crypt=0 sqllog=1 logtable=log logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logtimecolumn=time verbose=1p@ssw0rd
#红色部分请根据自己的实际情况修改
4、修改vsftpd的配置文件
Here is an example,开启了ipv6的监听。
# listen=YES 这里注释掉是因为此项与listen_ipv6只能选一项,开启ipv6后自动侦听ipv4
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
guest_enable=YES
guest_username=ftp
anon_world_readable_only=NO
virtual_use_local_privs=YES
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
5、确定你对ftp目录的写权限
6、最后重启vsftpd服务,看看服务器好没好用?
好了,可以看看你的服务器是不是好了?
Connected to localhost.
220 (vsFTPd 2.0.7)
Name (localhost:ado): admin
331 Please specify the password.
Password: //这里输入密码但看不见
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r-- 1 109 1001 76 May 07 02:07 2.txt
drwxr-xr-x 2 109 1001 4096 May 07 01:10 a directory
-rwxr-xr-x 1 109 1001 1482 May 07 02:07 bridge
drwxr-xr-x 3 109 1001 4096 May 07 02:07 icc32
-rwx------ 1 109 1001 78771302 May 07 02:08 l_fc_p_10.1.015.tar.gz
-rw-r--r-- 1 109 1001 323 May 07 01:36 ls.txt
226 Directory send OK.
ftp> mkdir test
257 "/test" created
ftp> rm test
250 Remove directory operation successful.
ftp>exit
root@www:/home#
P.S.
mysql 数据库的建立
#mysql -u root -p123456
CREATE DATABASE ftp;
USE ftp;
CREATE TABLE user(name CHAR(20) BINARY,passwd CHAR(20) BINARY);
INSERT INTO user (name,passwd) VALUES ('test1','12345');
INSERT INTO user (name,passwd) VALUES ('test2','54321');
GRANT SELECT on ftp.user to ftp@localhost identified BY '123456';
flush PRIVILEGES;
quit
配置过程参考:菜鸟ubuntu8.04桌面版配置vsftp+mysql+pam 无法使用,Ubuntu 8.04 Desktop上的vsftp+mysql+pam_mysql
Ubuntu 中管理服务
添加一个服务
删除一个服务
临时重启一个服务
临时关闭一个服务
临时启动一个服务
Ubuntu也提供了另外一个简单的命令来实现管理。但首先服务必须已在/etc/init.d目录中存在。如:
添加一个服务: sudo update-rc.d ServiceName defaults
删除一个服务: sudo update-rc.d ServiceName remove
还可以安装另外一个比较强的工具: sudo apt-get install sysv-rc-conf sysvconfig
启动: sudo sysv-rc-conf 它可心配置各服务在各级别上的启动情况.
随时想启动某个服务, 可以这样: sudo /etc/init.d/ServiceName start
比如我要远程登录, 要用ssh服务: sudo /etcinit.d/ssh start (别的系统可能是sshd)
使用工具 sysv-rc-conf
sudo apt-get install sysv-rc-conf
sudo sysv-rc-conf
用空格键开启或关闭,标记X的为开启,设置完按q退出
下面简单介绍一下这几种运行等级:
runlevel 1:为单用户模式保留,对应/etc/rc1.d目录中的脚本。该运行等级通常在恢复系统时使用。
runlevel 2~5:应用于多用户模式,对应 /etc/rc2.d …… /etc/rc5.d目录中的脚本,通常可以自由定制。
runlevel 0:关机进程,对应 /etc/rc0.d
runlevel 6:重启进程,对应 /etc/rc6.d
runlevel S:开机进程中最先的运行等级,对应 /etc/rcS.d中的脚本
装载:ubuntu下apache ssl 配制方法
基于的Ubuntu版本Edgy,在Ubuntu下面安装配置Apache都比较简单。相应的配置文件位置如下:
默认站点在 /var/www/
配置文件在 /etc/apache2/
日志在 /var/log/apache/
启动脚本是 /usr/sin/apache2ctl 或者 /etc/init.d/apache2
1、安装Apache
2、开启SSL模块
3、创建证书
可以使用apache内置的工具创建默认的证书,通过-days指定有效期。
另外我们可以使用openssl来创建
注:在要求输入Common Name (eg, YOUR name) 时,输入你的主机名。
4、编辑SSL的配置
我们可以将当前的默认站点配置文件拷贝一份,然后进行修改
把端口改为443
加入SSL认证配置
其它的根据需要自己定制 与普通配置无异
ServerSignature On
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
ServerAdmin webmaster@localhost
#[......]
修改普通http方式的配置
把端口改为80
ServerAdmin webmaster@localhost
#[......]
编辑Apache端口配置,加入443端口(SSL的)
Listen 443
重新载入Apache的配置
或者重新启动Apache2
First: apache svn mysql 配置 on Ubuntu
dav_svn.conf 的配置:
#
# For details and further options see the Apache user manual and
# the Subversion book.
#
# NOTE: for a setup with multiple vhosts, you will want to do this
# configuration in /etc/apache2/sites-available/*, not here.
# <Location URL> ... </Location>
# URL controls how the repository appears to the outside world.
# In this example clients access the repository as http://hostname/svn/
# Note, a literal /svn should NOT exist in your document root.
Auth_MySQL_Info localhost mysqluser userpassword
Auth_MySQL_General_DB svndbinmysql
<Location /svn>
DAV svn
SVNParentPath /home/.svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /dev/null
AuthBasicAuthoritative off
AuthMYSQL on
AuthMySQL_Authoritative on
AuthMySQL_Password_Table user_info
AuthMySQL_Group_Table user_info
AuthMySQL_Empty_Passwords off
AuthMySQL_Encryption_Types Plaintext
Require valid-user
</Location>