当我尝试删除一个包时,为什么 dpkg 说“说明符中的包名称非法”?

当我尝试删除一个包时,为什么 dpkg 说“说明符中的包名称非法”?

每当我在终端输入命令时:

sudo dpkg -r '/home/username/Downloads/virtualbox.deb'

我收到错误:

dpkg: error: --remove needs a valid package name but '/home/username/Downloads/virtualbox.deb' is not: illegal package name in specifier '/home/username/Downloads/virtualbox.deb': must start with an alphanumeric character

Type dpkg --help for help about installing and deinstalling packages [*];
Use `dselect' or `aptitude' for user-friendly package management;
Type dpkg -Dhelp for a list of dpkg debug flag values;
Type dpkg --force-help for a list of forcing options;
Type dpkg-deb --help for help about manipulating *.deb files;

Options marked [*] produce a lot of output - pipe it through `less' or `more' !

我该如何解决这个问题?

答案1

您不应该将 deb 文件传递​​给dpkg -r。您应该仅指定要删除的软件包名称。一旦您安装了 deb 文件,有关它的信息就会包含在 dpkg 数据库 ( /var/lib/dpkg/) 中,您可以使用dpkg -r package-nameapt-get remove package-name

尝试:

sudo dpkg -r virtualbox-4.1

或者

sudo apt-get remove virtualbox-4.1

将“4.1”替换为实际的 VirtualBox 版本。运行dpkg -l | grep virtualbox以检查确切的软件包名称。

相关内容