【问题标题】:Properly Removing .deb Files正确删除 .deb 文件
【发布时间】:2016-07-20 16:32:12
【问题描述】:

我使用以下命令在带有 shell 脚本的服务器上安装了 LibreOffice

sudo -S dpkg -r LibreOffice_5.1.1.3_Linux_x86-64_deb/DEBS/*.deb

现在我想更改为不同的版本,并尝试使用以下方法卸载以前的版本:

sudo -S dpkg -i LibreOffice_5.0.6.3_Linux_x86-64_deb/DEBS/*.deb

产生错误

dpkg: 错误:你必须用它们自己的名字来指定包,而不是 引用它们进入的文件的名称

在做了一些研究之后,我发现了这个thread,看来我需要用实际的 debian 文件的名称来调用dpkg,但是执行dpkg -r libreoffice 会导致错误

dpkg:警告:忽略删除 libreoffice 的请求 已安装

我也尝试过使用sudo apt-get remove libreoffice-core,似乎没有成功。是否有一种自动删除所有已安装 .deb 文件的方法,以便我可以安全地安装新版本?

DEBS 文件夹中显示以下文件以供参考

libobasis5.1-base_5.1.1.3-3_amd64.deb
libobasis5.1-filter-data_5.1.1.3-3_amd64.deb
libobasis5.1-xsltfilter_5.1.1.3-3_amd64.deb libobasis5.1-calc_5.1.1.3-3_amd64.deb
libobasis5.1-gnome-integration_5.1.1.3-3_amd64.deb
libreoffice5.1_5.1.1.3-3_amd64.deb libobasis5.1-core_5.1.1.3-3_amd64.deb
libobasis5.1-graphicfilter_5.1.1.3-3_amd64.deb
libreoffice5.1-base_5.1.1.3-3_amd64.deb libobasis5.1-draw_5.1.1.3-3_amd64.deb
libobasis5.1-images_5.1.1.3-3_amd64.deb
libreoffice5.1-calc_5.1.1.3-3_amd64.deb libobasis5.1-en-us_5.1.1.3-3_amd64.deb
libobasis5.1-impress_5.1.1.3-3_amd64.deb
libreoffice5.1-debian-menus_5.1.1-3_all.deb libobasis5.1-en-us-base_5.1.1.3-3_amd64.deb
libobasis5.1-kde-integration_5.1.1.3-3_amd64.deb
libreoffice5.1-dict-en_5.1.1.3-3_amd64.deb libobasis5.1-en-us-calc_5.1.1.3-3_amd64.deb
libobasis5.1-librelogo_5.1.1.3-3_amd64.deb
libreoffice5.1-dict-es_5.1.1.3-3_amd64.deb libobasis5.1-en-us-math_5.1.1.3-3_amd64.deb
libobasis5.1-math_5.1.1.3-3_amd64.deb
libreoffice5.1-dict-fr_5.1.1.3-3_amd64.deb libobasis5.1-en-us-res_5.1.1.3-3_amd64.deb
libobasis5.1-ogltrans_5.1.1.3-3_amd64.deb
libreoffice5.1-draw_5.1.1.3-3_amd64.deb libobasis5.1-en-us-writer_5.1.1.3-3_amd64.deb
libobasis5.1-onlineupdate_5.1.1.3-3_amd64.deb
libreoffice5.1-en-us_5.1.1.3-3_amd64.deb libobasis5.1-extension-beanshell-script-provider_5.1.1.3-3_amd64.deb
libobasis5.1-ooofonts_5.1.1.3-3_amd64.deb
libreoffice5.1-impress_5.1.1.3-3_amd64.deb libobasis5.1-extension-javascript-script-provider_5.1.1.3-3_amd64.deb
libobasis5.1-ooolinguistic_5.1.1.3-3_amd64.deb
libreoffice5.1-math_5.1.1.3-3_amd64.deb libobasis5.1-extension-mediawiki-publisher_5.1.1.3-3_amd64.deb
libobasis5.1-postgresql-sdbc_5.1.1.3-3_amd64.deb
libreoffice5.1-ure_5.1.1.3-3_amd64.deb libobasis5.1-extension-nlpsolver_5.1.1.3-3_amd64.deb
libobasis5.1-python-script-provider_5.1.1.3-3_amd64.deb
libreoffice5.1-writer_5.1.1.3-3_amd64.deb libobasis5.1-extension-pdf-import_5.1.1.3-3_amd64.deb
libobasis5.1-pyuno_5.1.1.3-3_amd64.deb libobasis5.1-extension-report-builder_5.1.1.3-3_amd64.deb
libobasis5.1-writer_5.1.1.3-3_amd64.deb

【问题讨论】:

    标签: shell unix debian


    【解决方案1】:

    使用dpkg-query -l 获取已安装软件包的列表。您还可以使用 dpkg-query -l 'libre*' 在列表中搜索以“libre”开头的所有内容。

    然后您可以使用显示的包名称通过 dpkg 删除或清除它们。

    使用dpkg --remove PackageNameHere 将使配置文件保持不变并仅删除二进制文件。 使用dpkg --purge AgainYourPackageNameHere,您将删除与包相关的所有内容。

    【讨论】:

      【解决方案2】:

      我们也可以使用 dpkg-query -W 列出已安装的包。 例如搜索已安装的 sqlectron

      $>dpkg-query -W 'sqlec**' sqlectron 1.37.1

      然后您可以使用 dpkg -r|--remove 'package-name' 或 dpkg -P|--purge 'package-name' 命令删除包。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-06
        • 2023-03-04
        • 2018-02-23
        • 2016-02-26
        • 1970-01-01
        • 1970-01-01
        • 2011-08-11
        • 2016-12-16
        相关资源
        最近更新 更多