首页 > 未分类 > Linux(Ubuntu)配置问题集

Linux(Ubuntu)配置问题集

2016年12月7日

Linux(Ubuntu)配置问题集
http://www.cnblogs.com/zzqcn/p/3490218.html

目录

Cannot set LC_CTYPE to default locale: No such file or directory
设置额外的环境变量
设置额外的动态库查找路径
VMware Workstation中的Ubuntu Server虚拟机重启后共享文件夹消失
man文档不全
修改系统对消息队列的默认限制
选择更快的软件源
静态IP时配置DNS
隔离某些cpu核心
修改网络配置
启动或停止网络服务

正文

回到顶部
Cannot set LC_CTYPE to default locale: No such file or directory
安装Ubuntu Server版本(不带桌面环境)时,如果安装时的语言选择了中文,发现在字符界面很多命令的输出结果中包含菱形方块乱码。
我们可以修改 /etc/default/locale 文件把中文环境改为英文环境,来解决这个问题,方法是把关键的

LANG=”zh_CN.UTF-8″
LANGUAGE=”zh_CN:zh:en_US:en”
改为

LANG=”en_US.UTF-8″
LANGUAGE=”en_US:en”
其余项中包含zh_CN的也替换为en_US。如果此时重启或重新登录系统,会发现运行locale等命令时会提示以下错误:

Cannot set LC_CTYPE to default locale: No such file or directory
我们需要回过头来检查/etc/default/locale中的设置,确认其中设置的en_US.UTF-8和en_US都已生成locale文件。比如我们要生成 en_US:

sudo locale-gen en_US
生成成功后,重新登录系统,就不会出现上述问题了。

回到顶部
设置额外的环境变量
为了系统清洁和安全性,一般不动全局配置,只对当前用户进行设置。

例如想将路径/usr/local/bin加入PATH,方法是打开~/.profile或~/.bashrc,加入

export PATH=$PATH:/usr/local/bin
修改保存后,想使配置立即生效,请运行:

source ~/.profile
#或
source ~/.bashrc
回到顶部

设置额外的动态库查找路径
Linux搜索动态库(.so)的顺序是:

$LD_LIBRARY_PATH
/etc/ld.so.cache
/lib 和 /usr/lib
因此,我们只需仿照上一主题所提到的修改PATH的方式,修改~/.profile或~/.bashrc即可。
比如想把路径/usr/local/lib加入动态库搜索路径,则在以上两个文件之一加入:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

回到顶部
VMware Workstation中的Ubuntu Server虚拟机重启后共享文件夹消失
前提:已经安装好VMware Tools,且宿主机Win7上已经设置好了共享文件夹,并设置为“总是启用”,但是重启后共享文件夹看不到了,即/mnt/hgfs下没有任何内容。

重新执行脚本 vmware-config-tools.pl 可以解决这个问题,但这个脚本的执行过程需要挺长时间;

执行 sudo service open-vm-tools restart ,也可以解决问题,但每次输入这个命令,很麻烦,可以将此命令加到 /etc/rc.local 中(不加sudo)。

回到顶部
man文档不全
在ubuntu系统下,使用man查看一些指令是,有时候会得不到相应的帮助信息。这并不是说查看的命令不存在,而是ubuntu系统的man指令的相关内容不存在。
比如今天(2014.01.28)我在man sigwait的时候,就找不到相关的文档。
解决这个问题的办法是安装相应的库,在系统上把下面几个安装上就可解决问题了。
【注】下面的文件可能版本稍有区别,但大同小异

manpages
manpages-dev
libstdc++6-4.3-doc
manpages-posix
manpages-posix-dev
如果有需要看中文手册的,留意一下zh打头的,安装好后就可以看中文了。

命令示例:

# 安装sigwait函数所在的man文档
sudo apt-get install manpages-posix-dev

改编自来源:http://blog.sina.com.cn/s/blog_68ef34f00101bcas.html

回到顶部
修改系统对消息队列的默认限制
复制代码
sudo vi /etc/sysctl.conf
增加:

#mqueue max
fs.mqueue.msg_max=1000
fs.mqueue.msgsize_max=8192
fs.mqueue.queues_max=255
复制代码
保存,重启系统就已经修改过了。

回到顶部
选择更快的软件源
1. 备份默认的软件源列表

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2. 将里面的内容替换为163的源,也可以自己找快的源( http://wiki.ubuntu.org.cn/源列表 )

sudo gedit /etc/apt/sources.list
3. 更新源信息:

sudo apt-get update
如果更新的时候如果有问题, 按如下方法解决

apt-get update时出现错误:

W: GPG error: http://ftp.us.debian.org lenny-proposed-updates Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY AED4B06F473041FA

这个是由于PGP证书的问题,如下解决:

gpg –keyserver wwwkeys.pgp.net –recv-keys AED4B06F473041FA
gpg -a –export AED4B06F473041FA |apt-key add –

回到顶部
静态IP时配置DNS
使用管理员权限登录,编辑/etc/network/interfaces,找到dns-nameservers,加入DNS服务器地址

dns-nameservers 202.106.0.20 219.141.136.10
保存后重启即可。/etc/resolv.conf里的不要动,对它的修改会在重启后重置:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND — YOUR CHANGES WILL BE OVERWRITTEN
nameserver 202.106.0.20
nameserver 219.141.136.10

回到顶部
隔离某些cpu核心
某些机器(比如服务器)有多个CPU,每个CPU有多个核心(这里指逻辑核心)。如果在这些机器上运行一些性能攸关的多核程序,就需要把用到的cpu核心隔离起来,以防被系统调度到。

复制代码
1. vim /etc/default/grub
修改GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash isolcpus=1,2,3,4,7,8,9,10,11,13,14,15,18,19,20,21,22,23″
其中,1,2,3,4,7,8,9,10,11,13,14,15,18,19,20,21,22,23是要隔离的cpu核心编号

2. update-grub

3. 重新启动
复制代码

回到顶部
修改网络配置
编辑/etc/network/interfaces文件,该文件内容形如:

复制代码
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth1
iface eth1 inet dhcp
复制代码
修改完后重新启动该适配器:

ifdown eth1 && ifup eth1
当给虚拟机配置了多块网卡时(一些主机模式,一个NAT模式),在某些时候可能由于某种原因网卡配置被改变,导致无法远程登录,这个时候打开vmware设置,把相应适配器(如eth1)设置为NAT模式即可。

回到顶部
启动或停止网络服务
sudo /etc/init.d/networking restart
sudo /etc/init.d/networking start
sudo /etc/init.d/networking stop

分类: 未分类 标签:
本文的评论功能被关闭了.