Rya*_*tte 21 command-line apt repository
我正在寻找/etc/apt/sources.list
从命令行恢复到默认值的最佳方法。
有没有办法引用生成这个文件的包的源代码或类似的东西?我想要一种受信任且与版本无关的方式来恢复此文件。
在将其标记为重复之前,请注意我已经查看了此问题。仅当您有可用的 Ubuntu GUI 时才适用。这个问题特定于命令行。
我还审查了这个问题,其中接受的解决方案是有人粘贴了他们sources.list
文件的内容。这不是恢复文件的适当方法,因为无法验证提供文件内容的人的意图,并且该文件可能会随着新版本而更改。
我在 simplelinux.ch 上查看了生成器,但这也不是来自 Ubuntu,所以我不打算使用它。
mur*_*uru 24
我不确定你想要什么,但是:
<cctld>.archive.ubuntu.com
,其中两个字符的短代码是国家代码顶级域。您可以在Launchpad找到其他镜像及其状态。lsb_release -sc
来找出它,它是小写的发行版漂亮名称的第一个单词(trusty
例如,对于 Trusty Tahr)。<codename>
,<codename>-security
,<codename>-updates
,<codename>-backports
和<codename>-proposed
。第一个是必要的,因为它是基础,强烈推荐第二个,因为它包含安全修复程序,第四个仅当您需要从较新版本向后移植一些包时,第五个仅当开发人员要求您启用它以测试可能的使固定。main
,multiverse
,universe
和restricted
(什么是多元宇宙,宇宙,限制,主要的区别?)因此,您始终可以创建一个sources.list
仅包含以下内容的保险箱:
deb http://archive.ubuntu.com/ubuntu <codename> main multiverse universe restricted
deb http://archive.ubuntu.com/ubuntu <codename>-security main multiverse universe restricted
Run Code Online (Sandbox Code Playgroud)
如果你想要一个命令来做到这一点:
printf 'deb http://archive.ubuntu.com/ubuntu %s main multiverse universe restricted\n' "$(lsb_release -sc)"{,-security} > /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)
或者,lsb_release
不可用,/etc/os-release
从base-files
包中使用:
printf 'deb http://archive.ubuntu.com/ubuntu %s main multiverse universe restricted\n' "$(. /etc/os-release; printf "%s" "$UBUNTU_CODENAME")"{,-security} > /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)
除了 Launchpad 列表之外,Software Sources 程序提供的列表来自/usr/share/python-apt/templates/Ubuntu.mirrors
,也就是来自python-apt-common
包。此包只是 的间接Suggests依赖项apt
,因此默认情况下它可能不会安装在服务器上。
如果您了解 中的每一行代表什么/etc/apt/sources.list
,您就可以生成自己的列表。例如,我的一行sources.list
是,
deb http://archive.ubuntu.com/ubuntu/ trusty main
Run Code Online (Sandbox Code Playgroud)
它有4个部分:
deb
这里,这意味着它是所有二进制包的存储库。只有其他可能的值是deb-src
它的源代码存储库。第 3 部分:它包含您正在使用的版本的代号(和频道名称),在本例trusty
中是我的 Ubuntu 版本 (14.04 LTS) 的代号。你可以通过lsb_release -sc
. 例如,如果您使用的是 12.04,则代号将为“精确”。现在声明其他通道,例如声明您需要使用的安全通道trusty-security
。
第 4 部分:此部分包含存储库的“部分名称”。通常使用 4 个部分名称:main
, restricted
, universe
, multiverse
。您可以将所有部分名称放在声明存储库的同一行中,也可以为每个部分使用不同的行,但不得有任何重复条目。如果您阅读/etc/apt/sources.list
,那么您将看到每个部分包含的包的描述。
归档时间: |
|
查看次数: |
58227 次 |
最近记录: |