Ubuntu18.04更新apt时出现lock问题的解决方法

2019/12/16 Ubuntu

在Linux相关系统下更新apt或者使用apt-get命令安装软件包时常会出现dpkg相关文件被锁定的情况。个人总结了和该情况相关的一些解决方法,我自己也时常遇到这个问题,也当做是个cookbook来用,遇到的时候查看一下就能解决。

出现的问题

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)

E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

解决方法

  • 结束所有的apt进程:
    • 查找所有apt相关的进程:
        ps afx|grep apt
      
    • 并用命令结束:
        sudo kill -9 xxxxx      # xxxxx是进程号
      
  • 删除锁定文件:

    • 锁定的文件会阻止Linux系统中某些文件或者数据的访问,这个概念也存在于Windows或者其他的操作系统中。
      一旦运行了apt-get或者apt命令,锁定文件将会创建于/var/lib/apt/lists//var/lib/dpkg//var/cache/apt/archives/中,这有助于运行中的apt-get或者apt进程能够避免被其它需要使用相同文件的用户或者系统进程所打断。当该进程执行完毕后,锁定文件将会删除。

    • 移除对应目录下的锁文件:
        sudo rm -rf /var/lib/dpkg/lock
      

        sudo rm -rf /var/lib/dpkg/lock-frontend
      
    • 强制重新配置软件包:
        sudo dpkg --configure -a
      
    • 更新软件包源文件:
        sudo apt update
      
  • 删除锁定文件后配置软件包可能出现的问题

    • 问题描述:
        dpkg: error: parsing file '/var/lib/dpkg/updates/0006' near line 0: newline in field name `#padding'
      
    • 解决方法:
        sudo rm -rf /var/lib/dpkg/updates/0006
        sudo dpkg --configure -a
        sudo apt update
      

        sudo rm -rf /var/lib/dpkg/updates/*
        sudo dpkg --configure -a
        sudo apt update
      

重新执行相关安装

sudo apt-get install xxxx       # xxxx是软件包名

Search

    Table of Contents