Ubuntu 20.04+安装JFrog CLI超详细指南

Ubuntu 20.04+ 安装 JFrog CLI(jf 命令)超详细教程

适用:Ubuntu 20.04 / 22.04 / 24.04,amd64/arm64,解决 jfr 旧版、无 jf 命令问题

官方下载:https://jfrog.com/getcli/

作者:Linux运维/制品库实践

一、前置说明

  • JFrog CLI v2 统一命令为 jf,旧版 v1 是 jfr,本文只装 v2 最新版
  • 全程命令可直接复制执行,无需修改(除私服地址/账号)
  • 配置文件自动保存在 ~/.jfrog/,无需手动创建目录

二、卸载旧版本(必须,避免冲突)

bash 复制代码
# 卸载 apt 安装的旧版
sudo apt remove -y jfrog-cli jfrog-cli-v2-jf

# 删除残留二进制
sudo rm -f /usr/local/bin/jfr /usr/local/bin/jf /usr/bin/jf

# 清空旧配置(可选,重置所有私服连接)
rm -rf ~/.jfrog/

三、官方一键安装(推荐,自动适配架构)

方法1:curl 官方脚本(最快)

bash 复制代码
# 官方最新安装脚本(v2)
curl -fL https://install-cli.jfrog.io | sh

# 移动到系统 PATH 目录
sudo mv ./jf /usr/local/bin/

# 赋予执行权限
sudo chmod +x /usr/local/bin/jf

方法2:apt 源安装(适合长期维护)

bash 复制代码
# 导入 GPG 密钥
wget -qO - https://releases.jfrog.io/artifactory/jfrog-gpg-public/jfrog_public_gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/jfrog-archive-keyring.gpg

# 添加 JFrog apt 源
echo "deb [signed-by=/usr/share/keyrings/jfrog-archive-keyring.gpg] https://releases.jfrog.io/artifactory/jfrog-debs stable main" | sudo tee /etc/apt/sources.list.d/jfrog.list

# 更新并安装
sudo apt update
sudo apt install -y jfrog-cli-v2-jf

四、验证安装成功

bash 复制代码
# 查看版本
jf -v
# 或
jf --version

输出类似:jf version 2.65.0 即成功

五、配置 JFrog 私服连接(核心)

1. 交互式配置(新手推荐)

bash 复制代码
jf c add  # 等价 jf config add

按提示依次输入:

  1. 服务别名(自定义,如:kylin_jfrog)
  2. JFrog 平台地址:http://172.29.157.157:8082/
  3. 选择 Save and continue(默认 Artifactory/Xray 等路径)
  4. 输入用户名、密码/API Token

2. 非交互式配置(脚本/CI 用)

bash 复制代码
jf c add my_jfrog \
  --url=http://xxx.xxx.xxx.xxx/ \
  --user=你的用户名 \
  --password=你的密码 \
  --interactive=false

3. 常用配置命令

bash 复制代码
# 查看所有已配置服务器
jf c show

# 切换默认服务器(多私服环境)
jf c use my_jfrog

# 删除指定服务器配置
jf c remove my_jfrog

六、核心实战:上传文件到指定目录(自动建目录)

地址拆解(你的私服)

原地址:`http://xxx.xxx.xxx.xxx/artifactory/dest-dirs

  • 远程目录:dest-dirs`
  • 目录不存在会自动递归创建,无需网页端新建

上传命令(直接复制改文件名)

bash 复制代码
# 上传单个文件
jf rt upload test.rpm dest-dirs

# 批量上传当前目录所有 .rpm
jf rt upload "*.rpm" dest-dirs

# 强制覆盖已存在文件
jf rt upload test.rpm dest-dirs --overwrite

七、配置文件存储位置(重要)

所有服务器地址、账号、加密凭证都存在:

复制代码
~/.jfrog/
├── jfrog-cli.conf.v2  # 核心配置文件(加密存储)
└── plugins/           # 插件目录

重置所有配置:rm -rf ~/.jfrog/

八、常见问题排查

1. command not found: jf

bash 复制代码
# 检查是否在 PATH
echo $PATH | grep /usr/local/bin

# 手动添加到 PATH(临时)
export PATH=$PATH:/usr/local/bin

# 永久添加(~/.bashrc 或 ~/.zshrc)
echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrc
source ~/.bashrc

2. 上传权限不足

  • 确认账号有 RPMS 仓库的部署/写入权限
  • 核对用户名/密码/Token 是否正确
  • 用 jf rt ping 测试连接是否正常

3. 连接超时/无法访问

  • 检查服务器 IP、端口 8082 是否开放
  • 确认网络互通(ping xxx.xxx.xxx.xxx)
  • 关闭防火墙/放行 8082 端口

九、总结

  1. 官方脚本/APT 两种安装方式,适配所有 Ubuntu 20.04+
  2. jf c add 一键配置私服,一次配置永久生效
  3. jf rt upload 自动创建目录,一行命令完成制品上传
  4. 配置文件统一管理,便于迁移/备份
相关推荐
古法老登瞎折腾5 小时前
大数据智能运维实战(十一):运维 MCP 的工程化——权限、限流、审计与错误处理
java·大数据·运维·spring ai·mcp
琥珀.5 小时前
mysql中json数组转列表查询
linux·运维·服务器
dawnsky.liu6 小时前
在 RHEL 中使用 goose 实现远程主机管理
linux·运维·ai
Linux运维技术栈7 小时前
CVE-2026-91403 高危漏洞修复:Rocky Linux 9 多版本 JDK 环境清理实操
java·linux·运维
云上先途18 小时前
企业 AI 服务部署周期多久,会不会影响原有业务运转?
大数据·运维·人工智能
hhhjhl9 小时前
Undici 跨端三方库仓颉适配全流程
java·开发语言·ubuntu
执伞人ONLY9 小时前
AI知识库自动化知识加工没做对,人工整理永远追不上知识产生
运维·人工智能·自动化
slongzhang_9 小时前
linux 递归删除源码文件|递归删除目录下 *.js,但排除 *.min.js
linux·开发语言·javascript
叼烟扛炮9 小时前
Linux 学习笔记(三十三):线程互斥——互斥锁(Mutex)与死锁
linux·运维·服务器·笔记·学习·1024程序员节
无足鸟ICT9 小时前
【RHCA+】who命令(查看已登陆用户)
linux·运维·服务器