分类
学习笔记

在Ubuntu安装完成后更改默认的语言LANG,出现Cannot set LC_CTYPE to default locale: No such file or directory错误的解决办法

在安装ubuntu的时候选了中文,但后来发现SVN客户端需要utf8来支持中文。

于是修改 /etc/default/locale为:

LANG=”en_US.UTF-8″
LANGUAGE=”en_US:en”

但是,后来perl, locale,export LANG=en_US.UTF-8之类的命令都出现warning:

> locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=”en_US.UTF-8″
LC_NUMERIC=”en_US.UTF-8″
LC_TIME=”en_US.UTF-8″
LC_COLLATE=”en_US.UTF-8″
LC_MONETARY=”en_US.UTF-8″
LC_MESSAGES=”en_US.UTF-8″
LC_PAPER=”en_US.UTF-8″
LC_NAME=”en_US.UTF-8″
LC_ADDRESS=”en_US.UTF-8″
LC_TELEPHONE=”en_US.UTF-8″
LC_MEASUREMENT=”en_US.UTF-8″
LC_IDENTIFICATION=”en_US.UTF-8″
LC_ALL=

解决办法:

locale-gen en_US.UTF-8

如果Ubuntu Server在安装过程中,选择的是中文(很多新手都会在安装时选择中文,便于上手),这样在完成安装后,系统默认的语言将会是中文zh_CN.UTF- 8。但问题是我们安装的是服务器,只需要运行命令行终端,但在终端下无法正常的显示默认中文编码zh_CN.UTF-8。

可以有三种方法解决该问题,分别详细介绍如下。

第一种:安装zhcon软件包
$ sudo apt-get install zhcon
即可将zhcon软件包安装上,它其实就相当于一个Ubuntu的UC-DOS程序,是一个汉字外挂。既然是外挂就必然要占用一定的系统资源,根据实际需求可选用该方法。

第二种:使用putty、securteCRT等虚拟终端软件
直接修改虚拟终端界面配置项目中的字体编码为UTF-8即可。其实就是仍然采用了Ubuntu Server默认的zh_CN.UTF-8汉字编码,但在虚拟终端中经过“编码修正”后正确显示出来,因为Windows系统下是采用GBK作为系统默认 编码的,故在Windows下,无论是虚拟机,还是默认的虚拟终端界面,显示汉字都是乱码或菱形符号。该方法使用较广,但在实际终端下,仍然无法正常显示 汉字,因为此时系统的默认编码还是zh_CN.UTF-8,服务器上的实际终端还是不能认识zh_CN.UTF-8这种编码。故引出第三种方法。

第三种:修改Ubuntu的配置文件/etc/default/locale
将原来的配置内容修改为
LANG=”en_US.UTF-8″
LANGUAGE=”en_US:en”
再在终端下运行:
$ locale-gen -en_US:en
注销或重启后,Ubuntu Server真正服务器实体终端就恢复成了英文的语言环境。
所以,此方法不是真正意义上的中文化,而是恢复英文的默认编码

分类
学习笔记

ubuntu中svn服务端配置安装

1 通过apt-get安装subversion
apt-get install subversion
2 找个目录当做SVN的根目录
我选择的是/home/svn,以下命令也都是跟着这个目录走的,请按照自己的选择自行修改
3 创建一个库
我的叫做guodong.me,执行完毕后会发现自动在/home/svn/guodong.me/目录中生成了一堆东西,其中有一个叫conf的文件夹

svnadmin create guodong.me

4 接下来修改/home/svn/guodong.me/conf/下的三个文件,依次是:svnserve.conf、passwd、authz。他们三个作用分别是:主配置文件、密码配置文件、权限配置文件

5 vi conf/svnserve.conf
找到以下几项,按照如下的设置修改,去掉前面的注释,每一行的开头不能有空格

anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

6 vi conf/passwd

[users]
mantou = 123456

格式很简单,用户名、密码,每行一个,默认是明文保存

7 vi conf/authz

[groups]
develop = mantou

[/]
@develop = rw

这个配置稍微复杂点:[groups]组是设置用户组的,比如:我设置的develop可以理解为开发人员组,等号的后面是组的成员,每个成员之间用逗号分隔。接下来的[/]为具体的某个地址设置权限,用@develop代表为develop组设置权限,rw代表又能读又能写。还有其他的复杂用法,不过我只懂最简单最常用的,所以其他的都跳过。

8 启动服务

svnserve -d -r /home/svn

参数-d表示以守护进程模式启动,-r表示代码仓库的根目录,如果启动成功了,通过ps aux | grep svnserve可以看到进程,至此一个最简单的SVN服务就搭建好了。

然后把这个命令放到rc.local中,让每次开机都启动SVN服务。

9 接下来测试验证,在客户机上找个目录执行一下命令:

svn co svn://192.168.0.111/guodong.me –username=mantou –force

svn://192.168.0.111/guodong.me就是新建的代码仓库的地址,假设刚才的服务是建在192.168.0.111上的。参数–username是指定用户名的,不指定的话会以当前的系统用户登录,系统用户和SVN用户是不相干的两套,所以还是人工指定的好。–force参数可有可无,如果在同一个地址上反复测试,删了建建了删,SVN客户端会缓存住上一次成功checkout的UUID,如果删了再建UUID会发生改变,客户端校验不一致会提示“Repository UUID ‘xxx’ doesn’t match expected UUID ‘xxx’”,加–force参数就不理会这个校验,强行checkout。

如果顺利的话,会提示“Checked out revision 0.”,然后在当前目录下生成一个guodong.me的目录,里面就是代码仓库的代码了。

分类
日记

Ubuntu下添加开机启动脚本

1、方法一,编辑rc.loacl脚本

Ubuntu开机之后会执行/etc/rc.local文件中的脚本,所以我们可以直接在/etc/rc.local中添加启动脚本。

当然要添加到语句:exit 0 前面才行。

如: sudo vi /etc/rc.local

然后在 exit 0 前面添加好脚本代码。

2、方法二,添加一个Ubuntu的开机启动服务。

如果要添加为开机启动执行的脚本文件,可先将脚本复制或者软连接到/etc/init.d/目录下, 然后用:update-rc.d xxx defaults NN命令(NN为启动顺序),将脚本添加到初始化执行的队列中去。注意如果脚本需要用到网络,则NN需设置一个比较大的数字,如99。

1) 将你的启动脚本复制到 /etc/init.d目录下

以下假设你的脚本文件名为 test。

2) 设置脚本文件的权限

$ sudo chmod 755 /etc/init.d/test

3) 执行如下命令将脚本放到启动脚本中去:

$ cd /etc/init.d
$ sudo update-rc.d test defaults 95

注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。该命令的输出信息参考如下:

update-rc.d: warning: /etc/init.d/test missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
  Adding system startup for /etc/init.d/test ...
    /etc/rc0.d/K95test -> ../init.d/test
    /etc/rc1.d/K95test -> ../init.d/test
    /etc/rc6.d/K95test -> ../init.d/test
    /etc/rc2.d/S95test -> ../init.d/test
    /etc/rc3.d/S95test -> ../init.d/test
    /etc/rc4.d/S95test -> ../init.d/test
    /etc/rc5.d/S95test -> ../init.d/test
卸载启动脚本的方法:
$ cd /etc/init.d
$ sudo update-rc.d -f test remove

命令输出的信息参考如下:

Removing any system startup links for /etc/init.d/test ...
    /etc/rc0.d/K95test
    /etc/rc1.d/K95test
    /etc/rc2.d/S95test
    /etc/rc3.d/S95test
    /etc/rc4.d/S95test
    /etc/rc5.d/S95test
    /etc/rc6.d/K95test
分类
日记

[转载]Debian Ubuntu: PPTP VPN自动一键安装脚本

转载自:Debian Ubuntu: PPTP VPN自动一键安装脚本

自动安装PPTP VPN的安装脚本,适用于Debian或Ubuntu系统,支持OpenVZ架构的VPS。

注意:这个安装脚本并不能运行在所有的OpenVZ架构的VPS上,在BandwagonHost这家的VPS上安装成功。推荐系统环境:Debian 5,6和Ubuntu 11.04,12.04。

【检查PPP模块】

root帐户,通过SSH登录到你的OpenVZ VPS,敲入:

cat /dev/ppp

如返回下面一行,则表示PPP模块是开启着的。

cat: /dev/ppp: No such device or address

如果不是,唔,联系你的主机商吧,一般都会给开启的;或在SolusVM管理面板中开启,或关闭再重新打开。

【下载并运行脚本】

分别运行下面三行:

wget http://dadi.me/wp-content/uploads/dir/VPN/pptp_ovz_debian.sh

chmod +x pptp_ovz_debian.sh

./pptp_ovz_debian.sh

下面是一些安装选项简介:

1) Set up new PoPToP server AND create one user

# 键入1,回车、则安装PPTP服务,并创建一个用户。

2) Create additional users

# 键入2,回车、则添加用户。

Enter username that you want to create (eg. vpn or dadi.me):

# 需要创建的VPN登录所需的用户名。

Specify password that you want the server to use:

# 对应VPN用户的密码。

最后输入密码之后就开始自动安装了,或是添加用户。

【额外】

如果有些网站不能访问,PPTP VPN安装之后,还需要在登录SSH后敲入并运行:

iptables -I FORWARD -p tcp –syn -i ppp+ -j TCPMSS –set-mss 1356

【结语】

运行之后,选择2,是添加用户;这一步骤适用于其他脚本安装的PPTP VPN,貌似L2TP也是可以的。