我正在创建一个 Web 应用程序,我需要检查是否ia32-libs
已安装。这需要非 sudo 命令,因为它将由 运行www-data
。有人能帮我吗?我尝试在 aptitude 和 dpkg 中列出软件包,但没有成功。
附言:我使用基于 Debian 的发行版。
答案1
您可以使用以下命令行查询包的状态(无需 root 权限):
dpkg --get-selections ia32-libs
如果软件包已安装,您将获得以下结果(例如 Ubuntu Precise):
ia32-libs install
否则您将得到不同的东西(实际响应取决于您的语言环境设置)。
然而,最近的 Debian 和 Ubuntuia32-libs
已经将其变成了一个过渡包,以支持真正的多架构解决方案。您可以使用以下方式查询当前架构:
dpkg-architecture
在 x64 上会有一行
DEB_HOST_ARCH=amd64
您可以使用以下命令检查 i386 支持是否已启用:
dpkg --print-foreign-architectures
答案将包括i386
是否存在架构所需的库。
要添加架构,需要运行
dpkg --add-architecture i386
答案2
您可以通过以下几种方式实现此目的:
dpkg -l | grep ia32-libs
dpkg --get-selections | grep ia32-libs
您将获得根据请求安装的软件包列表。如果没有返回任何内容,则表示您没有该软件包。
来源:Debian 维基