赞
踩
今天有个网友私信了个问题,说自己的ubuntu18.04系统下无法安装gcc,源无法正常使用:
无论是换成Tsinghua的源还是阿里的源都有同样的问题,一直报如下错误:
这种“无法安全地用该源进行更新,所以默认禁用该源”的错误网上有不少文章给出了解决方案,主要是采用以下两种方案进行排查:
1. 找到没有Release文件的源对应的行,在sources.list文件中删除该行;
2. 删除etc/apt/sources.list.d 目录下的所有文件。
但这次的问题通过以上两种方式操作后没有任何效果。
通过查看报错信息和/etc/apt/sources.list文件可发现,是这位网友在手敲sources.list文件时未按该文件要求的规则进行,导致apt-get update命令无法解析配置,从而报错。
正确的语法规则为:
deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
而这位网友写成了:
deb http://mirrors.163.com/ubuntu/bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/bionic-security main restricted universe multiverse
二者仅一个空格之差,却导致了天壤之别,这也同时说明了未理解sources.list中各字段的含义。
(不过很少有人手动去敲这个文件吧,不都是ctrl+c,ctrl+v么~)
将sources.list文件中的配置改正后,再执行以下命令即可正常安装gcc了:
# apt-get update
# apt-get install gcc
问题很简单,通过添加一个空格就可解决,但我觉得还是有必要记录下来,一是给类似问题提供一个解决思路,再一个希望能引导大家去深入理解一下linux各项功能实现的背后机理。
最后也希望大家在手敲代码时一定要认真仔细,否则出错真的不好排查。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。