apt(PPA) 源的恢复

本贴最后更新于 2014 天前,其中的信息可能已经渤澥桑田

avar

说明

在 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 源的缺失。

解决办法

  1. 复制正常的 /etc/apt/sources.list

    这样的方式会获得多一些的 apt 源,但这不能保证更新到正常源的全部,并且还会报公钥 GPG Keys 缺失的错误。同样的复制完全正常的整个文件夹 /etc/apt/ 也解决不了任何问题。

  2. 使用源列表生成工具

    这里找到一个名为 simplylinux 的网站。他提供了 RepoGen 工具,可以在线生成新的源列表。只需提供一些简单的配置,比如,所在的国家地区,Ubuntu 版本以及是否使用一些常见的第三方的源(第三方源要求 GPG Keys,网站会自动生成)。

    Screenshotfrom20190616221429

    你可以把 Ubuntu BranchesUbuntu Updates 全都选上,另外选择自己需要的第三方源。

    Screenshotfrom20190616221656

    最后在最底部点击生成列表按钮 Generate List 即可。

    我们可以选择复制文本到 sources.list 中,或者执行网站提供的下载重定向命令,看起来像这样的 curl https://repogen.simplylinux.ch/txt/bionic/sources_<code>.txt | sudo tee /etc/apt/sources.list。他会覆盖原本的 /etc/apt/sources.list 文件。

    Screenshotfrom20190616221856

    当然,前面提到的第三方源的 GPG Keys 添加方式也类似。该方法来源于 unix.stackexchange 社区对 Every package“has no installation candidate”问题的解答。

总结

很多时候我们对一些问题熟手无策,主要还是来源于不了解,来源于无知。最好的方法是保持好奇心,努力钻研。当然,面对计算机问题,还是多多上外网看看。英语很重要!英语很重要!英语很重要!这是计算机世界的源头。

  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    126 引用 • 169 回帖
  • apt源
    1 引用

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...