Skip to main content

bug记录

Linux 更新报错

执行 sudo apt-get update 报错如下:

Err:5 http://archive.ubuntu.com/ubuntu bionic-backports InRelease
Couldn't create temporary file /tmp/apt.conf.WWtE1d for passing config to apt-key

其实是修改了 /tmp 目录权限,需要设置成 1777 ,对应 drwxrwxrwt,所以执行 sudo chmod 1777 /tmp 即可。

ssh 远程连接报错

ssh 连接所生成的 known_hosts 出现的问题:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:xxxxxxxxx.
Please contact your system administrator.
Add correct host key in C:\\Users\\xxx/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in C:\\Users\\xxx/.ssh/known_hosts:5
ECDSA host key for xxx.xxx.xxx.xxx has changed and you have requested strict checking.
Host key verification failed.

方法一:rm -rf ~/.ssh/known_hosts 优点:干净利索 缺点:把其他正确的公钥信息也删除,下次链接要全部重新经过认证

方法二:vi ~/.ssh/known_hosts,删除对应 ip 的相关 rsa 信息 优点:其他正确的公钥信息保留 缺点:还要 vi,还要找到对应信息,稍微优点繁琐

方法三:ssh-keygen -R 121.196.169.103,清除旧的公钥信息 优点:快、稳、狠 缺点:没有缺点

npm 使用报漏洞

在使用 npm install 时报错显示有漏洞

found 84 vulnerabilities (65 low, 7 moderate, 11 high, 1 critical)
run `npm audit fix` to fix them, or `npm audit` for details

其实就是 vue 提示有漏洞,开源直接按照提示,使用 npm audit fix 解决,然后使用 npm cache clean --force 清除缓存即可。

粘贴到 Vim 中的代码缩进混乱

终端处理粘贴的文本时,会存入键盘缓存 (Keyboard Buffer)。Vim 处理时,会把这些内容作为用户键盘输入来处理。所以如果 Vim 开启了自动缩进,那么在遇到换行符时,就会默认把上一行的缩进插入到下一行的开头。

要解决也很简单,Vim 编辑模式中有一个 Paste 模式,在该模式下,可将文本保持原样粘贴到 Vim 中。

在 Vim 中键入命令:

# 设置 粘贴模式
:set paste
# 取消 粘贴模式
:set nopaste

在粘贴模式下进行粘贴,就不会遇到缩进混乱的问题了。

防止 'rm -rf /' 误删除

建立回收站机制

将文件移动到一个特定目录,可以设置定时清楚回收站,或者在回收站里面的文件大小达到一定容量时(或者用时间做判断)执行删除操作以腾出空间。

  1. 在 /home/username/ 目录下新建一个目录,命名为:.trash
  2. /home/username/tools/ 目录下,新建一个 Shell 文件,命名为:remove.sh,输入内容:
TRASH_DIR="/home/username/.trash"
for i in $*
do
STAMP=`date +%s`
fileName=`basename $i`
mv $i $TRASH_DIR/$fileName.$STAMP
done
  1. 修改 ~/.bashrc, 用 remove.sh 替代 rm 命令
alias rm="sh /home/**username**/tools/remove.sh"
  1. 设置 /etc/crontab,定期清空垃圾箱,每天 0 点清空垃圾箱
0 0 * * * rm -rf /home/username/.trash/*