【问题标题】:AWS apt install error = Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)AWS apt install 错误 = 无法获得锁 /var/lib/dpkg/lock - 打开(11:资源暂时不可用)
【发布时间】:2021-07-22 22:25:35
【问题描述】:

在 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

【问题讨论】:

  • 这是在您启动后立即发生的吗?你知道是什么导致了这个问题吗?

标签: amazon-web-services amazon-ec2


【解决方案1】:

解决方案:

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

【讨论】:

    【解决方案2】:
    1. 首先查找该进程

    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. 然后删除锁定的文件by

    sudo rm /var/lib/dpkg/lock

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

    1. 终于让 dpkg 自行修复

    sudo dpkg --configure -a

    Reference From

    【讨论】:

      【解决方案3】:

      取决于您使用的映像,它可能会在第一次运行时安装一些依赖项。
      尝试: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
      

      或类似情况,您可能需要等到应用所有必要的更新。

      【讨论】:

        【解决方案4】:

        请注意,可以将实例配置为在配置时运行“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

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-12-09
        • 1970-01-01
        • 1970-01-01
        • 2021-01-12
        • 1970-01-01
        • 1970-01-01
        • 2012-11-13
        • 1970-01-01
        相关资源
        最近更新 更多