在文件夹中/etc/apt/sources.list.d
我有文件:
谷歌-chrome-repo.list:
deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome-keyring.gpg] https://dl.google.com/linux/chrome/deb/ stable main
deb-src [arch=amd64 signed-by=/usr/share/keyrings/google-chrome-keyring.gpg] https://dl.google.com/linux/chrome/deb/ stable main
在文件夹中/usr/share/keyrings
我有一个名为google-chrome-keyring.gpg
如果我安装谷歌浏览器:
sudo apt-get install google-chrome-stable
那个烦人的第二个文件是用/etc/apt/sources.list.d
名称创建的google-chrome.list
,内容为:
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main
/etc/apt/trusted.gpg.d
以及名为的文件夹中的文件google-chrome.gpg
如果我不删除烦人的自动生成的文件/etc/apt/sources.list.d/google-chrome.list
,则命令:
sudo apt-get purge google-chrome-stable
会报如下错误:
E: Conflicting values set for option Signed-By regarding source https://dl.google.com/linux/chrome/deb/ stable: /usr/share/keyrings/google-chrome-keyring.gpg !=
E: The list of sources could not be read.
相反,我的目标是能够根据需要多次执行apt-get install
google apt-get purge
-chrome 操作,而不必每次都先删除自动生成的文件。
我怎样才能得到这个?有没有办法让apt-get
忽略该文件?
其他主题中提出的解决方案delete that file
并没有真正发挥作用。
我希望能够apt-get
直接使用上面写的而不是脚本或替代函数。
如果有一些Dpkg::Options::=
类似的东西那就太好了:
Of multiple coincident files in "sources.list.d", only consider the oldest one (the one created first).
我认为您明确要求的内容是不可能的(仅使用最旧的源文件)。
但是,您可以创建一个
DPkg::Post-Invoke
在使用apt
/后运行的命令dpkg
来删除您不需要的文件。/etc/apt/apt.conf.d/100post-invoke
使用以下内容创建文件(您可以将其命名为任何您喜欢的名称):apt install
现在,运行任何或命令后apt purge
,该文件/etc/apt/sources.list.d/google-chrome.list
将被删除(如果不存在则被忽略)。当然,您可以向文件添加任意数量的命令来自定义/
/etc/apt/apt.conf.d/100post-invoke
的行为。apt
dpkg