hsi*_*nxh 193 configuration apt software-sources
每当我尝试运行时,我都会收到此警告sudo apt-get update
。
W: Duplicate sources.list entry http://archive.ubuntu.com/ubuntu/ precise-updates/main i386 Packages (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_precise-updates_main_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems
Run Code Online (Sandbox Code Playgroud)
以下是/etc/apt/sources.list
文件的输出:
deb http://archive.ubuntu.com/ubuntu precise main restricted
deb-src http://archive.ubuntu.com/ubuntu precise main restricted
deb http://archive.ubuntu.com/ubuntu precise-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu precise-updates main restricted
deb http://archive.ubuntu.com/ubuntu precise universe
deb-src http://archive.ubuntu.com/ubuntu precise universe
deb http://archive.ubuntu.com/ubuntu precise-updates universe
deb-src http://archive.ubuntu.com/ubuntu precise-updates universe
deb http://archive.ubuntu.com/ubuntu precise multiverse
deb-src http://archive.ubuntu.com/ubuntu precise multiverse
deb http://archive.ubuntu.com/ubuntu precise-updates multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-updates multiverse
deb http://archive.ubuntu.com/ubuntu precise-security main restricted
deb-src http://archive.ubuntu.com/ubuntu precise-security main restricted
deb http://archive.ubuntu.com/ubuntu precise-security universe
deb-src http://archive.ubuntu.com/ubuntu precise-security universe
deb http://archive.ubuntu.com/ubuntu precise-security multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-security multiverse
Run Code Online (Sandbox Code Playgroud)
我如何解决它?
Anw*_*war 232
您的 sources.list 确实有重复的条目。
首先让我们看看存储库行或源代码行的正确形式:
存储库源代码行的正确格式是
<type of repository> <location> <dist-name> <components>
Run Code Online (Sandbox Code Playgroud)
例如,回购线可以是这样的
deb http://archive.ubuntu.com/ubuntu precise main
Run Code Online (Sandbox Code Playgroud)
在这里,这意味着,存储库用于二进制包,它们托管在http://archive.ubuntu.com/ubuntu 中,此存储库适用于 Ubuntu 精确 (12.04),此存储库包含主要(由官方支持的软件)规范)组件。
类型:类型可以是deb
和deb-src
。deb
表示二进制存储库,其中deb-src
表示源存储库
位置: http://archive.ubuntu.com/ubuntu
存储库的位置。
Dist-name: Ubuntu 发行版的发行版名称。对于 Ubuntu 12.04 是precise
,对于 11.10 是oneiric
。
您可以访问 Ubuntu Wiki 以查看Ubuntu 版本及其代号的更新列表。
成分:它可以是main
,universe
,multiverse
和restricted
。这些词表示对软件包的支持级别和许可状态。
有关更多信息,请参阅此页面。
请注意,您可以在一行中添加一个或多个组件,因此“main”、“universe”、“restricted”和“multiverse”可以在一行中。另请注意,尽管您在一行中添加了多个组件,但 APT 系统会将它们视为仅包含一个组件的单独行。
所以,如果你sources.list
有这样的一条线
deb http://archive.ubuntu.com/ubuntu precise universe
Run Code Online (Sandbox Code Playgroud)
然后它不能有像下面这样的另一行(你的文件有)
deb http://archive.ubuntu.com/ubuntu precise main universe
Run Code Online (Sandbox Code Playgroud)
这相当于这两行
deb http://archive.ubuntu.com/ubuntu precise main
deb http://archive.ubuntu.com/ubuntu precise universe
Run Code Online (Sandbox Code Playgroud)
因为,您要复制Universe两次,因此该副本会出现错误。找到的每个重复项都会给出一个错误。
分析您的sources.list
文件后,我发现,这是默认情况下由 Ubuntu 提供的基本文件。您可以按照以下过程构建默认文件:
打开终端并首先将现有sources.list
文件重命名为sources.list.bak
file。(我们可以安全地删除它,但谨慎是好的)。
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
Run Code Online (Sandbox Code Playgroud)然后打开software-properties-gtk
构建一个新的。在终端或破折号命令提示符中键入以下命令并按Alt+F2
software-properties-gtk
Run Code Online (Sandbox Code Playgroud)
请注意,对于 Ubuntu 11.10 或更早版本,您必须gksu
在software-properties-gtk
命令之前使用
打开窗户后,
就是这样。您现在有一个sources.list
没有错误的默认文件。如果需要,可以将此文件与前一个文件进行比较。
sources.list.d
目录的文件有时,/etc/apt/sources.list.d
目录中的文件中可能会出现重复条目,APT 也会使用该文件。因此,您应该查看该目录并查看这些文件中是否有任何重复项。在同一个文件中不需要重复。
用户在执行sudo apt-get update
.
W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages)
W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main i386 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems
Run Code Online (Sandbox Code Playgroud)
但是http://dl.google.com
主/etc/apt/sources.list
文件中没有条目 with 。查看/etc/apt/sources.list.d/
目录,我们发现了这些文件:
的输出ls /etc/apt/sources.list.d/
:
aims-sagemath-precise.list
aims-sagemath-precise.list.save
dropbox.list
dropbox.list.save
fossfreedom-packagefixes-precise.list
fossfreedom-packagefixes-precise.list.save
google-chrome.list
google-chrome.list.save
google.list
google.list.save
sagemath-monolithic-precise.list
sagemath-monolithic-precise.list.save
Run Code Online (Sandbox Code Playgroud)
这些文件google-chrome.list
和google.list
是包含重复项的良好候选者。因此,有必要检查这两个文件的内容。
的输出cat /etc/apt/sources.list.d/google-chrome.list
:
deb http://dl.google.com/linux/chrome/deb/ stable main
Run Code Online (Sandbox Code Playgroud)
和 cat /etc/apt/sources.list.d/google.list
deb http://dl.google.com/linux/chrome/deb/ stable main
Run Code Online (Sandbox Code Playgroud)
因此,Apt 的来源中有重复的条目。由于google-chrome.list
只包含一个 apt 行并且它也列在google.list
文件中,我们可以使用以下命令安全地删除此文件
sudo rm /etc/apt/sources.list.d/google-chrome.list
Run Code Online (Sandbox Code Playgroud)
然后问题就解决了。
des*_*gua 81
对于 Ubuntu 12.04
图形化:
按Alt+F2并粘贴software-properties-gtk
(或者您可以打开“软件中心”,然后转到“编辑”>“软件源”)。转到“其他软件”选项卡,选择重复的条目,然后按“删除”按钮。
如果你需要一个命令行选项,这里是:
cat /etc/apt/sources.list | perl -ne '$H{$_}++ or print' > /tmp/sources.list && sudo mv /tmp/sources.list /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)
该命令执行以下操作:
cat
读取文件并传递perl
删除重复行的内容。然后将结果保存>
在临时文件中,然后移动该/etc/apt/sources.list
文件以替换原始文件。
Qas*_*sim 24
我不知道这有多糟糕,但我不喜欢sudo apt-get update显示重复条目。
顺便说一句,它并没有那么糟糕,它只是向您显示您有重复的条目。
source.list 文件是在 Ubuntu 安装中添加或升级应用程序的关键因素。这也被您的系统用于系统更新。该文件基本上是您的系统的路线图,以了解它可以在哪里下载用于安装或升级的程序。
它就像 Windows 更新
您可以使用Y PPA Manager通过几个简单的步骤删除重复条目
sudo add-apt-repository ppa:webupd8team/y-ppa-manager -y
sudo apt-get update
sudo apt-get install y-ppa-manager -y
Run Code Online (Sandbox Code Playgroud)
打开y-ppa-manager表单Dash
输入您的管理员密码
双击高级
扫描并删除重复的 PPA 并单击“确定”
扫描和删除重复的 PPA 需要一些时间(1 或 2 分钟)
Eri*_*lho 16
合作伙伴存储库在/etc/apt/sources.list
和 中复制/etc/apt/sources.list.d/precise-partner.list
。
只需删除那些“精确合作伙伴”文件,因为合作伙伴存储库已存在于sources.list
.
sudo rm /etc/apt/sources.list.d/precise-partner.*
Run Code Online (Sandbox Code Playgroud)
woj*_*jox 10
制作您的 sources.list 的备份副本:
sudo cp /etc/apt/sources.list{,.backup}
Run Code Online (Sandbox Code Playgroud)
现在删除原始并更新:
sudo rm /etc/apt/sources.list && sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
如果您无法在您的 中弄清楚,请source.list
执行以下操作:
sudo apt-get update
.应用程序 > Ubuntu 软件中心 > 编辑 > 软件源 > 其他软件
或者
系统 > 管理 > Synaptic 数据包管理器 > 设置 > 存储库
选择并删除重复条目。
对于 Ubuntu 9.10 - 12.04
有一个名为 Y-PPA-Manager 的应用程序可以做到这一点以及更多。
您可以像这样从终端安装它:
sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get upgrade
sudo apt-get install y-ppa-manager
Run Code Online (Sandbox Code Playgroud)
之后,只需启动应用程序并转到高级菜单。
然后选择“扫描并删除重复的 PPA”并点击“确定”。