Ubuntu解决Github无法访问的问题

523 阅读2分钟

这个问题主要是因为电脑连接的应该是学校内网,导致Ubuntu下载YOLOv8官方模型的时候一直请求失败,下载不了。

看的是这位大哥的文章Ubuntu解决Github无法访问的问题_51CTO博客_github无法访问

首先编辑hosts文件

sudo vi /etc/hosts

然后把原始文件中的与​​github.com​​相关的内容先删除,再将如下内容放到文件的末尾:

140.82.112.25 live.github.com  
185.199.108.154 github.githubassets.com  
140.82.112.22 central.github.com  
185.199.108.133 desktop.githubusercontent.com  
185.199.108.153 assets-cdn.github.com  
185.199.108.133 camo.githubusercontent.com  
185.199.108.133 github.map.fastly.net  
199.232.69.194 github.global.ssl.fastly.net  
140.82.112.4 gist.github.com  
185.199.108.153 github.io  
140.82.114.4 github.com  
192.0.66.2 github.blog  
140.82.112.6 api.github.com  
185.199.108.133 raw.githubusercontent.com  
185.199.108.133 user-images.githubusercontent.com  
185.199.108.133 favicons.githubusercontent.com  
185.199.108.133 avatars5.githubusercontent.com  
185.199.108.133 avatars4.githubusercontent.com  
185.199.108.133 avatars3.githubusercontent.com  
185.199.108.133 avatars2.githubusercontent.com  
185.199.108.133 avatars1.githubusercontent.com  
185.199.108.133 avatars0.githubusercontent.com  
185.199.108.133 avatars.githubusercontent.com  
140.82.112.10 codeload.github.com  
52.217.223.17 github-cloud.s3.amazonaws.com  
52.217.199.41 github-com.s3.amazonaws.com  
52.217.93.164 github-production-release-asset-2e65be.s3.amazonaws.com  
52.217.174.129 github-production-user-asset-6210df.s3.amazonaws.com  
52.217.129.153 github-production-repository-file-5c1aeb.s3.amazonaws.com  
185.199.108.153 githubstatus.com  
64.71.144.202 github.community  
23.100.27.125 github.dev  
185.199.108.133 media.githubusercontent.com

修改完成后esc+:wq退出,然后安装一个nscd:

sudo apt install nscd

最后再重启一下nscd服务即可:

sudo /etc/init.d/nscd restart

PS:

这个方法应该是长期有效的,但是电脑过了长时间的休眠,需要重启一遍nscd服务,或者查看nscd服务状态是否在线

这里也记录一下什么是nscd服务

NSCD(Name Service Cache Daemon)是一种能够缓存 passwd、group、hosts 的本地缓存服务,分别对应三个源 /etc/passwd/etc/hosts/etc/resolv.conf。其最为明显的作用就是加快 DNS 解析速度,在接口调用频繁的内网环境建议开启。

这里利用 nscd 的 hosts 缓存服务来实现 linux 下的 dns 缓存。

NSCD(Name Service Cache Daemon)是服务缓存守护进程,它为NIS和LDAP等服务提供更快的验证。不管是什么系统,缓存是一项非常重要的机制,缓存的主旨就是提高客户端访问速度。

nscd --help

开启/停止/重启nscd服务

sevices nscd start | stop | restart

nscd 服务查看和清除

默认该服务在redhat或centos下是关闭的,可以通过services nscd start开启。缓存DB文件在/var/db/nscd下。可以通过nscd -g查看统计的信息,这里列出部分:

sudo nscd -g

清除缓存

nscd -i passwd

nscd -i group

nscd -i hosts

参考:

t.csdnimg.cn/cOSFf

t.csdnimg.cn/tu4Wl