Linux中更换软件源以及更新软件过程中报错的解决方法

最近在玩树莓派,刚装好系统之后进行软件的更新,发现系统自带的软件源由于是国外的站,奇慢无比不说还经常无法使用,如果想要正常的更新就需要更换为国内的软件源,目前国内的软件源有阿里、清华等。
在换源之后更新又出现了一系列的问题,下面会细说。

更换软件源

首先使用命令
lsb_release -c
来查看自己系统的系统代号,不同系统更改apt安装源时使用的代码也不一样,最新版本的Ubuntu系统的代号为bionic。之前版本的代号分别为:
Ubuntu 12.04 (LTS)代号为precise。
Ubuntu 14.04 (LTS)代号为trusty。
Ubuntu 15.04 代号为vivid。
Ubuntu 15.10 代号为wily。
Ubuntu 16.04 (LTS)代号为xenial。
以下为具体的操作步骤

  1. 在换源之前先备份官方的源文件以备不时之需

先进入源文件所在的目录


cd /etc/apt

执行备份命令


sudo cp sources.list sources.list.backup
  1. 修改源文件内容
    阿里源文件如下
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

如果你的系统不是最新,就把bionic改为相应的系统代号。
sources.list文件里的内容格式为
deb http://site.example.com/debian distribution component1 component2 component3
deb-src http://site.example.com/debian distribution component1 component2 component3
后面的参数是对软件包的分类,ubuntu下为main、restricted、universe、multiverse。
3.使用

sudo vim sources.list

打开文件并删除其全部内容,将阿里源文件内容全部复制进去,:wq保存退出。
4.使用

sudo apt-get update

-------------------------------分割线-----------------------------------------------

使用apt-get updeate命令进行软件更新时出现 E: 无法获得锁 /var/lib/apt/lists/lock”的错误
出现原因
装好的Ubantu系统,内部缺少很多软件源,这时,系统会自动启动软件源更新进程“apt-get”,并且它会一直存活。由于它在运行时,会占用软件源更新时的系统锁(以下称“系统更新锁”,此锁文件在“/var/lib/apt/lists/”目录下),而当有新的apt-get进程生成时,就会因为得不到系统更新锁而出现"E: 无法获得锁 /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)"错误提示!
大部分情况下是由于其他的程序如系统的自动更新等正在使用apt-get进程,将这一进程关闭即可。

解决方法
使用ps -e | grep apt查出软件更新进程所有带有apt-get的PID(通常是一个四位的数字),sudo kiil PID杀死正在运行的进程,再尝试使用sudo apt-get update进行升级。
如果还是不行,还有一种比较极端的方法,即将var/lib/apt/list/lock删掉即可,这种方法适用于上次更新没有正常关闭的情况

Linux中更换软件源以及更新软件过程中报错的解决方法相关推荐

  1. Ubuntu20.04更换软件源之后apt-get update报错

    Ubuntu20.04更换软件源之后apt-get update报错 按照网上的教程想更换清华的镜像 参考:https://blog.csdn.net/baidu_41617231/article/d ...

  2. Linux 中ifconfig和ip addr命令查看不到ip解决方法

    Linux 中ifconfig和ip addr命令查看不到ip解决方法 参考文章: (1)Linux 中ifconfig和ip addr命令查看不到ip解决方法 (2)https://www.cnbl ...

  3. android线程改变布局,Android线程中设置控件的值提示报错的解决方法

    本文实例讲述了Android线程中设置控件的值提示报错的解决方法.分享给大家供大家参考,具体如下: 在Android线程中设置控件的值一般会与Handler联合使用,如下: package com.y ...

  4. Linux中的软件源详解,Ubuntu Linux 软件源详解

    中国台湾 台湾大学更新服务器(推荐网通用户使用,强烈推荐此源,比较完整): deb http://Ubuntu.csie.ntu.edu.tw/ubuntu/ gutsy main restricte ...

  5. MySQL 中constant_thinkphp提示Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'报错的解决方法...

    在操作服务器的时候不知道怎么回事突然提示Undefined class constant 'MYSQL_ATTR_INIT_COMMAND',查找资料发现是php缺少pdo_mysql的扩展.:( U ...

  6. vc20++中使用scanf等函数8出现报错时解决方法

    在使用vc++2010编写C语言代码的过程中,scanf.strcpy.strlen.strcat等C语言提供的被认定为不安全的函数在代码运行的过程中会出现报错,为了保有代码的跨平台性和可移植性,不支 ...

  7. Linux中的软件源详解,linux软件管理构建本地源实例详解

    构建本地光盘源 1.将本地光盘挂载/mnt下, mount /dev/cdrom /mnt 2.在/etc/yum.repos.d/目录下创建自己的源文件,文件名称自定义,必须以repo结尾, 3.此 ...

  8. linux系统安装本地r包,linux环境下安装R包DESeq2的报错以及解决方法

    前段时间电脑卡死,强制关机后电脑无法启动,后重装系统,然后又重新安装R和rstudio,在安装R包DESeq2的时候出现一系列报错.首先,执行安装命令后,出现报错:ERROR: compilation ...

  9. java程序单引号报错_JavaScript中的单引号和双引号报错的解决方法

    在使用JavaScript显示消息或者传递字符数据的时候,经常会碰到数据中夹杂单引号(')或者双引号("),这种语句往往会造成JavaScript报错.对此一般采用/'或者/"的解 ...

  10. python3中报错的解决方法(长期更新)

    2019独角兽企业重金招聘Python工程师标准>>> 1.ImportError: No module named 'DjangoUeditor' 出错原因:安装DjangoUed ...

最新文章

  1. mysql中pi是什么意思,MySql delimiter的作用是什么
  2. 【ntp】虚拟机时间莫名异常
  3. 一 在应用中升级u-boot、内核以及文件系统
  4. Nexys4DDR+OV7670实现sobel算子边缘检测系统
  5. Matlab线性规划(Linear Programming)
  6. code dairy
  7. 大数据_MapperReduce_将Hbase的结果统计分析后保存到mysql中_自己动手写mapper和reducer---Hbase工作笔记0023
  8. 数论 + 公式 - HDU 4335 What is N?
  9. 关于win10 使用eclipse如何配置环境变量
  10. Vivado中的Incremental Compile增量编译技术详解
  11. Advanced Installer 历史版本下载
  12. 关于使用NLPIR-ICTCLAS分词系统
  13. App Store Connect新手指导
  14. gromacs 安装_GROMACS安装专述
  15. python 基础知识汇总
  16. 六安职院美和易思互联网+特色专业举行第一届HTML网页设计大赛
  17. sqlserver数据库实验 实验九 触发器的创建与使用
  18. 设计原则 单一职责原则、开放封闭原则、依赖倒置原则、里氏代换原则、迪米特法则
  19. 从LoRaWAN服务器thethingsnetwork.org获取应用数据
  20. java 生成时间戳

热门文章

  1. POWER BI | 注册
  2. 常见数学公式和符号的英文读法大全
  3. Flutter开发之——动画-Lottie
  4. Adobe软件注册机
  5. 漫画:互联网公司会议观察
  6. java进制转换方法
  7. Redis 下载安装(Windows版本)
  8. 【2022最新Java面试宝典】—— 多线程面试(60道含答案)
  9. 络达1562系统深度睡眠后RTC唤醒应用
  10. visio2013里画带箭头的折线连接线