执行sudo cp dpkg /usr/bin/时出现cp: cannot overwrite directory '/usr/bin/dpkg' with non-directory错误的求助
执行
sudo cp dpkg /usr/bin/时出现cp: cannot overwrite directory '/usr/bin/dpkg' with non-directory错误的求助 看起来你的系统里/usr/bin/dpkg已经不是正常的可执行文件,而是变成了一个目录,这就是cp命令报错的核心原因——它没法用一个普通文件(你提取出来的dpkg可执行程序)去覆盖一个目录。别慌,咱们一步步来修复:
先确认一下当前
/usr/bin/dpkg的状态,执行这条命令:ls -ld /usr/bin/dpkg如果输出开头是
d(比如drwxr-xr-x),那就实锤它是个目录了。移除这个异常的目录,执行:
sudo rm -rf /usr/bin/dpkg放心用
-rf参数,这个目录本身就是错误生成的,本来就不该存在于这个位置。重新执行复制命令,把你提取好的dpkg可执行文件放到正确位置:
sudo cp ~/dpkg/usr/bin/dpkg /usr/bin/最后验证修复结果,输入:
dpkg --version如果能正常输出dpkg的版本信息,就说明问题解决了。
顺带提一句:这种情况大概率是之前的操作失误导致的,比如不小心在/usr/bin下执行了mkdir dpkg命令。以后操作系统关键目录时,多留意命令的执行对象哦。
备注:内容来源于stack exchange,提问作者Hitesh Kumar
相关产品推荐
相关产品推荐

