Kra*_*mir 62 package-management apt
我无法移除破损的包裹。使用以下命令:
sudo apt-get -f install
但我得到以下响应:
Preparing to unpack .../nodejs_0.10.28-1chl1~trusty1_amd64.deb ...
Unpacking nodejs (0.10.28-1chl1~trusty1) over (0.10.25~dfsg2-2ubuntu1) ...
dpkg: error processing archive /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb (--unpack):
trying to overwrite '/usr/share/man/man1/node.1.gz', which is also in package nodejs-legacy 0.10.25~dfsg2-2ubuntu1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Processing triggers for man-db (2.6.7.1-1) ...
Errors were encountered while processing:
/var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)
我尝试了各种命令,例如
2015 sudo apt-get clean
2020 sudo dpkg --configure -a
2023 sudo apt-get autoremove
2034 sudo apt-get upgrade && sudo apt-get -f install
Run Code Online (Sandbox Code Playgroud)
但我没有得到任何结果。我无法安装突触。任何想法如何删除损坏的包?
pre*_*mal 84
运行此命令以删除 ubuntu 中的损坏包。
sudo dpkg --remove --force-remove-reinstreq package_name
Run Code Online (Sandbox Code Playgroud)
删除软件包后,使用命令更新您的系统
sudo apt-get update
更新成功后重启系统。
小智 16
我发现:
sudo dpkg --remove --force-remove-reinstreq <packagename>
Run Code Online (Sandbox Code Playgroud)
效果最好。如果它给你一个错误,它不会删除一个包,因为它被另一个包所依赖,也删除那个其他包。您必须多次重复此步骤,然后重新安装已删除的软件包。
这force-remove-reinstreq是删除包的“核选项”。如果有另一个包取决于您要删除的包,它只会失败——同样,在这种情况下,也删除了依赖包。
g_p*_*g_p 15
打开终端并使用以下命令
sudo dpkg --purge nodejs-legacy
sudo apt-get install -f
Run Code Online (Sandbox Code Playgroud)
它应该可以解决您的问题。
Kra*_*mir 13
这解决了我的问题:
sudo dpkg -i --force-overwrite /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb
Run Code Online (Sandbox Code Playgroud)
小智 11
如果您有一个损坏的依赖项(我遇到过openjdk),您将需要清除包并强制它跳过依赖项问题:
sudo dpkg -P --force-depends package_name
Run Code Online (Sandbox Code Playgroud)
这是一个:
像这样更新你的包裹列表
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
然后清理所有部分包
sudo apt-get autoclean
Run Code Online (Sandbox Code Playgroud)
现在清理 apt 缓存
sudo apt-get clean
Run Code Online (Sandbox Code Playgroud)
现在删除任何不必要的依赖项
sudo apt-get autoremove
Run Code Online (Sandbox Code Playgroud)
从上面的命令中,您可以识别任何损坏的软件包并像这样强制删除它
sudo dpkg --remove --force-remove-reinstreq package_name
Run Code Online (Sandbox Code Playgroud)
最后清理任何其他带有依赖项的包
sudo apt-get -f install
Run Code Online (Sandbox Code Playgroud)
告诉我进展如何。
小智 5
以上没有对我有用。最终我编辑了 /var/lib/dpkg/status 文件并从那里删除了包。
艰难我不建议这样做,如果其他任何事情都失败了......
rm /var/lib/dpkg/info/<package_name>.*
Run Code Online (Sandbox Code Playgroud)
例子:
rm /var/lib/dpkg/info/elasticsearch.*
| 归档时间: |
|
| 查看次数: |
264365 次 |
| 最近记录: |