You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Docker(Ubuntu)中运行Wine(Win64):如何配置_netrc访问Artifactory/Git

在Wine中配置Artifactory/Git凭据的正确姿势

解决思路

Wine对_netrc(Windows风格)和.netrc(Unix风格)的读取逻辑有特殊处理,得同时兼顾虚拟Windows环境和宿主系统的路径映射,下面是实测有效的配置方法:

具体步骤

1. 定位Wine的Windows用户主目录

先执行这条命令,拿到Wine对应的Windows用户路径:

wine cmd /c "echo %USERPROFILE%"

输出一般是C:\users\<你的Wine用户名>,对应到Ubuntu系统里的实际路径是~/.wine/drive_c/users/<你的Wine用户名>。

2. 放置_netrc到正确位置

  • 在上述路径下创建_netrc文件,内容和你Docker里.netrc的格式保持一致:
    machine artifactory.example.com
    login 你的用户名
    password 你的令牌或密码
    
    machine github.com
    login 你的Git用户名
    password 你的Git令牌
    
  • 给文件设置权限,确保Wine进程能正常读取:
    chmod 600 ~/.wine/drive_c/users/<你的Wine用户名>/_netrc
    

3. 直接复用宿主系统的.netrc(可选方案)

不想维护两份凭据文件的话,启动Wine前设置环境变量,让它直接读取Ubuntu系统里的.netrc:

export HOME=/root  # 替换成你存放.netrc的宿主用户目录
wine <你要启动的Windows程序>

这样Wine会优先使用宿主系统的.netrc,无需在虚拟Windows环境中单独配置_netrc。

4. 验证配置是否生效

如果安装了Windows版curl,可以用这条命令测试:

wine curl https://artifactory.example.com/repository/path

无需手动输入凭据就能正常访问的话,说明配置生效。

常见踩坑排查

  • 确认启动Wine的用户和创建_netrc的用户一致,权限不匹配会导致文件读取失败。
  • 注意文件名:Windows环境下必须是_netrc(下划线开头),不要写成.netrc。
  • 检查文件格式:每个machine块的login和password要对应正确,避免缩进错误或语法问题。

内容的提问来源于stack exchange,提问作者A Sree

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 04:12:40