1.使用apt-get命令安装软件提示 E: Unable to locate package sudo 的错误
Unable to locate packet就是无法找到包
重新更新软件包列表,这个命令通常是在安装新软件或者更新系统时进行的,以确保软件包列表的最新性:
apt-get update
以管理员权限(root权限)安装软件包,就可以了
sudo apt-get install
2.控制台乱码
在网上购买的服务器有的没有安装中文环境,这样除了显示的系统提示是英文的之外,还会导致中文乱码。
今天以Debian系统为例,分享一下Linux上中文语言及其环境配置。
2.1.安装语言包
首先我们需要安装locales
这个软件包:
sudo apt install locales
2.2.配置语言环境
执行下列命令配置语言环境:
sudo dpkg-reconfigure locales
出现配置界面如下:
在这里选择要安装的语言环境,通常我们不需要全部选择安装,选择需要的即可。
语言项非常多,通过鼠标滚轮、PageUp
或者PageDown
可以上下翻页,有的终端也可以用Home
和End
跳转到开头或者结尾,上下键逐个移动光标,翻到最下面可以找到中文语言环境:
按下空格即可选择,前面带星号(*
)即被选中,通常中文选择如图的zh_CN.GBK GBK
和zh_CN.UTF-8 UTF-8
这两个即可,最后按下回车确定。
然后就是默认语言设置:
在这里推荐Linux环境下使用zh_CN.UTF-8
这一项,回车确定,这样就配置完成了!
然后注销重新登录,或者重连服务器,语言配置就生效了。
2.3.配置后仍然不生效问题
在绝大多数情况下,完成上述配置,注销或者重启后,或者是重新连接服务器后配置就生效了,无需再做下面的操作,少数情况不生效可以通过环境变量再设置一下即可。
下面介绍locale
命令并提供几个方案,大家视情况选择其一即可。
1) locale
命令基本使用
首先执行下列命令查看已安装的语言环境:
locale -a
查看当前系统语言环境变量配置:
locale
2) 临时改变语言环境
在终端中设定LANG
环境变量即可,例如我要临时改变语言环境为zh_CN.UTF-8
:.
export LANG=
zh_CN.UTF-8
这样会立即生效,但是重启或者重新登录后失效。
3) 永久改变当前用户语言环境
进入用户目录,编辑.bashrc
即可:
cd ~ && vim .bashrc
例如永久改变我当前用户的语言环境为zh_CN.utf8
,则在.bashrc
文件末尾加入:
export LANG=zh_CN.utf8
4) 永久改变系统全局语言环境
在/etc/profile.d
中增加一个set-lang.sh
文件(可以自定义文件名),并在其中写上上述设定语言环境变量的命令即可。
cd /etc/profile.d && touch set-lang.sh && chmod +x set-lang.sh
比如说要设定系统语言环境为zh_CN.utf8
,则编辑set-lang.sh
内容如下并保存:
#!/bin/bash
export LANG=zh_CN.utf8
重启即可。
可见这几种方式虽然作用域不同,但是都是通过环境变量即可完成设定。
3.Docker容器内乱码问题
使用Docker容器的话配置locales
还是很麻烦的,因此不建议在容器中使用上述方式,只需要设定容器内语言环境变量为C.UTF-8
即可。
若是自己制作镜像,在Dockerfile中加入:
ENV LANG C.UTF-8
若是创建一个容器,加上如下环境变量参数:
-e LANG=C.UTF-8
这样,容器内的中文就可以正常显示了!
4.bash: sudo: command not found
这个就是没有安装sudo命令,使用超级权限安装
sudo apt-get install sudo