ubuntu20.04不能使用gcc以及源的配置(防踩坑)
适用情况
- ubuntu无法使用gcc
- ubuntu无法下载软件包
- ubuntu配置下载源
问题描述
刚安装好ubuntu20.04的时候,没有测试一些软件包能不能用。今天用的时候,就出现问题了。在终端使用gcc编译C文件的时候,出现了报错,报错内容是:
fatal error: stdio.h: no such file or directory(没有那个文件或目录)
compilation terminated.
一开始我以为是gcc的问题,就把gcc卸载了重新安装了一遍,但在用sudo apt-get install gcc的时候,出现了这个异常:
Some index files failed to download. They have been ignored, or old ones used instead
解决方案
一开始猜测的是源的问题,因为我之前在下载net-tools包的时候,也是碰到过一样的,但上次我换了源之后下载net-tools包的时候是成功的,现在下载gcc却不可以。原因可能是源对应的系统代号不是ubuntu本身的系统代号,我之前的源是xenial版本的,就刚好这个源下载的net-tools是可以的。
所以解决方案是:
1. 查看系统代号
lsb_release -a
输出的结果中codename就是系统代号
2. 修改sources.list中的源
sudo vi /etc/apt/sources.list
进入文件后,将源改成正确代号的源,清华,阿里云,163,中科大的源我都试了一下,感觉中科大的源还是比较稳定靠谱一点。
我的系统代号是focal,如果是别的代号,把focal改成别的代号就可以了“
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-backports main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-proposed main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-security main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-updates main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ focal main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-backports main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-proposed main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-security main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-updates main multiverse restricted universe
3. 刷新一下,使修改生效
sudo apt-get update
只要没有报错就说明配置成功
4. 把原来的gcc删掉
sudo apt-get remove gcc
5. 重新安装gcc
sudo apt=get install gcc
安装成功之后即可使用gcc