Archive for the ‘Linux’ Category.

虚拟机克隆Ubuntu启动网络报No such device eth0

在安装完Ubuntu Server 11.10及相关软件后,需要发给其他人使用,在启动系统后,执行ifconfig发现只有本地回路,之前设置好的eth0找不到了,执行
[php]
/etc/init.d/networking restart
[/php]
报No such device eth0错误,这是由于新克隆的虚拟机镜像的网卡mac地址已经变更,删除/etc/udev/rules.d/70-persistent-net.rules,重启系统,会自动生成该文件,并生效设置好的eth0
[php]
sudo rm /etc/udev/rules.d/70-persistent-net.rules
reboot
[/php]

解决SecureCRT下vim不高亮问题

在上篇文章中已经打开了vim的代码高亮开关,且能正确显示代码颜色,但在使用SecureCRT连接时,发现代码是以下划线显示,并不是代码高亮显示,需要修改服务器端的配置。

使用vim打开/etc/profile,在文件最后加上
[php]
export TERM=xterm-color
[/php]
然后保存退出,并执行
[php]
source /etc/profile
[/php]
这样就能正确显示代码高亮了。

vim配置高亮行号及智能缩进

在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号、语法高亮度显示、智能缩进等功能的。为了更好的在vim下进行工作,需要手动设置一个配置文件,该配置文件在/etc/下面,有些系统是在/etc/vim/下面,打开该文件并进行编辑,加入以下内容。

[php]
syntax on "语法高亮度显示
set number "显示行号
set autoindent "vim使用自动对起,也就是把当前行的对起格式应用到下一行
set smartindent "依据上面的对起格式,智能的选择对起方式,对于类似C语言编
set tabstop=4 "设置tab键为4个空格
set shiftwidth=4 "设置tab键为4个空格,第二行设置当行之间交错时使用4个空格
set incsearch "快速查找
set showmatch "设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号
[/php]

解决Unable to rewind rpc post data

在使用git提交项目到服务器上时,会提示Unable to rewind rpc post data – try increasing http.postBuffer
[php]
git commit -m "commit"
git push origin
[/php]
在提交的项目内容都很小时没有问题,如果文件较大,则会提交失败,提示
[php]
Unable to rewind rpc post data – try increasing http.postBuffer
[/php]
需要将http.postBuffer设置成适合的值
[php]
git config –global http.postBuffer 20480000
git config –list
[/php]
再次提交即可成功。

解决unable to locate package

在安装了Ubuntu Server 11.10后,要安装git软件,使用命令
[php]
sudo apt-get install git
[/php]
提示unable to locate package git

这是因为刚刚安装系统,没有更新软件源,使用命令更新软件包
[php]
sudo apt-get update
[/php]

在更新时却提示Failed to fetch http://xxx/xxx 404 Not Found,这是因为软件源访问不到了,需要更新软件源,找到/etc/apt/sources.list,使用vi编辑,加入以下源
[php]
deb http://ubuntu.cn99.com/ubuntu/ precise main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ precise-security main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ precise-backports main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu-cn/ precise main restricted universe multiverse
[/php]

再次执行
[php]
sudo apt-get update
[/php]
更新完成后,安装软件即可
[php]
sudo apt-get install git
[/php]

linux设置启用生成core文件

某些时候,需要监测程序异常退出的问题,可以使用生成core文件方式来定位问题

使用以下命令查看是否启用了core文件生成
[php]
ulimit -a
[/php]
Continue reading ‘linux设置启用生成core文件’ »

linux使用SSH协议上传下载文件

在linux的终端中使用ssh命令可以登陆到远程机器,若需要上传或下载文件的话,可以使用scp命令。

如要登陆到192.168.1.10的linux机器时,在本机使用ssh 192.168.1.10,回车后按提示输入用户名密码,登陆成功。

若需要上传文件,如要将本机的/home/a.txt上传到192.168.1.22机器上的/opt/目录中,则使用以下命令
[php]
scp /home/a.txt root@192.168.1.22:/opt/
[/php]
然后按提示输入root用户的密码

若需要下载文件,如要将远程机器中的/etc/test.txt下载到本南的/home/目录中,则使用以下命令
[php]
scp root@192.168.1.22:/etc/test.txt /home/
[/php]
然后按提示输入root用户的密码

编译ACE提示undefined reference to `in_word_set(char const *, unsigned int)’

使用linux编译ACE库,按照官网的步骤创建config.h文件和platform_macros.GNU文件后,使用make命令编译,结果提示以下错误:

[php]
/usr/local/ACE_wrappers/apps/gperf/tests/test.cpp:28: undefined reference to
`in_word_set(char const *, unsigned int)’
collect2: ld returned 1 exit status
make[4]: *** [cppout] Error 1
make[4]: Leaving directory `/usr/local/ACE_wrappers/apps/gperf/tests’
[/php]

其实是因为步骤少了一步,设置LD_LIBRARY_PATH的环境变量值,使用以下命令,重新编译即可:

[php]
export LD_LIBRARY_PATH=$ACE_ROOT/lib
[/php]

Ubuntu设置代理上网

有些时候机器在内网中,不能直接访问网络,需要通过代理,Ubuntu设置上网代理的方法如下:

1.设置apt代理上网,编辑apt.conf文件,使用如下命令

[php]
sudo vi /etc/apt/apt.conf

[/php]

然后加入如下内容:

[php]
Acquire::http::Proxy "http://10.72.13.116:808/";
Acquire::ftp::Proxy "ftp://10.72.13.116:2121/";
[/php]

最后保存文件

2.设置全局代理上网的方法,编辑~/.bashrc文件,使用如下命令

[php]
vi ~/.bashrc
[/php]

在文件最后加入如下内容

[php]
export http_proxy=http://10.72.13.116:808
export ftp_proxy=ftp://10.72.13.116:2121
[/php]

Suse Linux 字符E乱码解决

在Suse Linux Enterprise Server 10中,使用SSH连接,发现有乱码字符,经观察是由十六进制字符E引起的,其实解决这个问题很简单:

1.打开yast,打开“系统”, “/etc/sysconfig编辑器”,依次展开“System ->Environment ->Language”项。
2.打开RC_LANG,在setting of RC_LANG的下拉列表中选择POSIX,再点完成后,重启机器就行了。

当然,网上也有人说:
在/etc/profile里增加一项:export LC_CTYPE=”posix”
这种也是可行的。

重启后输入locale命令,可以发现LC_CTYPE=POSIX,生效。