喵哥好久不更新了,前段时间一直忙于秋招,然后就是实验室搬家。最近这两天搞了一个服务器玩玩,总算遇到了一个不错的素材。
乍看标题,似乎莫名其妙,其实是在解决更新apt源失败的问题过程中得出的经验之谈。这篇博客可能会比较“松散”,因为这里主要是说明解决问题的过程,算是一个记录,方便后面复习。
在搭建服务器的过程中,使用wget下载文件,或是apt install安装软件,或是apt update更新apt源都失败。具体如下图:
遇到这种问题简直要搞死人,想做的事情都做不了,服务器基本就没啥用了。这种情况持续了四五天,我也是在这四五天里一直在尝试各种解决方案。
最早发现这个问题是在安装软件的时候,当时以为是用的apt源有问题,所以就去/etc/apt/sources.list.d/sources.list里修改了apt源,当然在修改前需要做好备份:
sudo cp /etc/apt/sources.list.d/sources.list /etc/apt/sources.list.d/sources.list.bak
sudo vim /etc/apt/sources.list.d/sources.list
阿里源:
deb / bionic main restricted universe multiverse
deb / bionic-security main restricted universe multiverse
deb / bionic-updates main restricted universe multiverse
deb / bionic-proposed main restricted universe multiverse
deb / bionic-backports main restricted universe multiverse
deb-src / bionic main restricted universe multiverse
deb-src / bionic-security main restricted universe multiverse
deb-src / bionic-updates main restricted universe multiverse
deb-src / bionic-proposed main restricted universe multiverse
deb-src / bionic-backports main restricted universe multiverse
中科大源:
deb / bionic main restricted universe multiverse
deb-src / bionic main restricted universe multiverse
deb / bionic-updates main restricted universe multiverse
deb-src / bionic-updates main restricted universe multiverse
deb / bionic-backports main restricted universe multiverse
deb-src / bionic-backports main restricted universe multiverse
deb / bionic-security main restricted universe multiverse
deb-src / bionic-security main restricted universe multiverse
deb / bionic-proposed main restricted universe multiverse
deb-src / bionic-proposed main restricted universe multiverse
163源:
deb / bionic main restricted universe multiverse
deb / bionic-security main restricted universe multiverse
deb / bionic-updates main restricted universe multiverse
deb / bionic-proposed main restricted universe multiverse
deb / bionic-backports main restricted universe multiverse
deb-src / bionic main restricted universe multiverse
deb-src / bionic-security main restricted universe multiverse
deb-src / bionic-updates main restricted universe multiverse
deb-src / bionic-proposed main restricted universe multiverse
deb-src / bionic-backports main restricted universe multiverse
清华源:
deb / bionic main restricted universe multiverse
deb-src / bionic main restricted universe multiverse
deb / bionic-updates main restricted universe multiverse
deb-src / bionic-updates main restricted universe multiverse
deb / bionic-backports main restricted universe multiverse
deb-src / bionic-backports main restricted universe multiverse
deb / bionic-security main restricted universe multiverse
deb-src / bionic-security main restricted universe multiverse
deb / bionic-proposed main restricted universe multiverse
deb-src / bionic-proposed main restricted universe multiverse
可是修改了sources.list文件后,没法去更新apt源。喵哥想到因为每次都是尝试去连接192.168.187.145,有可能跟DNS服务器有关。
修改DNS服务器是在/f里,但是这里修改的DNS会在服务器重启,或者执行 resolvconf -u 后会变为默认的设置。那么在哪设置默认的DNS呢?
可以在/etc/f.d/base里面添加:
nameserver 223.5.5.5
nameserver 223.6.6.6
nameserver 8.8.8.8
nameserver 8.8.4.4
然后执行 resolvconf -u去刷新/f。
然而,这么尝试了还是行不通。第一次我放弃了,我把服务器给重置了,然后又重新开始配置服务器。
但是,第二次配置服务器的时候又遇到这个问题,总不能一直重置服务器吧。
因为不管是wget下载文件,还是apt安装软件、更新apt源,都是尝试去连接192.168.187.145这个IP,所以这个应该跟系统中的某个地方的设置有关,但是在哪呢?
喵哥第一反应是用grep 去找
grep 192.168.187.145 /
但是用grep在全局查找实在是太慢了,不想等。记得前段时间看到ack,ag比grep快很多,于是就用ack去尝试搜索:
ack 192.168.187.145 /
发现快很多,一下就出了结果:
可以看到,在/root/.zshrc中有一行代理设置用到了这个IP,难怪。。。
找到后就简单了,注释掉这一行就好了。
ack --help-types # 打印所有type类型
ack "include|RTSP" . # ack 'pattern1|pattern2|pattern3' 可以搜索含有 pattern1 或者 pattern2 或者 pattern3 的行
ack-grep hello
ack-grep -i hello
ack-grep -v hello # 反向选择,即过滤掉含 hello 的行
ack-grep -w hello
ack-grep -Q 'hello*'
ack -f --html # 打印类型是html的文件,不做具体的搜索,相当于find命令,html类型的文件大致包含: .html, .htm. 使用 ack -f --html -w index 方式是不对的,不能同时搜文件和文件内容。
ack -w --type=nojs css #查找不是js类型之外的其它文件,只要该文件含有单词css
ack -n "(^9999)|(^000)" #这种正则表达式和grep的类似,这里只是查找文件,不进入子目录进行递归(-n),它显示含有以9999或者000开头的行
ack -g log --cc # -g代表只搜索文件(会递归进子目录),这里的意思是搜索c类型的文件,其文件名相对路径含有字符log,输入如 *log*.c *log*.h 这样的文件。 ack -g log --cc -w aa,这样使用是不对的,不能同时搜文件和文件内容。ack --type-add=html:ext:shtml,xhtml #只影响当前的命令,必须配合搜索命令一起使用,如:ack --type-add=html:ext:shtml,xhtml --html -w body,或者 ack --type-add=html:ext:shtml,xhtml -f --html
echo "--type-add=html:ext:shtml,xhtml" >> ~/.ackrc #这个可以将增加某类型的类型定义保存起来,以后每次使用ack都会生效。--type-set=example: # 这个是改变或新建某类型的类型文件。
echo "--type-set=bashcnf:match:/.bash(rc|_profile)/" >> ~/.ackrc #这个是用正则式来定义类型参数,定义里一个叫bashcnf的类型,该类型匹配 .bashrc 或 .bash_profile 两个文件。
ack 'string1|string2' #搜索string1或string2.
这个zsh配置文件还不错:
本文发布于:2024-01-28 09:44:16,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17064062616531.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |