Linux(Ubuntu)配置问题集
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() file for glibc resolver() generated by resolvconf()
# 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核心隔离起来,以防被系统调度到。
. 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"
其中,,,,,,,,,,,,,,,,,,23是要隔离的cpu核心编号 . update-grub . 重新启动
修改网络配置
编辑/etc/network/interfaces文件,该文件内容形如:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(). # 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
To be continued...
Linux(Ubuntu)配置问题集的更多相关文章
- MPI linux Ubuntu cluster 集群
在局域网内安装mpi,并进行并行计算.MPICH3. 下载源码: wget http://www.mpich.org/static/downloads/3.3.1/mpich-3.3.1.tar.gz ...
- Ubuntu命令集(持续更新)
Ubuntu命令集,生活工作汇总,没有顺序.(持续更新...) 1 pwd:没有参数,在终端现实我们当前所处的文件夹位置:ctrl+l:清除当前终端屏: 2 --------------------- ...
- Arch Linux 安装博通 BCM4360 驱动(Arch Linux, Ubuntu, Debian, Fedora...)
BCM4360 在2010年9月,博通完全开源的硬件驱动[1].该驱动程序 brcm80211已被列入到自2.6.37之后的内核中.随着2.6.39发布,这些驱动程序已被重新命名为 brcmsmac和 ...
- 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台
最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...
- Linux ubuntu 10.10安装OpenCv
在windows系统下已经成功做出了一个打开摄像头并检测人脸的小程序了. 开始转战linux,因为最终目标是将程序移植到嵌入式开发板上面. 但是,问题接踵而至~ 首先linux上面要安装OpenCv, ...
- windows远程连接Linux(Ubuntu)的方法
需要做的工作: 1.在Linux(Ubuntu)端安装.设置好SSH 2.下载putty,并通过putty的SSH连接登录Linux 一 .如何在Linux(Ubuntu)端安装.设置好SSH,获取I ...
- lampp 在linux ubuntu下自动开机启动
lampp 在linux ubuntu下自动开机启动 lampp在linux下是不会自动启动的.需要手工处理.如下: 假如,你的lampp安装在 /opt/lampp 目录下,那么可以如下处理: 1. ...
- remote desktop connect btw Mac, Windows, Linux(Ubuntu) Mac,Windows,Linux之间的远程桌面连接
目录 I. 预备 II. Mac连接Windows III. Windows连接Mac IV. Windows连接Ubuntu V. Mac连接Ubuntu VI. Ubuntu连接Mac VII, ...
- linux ubuntu系统下,adb不是内部命令 (如何才能让adb命令可以使用)
linux ubuntu系统下,adb不是内部命令 原文地址 linux ubuntu系统下,adb不是内部命令 解决方法: 1.sudo gedit ~/.bashrc 2.将下面的两句加到上面打开 ...
随机推荐
- C#泛型序列化困境
[C#泛型序列化困境] 问题的起因是这样,有一个需求,将JsonArray转化为List,JsonArray中的元素均是string,此string可被转化为int.float.或维持string.我 ...
- S EAI 客户主数据导入_test(detail)
一. 客户主数据模板导出 客户主数据和新联系人导入 Account_Config.ini文件 [Public] ConnectString=host="siebel://10.10.1.15 ...
- Axure 原型图 (转)
Axure RP是很有名的一个界面原型设计工具,可以灵活快捷的对C/S.B/S程序设计原型. 近期我要开发一个Android客户端,也打算使用Axure RP设计原型. 下载地址:http://pan ...
- Android开发之通过包管理器获取安装应用信息
最近在自己写一个APP,有一个模块需要获取手机应用的一些信息.坑还是有,但都基本踩过了,自己把他实现了出来,实现方法还是很需要掌握的.底部弹出的对话框中四个选项的实现不多做说明,主要讲讲如何获取这些安 ...
- Linux --centos7 开机启动设置
以Linux下指定sun用户在linux开机时执行/home/sun/startrun.sh为例: 以root登录linux 执行vi /etc/rc.d/rc.local 在文档末尾添加一行语句:s ...
- ultraiso制作ubuntu u盘启动
http://blog.csdn.net/yaoyut/article/details/78003061
- Homestead window10 storage:link 不能建立符号链接的处理办法
重启电脑 1. 以管理员身份运行 cmd 2. vagrant up 3. vagrant ssh 4. php artisan storage:link
- jmeter 调用jar包 本地加密
1.因为加密接口是有我们自己加密方式,所有加密包由开发提供,获得加密包后方式jmeter目录/lib/ext文件夹中 2.选择引入加密包 3.添加BeanShell Sampler和Debug Sam ...
- spring获取webapplicationcontext,applicationcontext几种方法详解(转载)
转载自 http://www.blogjava.net/Todd/archive/2010/04/22/295112.html 方法一:在初始化时保存ApplicationContext对象 代码: ...
- C#基础入门 五
C#基础入门 五 递归 递归调用:一个方法直接或间接地调用了它本身,就称为方法的递归调用. 递归方法:在方法体内调用该方法本身. 递归示例 public long Fib(int n) { if(n= ...