![如何解决错误:警告:root:无法打开文件“/etc/apt/sources.list”](https://linux22.com/image/861199/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3%E9%94%99%E8%AF%AF%EF%BC%9A%E8%AD%A6%E5%91%8A%EF%BC%9Aroot%EF%BC%9A%E6%97%A0%E6%B3%95%E6%89%93%E5%BC%80%E6%96%87%E4%BB%B6%E2%80%9C%2Fetc%2Fapt%2Fsources.list%E2%80%9D.png)
wazir@wazir:~$ sudo software-properties-gtk
[sudo] password for wazir:
(process:15506): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
Cannot set locale: unsupported locale setting
WARNING:root:could not open file '/etc/apt/sources.list'
WARNING:root:could not open file '/etc/apt/sources.list'
Traceback (most recent call last):
File "/usr/bin/software-properties-gtk", line 104, in <module>
app = SoftwarePropertiesGtk(datadir=options.data_dir, options=options, file=file)
File "/usr/lib/python2.7/dist-packages/softwareproperties/gtk/SoftwarePropertiesGtk.py", line 89, in __init__
SoftwareProperties.__init__(self, options=options, datadir=datadir)
File "/usr/lib/python2.7/dist-packages/softwareproperties/SoftwareProperties.py", line 97, in __init__
self.reload_sourceslist()
File "/usr/lib/python2.7/dist-packages/softwareproperties/SoftwareProperties.py", line 585, in reload_sourceslist
self.distro.get_sources(self.sourceslist)
File "/usr/lib/python2.7/dist-packages/aptsources/distro.py", line 87, in get_sources
raise NoDistroTemplateException("Error: could not find a "
aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template
答案1
更改权限可能会有效:
sudo chmod -R 0644 /etc/apt/sources.list.d/
更新:我之前将模式设置为 0420,这在我的情况下有效,但根据评论和进一步测试,似乎 0644 是正确的。
答案2
在较新版本的 Ubuntu 中,sources.list 文件位于 /etc/apt/sources.list.d 中。因此,您需要从 official-package-repositories.list 创建一个指向旧位置的符号链接来解决这个问题:
sudo ln -s /etc/apt/sources.list.d/official-package-repositories.list /etc/apt/sources.list
答案3
您不应该使用
sudo
以 root 身份打开图形应用程序。您应该从 Ubuntu 软件中心安装 gksu 包,然后使用命令gksudo
而不是以sudo
root 身份打开图形应用程序。您也不应该以 root 身份运行 software-properties-gtk。如果您需要以 root 身份运行,应用程序将在弹出窗口中提示您使用用户密码进行身份验证。由于 software-properties-gtk 具有内置身份验证功能,因此您无需以普通用户身份运行它。
尝试正确运行 software-properties-gtk,看看是否仍然出现相同的错误。
Ubuntu 18.04 及更高版本
gksu 已在 Ubuntu 18.04 及更高版本中停用。要以 root 身份打开 software-properties-gtk,请运行以下命令:
sudo -H software-properties-gtk &>/dev/null
答案4
我认为需要执行权限,请尝试运行以下命令:
sudo chmod +x /etc/apt/sources.list.d