当前位置: 首页 > 后端技术 > Python

pkgship2.1.0迁移指南(openEuler20.03LTSSP1)

时间:2023-03-26 00:49:38 Python

简介pkgship是一个管理OS软件包依赖关系,提供完整的依赖关系图的查询工具。pkgship提供包依赖查询、生命周期管理、补丁查询等功能。选择version2.1.0查看当前系统版本信息cat/etc/os-releasecompatibilitycheck使用x2openEuler分析工具目录下的pkgship-2.1.0RPM包x2openEulerscanpkgship-2.1.0-7.oe1.noarch.根据rpm的依赖报告,移植到openEuler20.03-LTS-sp1需要解决不同python版本的依赖问题。安装源码包的安装过程。安装依赖包。配置yum源获取pkgship的源码包。该包修改了部分源码以兼容python3.7。使用安装脚本setup.py安装pkgship成功。安装pkgship并安装依赖包[root@master~]#yuminstall-ylibffi-devel[root@master~]#vim要求。txtprettytable==0.7.2Flask_RESTful==0.3.8Flask_Session==0.3.1Flask_Script==2.0.6Flask_Limiter==1.4Flask==1.1.2marshmallow==3.5.1PyYAML==5.3.1gevent==20.12.1requests==2.21.0uwsgi==2.0.18elasticsearch==7.10.1redis==3.5.3retrying==1.3.3[root@master~]#pip3install-rrequirements.txtconfigureyumsource[root@master~]#cd/etc/yum.repos.d/[root@masteryum.repos.d]#vimopenEuler.repo[openeuler]name=openEuler-21.03baseurl=http://119.3.219.20:82/openEuler:/21.03/standard_aarch64/enabled=1gpgcheck=0[fedora]name=fedorabaseurl=https://mirrors.huaweicloud.com/fedora/releases/30/Everything/aarch64/os/enabled=0gpgcheck=0[elasticsearch]name=7.xpackagesbaseurl=https://artifacts.elastic.co/packages/7.x/yumgpgcheck=1gpgkey=https://artifacts.elastic的Elasticsearch存储库.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md获取源码包从https://gitee.com/src-openeul获取pkgship-2.1.0.tar.gz源码包...解压源码包tar-xzvfpkgship-2.1.0.tar.gz修改部分源码文件并进入解压后的源码目录,修改./packageship/application/query/pkg.py./packageship下的源码路径/application/query/depend.py两个文件中第19行的monkey.patch_all()为monkey.patch_all(thread=False,ssl=False)在源码目录的package目录下创建一个version.yaml文件,文件内容为Version:2.1.0Release:7.oe1避免安装时因文件丢失出现如下错误:installingpackagedatatobuild/bdist.linux-x86_64/eggrunninginstall_datacreating/etc/pkgshipcopyingpackageship/package.ini->/etc/pkgship/copyingconf.yaml->/etc/pkgship/copyingpackageship/auto_install_pkgship_requires.sh->/etc/pkgship/copyingpackageship/uwsgi_logrotate.sh->/etc/pkgship/copyingpackageship/pkgshipd->/usr/bincopyingpackageship/pkgship->/usr/bincopyingpackageship/pkgship.service->/lib/systemd/system/copyingpackageship/application/common/rsp/mapping.xml->build/bdist.linux-x86_64/egg/packageship/application/common/rsperror:can't复制'packageship/version.yaml':doesn'texistornotaregularfile安装pkgship进入pkgship主目录,开始使用setup.py脚本安装pkgship[root@localhost~]#python3--versionPython3.7.9[root@localhost~]#python3setup.pyinstall成功安装处理packageship-2.1.0-py3.7.eggcreating/usr/local/lib/python3.7/site-packages/packageship-2.1.0-py3.7.eggExtractingpackageship-2.1.0-py3。7.eggto/usr/local/lib/python3.7/site-packagesAddingpackageship2.1.0toeasy-install.pthfileInstalled/usr/local/lib/python3.7/site-packages/packageship-2.1.0-py3.7.eggProcessing依赖于packageship==2.1.0Finishedprocessingdependenciesforpackageship==2.1.0[root@localhostpkgship-2.1.0]#pip3list|greppackageshippackageship2.1.0[root@localhostpkgship-2.1.0]#pkgshipusage:pkgship[-h][-v][-remote]{init,list,builddep,installdep,selfdepend,bedepend,pkginfo,dbs}...package相关依赖管理位置参数:{init,list,builddep,installdep,selfdepend,bedepend,pkginfo,dbs}包相关依赖管理init初始化数据库列表获取所有包数据builddep查询指定包的编译依赖installdep查询指定包的安装依赖selfdepend查询指定包的自编译依赖packagebedepend查询指定包的依赖pkginfo查询单个包的信息dbs获取所有数据库可选参数:-h,--help显示此帮助信息并退出-v获取版本信息-remote远程服务的地址关联链接:openEuler官网:www.openeuler.org/OS迁移专区:https://www.openeuler.org/zh/...openEuler综合性能列表:https://www.openeuler.org/zh/...openEuler迁移指南:https://www.openeuler.org/zh/...