当我sudo apt-get upgrade
这样做的时候,已经有几周或更长时间了,我看到了这条消息,但我没有注意到它,因为我已经exercism
几个月不再使用这个应用程序了。
Illegal option -d
Usage: install [<option>...] [<path>]
Install exercism client to <path>. Default:
但现在它变得非常烦人,因为它弹劾我安装 postgresql-9.6
当我执行sudo apt-get upgrade
这里是我的日志。就好像执行install
命令绕过了其他命令一样。嗯,这就是我的理解。
Setting up postgresql-common (182.pgdg14.04+1) ...
Illegal option -d Usage: install [<option>...] [<path>]
Install exercism client to <path>. Default:
* determined interactively if possible
* /usr/local/bin if run as root
* /usr/local/bin if it is writable
* /home/code/bin otherwise
Options:
-v <version> Install client version <version>. Default: v2.4.0
-o <operating system> Install client for <operating system>. Default: linux
-a <architecture> Install client for <architecture>. Default: 64bit
dpkg: error processing package postgresql-common (--configure): subprocess installed post-installation script returned error exit status 64 dpkg: dependency problems prevent configuration of postgresql-9.6: postgresql-9.6 depends on postgresql-common (>= 171~); however: Package postgresql-common is not configured yet.
dpkg: error processing package postgresql-9.6 (--configure): dependency problems - leaving unconfigured dpkg: dependency problems prevent configuration of postgresql: postgresql depends on postgresql-9.6; however: Package postgresql-9.6 is not configured yet.
如何确定 apt-get update 调用的哪个命令导致了问题,从而确定系统中的哪些 exercism 已损坏。这是我的假设。
不幸的是我没有安装exercism
,checkinstall
所以我无法dpkg -r exercism
从我的系统中安全地删除它。真是可惜了,我平时都是这样的……
有没有办法让 apt-get 告诉我此时哪个命令失败了?它只是说“非法选项 -d”...但这不足以找到问题。
答案1
从日志中,明确提到install
:
Illegal option -d
Usage: install [<option>...] [<path>]
我认为这install
行为很奇怪。
为了知道确实调用了哪个可执行文件,我在 shell 中询问:
which install
结果/usr/bin/install
调用的不是那个,而是/usr/local/bin/install
……。
我重命名/usr/local/bin/install
为/usr/local/bin/install_exercism
,一切顺利。
which install
现在通常指的是/usr/bin/install
Postgresql 安装得很好,没有任何错误消息。