企业 Qt Debian 软件包

要使用 Qt 的企业 Debian 软件包,请将您的企业仓库添加到高级打包工具 (APT)。有关详细信息,请参阅Debian 仓库配置格式

要使用企业仓库,您需要

注意:有关更多详细信息和支持,请联系我们。有关免费试用信息,请参阅Qt 软件免费试用

Debian 仓库配置格式

要将额外的仓库添加到 APT,请将仓库插入到 /etc/apt/sources.list.d 目录下的 .list 扩展名文件中。对于每个仓库,在文件中添加一个新的条目。通用格式如下

deb [arch=<arch> signed-by=<path>] <REPO_URL> <DIST> <COMPONENT(s)>

企业仓库条目的示例

$ sudo nano /etc/apt/sources.list.d/tqtc.list

    deb [arch=arm64 signed-by=/home/<user>/keyrings/tqtc/qt-company-debian-repo.gpg] https://debian-packages.qt.io/debian/enterprise/qt-6.8.0-arm64 tqtc-jammy main

有关针对每个 Qt 版本和架构如何配置仓库的详细信息,请参阅Qt 发布版本仓库信息

安装公共 GPG 键

按如下方式为企业 Qt Debian 仓库安装公共 GPG (GNU Privacy Guard) 键

$ mkdir -p $HOME/keyrings/tqtc  # pick a suitable location for you!
$ cd $HOME/keyrings/tqtc
$ wget https://cdn.qt.io/debian/keys/qt-company-debian-repo.gpg

配置认证

要访问列出的仓库,您需要一个企业 Qt 账户或评估 Qt 账户。

注意:如果您的密码包含特殊字符,您可能需要使用 '\''%40' 来转义这些特殊字符。

按如下方式配置 APT 包管理器的 Qt 账户凭证

$ sudo nano /etc/apt/auth.conf

      machine https://debian-packages.qt.io
      login <Qt Account login name (email)>
      password <Qt Account password>

更新本地包缓存

按如下方式更新本地包缓存

$ sudo apt-get update

输出中不应有任何错误来自添加的仓库。

Debian 别名包

您可以使用别名包更轻松地安装内容,这些别名包只是指向实际 Debian 包的元包。

以下表格列出了 Debian 别名包的内容。

注意:以下别名包示例中使用的是 Qt 6.7.0 版本。始终记得使用与您正在工作的 Qt 版本匹配的包。有关更多信息,请参阅Qt 发布版本仓库信息

别名包名称包内容
qt6.7.0-essentials
qt6.7.0-essentials-dev
  • 基本模块库
  • 基本模块头文件
  • 基本模块私有头文件
  • 基本模块运行时工具
  • 基本模块开发工具
qt6.7.0-full
qt6.7.0-full-dev
  • 所有模块库
  • 所有模块头文件
  • 所有模块私有头文件
  • 所有模块运行时工具
  • 所有模块开发工具
qt6.7.0-full-dbg

Debian 安装命令示例

$ sudo apt install qt6.7.0-full-dev

完整配置示例

以下代码片段演示了使用企业 Qt Debian 软件包的完整工作流程

# install repository key
$ mkdir -p $HOME/keyrings/tqtc
$ cd $HOME/keyrings/tqtc
$ wget https://cdn.qt.io/debian/keys/qt-company-debian-repo.gpg

# configure Qt Account based authentication to Qt Debian repositories
$ sudo nano /etc/apt/auth.conf
  machine https://debian-packages.qt.io
  login <your Qt Account email>
  password <your Qt Account password>

# add repositories
$ sudo nano /etc/apt/sources.list.d/tqtc.list
    deb [arch=arm64 signed-by=/home/<user>/keyrings/tqtc/qt-company-debian-repo.gpg] https://debian-packages.qt.io/debian/enterprise/qt-6.8.0-arm64 tqtc-jammy main

# update local package cache
$ sudo apt-get update

# search and install packages
$ apt-cache search qt6.7.0-full-dev
....
....
# files are installed under /opt/qt-6.7.0
$ sudo apt install qt6.7.0-full-dev

请参阅 Qt 发布版的存储库信息,以便将所需存储库添加到您的 /etc/apt/sources.list.d/tqtc.list 文件中。

故障排除

认证困难

服务器可能会返回以下 HTTP 错误代码

401 未授权

错误的凭据。用户电子邮件和密码必须以正确的格式提供。

此外,还可以尝试直接将凭据存储在存储库配置中

deb [...] https://<Qt Account email>:<Qt Account passwd>@https://debian-packages.qt.io/.....

如果您的密码包含特殊字符,您可能需要为 APT 转义这些字符。使用 '' 或 '%40' 转义这些字符,或者尝试更改您的 Qt 账户密码。

403 禁止

凭据缺失。

429 请求过多

用户发送了过多的 失败的 请求(每分钟 3 个请求)。

500 内部服务器错误

请联系 Qt 支持

使用存储库 GPG 密钥的困难

在存储库配置中替代 'signed-by' 使用属性的另一种方法是以下方式安装密钥,尽管这不是推荐的方法,因为它是已过时的安装方式

$ sudo apt-key add qt-company-debian-repo.gpg

Qt 发布版的存储库信息

以下列出的是企业 Qt Debian 软件包支持的 Qt 发布版。选择所需的存储库,并按照上述说明将其添加到您的 /etc/apt/sources.list.d/tqtc.list 文件中。

此外,以下表格列出了系统上的安装目录和兼容软件包的 Linux 发行版。

注意: 要访问列出的存储库,您需要一个评估版 Qt 账户或拥有 Qt for Device Creation 许可的商业版 Qt 账户。

注意: 这些软件包也可能在其他发行版上工作,但没有保证。

Qt Creator

体系结构发行版安装目录APT 的软件包资源列表条目
amd64jammy-jellyfish (Ubuntu 22.04)/opt/qt-creator/deb [arch=amd64 signed-by=<path>] https://debian-packages.qt.io/debian/enterprise/qtcreator-amd64 tqtc-jammy main
arm64jammy-jellyfish (Ubuntu 22.04)/opt/qt-creator/deb [arch=arm64 signed-by=<path>] https://debian-packages.qt.io/debian/enterprise/qtcreator-arm64 tqtc-jammy main

Qt 6.7.0

体系结构发行版安装目录APT 的软件包资源列表条目
amd64jammy-jellyfish (Ubuntu 22.04)/opt/qt-6.7.0/x86_64-linux-gnu/deb [arch=amd64 signed-by=<path>] https://debian-packages.qt.io/debian/enterprise/qt-6.7.0-amd64 tqtc-jammy main
arm64jammy-jellyfish (Ubuntu 22.04)/opt/qt-6.7.0/aarch64-linux-gnu/deb [arch=arm64 signed-by=<path>] https://debian-packages.qt.io/debian/enterprise/qt-6.7.0-arm64 tqtc-jammy main

© 2024 The Qt Company Ltd. 本文档中的文档贡献权归其各自所有者所有。提供的文档遵守自由软件基金会发布的 GNU 自由文档许可版 1.3 的条款。Qt 和相应徽标是 The Qt Company Ltd. 在芬兰和其他全球国家/地区的商标。所有其他商标均为其各自所有者的财产。