说明
在 Ubuntu 下,很多时候我们会添加 apt 源,使用 apt update
更新后再进行软件的安装。但也有一些教程是教对文件 /etc/apt/sources.list
的修改,可如果我们忘记对文件进行备份,可能会把事情搞砸(好吧,我承认前面的这种情况只是我们臆想)。真实的问题是这样的,新装的 Ubuntu 系统,莫名奇妙的 apt update
执行后有些软件就是死活找不到。比如安装 sudo apt install gnome-tweak-tool
就是找不到 gnome-tweak-tool 这个软件。而且 apt search tweak
执行后啥也搜不到,很明显的是 apt source 的损坏或者缺失。这种问题在某些 docker 镜像中执行 apt 更新或者安装时也遇到过,当时以为是镜像的某种限制导致的。但后面的问题让我清晰的认识到就是 apt 源的缺失。
解决办法
-
复制正常的
/etc/apt/sources.list
这样的方式会获得多一些的 apt 源,但这不能保证更新到正常源的全部,并且还会报公钥
GPG Keys
缺失的错误。同样的复制完全正常的整个文件夹/etc/apt/
也解决不了任何问题。 -
使用源列表生成工具
这里找到一个名为 simplylinux 的网站。他提供了
RepoGen
工具,可以在线生成新的源列表。只需提供一些简单的配置,比如,所在的国家地区,Ubuntu 版本以及是否使用一些常见的第三方的源(第三方源要求GPG Keys
,网站会自动生成)。你可以把
Ubuntu Branches
和Ubuntu Updates
全都选上,另外选择自己需要的第三方源。最后在最底部点击生成列表按钮
Generate List
即可。我们可以选择复制文本到
sources.list
中,或者执行网站提供的下载重定向命令,看起来像这样的curl https://repogen.simplylinux.ch/txt/bionic/sources_<code>.txt | sudo tee /etc/apt/sources.list
。他会覆盖原本的/etc/apt/sources.list
文件。当然,前面提到的第三方源的
GPG Keys
添加方式也类似。该方法来源于 unix.stackexchange 社区对 Every package“has no installation candidate”问题的解答。
总结
很多时候我们对一些问题熟手无策,主要还是来源于不了解,来源于无知。最好的方法是保持好奇心,努力钻研。当然,面对计算机问题,还是多多上外网看看。英语很重要!英语很重要!英语很重要!这是计算机世界的源头。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于