Moby: 如果 docker 从未工作过,则无法卸载它 (Ubuntu)

创建于 2013-05-14  ·  3评论  ·  资料来源: moby/moby

卸载将失败,因为prerm脚本无法停止 docker 实例(因为没有运行):

root<strong i="7">@hv</strong> ~ # aptitude purge lxc-docker
The following packages will be REMOVED:  
  lxc-docker{p} 
0 packages upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 4,483 kB will be freed.
Do you want to continue? [Y/n/?] 
(Reading database ... 56846 files and directories currently installed.)
Removing lxc-docker ...
stop: Unknown instance: 
dpkg: error processing lxc-docker (--purge):
 subprocess installed pre-removal script returned error exit status 1
docker start/running, process 11949
Errors were encountered while processing:
 lxc-docker
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install.  Trying to recover:

此脚本导致问题/var/lib/dpkg/info/lxc-docker.prerm ( docker/packaging/ubuntu/lxc-docker.prerm )

#!/bin/sh

# Stop docker
/sbin/stop docker

如果实例正在运行,脚本应该只尝试停止 docker。

最有用的评论

我在 Ubuntu 12.04 上遇到了几乎相同的问题。

错误

# apt-get purge lxc-docker 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  bsdtar
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  lxc-docker*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 4,753 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 235601 files and directories currently installed.)
Removing lxc-docker ...
stop: Unknown instance: 
dpkg: error processing lxc-docker (--purge):
 subprocess installed pre-removal script returned error exit status 1
docker start/running, process 1841
Errors were encountered while processing:
 lxc-docker
localepurge: Disk space freed in /usr/share/locale: 0 KiB
localepurge: Disk space freed in /usr/share/man: 0 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB
localepurge: Disk space freed in /usr/share/omf: 0 KiB

Total disk space freed by localepurge: 0 KiB

E: Sub-process /usr/bin/dpkg returned an error code (1)

为了解决这个问题,我只是做了一个肮脏的把戏,在预删除脚本/var/lib/dpkg/info/lxc-docker.prerm注释掉/sbin/stop docker /var/lib/dpkg/info/lxc-docker.prerm并且它通过了。

所有3条评论

谢谢你,丹尼尔! 接得好。 这已在 Debian 软件包中完成,我将更正此问题。

我在 Ubuntu 12.04 上遇到了几乎相同的问题。

错误

# apt-get purge lxc-docker 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  bsdtar
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  lxc-docker*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 4,753 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 235601 files and directories currently installed.)
Removing lxc-docker ...
stop: Unknown instance: 
dpkg: error processing lxc-docker (--purge):
 subprocess installed pre-removal script returned error exit status 1
docker start/running, process 1841
Errors were encountered while processing:
 lxc-docker
localepurge: Disk space freed in /usr/share/locale: 0 KiB
localepurge: Disk space freed in /usr/share/man: 0 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB
localepurge: Disk space freed in /usr/share/omf: 0 KiB

Total disk space freed by localepurge: 0 KiB

E: Sub-process /usr/bin/dpkg returned an error code (1)

为了解决这个问题,我只是做了一个肮脏的把戏,在预删除脚本/var/lib/dpkg/info/lxc-docker.prerm注释掉/sbin/stop docker /var/lib/dpkg/info/lxc-docker.prerm并且它通过了。

@dbanck@terrywang你能验证以下补丁对你

41cdd9b

此页面是否有帮助?
0 / 5 - 0 等级