AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1148108
Accepted
Dɑvïd
Dɑvïd
Asked: 2019-06-03 09:35:53 +0800 CST2019-06-03 09:35:53 +0800 CST 2019-06-03 09:35:53 +0800 CST

升级后无法清除 WINE(17.10 到 18.04 LTS)

  • 772

在将机器从 17.10 升级到 18.04LTS 后,之前愉快的 Wine 安装似乎很糟糕。鉴于报告的许多问题(以及Clem关于 Linux Mint 发现的有趣评论),我想我会吹掉旧的 Wine,然后按照Askubuntu 上的“规范”说明从头开始重新安装。

不幸的是,我没有走得很远。作为回应

sudo apt purge wine*

我收到错误消息:

[sudo] password for user: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package winehq.key
E: Couldn't find any package by glob 'winehq.key'
E: Couldn't find any package by regex 'winehq.key'

然而,因为which wine我得到了/usr/bin/wine,并dpkg给了我这个:

$ dpkg -l | grep wine
ii  fonts-wine              3.0-1ubuntu1  all          Windows API implementation - fonts
ii  libwine:amd64           3.0-1ubuntu1  amd64        Windows API implementation - library
ii  wine-stable             3.0-1ubuntu1  all          Windows API implementation - standard suite
ii  wine-stable-amd64       4.0.1~bionic  amd64        WINE Is Not An Emulator - runs MS Windows programs
ii  wine64                  3.0-1ubuntu1  amd64        Windows API implementation - 64-bit binary loader
ii  winetricks              0.0+20180217-1all          package manager for Wine to install software easily

我真的不知道接下来该怎么办。我已经完成了所有我能想到的关于我的错误消息的搜索,但我没有更聪明。而且我觉得我不应该继续安装新的 Wine,直到我删除了当前的(无聊的!)一个。

那么,我怎样才能摆脱这种酒呢?如果我应该/可以运行任何其他诊断程序,请告诉我,我会更新这个问题。

wine upgrade purge
  • 1 1 个回答
  • 274 Views

1 个回答

  • Voted
  1. Best Answer
    user000001
    2019-06-04T09:28:50+08:002019-06-04T09:28:50+08:00

    它不起作用的原因是当前目录中有一个文件与您尝试传递给的模式匹配apt。

    当 bash 在命令行中看到(未引用和未转义的)星号、问号或其他 glob 字符时,它会检查当前目录中的文件,如果有任何匹配模式,则包含特殊字符的单词将替换为匹配文件的空格分隔列表。如果您键入,您可以在终端中看到它

    echo *
    

    将打印当前目录下的文件/目录列表。在您的情况下,模式与位于当前目录中wine*的文件匹配,因此您的命令被转换为winehq.key

    sudo apt purge winehq.key
    

    这当然会导致错误消息,因为存储库中没有具有该名称的包。

    在这种情况下,我们希望 glob 模式不被 bash 解释,而是按字面意思传递给apt. 这是通过转义或引用特殊字符来完成的,如下所示:

    sudo apt purge wine\*
    

    或等效地:

    sudo apt purge 'wine*'
    

    您可能会看到它在不同的目录中工作的原因是,当没有文件与模式匹配时,glob 将保持原样,例如使用文字星号。因此,如果您在不同的目录中运行命令,它可能会起作用。但是为了安全起见,如果您希望将它们传递给您正在运行的命令,引用/转义任何特殊的 bash 字符总是一个好主意。

    nullglob可以通过使用命令设置 bash 选项来避免这种行为

    shopt -s nullglob
    

    如果启用此选项,则任何与文件不匹配的模式都将设置为 null 而不是保留其初始值,因此更容易发现此类错误。很遗憾,默认情况下没有启用此选项,它可以避免无数不稳定的错误,这些错误只有在当前目录中存在正确的文件时才会出现。

    • 3

相关问题

  • 在自定义安装以维护升级路径时,应遵循哪些准则?

  • 使用 apt-get upgrade 时如何强制安装内核更新?

  • 从 8.04 LTS 升级到 10.04 LTS 的体验?

  • 分销升级的合理途径

  • 在不使用标准升级系统的情况下升级有哪些替代方案?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve