配置
您只能将Opkg包部署到使用Opkg创建的本地存储库包类型.
您可以从本地或远程Opkg存储库下载包。
局部存储库
c创建一个支持Opkg的新本地存储库,在AdministratioN模块,转到存储库|存储库|当地的而且设置包类型来Opkg.
Artifactory支持通用的Opkg索引方案,该方案根据其中的所有ipk包对每个进料位置进行索引。
通过UI部署包
将Opkg包部署到Artifactory,请转到的Artifactory存储库浏览器然后点击图标.
选择Opkg存储库作为目标存储库,并上传要部署的文件。
在部署工件之后,您需要等待大约一分钟,以便Artifactory重新计算存储库索引,并在repository Browser中显示您的上载。
远程存储库
您可以从如上所述的本地Opkg存储库或指定为支持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来支持这些,你可以使用:
#下载opkg版本(最新版本为0.3.1):wget http://downloads.yoctoproject.org/releases/opkg/opkg-0.3.1.tar.gz tar -zxvf opkg-0.3.1.tar.gz #安装编译依赖项:apt-get update && apt-get Install -y gcc libtool autoconf pkg-config libarchive13 libarchive-dev libcurl3 libcurl4-gnutls-dev libssl-dev libgpgme11-dev如果你下载的版本中没有配置脚本,你需要先调用。/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包索引(请注意Artifactory签署存储库元数据,而不是包)。
要了解如何生成GPG密钥对并将其上传到Artifactory,请参见管理签名密钥.
一旦您有了GPG密钥对,为了让Opkg验证使用上传到Artifactory的私钥创建的签名,您需要将相应的公钥导入Opkg的密钥链(需要gnupg).
Opkg-key添加key.pub
Mkdir -p /usr/etc/opkg/gpg opkg-key添加键。pub cp -R /etc/opkg/gpg/* /usr/etc/opkg/gpg . pub cp -R /etc/opkg/gpg . pub
导入密钥后,需要添加check_signature
选项在你的opkg.conf
文件中添加以下内容条目:
选项check_signature为true
解决失败
如果解析失败,出现以下错误:
opkg_verify_gpg_signature:没有充分信任公共钥匙找到了。”pkg_src_verify:签名验证失败为< repoName >。”
一个可能的原因是密钥的信任级别。酒吧不够高,应该升级了。
认证访问服务器
如果您需要访问需要用户名和密码的受保护的Artifactory服务器,您可以在您的opkg.conf
通过添加'http_auth”选择:
选项http_auth user:密码
加密密码
您可以使用中所述的加密密码使用安全密码.
REST API支持
Artifactory REST API为签名密钥和重新计算存储库索引提供了广泛的支持,如下所示: