这种情况发生过两次,我按照说明安装软件,然后软件中心打开,然后在运行说明中的命令后立即关闭。第一次事件发生在我尝试安装 Mono 时。我按照他们的说明进行操作sudo tee /etc/apt/sources.list.d/mono-xamarin.list
。终端停止没有响应,所以我重新输入命令,它只是回显了它。所以我关闭它并再次尝试,但没有成功。所以我想检查软件中心是否只有 Mono cs 编译器,这时软件中心在打开后立即开始关闭,ubuntu 给了我这个错误
E: Type 'sudo' is not known on line 2 in the source list /etc/apt/sources.list.d/mono-xamarin.list
E: The list of sources could not be read
E: The package lists or status file could not be parsed or opened.
我将我的计算机格式化为早期的备份,但无法找到此错误的答案,也不知道自己做错了什么。
现在我尝试安装 Spotify,他们有类似的说明列表。
添加 Spotify 存储库
echo deb http://repository.spotify.com stable non-free | sudo tee /etc/apt/sources.list.d/spotify.list
所以我就这样做了,直到此时终端不再响应。我尝试“退出”来关闭它,但它只是回显了命令。在我手动关闭它之后,我检查了软件中心,看看我是否再次做了同样的事情,结果确实如此。当我尝试时,软件中心不会保持打开状态并返回相同的错误apt-get autoremove
E: Type 'exit' is not known on line 1 in source list /etc/apt/sources.list.d/spotify.list
E: The list of sources could not be read.
E: The package lists or status file could not be parsed or opened.
我的第一个问题是如何删除/修复该列表,第二个问题是如何sudo tee...
正确使用?
答案1
你的第一个命令
sudo tee /etc/apt/sources.list.d/mono-xamarin.list
是错误的。该命令等待输入并写入
/etc/apt/sources.list.d/mono-xamarin.list
因此只需删除文件
sudo rm /etc/apt/sources.list.d/mono-xamarin.list
并再次启动正确的命令,不要忘记
sudo apt-get update
你的第二个命令
echo deb http://repository.spotify.com stable non-free | sudo tee /etc/apt/sources.list.d/spotify.list
是正确的。执行此命令后,您将看到以下行
deb http://repository.spotify.com stable non-free
在您的/etc/apt/sources.list.d/spotify.list
。请检查
cat /etc/apt/sources.list.d/spotify.list
该命令tee
从标准输入读取并写入标准输出和文件。两个例子
echo "foo" | tee bar
将字符串写入foo
文件bar
。先前的内容将被覆盖。
echo "foo" | tee -a bar
将字符串附加foo
到给定的文件。
该命令tee bar
从标准输入读取并写入文件bar
开始测试
tee bar
输入一些单词并以Ctrl-结束C。现在开始
cat bar
查看您的更改。
例子
% tee bar
foo
foo
bar
bar
^C
% cat bar
foo
bar
答案2
我想我搞明白了。我转到软件和更新中的“其他软件”,并从列表中删除了行为不当的存储库。然后我sudo apt-get autoremove
这样做了,这次它没有在错误处停止,所以我能够继续处理sudo apt-get update
,并且能够再次打开软件中心并保持打开状态。我仍然收到类系统错误,说 spotify.list 中的第 2 行上的“退出”未知。我仍然不知道如何删除它。