分类: 经验

  • Docker跨平台导出/导入镜像时报错:”archive/tar: invalid tar header”

    Docker跨平台导出/导入镜像时报错:”archive/tar: invalid tar header”

    今天在把windows上使用 docker save [image] > file.tar 导出的镜像导入至Linux平台时报错 archive/tar: invalid tar header。在 Stack Overflow检索后发现是powershell的问题:

    I’ve found it’s not a windows specific issue. It’s a powershell issue. Powershell emits two byte characters to STDOUT, not one byte characters. If you look in the file you’ll notice that the TAR header has nulls between what should be the correct header (and in the rest of the file). This explains why the file is twice the size.
    CMD on the other hand does not emit multibyte characters to STDOUT. I’ve found the STDOUT method of saving a file works fine across different OSes if you use CMD on windows.
    ——@GiskardReventlov
    我发现这不是 Windows 特有的问题。这是一个 Powershell 问题。Powershell 会向 STDOUT 发送两个字节的字符,而不是一个字节的字符。如果你查看文件,就会发现 TAR 头本应是正确的头之间(以及文件的其他部分)有空格。这就解释了为什么文件的大小是原来的两倍。
    另一方面,CMD 不会向 STDOUT 发送多字节字符。我发现,如果在 Windows 下使用 CMD,STDOUT 保存文件的方法在不同操作系统下都能正常工作。

    因此,在Windows打包Docker镜像时,最好使用docker save [image] -o file.tardocker load -i file.tar

  • WSL2+CUDA+PyCharm搭建PyTorch环境

    WSL2+CUDA+PyCharm搭建PyTorch环境

    国庆闲来无事,决定自己实际操作一下。首先要完成的任务就是环境搭建。本教程是Nvdia独显+Windows电脑+WSL2环境下的PyTorch安装以及使用PyCharm连接环境

    安装

    安装Miniconda

    最简单的方法就是安装依赖Python 3.x的Miniconda。 如果已安装conda,则可以跳过以下步骤。访问Miniconda网站,根据Python3.x版本确定适合的版本。

    对于64位元的Linux作业系统,可以使用以下官方提供的指令:

    mkdir -p ~/miniconda3
    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
    bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
    rm ~/miniconda3/miniconda.sh

    初始化环境

    ~/miniconda3/bin/conda init

    初始化完成后,提示关闭当前终端,重新打开新的终端

    创建一个新的环境,其名称可以修改:

    conda create --name d2l python=3.9 -y

    切换到d2l环境

    conda activate d2l

    注意每次运行都要运行此指令。例如每次source .bashrc 之后。

    如要退出当前环境:conda deactivate
    如要完整删除名为dal的环境:conda remove -n d2l --all

    安装CUDA

    CUDA(官网)是英伟达官方的深度学习工具包,如图是WSL的选项。运行下载代码。

    image-20240930231219011

    wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
    sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
    wget https://developer.download.nvidia.com/compute/cuda/12.6.1/local_installers/cuda-repo-wsl-ubuntu-12-6-local_12.6.1-1_amd64.deb
    sudo dpkg -i cuda-repo-wsl-ubuntu-12-6-local_12.6.1-1_amd64.deb
    sudo cp /var/cuda-repo-wsl-ubuntu-12-6-local/cuda-*-keyring.gpg /usr/share/keyrings/
    sudo apt-get update
    sudo apt-get -y install cuda-toolkit-12-6

    从官网安装的CUDA貌似需要手动设置环境变量

    sudo vi ~/.bashrc
    conda activate d2l

    i进入insert模式,添加以下代码到文件最后,注意修改为对应版本,此处使用cuda12.1。

    export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

    Esc, :wq,回车保存。

    source ~/.bashrc
    conda activate d2l

    测试

    在终端中执行 nvcc -V,若安装成功,应输出:

    image-20240930231618394

    执行nvidia-smi,应输出当前设备信息:

    image-20240930231732593

    安装PyTorch

    PyTorch官网选择合适版本,CUDA版本可向下兼容。

    image-20240930231856110

    确保指令在d2l环境下运行.

    PyCharm连接WSL

    新建一个Interpreter On WSL

    image-20240930232723219

    等待检查完成

    image-20240930232821372

    选择之前步骤中创建的d2l环境

    image-20240930234014534

    在python终端中测试可用性

    image-20240930234256684

    本文在写作过程中参考了以下资料

    https://zh.d2l.ai/chapter_installation/index.html

    https://blog.yotroy.cool/?p=274

    https://www.jetbrains.com/help/pycharm/using-wsl-as-a-remote-interpreter.html#wsl-terminal


  • 海淘氪金不求人——申领国际卡组织银行卡

    海淘氪金不求人——申领国际卡组织银行卡

    Introduce

    在文章正式开始之前,先介绍一下卡组织相关的背景知识。卡组织全称银行卡转接清算机构(又称信用卡组织/银行卡组织),由成员组成的国际性或区域性支付卡组织,授权成员发卡,受理商户的卡交易,拥有并经营自己的国际区域处理网络。卡组织负责建设和运营全球或区域统一的支付卡信息交换网络,负责支付卡交易的信息转换和资金清算,制定并推行支付卡跨行交易业务规范和技术标准。简而言之其作用就是银行卡可以跨行交易,对于支付宝/微信这种第三方支付,只需要和卡组织对接即可,不需要和每一家银行单独谈判。在中国大陆,最常见的卡组织即为银联,我们可以在绝大多数银行卡正面的右下角看到他的身影。

    笔者的洛天依小柠檬卡,右下角可见银联标识

    为什么需要国际卡组织的卡?

    随着中国实力和影响力的不断提升,我们非常乐见于银联卡在国际上的应用越来越广泛,例如不少国外的线下商场和线上电商如亚马逊均支持银联卡支付。但由于银联卡的发行区域主要为中国,一些不面向中国人或主要交易对象不为中国人的网站便不会接入银联网络,因此我们需要一张国际卡组织的银行卡使得我们能顺利剁手。

    国际卡组织银行卡的用处

    1.Google play应用内购,可以用来购买GPT Plus(Apple会验证发卡国,因此不可用)

    2.境外线下/线上消费

    3.部分地区的地铁拍卡入闸

    国内银行发行的国际卡介绍

    本文主要围绕借记卡展开介绍,因为相关信用卡产品有够多,银行也非常乐意给你介绍信用卡。本文只介绍笔者十分了解甚至在用的银行卡。

    万事达

    万事网联由万事达卡和网联清算公司合资成立,于2023年11月17日获得由中国人民银行核发的银行卡清算业务许可证。自此,万事达可在中国内地发行以人民币结算的银行卡。但由于万事网联刚刚起步,有银行发行的万事达人民币卡甚至无法境外线上交易,因此本文不对万事网联多做介绍,只介绍万事达卡

    中国银行



    跨境通MC白金
    1.免年费
    2.免货币转换费
    3.World
    4.bin 538113
    线下申请 


    跨境通MC金
    1.免年费
    2.免货币转换费
    3.Gold
    4.bin 529774
    线下申请 

    莫奈日出印象
    1.免年费
    2.免货币转换费
    3.World
    4.bin 533228
    1.线下申请
    2.上海分行网申
    3.网申进度查询
    4.官网介绍
    5.活动介绍
    通过链接线上申请的卡只能寄到选定的上海开户网点,须本人去领卡激活。


    非人哉白泽小玉
    1.免年费
    2.免货币转换费
    3.Gold
    4.bin 529774
    1.线下申请
    2.上海分行网申
    4.官网介绍
    1.无人民币账户,需要中行银联 1 类卡购汇(通过app操作)后转入才可使用,跨境通卡支持 19 种外币
    2.每人最多只能持有 4 张中行借记卡
    3.无法在中国大陆地区的商户交易
    4.支持 3ds 验证,支持绑定 Paypal
    5.在线支付时,仅校验卡号、有效期、CVV2,不校验持卡人姓名,不校验密码。持卡人姓名可填写 BOC DEBIT,账单地址可随意填写,不支持 AVS 系统验证
    6.外币借记卡不受一二类户管理,中行外币借记卡支持范围最广

    VISA

    笔者还真没办过visa的借记卡,倒是有工商银行的visa信用卡。可以尝试办理工行奋斗简约白金/金卡,在申请日本签证时部分领区可以替代资产证明申请。

    美国运通

    2020年8月28日,美国运通与连连数字科技有限公司的合资企业——连通(杭州)技术服务有限公司(以下简称“连通公司”)已在中国境内正式开始商业运营。和万事网联一样,该卡使用人民币结算,外币由运通内部汇率换算后以人民币入账。


    兴业银行美国运通®标准借记卡
    1.免年费
    2.免收每月前3笔境内跨行ATM取现手续费
    3.免收兴业银行电子渠道人民币跨行转账手续费
    1.线下办理
    2.申请链接
    1.连通卡可以绑定支付宝/微信/云闪付,但不能在云闪付内转账,可以在中国大陆交易
    2.相较于万事达和visa,美国运通的支持网站较少,例如Azure就不支持
    3.运通是目前使用最方便的国际卡组织借记卡了,只需存入人民币,无须购汇。但汇率不透明,货币转换费也没有明确表示是否收取。但就笔者本人使用而言,与中行汇率相差不大

    JCB

    JCB为日本的卡组织,在中国国内貌似只有信用卡发行。有消息称,使用中国发行的JCB卡可绑定AppStore日区

    用卡注意

    1. 除美国运通和万事网联以外,均需有一张相同银行的一类银联卡用于购入外汇,转账进外币卡后使用(免转账费)
    2. 借记卡绑定境外平台时请确保卡内有一定余额。境外平台会先扣款确定卡的可用性再退款
    3. 境外平台消费时,一般是先冻结实际消费金额的102%,一段时间后再实际扣款(100%)。实际扣款之前,消费记录不可查
    4. 请保护好卡信息(卡号、有效期、安全码)。境外平台不会验证手机号,有以上三要素足以盗刷你的银行卡。
  • 现地前置——搞一张乐天数据卡

    现地前置——搞一张乐天数据卡

    [warning]最近,有人说TalkU和Talk360这些用于过验证的拨号软件都无法使用,拨出会显示不显示电话号码,viber好像可以显示但是依旧无法通过eplus的电话验证,故最近购买乐天预付费电话卡抽票的请谨慎。[/warning]

    本文是基于airisa大神的《关于远征live你所需要的一切》中2.4部分结合个人实践的补充

    本人一直有个去霓虹看一场live的梦想,因疫情放开及eupd不做人的恶劣行径,这个愿望越来越强烈。

    放那么多票,你卖谁了

    而日本大多数演唱会的抽选平台都需要一个日本手机号才能注册,日本手机号实名要求也是比较严格的。在《关于远征live你所需要的一切》中,airisa推荐了cmlink及乐天预付费卡两种卡,对比如下:

    两者对比

    参考链接:https://nga.178.com/read.php?pid=689882515&opt=128

    CMLINK乐天一年预付款
    资费1700日元/月可买6(个月)赠1首年6060日元/年续费5400日元/年不同渠道可能不同价
    套餐包含10G高速流量10条短信3G高速流量其中2G可漫游
    语音功能可曲线实现
    免费项被叫/收短信收短信
    激活方式日本激活可国内激活
    购买方式中/日寄送需转运寄送
    漫游需要申请,不含流量可以(短信/流量)
    挂失补卡可以不可以
    中文客服
    这张卡的漫游貌似是先绕法国再回东京,插在我的三星平板上激活的也是法国商店。缺点是延迟有些大,但日本原生IP是没问题的。

    经过深思熟虑(穷),本人最终选择了乐天一年预付款卡

    购买

    该产品不发日本国外,需找转运平台运回国内。

    购买还需国际卡组织的银行卡,若没有也可通过代购平台购买,下文中提到的jpgoodbuy亦有提供代购服务。

    关于国内银行发行的国际卡组织银行卡,请移步海淘氪金不求人——申领国际卡组织银行卡

    办理页面https://www.jpsimshop.com/view/item/000000000109?category_page_id=ct30

    价格:最低6060yen/一年≈303rmb 即26块钱一个月

    分类

    • 每月3GB流量
    • 每月7GB流量
    • 每月30GB流量

    因为我们只需要拿来接受验证码所以流量无所谓,直接使用最低的套餐即可。

    到期延长使用时间https://www.jpsimshop.com/view/item/000000000110

    转运

    本人一直在使用jpgoodbuy进行转运,该家公司以邮政线路为主,EMS线路有95折优惠。如果只是转运一张sim卡的话,本人更推荐使用凤凰线。

    凤凰关税补贴线运费表
    重量运费
    (日元)
    运费
    (约人民币)
    比青鸟A线省(元)重量运费
    (日元)
    运费
    (约人民币)
    比青鸟A线省(元)
    0.3kg以内6503469351.5kg以内2,40012714619
    0.5kg以内9004869211.6kg以内2,55013519358
    0.6kg以内1,05056106501.7kg以内2,70014319350
    0.7kg以内1,20064106421.8kg以内2,85015119342
    0.8kg以内1,35072106341.9kg以内3,00015919334
    0.9kg以内1,50080106262kg以内3,15016719326
    1kg以内1,65087106192.1kg以内3,30017524166
    1.1kg以内1,80095146512.2kg以内3,45018324158
    1.2kg以内1,950103146432.3kg以内3,60019124150
    1.3kg以内2,100111146352.4kg以内3,75019924142
    1.4kg以内2,250119146272.5kg以内3,90020724134

    *运费汇率按0.053左右计算所得,人民币价格仅供参考。实际计费汇率每日更新,请以JPGOODBUY官网显示为准。

    这是我的aff链接,如果感兴趣的话可以通过此🔗链接注册

    在购物网站上填入转运公司提供的地址,等待货物到达转运公司后即可操作发回国内。

    使用

    设备插入sim卡后即可使用,手机号码在大卡上有贴纸。极少数设备可能需要手动设置APN(接入点)

    由于这张卡是数据卡,我们可以比较方便地购买到,但也使得这张卡原生无法接打电话,只可以接收短信。

    我们可以使用网络电话曲线救国,解决这一问题。

    笔者使用的是talk360,这一软件在电话接通前是不扣费的,而票务平台一般也只振铃验证,不需要实际接通,所以这个软件理论上是可以一直白嫖使用的。

    笔者在注册时曾遇到检测网络环境的问题,可以直接使用sim卡的漫游流量通过网络检测。

    对于票务平台的具体注册流程,笔者当时并未截图,网上亦有许多教程,在此不多做赘述,若有问题,可在评论区留言。