Linux 日常设置

Linux 日常设置

一些很重要但设置一次后基本后不会管的 Linux 系统设置。

这下面 xxxctl 都是 Systemd 的组件,虽然有争议,但确实为平时使用带来了不少方便。
不过既然有的不用 Systemd 或不能用Systemd(像容器里),还是把通用命令和具体配置文件也列出来了。

非必要请不要直接修改配置文件。

地区语言设置

查看当前语言设置主要涉及localectllocalelocale-gen(来自locales)等命令。建议使用 localectl

假如要将默认语言改为简体中文,对比如下:

localectl localelocale-gen 配置文件
查看当前语言 localectl status locale 1. /etc/locale.conf(Systemd)
2. /etc/default/locale
查看已安装语言 localectl list-locales locale -a
总是包括 POSIX、C、C.utf8
/etc/locale.gen
安装语言 自动生成 1. vim /etc/locale.gen,找到需要语言,取消注释。
2. 执行 locale-gen 生成语言
/etc/locale.gen
设置默认语言 localectl set-locale LANG=zh_CN.UTF-8
LANG= 可省略
将第一项配置文件的内容改为LANG=zh_CN.UTF-8

多用户使用时,可以将 export LANG=zh_CN.UTF-8 写入 .bashrc 等 Shell 初始化文件实现仅更改个人默认语言。

关于“桌面”、“下载”等目录名变成中文:
XDG 用户目录 - Arch Linux 中文维基
使用 LC_ALL=C.UTF-8 xdg-user-dirs-update --force 命令可以强制创建英语目录。

时间设置

日期时间、时区等的设置,涉及 timedatectldatetzselect 等。还是推荐 timedatectl

例子如下:

timedatectl datetzselect 配置文件
查看时间信息 timedatectl date
设置时间 timedatectl set-time "2002-02-02 01:01:01"
timedatectl set-time 01:01:01
date -s "2002-02-02 01:01:01"
date -s 01:01:01
设置时区 timedatectl set-timezone Asia/Shanghai tzselect
需手动设置时区
1. /etc/localtime,一般软链接到 /usr/share/zoneinfo/ 下的具体时区文件
2. /etc/timezone,供部分程序读取时区的文本文件
设置 NTP timedatectl set-ntp true

关于双系统时间不同步的问题:
Linux Windows 双系统时间不一致 - 少数派
系统时间#Windows_系统使用_UTC - Arch Linux 中文维基

主机名设置

主机名,即 Hostname

hostnamectl hostname 配置文件
查看主机名 hostnamectl hostname /etc/hostname
设置主机名 hostnamectl hostname [hostname] 只能临时修改
hostname [hostname]
hostname -F /etc/hostname 根据文件内容修改
更改配置文件中内容为所设主机名,重新登陆后生效