dpkg是Debian的包管理器,因为Ubuntu是Debian的变体,在Ubuntu下也有这个工具。
两个常用的命令是:
dpkg -i package-file和dpkg -r package
分别表示安装和移除软件包。当然使用:dpkg -P package还可以做到移除软件包时,清除掉配置文件。
要查询已安装的软件包的状态,可以使用:dpkg-query -s packagecpu-name
下面谈一下我遇到的一个问题。我在arm64机器上安装amd64类型的包,弹出的错误为:
package architecture (amd64) does not match system (arm64)
装不上,有人给出解决办法:
sudo dpkg --add-architecture amd64
这样做以后就能装上了。个人认为,如果这样做能解决问题,当然很好;如果不能,还得寻找其他的解决途径。
这里说一下architecture的问题,一个编译好的软件是与操作系统类型,cpu架构都有关的。这个architecture就是cpu的体系结构。
命令一:
sudo dpkg --print-architecture
该命令用于显示本机的architecture,我在不同的机器上得到的结果有:arm64或amd64
命令二:
sudo dpkg --add-architecture architecture
这就是前面提到的那个问题的解决办法。
命令三:
sudo dpkg --print-foreign-architectures
比如你用命令二,增加了一个新的architecture,用这条命令就能打印出来。
命令四:
sudo dpkg --remove-architecture architecture
这和命令二相反,把之前增加的architecture去除。