Linux 日常故障合集
Linux 日常故障合集
资料来源:
<>
更新
1
221.01.12 初始化
21.01.14 添加一些坑
导语
日常无论是主机还服务器,都是 debian 系,linux 免不了折腾,一些小问题也没法水文,开个集合贴.
终端中文乱码
终端中文乱码,这个大多数不支持中文字库…
通常 dpkg-reconfigure locales
设置 zh_CN.UTF-8 和 en_US.UTF-8 就足够了
有一天遇到个问题很奇怪,终端直接输入中文不乱码,vim/nano 乱码…
执行 locale
,一切正常.
1 | $ locale |
之后又在 ~/.bashrc
加入了,亦不起作用.
1 | # display Chinese in English environment correctly |
考虑到 Vim及Nano中文乱码 提到了 LANG 优先级很低,那么配置 LC_ALL 呢?
有在 ~/.bashrc
加上了一句,解决…
1 | export LANG="en_US.UTF-8" |
最后,感觉这个问题和优先级等都有关系,还是要去翻手册.
网线热插拔更新 Ip 问题
详情见 记网口热插拔 dhcp 更新几则
自动补全
切换到 root,一些命令自动补全失效…
参考 自动补全
1 | apt-get install bash-completion |
在 .bashrc 添加
1 | if [ -f /etc/bash_completion ]; then |
Sudo 失效
debian10 初始化安装后,sudo 是不可用状态.
首先切换到 root,安装 sudo
1 | apt install sudo |
添加普通用户到 sudo 用户组.
1 | usermod -aG sudo username |
通常这一步就完成了,但是在 debian10 上会遇到问题.提示 usermod 命令找不到.
1 | bash: usermod: command not found |
普通用户下输入 su -
而不是 su
,这样就能正常执行 usermod
命令了.
原因见下一节.
大量命令 Command not Found
原因官方在 NewInBuster 提到了.
- debian 10 中 su 命令在 util-linux 而不是 shadow
- 执行 su 后,PATH 环境变量将不再更改,导致 PATH 可能不再包含
xx/sbin
这样的路径.
官方提示的解决办法
su -
而不是su
sudo -s
或sudo -i
- 在
/etc/default/su
添加ALWAYS_SET_PATH yes
,这样 su 就变回来了.
这样始终还是不便,非官方解决办法.
- 在
/etc/login.defs
添加ALWAYS_SET_PATH yes
.这样 root 下 PATH 正常包含xx/sbin
这样的路径. - 副作用是在登录时候可能会有错误提示,但是没有影响.
Ifconfig Command not Found
ifconfig 命令早就被 ip 命令替代了,但是挡不住习惯,最好还是安装回来.
安装 net-tools 即可.
1 | sudo apt install net-tools |
但是吧,debian 10 下普通用户还是提示 ifconfig command not found
.
原因同上,PATH 不包含 xx/sbin
这样的路径,实在是烦,直接在 .bashrc
添加回来就行.
在 .bashrc
添加
1 | export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH" |
Systemd-resolved 无法返回 AAAA 类型地址
这是个老问题了,最近才特别去看看 -> resolved doesn’t handle DNS servers nicely that do not respond at all to AAAA queries (but do respond to A queries)
目前看起来还是没有解决, 遇到的人也很少.临时的解决方案是 编辑 /etc/nsswitch.conf
绕过 systemd-resolved. 在 debian 11 测试有效.
1 | hosts: mymachines files myhostname dns |