ubuntu系统arm架构离线部署jq服务

       

目录

1、拉取ubuntu:22.04基础镜像

2、直接安装jq包

3、解决更新apt源时public key问题(未果)

4、尝试本地部署服务

 5、快速根据依赖包名字查找对应目录方法

​6、本地安装arm架构的jq包


        ubuntu系统安装jq包本身是一件很简单的事情,但是简单+arm64+内网+百度一堆重复=耗费一上午。特此记录下安装jq包的全过程。

1、拉取ubuntu:22.04基础镜像

        arm机器:& docker pull  ubuntu:22.04

        x86机器:& docker pull --platform=arm64 ubuntu:22.10

2、直接安装jq包

        & docker run -it --rm ubuntu:22.04 bash
        & apt install jq

        

        # ok,那就先update尝试下

        & apt update
        & The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C

 

        注意:x86版本的官方源用的是Index of /ubuntuicon-default.png?t=M85Bhttp://archive.ubuntu.com/ubuntu/ ,        arm版本官方源用的是Index of /ubuntu-portsicon-default.png?t=M85Bhttp://ports.ubuntu.com/ubuntu-ports/

         国内源使用方法是

cat > /etc/apt/sources.list << EOF
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
EOF

        x86是可以直接update然后安装jq的,arm无论使用官方源还是国内源都会报 <public key is not available>这个报错,大部分百度都会建议注册下key

3、解决更新apt源时public key问题(未果)

        # 按照网上解决方案

        & apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 871920D1991BC93C
        & apt-get install gnupg
        & 报错:E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation 和 Package 'gnupg' has no installation candidate
     

        #  发现,我起初因为安装jq包时没有源,才修改apt源仓库地址;修改源仓库需要public key认证;public key认证需要安装gnupg包;安装gnupg包需要配置源仓库。
        # 结论:我想配置apt源仓库,首先需要有一个apt源能用,死循环了。。。

4、尝试本地部署服务

        # 直接配置apt源仓库的路看来走不通了,尝试通过本地下载文件安装方式
        # 先去开源网站找到jq包Index of /ubuntu-ports/pool/main/j/jq/ | 清华大学开源软件镜像站 | Tsinghua Open Source MirrorIndex of /ubuntu-ports/pool/main/j/jq/ | 清华大学开源软件镜像站,致力于为国内和校内用户提供高质量的开源软件镜像、Linux 镜像源服务,帮助用户更方便地获取开源软件。本镜像站由清华大学 TUNA 协会负责运行维护。https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/pool/main/j/jq/        & docker cp jq_1.6-2.1ubuntu3_arm64.deb 0b3134dbcaa7:/
        & apt install ./jq_1.6-2.1ubuntu3_arm64.deb

         # 安装jq需要libjq1依赖,我们需要一层一层把所有关联包找到对应版本,才能安装。那么此时有个问题,我们需要的依赖包名称和版本可以通过install报错得到,如何下载到本地deb文件。
        # 你可以直接在镜像站根据名称首字母查找,但是有些特殊的,例如libjq属于jq下面,你去libj下面找不到。


 

 

 5、快速根据依赖包名字查找对应目录方法

        # 可以在这个网站查询https://ubuntu.pkgs.org/22.04/ubuntu-main-arm64/icon-default.png?t=M85Bhttps://ubuntu.pkgs.org/22.04/ubuntu-main-arm64/        # 直接查询libjq1

        # 点进去有个download可以看到官方镜像站位置,其他国内镜像站目录也是一致的。

  6、本地安装arm架构的jq包

        # 此时可以找到所有的本地deb文件了,复制到ubuntu容器内直接安装吧
        & apt install ./libc-bin_2.35-0ubuntu3.1_arm64.deb ./libc6_2.35-0ubuntu3.1_arm64.deb ./libjq1_1.6-2.1ubuntu3_arm64.deb ./libonig5_6.9.8-1_arm64.deb ./jq_1.6-2.1ubuntu3_arm64.deb

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

情绪零碎碎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值