AWS apt安装错误=无法获取锁定/ var / lib / dpkg / lock - 打开(11:资源暂时不可用)

时间:2017-06-27 14:09:31

标签: amazon-web-services amazon-ec2

在p2.xlarge实例上使用Amazon Linux AMI(2017.03.1),并尝试sudo apt install {somepackage},我收到以下错误:

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

我已经尝试了

sudo rm /var/lib/apt/lists/lock

sudo rm /var/cache/apt/archives/lock

4 个答案:

答案 0 :(得分:1)

解决方案:

sudo rm /var/lib/dpkg/lock
sudo dpkg --configure -a
sudo apt install {somepackage}

答案 1 :(得分:1)

  1. 首先通过
  2. 查找该过程
  

sudo lsof / var / lib / dpkg / lock

  1. 然后确保该进程未运行 by
  

ps cax | grep PID #PID是进程ID,例如1111

  1. 如果显示PID(正在运行),则将其杀死{否则转到步骤5} by
  

sudo kill -9 PID

  1. 确保该进程已被杀死
  

sudo ps cax | grep PID

  1. 然后通过
  2. 删除锁定的文件
  

sudo rm / var / lib / dpkg / lock

     

sudo rm / var / lib / dpkg / lock-frontend#可选

  1. 最后使dpkg通过
  2. 修复其自身
  

sudo dpkg --configure -a

Reference From

答案 2 :(得分:1)

取决于您使用的映像,它可能在第一次运行时就安装了一些依赖项。
尝试:ps aux | grep -i apt如果返回以下内容:

root      2531  0.0  0.0   4624   772 ?        Ss   23:34   0:00 /bin/sh /usr/lib/apt/apt.systemd.daily install
root      2547  0.0  0.0   4624  1716 ?        S    23:34   0:00 /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held install

或类似的方法,您可能要等到所有必要的更新都将应用为止。

答案 3 :(得分:0)

请注意,实例可以配置为在配置时运行“UserData”脚本......这可能会导致安装和锁忙一段时间。

我遇到了类似的问题,经过一番调查,在我的实例模板的“UserData”部分发现了以下内容:

#cloud-config
package_update: true
package_upgrade: true
runcmd:
- yum install -y amazon-efs-utils
- apt-get -y install amazon-efs-utils
- yum install -y nfs-utils
- apt-get -y install nfs-common
- file_system_id_1=fs-74aa550f
- efs_mount_point_1=/mnt/efs/fs1
- mkdir -p "${efs_mount_point_1}"
- test -f "/sbin/mount.efs" && printf "\n${file_system_id_1}:/ ${efs_mount_point_1} efs tls,_netdev\n" >> /etc/fstab || printf "\n${file_system_id_1}.efs.us-east-2.amazonaws.com:/ ${efs_mount_point_1} nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0\n" >> /etc/fstab
- test -f "/sbin/mount.efs" && grep -ozP 'client-info]\nsource' '/etc/amazon/efs/efs-utils.conf'; if [[ $? == 1 ]]; then printf "\n[client-info]\nsource=liw\n" >> /etc/amazon/efs/efs-utils.conf; fi;
- retryCnt=15; waitTime=30; while true; do mount -a -t efs,nfs4 defaults; if [ $? = 0 ] || [ $retryCnt -lt 1 ]; then echo File system mounted successfully; break; fi; echo File system not available, retrying to mount.; ((retryCnt--)); sleep $waitTime; done;

这就是导致启动时锁定约 80-90 秒的原因。

我从模板中删除了此脚本,现在可以立即使用 apt-get