【问题标题】:What to do if dpkg nor apt-get will remove the program on Ubuntu?如果 dpkg 或 apt-get 将删除 Ubuntu 上的程序怎么办?
【发布时间】:2015-04-07 13:54:52
【问题描述】:

问题是我安装了一个.deb 文件,当我尝试用dpkg -r ... 删除它时,dpkg 声称已将其删除。不过,我可以输入“删除”命令,它仍然有效。

我需要把它取下来,因为我意识到我需要的是一个包含它的更大的程序。当我尝试在较大的程序上运行 make 时,它会尝试使用具有不同选项的较小的程序(较大的程序似乎假设较小的程序的更新版本)。

无论如何,我无法摆脱它只是很奇怪。我已经重新安装并尝试使用清除选项,尝试apt-get clean,尝试重新启动机器等。

任何想法将不胜感激。谢谢!

【问题讨论】:

  • 如果一切都失败了,也许手动删除可执行文件。
  • 好的,谢谢。我想到了这一点,但我不确定这是否会留下命令名称 - 或者这是否会成为问题:)
  • 没有“命令名”。在 shell 的搜索路径中有可执行文件,如果不存在则不会执行(显然)。
  • 啊,酷。不确定那是如何工作的。有效!非常感谢。
  • 但现在我有一个不同的问题,请参阅 Srdjan 的答案下的 cmets。

标签: linux ubuntu apt-get dpkg


【解决方案1】:

试试这个:

rm /var/lib/dpkg/info/program.*
dpkg --remove --force-remove-reinstreq program

将“程序”替换为您要删除的程序。

【讨论】:

    【解决方案2】:

    感谢 H2CO3:“如果一切都失败了,也许手动删除可执行文件.... 可执行文件 [是] 在 shell 的搜索路径中,如果不存在则不会执行”

    rm `which flop`
    

    flop 是程序的名称。

    【讨论】:

      【解决方案3】:

      警告!!!:只有在您知道该软件包不会对文件系统做任何疯狂的事情时才这样做!

      下载但不要安装 debian 软件包。然后运行

      $ touch clean_up.sh
      $ chmod +X clean_up.sh
      $ gedit clean_up.sh
      

      在文件中添加以下内容:

      #!/bin/bash
      
      all=$(dpkg -c steam*deb | awk '{print $6}')
      for item in $all; do
        #echo "Checking $item"
        item=$(echo $item | sed 's/^\.//g')
        if [[ -d ${item} ]]; then
          #echo "-is a directory. Skipping"
          continue
        fi
        echo "Removing file ${item}"
        sudo rm -f ${item}
      done
      

      之后,保存退出gedit并运行:

      ./clean_up.sh
      

      这将删除它在您的系统上静态删除的所有文件。

      【讨论】:

      • 要删除小可执行文件,您也可以运行 sudo rm -f $(which small_program_name) 再次,小心这个命令
      • 好的,我实际上运行了rm `which flop`,但是当我尝试使用 apt-get 重新安装我想要的版本时,它会安装。但后来我得到:$ flopbash: /usr/local/bin/flop: No such file or directory
      • 您认为安装失败的软件包可能没有这样做,但可能是它的依赖项之一。我会查找依赖项列表,看看它们是否包含 /usr/local/bin/flop
      • 谢谢,不过好像不是这样。
      • 啊,我明白了。新软件包将其安装到 /usr/bin/ 而不是 /usr/local/bin/。我之前一定是删除了符号链接而不是二进制文件。谢谢大家!
      猜你喜欢
      • 1970-01-01
      • 2018-11-07
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-20
      • 1970-01-01
      • 2021-07-05
      相关资源
      最近更新 更多