配置
只能将Opkg包部署到与Opkg一起创建的本地存储库中包类型.
您可以从本地或远程Opkg存储库下载包。
局部存储库
c创建一个新的支持Opkg的本地存储库,在AdministratioN模块,到存储库|存储库|当地的和设置包类型来Opkg.
Artifactory支持常见的Opkg索引方案,该方案根据其中的所有ipk包对每个提要位置进行索引。
使用UI部署包
要将Opkg包部署到Artifactory,请转到的Artifactory Repository浏览器然后点击图标.
选择您的Opkg存储库作为目标存储库,并上传要部署的文件。
在您部署工件之后,您需要等待大约一分钟,让Artifactory重新计算存储库索引,并在repository Browser中显示您的上传。
远程存储库
您可以如上所述从本地Opkg存储库下载ipk包,或者从指定为支持Opkg包的远程存储库下载ipk包。
要指定远程存储库支持Opkg包,请设置其包类型来Opkg创建时。
您可以将远程指向一个特定的提要(Packages文件的位置),即http://downloads.openwrt.org/chaos_calmer/15.05/adm5120/rb1xx/packages/luci
或者你可以指定一些基本级别,并将客户端指向其中的相关提要,即url是http://downloads.openwrt.org/chaos_calmer/15.05/
和你的opkg.conf
文件有条目src adm5120 / rb1xx /包/设计师小金
请注意,远程Opkg存储库的索引文件是根据检索缓存周期设置。
配置Opkg客户端与Artifactory一起工作
由于Opkg客户端没有“发布”,为了支持Artifactory提供的gpg签名验证和基本HTTP身份验证,必须使用以下选项进行编译:——enable-gpg启用curl
例如,要在Ubuntu上编译Opkg以支持这些,你可以使用:
安装编译依赖项:apt-get update && apt-get Install -y gcc libtool autoconf pkg-config libarchive13 libarchive13 libcurl3 libcurl4-gnutls-dev libssl-dev libgpgme11-dev #编译opkg(使用curl编译以支持基本授权,使用gpg支持签名验证):#注意:如果你下载的版本中没有配置脚本,你需要先调用。/autogen.sh ./configure——with-static-libopkg——disable-shared——enable-gpg——enable-curl——prefix=/usr && make && sudo make install
每个Opkg提要对应于Artifactory中的路径,您选择将ipk包上载到该路径。这就是编写Packages索引的地方。
例如,您可以将每个提要添加到您的opkg.conf
(默认位置为/等/ opkg / opkg.conf
文件)中包含如下条目:
SRC artifactory-armv7a http://prod.mycompany:8080/artifactory/opkg-local/path/to/my/ipks/armv7a SRC artifactory-i386 http://prod.mycompany:8080/artifactory/opkg-local/path/to/my/ipks/i386
签署Opkg包索引
Artifactory使用您的GPG公钥和私钥对Opkg包索引进行签名和验证(请注意人工签名存储库元数据,而不是包)。
要了解如何生成GPG密钥对并将其上传到Artifactory,请参见管理签名密钥.
一旦您有了GPG密钥对,为了让Opkg验证使用您上传到Artifactory的私钥创建的签名,您需要将相应的公钥导入Opkg的密钥链(required)gnupg).
添加key.pub
Mkdir -p /usr/etc/opkg/gpg opkg-key add keypub cp -R /etc/opkg/gpg/* /usr/etc/opkg/gpg
密钥导入后,需要添加check_signature
选项在你的opkg.conf
文件添加以下内容条目:
选项check_signature为true
解决失败
如果解析失败并显示以下错误:
"opkg_verify_gpg_signature:没有足够的信任公共钥匙找到了。”pkg_src_verify:签名验证失败为< repoName >。”
其中一个可能的原因是密钥的信任级别。Pub不够高,需要升级。
通过身份验证访问服务器
如果您需要访问需要用户名和密码的安全Artifactory服务器,您可以在您的opkg.conf
通过添加'http_auth”选择:
选项http_auth用户:密码
加密密码
您可以使用加密的密码,如使用安全密码.
REST API支持
Artifactory REST API为签名密钥和重新计算存储库索引提供了广泛的支持,如下所示: