如何代理 Docker 官方镜像的流量
坑边闲话:现代软件的开发、测试、部署基本离不开容器技术,然而大陆地区的防火墙屏蔽了 Docker 官方的 Registry,这无疑给普通开发者带来了很大的负担和痛苦。本文介绍一般场景下绕过防火墙的阻断的方法,帮助开发者较快地访问官方 Docker 镜像平台。
1. 使用 OpenClash 规则集·
作为一个成熟的程序员,应该学会使用 Clash 等代理工具,毕竟良好的技术网站访问体验是增进技术的重要支撑。笔者选择使用 OpenClash 这款 OpenWrt 插件作为主代理工具,用以给局域网中的所有设备提供透明代理服务。
如图 1 所示,在 OpenWrt 的「服务」→「OpenClash」→「覆写设置」→「规则设置」页面,勾选「自定义规则」,随后将如下内容按照图示添加进去。
12- DOMAIN-SUFFIX,docker.com,🔰国外流量- DOMAIN-SUFFIX,docker.io,🔰国外流量
提醒:请查阅你 Clash 配置文件中的国外分流规则的名字,用以替换示例中的「🔰国外流量」。
重启 OpenClash 后,以 docker.com、docker.io ...
TrueNAS SCALE 数据备份教程
坑边闲话:存储是数字资产的基石,没有可靠的存储,就没有可靠的服务。基于 ZFS 文件系统的 TrueNAS SCALE 具有强大的数据复制能力。本文详细介绍 TrueNAS SCALE 的备份功能。
1. TrueNAS Replication 功能介绍·
Replication 指的是「复制」,在 TrueNAS 语境里指的是 zfs send 和 zfs recv 过程,即直接复制 ZFS 数据集。这里的复制并非是 rsync 的文件级别复制,而是 LUN 级别的复制。
TrueNAS SCALE 的 Data Protection 面板集成了所有可用的备份服务,以 24.04 为例:
Scrub Tasks
Cloud Sync Tasks
Periodic Snapshot Tasks
Rsync Tasks
Replication Tasks
Periodic S.M.A.R.T. Tests
2. 创建 SSH 机密和 SSH 连接·
TrueNAS 或者其他的系统,实时远程备份均依赖网络。既然有了网络,就需要考虑认证问题。本节介绍 TrueNAS Replicat ...
个人银行、互联网海外账号创建指南
坑边闲话:中国大陆的银联系统和中国大陆的互联网类似,都有着不可描述的局域网属性。纵然该体系下的服务在中国境内比较方便(如果你愿意付出一定的隐私代价),但是出国之后几乎是寸步难行。许多海外 App 因为审查机制门槛,并没有选择在中国的苹果 App Store 同步上架,而中国人创建海外账号则面临支付问题。本文介绍了笔者身处英格兰时,创建海外银行账户和大型互联网公司用户账户的经历。
1. 手机号·
手机号、银行卡、Apple ID 都很重要,但是申请时有先后顺序。目前来看,手机号是先要拥有的。
1.1 CMLink·
从中国来到海外,可以办理 CMLink 临时用一用,随后可按需选择 Vodafone 或者 O2 等本地服务商。
虽说 CMLink 价格便宜,但是它有被窃听的风险。因此不建议长期使用。
CMLink Fair Use Policy
CMIUK 对通过我们的服务或通过互联网(包括通过指定的任何服务器传输的数据信息)传输的数据或信息的安全性和完整性不作任何保证,也不承担任何责任。CMIUK 不监控,不控制,也不对通过我们的网络或服务传递的信息内容承担任何责任。
所有通过我们 ...
使用 Dropbox 替代 OneDrive、坚果云
坑边闲话:作为一个 OneDrive 和坚果云双持的用户,多年来笔者一直对自己的数据同步与存储机制感到较为满意。其中:OneDrive 凭借几乎免费的价格和 1TB 的可靠云存储,被笔者当作照片备份工具;坚果云凭借着强大的国内、国际可用性及增量同步机制,被笔者当作主力文件同步工具。
笔者在读本科时一直想使用 Dropbox 作为单一云存储,可惜因当时的网络和价格问题最终没有成行。如今笔者发现在 30% UniDays 优惠券加持下,Dropbox Plus 2TB 服务一年仅需 £67.12,约合 ¥627,总体还是可以接受的。
本文介绍如何在遵循狡兔三窟、鸡蛋不放到一个篮子里等原则下,使用不同服务商的云服务的过程。
1. 迁移动机·
随着中国大陆言论审核越来越严格,云盘随时面临资料「被和谐」的隐患。本人自认为云盘里没有违规的文件,如色情、暴力、反动内容。然而「违规内容」的认定缺乏统一标准,比如难以确定在未来的某一天某个关键词是否会成为违禁词。上述情况使得原本正常或有些许擦边的文件也可能在未来的某一天变得不可用。此外,本人未来相当长的一段时间将会居住在海外,因此把资料同步到一个海外 ...
Ghidra 逆向 p2:使用 Python 编程
坑边闲话:Ghidra 使用 Java 进行开发,因此核心运行时是 JVM. 与 JVM 沟通的最简单方法自然是用 Java 语言,但用 Java 写插件、脚本的代价太高,因此 Ghidra 内置了 Jython(类似于 CPython 2,是一种 Python 2 的 Java 实现),支持使用 Python 2 语法开发脚本。Python 程序通常比等价语义的 Java 程序短很多,大概只有 Java 的五分之一到十分之一长度。不幸的是,Jython 目前仅支持到 Python 2.7 标准。
1. Ghidrathon:Ghidra 的 Python 3 框架·
继续使用 Python 2 语法开发插件是不明智的,本章介绍 Ghidra 扩展:Ghidrathon.
1.1 Ghidrathon 框架简介·
Ghidrathon 基于 Jep 进行开发。Jep 通过 JNI 将 CPython 嵌入到 Java 中。
在 JVM 中嵌入 CPython 3 的一些好处:
解释器更加专业成熟:相比较 Jython,使用本机 Python 3 解释器快得多。Python 3 已 ...
Ghidra 逆向 p1:工具的基本使用方法
坑边闲话:笔者使用 IDA Pro 进行程序分析已经有很多年了,来到欧洲之后发现大部分人喜欢用开源免费的 Ghidra,或许是他们比较尊重版权而不屑于使用盗版的 IDA Pro 吧。既然决定入乡,随俗便是不可避免的。经过一番学习,我终于初步学会了如何使用 Ghidra 进行逆向分析。
1. Ghidra 安装·
Ghidra 使用 Java 进行开发,因此具有极好的跨平台能力。Java 代码“一次编译,处处运行”,因此所有平台的 Ghidra 安装包是相同的。Java 的图形化界面没有原生开发那么细腻,所以 Ghidra 初看上去有些粗陋,但看习惯了也还好,毕竟它的功能强大、逻辑严密。这就好比找了个外貌没那么惊艳的女朋友,但是因为她内在修养很好,相处久了也感到舒服。
1.1 安装 JDK·
JDK 是 Java 开发库,只有安装了 JDK 才可以运行 Ghidra. macOS 和 Linux 通过包管理器安装完之后,需要在 ~/.bashrc 或 ~/.config/zsh/.zshrc 或其他 shell init 脚本里指定 ${JAVA_HOME} 环境 ...
使用 ksmbd 配置文件共享
坑边闲话:ksmbd 是韩国三星集团工程师 Namjae Jeon 基于 Linux 内核态开发的一个 SMB 文件共享服务器,其源码现已合并到 Linux 内核主干。传统的 Samba 工作在用户态,使用时会有较大的性能开销。但截至目前,Samba 的 smbd 明显要更加完善,支持的功能更多。因此,本文并不尝试带领读者将 Samba 替换为 ksmbd,而是想带大家尝试新鲜事物,窥探未来的文件存储发展方向。
SMB 协议:全称 Server Message Block. SMB 协议最初由 IBM 的 Barry A. Feigenbaum 于 1983 年开发,用于在 IBM OS/2 的网络里共享文件和打印机;
smbd:Samba 的 SMB 实现。
ksmbd:前缀 k 代表它工作在 Linux 内核态。
1. SMB 协议简史·
SMB 是非常重要的一个网络文件系统协议,它涉及到多个彼此差异很大的版本,因此有必要对其发展历史进行梳理。
历史部分主要参考维基百科相关页面,使用 ChatGPT 4 机器翻译加人工精调。
1.1 SMB 1.0·
Barry Feig ...
在容器中运行群晖 DSM
坑边闲话:群晖的 DSM(DiskStation Manager) 系统是家用 NAS 的典范,有着易用的人机交互界面和丰富的系统套件,而这些特性是开源方案所不具备的。然而,DSM 只能运行在群晖的硬件上。
1. 缘起 DSM·
笔者早在 2017 年 2 月也即本科二年级的时候,曾对群晖 NAS 产生过一丢丢的兴趣,主要原因是网上很多人都说 NAS 很有用。本科时候总是满脸热忱,对新奇的东西充满了研究的兴趣。当时用了一台基于 Intel Core i3 550(第一代酷睿)的 PC 机打造了黑群晖系统。那时候新版系统还是 5.x,采用 U 盘引导。因为人在数学系,接触计算机设备的时间不多,所以这台设备很快就被搁置,年底已经彻底变为了 Linux 学习机。
不过当时的 DSM 给我留下了深刻的印象。
再到后来,我拥有了自己的 NAS,而这时已经是 2021 年 4 月,距离我第一次用 DSM 已过去了四年时光。
可惜后来我用的并非白群晖,而是基于 VMware ESXi 的虚拟化 TrueNAS SCALE.
TrueNAS SCALE 和 ZFS 的教程我已经写过很多很多,该系 ...
关于 NAS 系统稳定性的思考
坑边闲话:有大佬曾说过,一个可用的文件系统需要三到五年的开发时间。一个基于某种存储系统的 NAS 系统显然需要的时间更多一些,毕竟 NAS 系统还要解决网络和服务的问题。
最近绿联新系统翻车的新闻刷爆了 NAS 圈,对此我感到毫不意外。我想发表三点个人意见。
1. 存储系统的研发是困难的·
难就难在如何让普通用户也能轻松使用。
知乎用户 AlphaArea 曾经无情嘲笑群晖系统卖的贵,认为群晖就是 Linux 加 KVM,然后靠容器撑起一片天。事实真的如此吗?
说到底,事实确实就是如此,但这并不代表群晖没有科技地位。事实证明,把一套复杂的东西封装好并做成绝大多数人都能上手的产品,绝非一件容易的事情。而且,这里面还会涉及到一些核心组件的开发。
文件系统是最重要的,但是在 NAS 系统中貌似也是最不起眼的,毕竟绝大多数厂商都没有能力订制属于自己的文件系统,只有强如 Apple、Microsoft、IBM 才有兴趣、有实力打造自己的文件系统。此外,很多优秀的文件系统都是开源的,拿来主义岂不美哉?
做民用 NAS 本质上是做用户交互。用命令行确实管用,但是并不好用,只有对 Linux ...
ZFS 存储教程 p2:优化、备份与共享
坑边闲话:本文前作已经较为细致地讲解了 ZFS 的很多基础原理,包括卷管理以及部分性能优化。本文从缓存、快照、权限管理、迁移备份入手,讲解一些很常见的高级操作。
1. ARC 与 L2ARC:是否有必要用 L2ARC 呢?·
1.1 到底什么是 ARC 读缓存·
ZFS 中的读缓存即 ARC,他是一种采用了适应性技术的智能读缓存。传统的 LRU 算法在块存储上是存在问题的,ARC 能很好地解决 LRU 和 LFU cache 策略的问题。但是要注意,所有的 cache 都是打擦边球,妄图以小聪明解决某些性能瓶颈,诚然这种小聪明有时候效果很明显,但是一旦你的使用场景与设计者的预设不同,那么必然遇到缓存失效问题。一旦失效,有缓存还不如无缓存。
ZFS 的 L2ARC 是很常用的功能,特别多见于内存容量不是超级大但是会对某个大工程做频繁读取的工作。比如多人剪辑视频。
注意⚠️:L2ARC 算是一个锦上添花的功能,特别是对单用户场景,L2ARC 并不具有明显优势。
L2ARC 中的 2 就是第二层的意思,而不是 L to ARC(L 到 ARC),它实际上就是一个缓存。ZFS 认为内存中的 ...
ZFS 存储教程 p1:卷管理
坑边闲话:笔者曾经一再强调,存储是计算机服务生命周期的最底层,一定要通过各种手段确保存储的安全,毕竟自古以来,从结绳记事到固态硬盘,其目的都是持久化地存储某些信息。ZFS 作为开源存储解决方案里的翘楚,得到了诸多玩家的青睐。然而,正确理解 ZFS 的诸多概念以及正确使用 ZFS 的特性,往往需要用户付出相当的学习时间。
1. 安全三原则·
一般来说,安全的系统至少要做到以下三点。
可用性。系统是可用的。为了防范黑客而关机、断网,就失去了可用性。
私密性。系统通信、存储的数据不被窃听、破解。HTTP、FTP 明文通信就不够安全。
完整性。通信、存储的信息不能被随机因素所改变,更不能被有心之人篡改!
(不可抵赖性算第四原则吧)
可能你会觉得我在给大众普及安全常识,但是安全恰恰是所有上网的人都需要的。如果你的 NAS 被黑客黑了,那你再聪明也只能在一堆没有灵魂的硬件面前怀疑人生。所以本期内容看似是在讲存储,实际上是在讲安全。希望你能秉持着安全至上的原则看下去。
2. 常规存储服务器介绍·
首先介绍一下存储服务器。
现今的大企业一般标配存储服务器。PureStorage、NetApp、 ...
利用 Cloudflare Tunnel 实现服务公网发布
坑边闲话:中国的网络建设人为地施加了很多限制,比如没有公网 IP,比如封锁 80、443、445 等常用端口,比如将上行限制到一个低到离谱的速率。别问,问就说是防止电信诈骗!然而,在某些正经需求面前,端口被封锁还真的玩不转。何解?且看本文!
1. 中国网络的局限性·
在传统的存储、网络、计算三元组中,存储和计算一般都是在内网中部署,网络可分为内网和外网两个部分,彼此的架构完全不同。外网一般看重的是
路由全球可达性
上下行速率
1000 以下的端口可用性
很遗憾,中国在这三个方面可谓是遥遥落后:
我们无法访问国际互联网,国际互联网要想访问中文互联网的资源也面临相当的门槛;
中国民用宽带上行速率极差,千兆宽带配 30Mbps 上行非常普遍;
常规端口被封锁,导致无法发布 web 服务。
如果想要托管 web 服务器如私人 blog,则只能选择 GitHub pages 静态发布或购买昂贵的云服务器。然而,赛博菩萨 Cloudflare 提供了一种神奇的解决方案,可以让你在没有 web 端口甚至是没有公网 IP 的情况下,自由发布自己的 web 服务。
2 Cloudflare ...
关于 iPad Pro M4,这次真的不想做视频了
坑边闲话:关于 iPad Pro M4,这次真的不想做视频了。
哔哩哔哩原文
iPad Pro 在我眼里是苹果最差劲的、最有前途的产品,苹果可能自己也不明白要做一个什么样的终端产品。
乔布斯没有给 iPad 一个很明确的定义,毕竟当初就是想做一个便宜的、大号的 iPhone,以此作为家庭娱乐的便利终端,顺便可以让饭店帮食客点菜。现在苹果可能想把 iPad 做成一个高级的带屏幕的手写板,然而这大大限制了它的用户群,毕竟平面设计是绝对的小众群体。
此外,Wacom 在这个领域要比苹果专业得多。
iPhone 是个绝对大众化的产品,Pro 和数字版没有太大差别,无非就是摄像头、高刷而已。
MacBook Pro 的最有价值用户群和 MacBook 的用户群的人群分布是类似的,随便一网下去,你总是能捕获到相似比例的 MBP 和普通 MBA 用户。
但是 iPad Pro 和 iPad 的用户群并不是。
在教室里,你一网下去,上来的几乎都是 iPad(甚至都不是 Air);
但是在某个设计室,捕获上来的可能全是 iPad Pro.
苹果给了太多独占功能给 iPad Pro,却对广 ...
使用 FreeFileSync 同步文件的正确姿势
坑边闲话:FreeFileSync 是一款久经考验的文件备份工具,与 FastCopy 相比它并不是很快,但是它支持的模式更加复杂一些,所以在对性能要求不高的场景下,FreeFileSync 依旧是首选。
1. 备份哲学·
FreeFileSync 的本质是一个同步软件,对用户来说,同步与备份可能有着完全不同的语义。
同步:保持两个文件夹完全一致,典型的应用场景就是配置文件、软件本体的同步。
备份:将源文件夹的内容补充到目的文件夹,目标文件夹里的所有东西都要得到保留。典型的场景是相册备份。
FreeFileSync 支持多路径、多备份配置文件,实际效用非常好。
2. 软件备份·
电脑上绝大多数软件都是安装模式,即通过一个引导程序将自己安装到磁盘中,并根据系统模式确定配置文件、缓存文件的存放位置。一般配置文件会存放在 AppData 或者家目录,缓存文件一般会放在 AppData 目录。然而,有一部分绿色文件的配置文件会随同程序本身存放在一个文件夹中,为此我们需要手动管理这些软件的版本、配置文件。软件二进制版本是随升级而变化的,因此需要同步;配置文件可能因机器而已,因此部分配置文 ...
如何正确安装 Windows 系统
坑边闲话:Windows 是现代生活里非常重要的软件,它占据了绝大多数的桌面环境。本文以生态成熟且稳定性较高的 Windows 10 为例,讲解安装系统的正确方法。
1. 核心问题·
Windows 的安装是非常简单的操作,但是按照官方的步骤操作,会在以后的维护过程中遇到极为不利的场景,以下是几个例子:
在一个 2TB 的巨大 SSD 上不分区,然后安装系统。这样做非常简单粗暴,用起来最为简便,因为这种环境里不存在分区的概念。然而,系统一旦崩溃,就需要对整个硬盘里的重要数据进行备份,代价比较大,而且在备份完之前不能进行系统安装。
现在市面上绝大多数笔记本电脑和台式机都可以安装两个及以上的 M.2 固态硬盘,用户可以选择 512GB 系统盘搭配 2TB 数据盘的方式进行组合使用,优点是比较灵活,缺点是带来了略高的发热及功耗。但是在重装系统时,将会失去系统盘里的所有数据,包括 AppData 里面的所有缓存数据。此外,很多软件默认把对用户不可见的缓存、配置放在 C:\Users\YOURNAME 目录里,这些数据对用户来说至关重要,盲目格式化重装可能也会丢失这部分数据。
以上两个场 ...
通过 Tailscale 搭配 CNAME DNS 实现内网服务外网访问
坑边闲话:最近在搭建一些内网服务,比如 Gitea、JupyterLab、Portainer 等,但这些服务均部署在内网环境,无法通过公网访问。所以我就想到了使用 Tailscale 搭配 CNAME DNS 实现内网服务外网访问的方法。这样我本人在接入 Tailscale VPN 之后,就可以在任何地方通过公网访问到内网的服务了。
1. Tailscale 简介·
Tailscale 是一个基于 WireGuard 协议的 VPN 服务,它可以让你轻松地在多个设备之间建立安全的连接。Tailscale 有一个非常大的优势,就是它可以穿透 NAT,所以你可以在任何地方都能访问到你的设备。
2. Tailscale 安装·
Tailscale 支持多种平台,包括 Linux、Windows、macOS、iOS、Android 等等。你可以在 Tailscale 官网 上找到对应的安装方法。这里我以 Linux 为例,介绍一下 Tailscale 的安装方法。
2.1. Linux 安装·
Tailscale 提供了一个脚本,可以帮助你安装 Tailscale. 你可以使用下面的命令来 ...
Windows Server 2022 配置 Mellanox 网卡 RDMA
坑边闲话:在高性能计算的互联解决方案中,Mellanox 家的产品一直是首选之一,甚至没有之一。基于 TCP/IP 的存储共享网络也可以从 Mellanox 技术获益,实现较高的 I/O 带宽和较低的延迟。
我们以 Windows Server 2022 为例,讲解如何配置基于 RDMA 的 SMB 文件共享。
1. SMB Direct·
2. 配置 Windows Server 驱动·
2.1 开启 Windows Server DCB 数据中心桥接功能·
IEEE 802.1 数据中心桥接(DCB)是一系列标准。DCB 的主要目的是让局域网和存储区域网络能在数据中心的同一个网络上运行。比如,同一台交换机可以同时承载普通以太网流量与存储流量。DCB 通过定义不同的链接级别,实现了 FCoE 和 iSCSI 等技术。同一台交换机承载不同类型的以太网流量本身就是天经地义,然而在存储和高性能计算领域,应用对延迟、丢包率的容忍度较普通流量更低,因此交换机不仅要提高性能,而且要有更先进的拥塞控制算法、QoS 算法。
DCB 有以下核心功能:
基于优先级的流控制,即 PFC(Priori ...
ZFS 性能测试
坑边闲话:ZFS 的文件测速一直是一个老大难问题,因为它涉及到了复杂的缓存系统。缓存系统的存在,使得对文件系统做贴近原生接口速度的测试非常困难,用户在测试的时候往往是在测缓存,而非是真正的磁盘。
12345678910111213sudo fio \ -filename=fio.bin \ -direct=1 \ -ioengine=libaio \ -rw=write \ -bs=128k \ -size=128G \ -numjobs=16 \ -iodepth=32 \ -runtime=180 \ ...
存储迁移:zfs send recv 还是 rsync?
坑边闲话:存储系统随时面临扩容的考验。在不重建 RAID 的情况下,使用 ZFS 自带的扩容方案也是可行的。然而 RAID-Z 磁盘组变多之后,占用量不均衡的现象很令人烦恼。此时购买一个全新的阵列,将原有阵列的数据挪过去就变得可行。
1. ZFS 添加阵列的弊端·
在传统认知里,RAID 的重建是很重要的操作,比如我们可以往 RAID-5 里添加硬盘,此时会产生一次重建:RAID 卡会按照一定的原则,将原阵列中的一部分数据和校验值分摊到新的硬盘上,使得新阵列的所有硬盘具有相同的容量占用。在机械硬盘时代,这个过程耗时非常久。尽管 SSD 可以让重建工作变得更简单,但这依旧是个麻烦且会带来服务降级的操作,搞不好还会造成服务质量的严重下降,甚至造成服务的短暂中断。
作为对比,ZFS 支持实时扩容。ZFS 的操作很简单,当目前的存储池占用达到 80% 左右的时候,系统提示告警。当然,80% 只是一个常见值,用户可以自行设定阀值。在收到告警之后,用户需要添加一个一模一样的 RAID-Z 到现有的阵列组里,新老 RAID-Z 以 stripe 组的形式提供单一存储。然而这样的问题很明显:新旧阵 ...
在命令行中使用 ZFS 相关命令
坑边闲话:TrueNAS 提供了良好的 ZFS 使用体验,但是频繁使用 Web 界面并非是一个令人舒适的事情。我的原则是,与存储相关的问题尽量在命令行里解决。此外,将 Debian 系统配置为一个理想的存储服务器是很吸引人的,但这依旧需要用户对存储管理的命令行有深入的理解。
本文包括但不限于以下内容;
ZFS 打快照、删除快照
ZFS 存储吃创建
ZFS 文件系统创建与销毁
ZFS 文件系统的参数调整
1. 安装 ZFS 相关组件·
Debian 或者 Ubuntu 等 Linux 发行版不具备 TrueNAS 的网页图形化界面,因此操作 ZFS 时颇为繁琐,为此我们做简单介绍。
1.1 常规安装·
在 Debian 12 的 的 stable 上游中,zfs-linux 的版本比较老旧,很多新的特性无法支持。为此,我们需要使用 bookworm-backports 中的 zfs-linux.
首先确保在 apt 配置文件里开启了相关上游,即确保下面的行存在:
12deb http://deb.debian.org/debian bookworm-backports main ...
内网 IP 地址分配规划
坑边闲话:在内网中我们一般使用 DHCP 对设备进行地址分发、网关分配、DNS Server 分配。其中,地址是最常用的。虽然 IP 地址可以通过本地的 DNS 服务解决,但是能有规律地对设备进行静态地址分发却是一个很有用的功能。
1. 为什么要对 IP 地址这么重视?·
面对标题中的问题,很多网络老手可能都觉得没有意义,因为 DHCP 的出现就是为了解放网络管理员。但是这并不代表 DHCP 就是最好的。对于某些设备,我们既希望它能有一个固定的 IP 地址,同时又能够保持一定的自动化。
保持固定 IP 地址,就能在不知晓主机名的时候推断出设备类型,也能快速推断出有哪些未授权设备被分发了地址。
当移动设备漫游到其他网络的时候,使用同一套地址分配策略,也能给机器分配合适的主机名。
1.1 网段选择·
为了保证最高的自由度,我们选择在内网里使用 10.0.0.0/8 的内网段。假设该网段按照点分十进制表达为 10.a.b.c/8,则
使用 a 字段表明位置,如实验室、国外的实验室、宿舍、家等
使用 b 字段表明机器,如 r740-rack,z690-desktop,x1e-lapt ...
使用 Harbor 管理个人容器镜像
坑边闲话:容器是现代开发、运维都要学习的技术,开发人员要让应用的逻辑尽可能地做到可水平扩展、可监控状态,运维人员要尽可能地将服务以云原生的方式部署并实现高可用。在这个过程中,镜像管理非常重要,这涉及到软件的供应链安全,也关系到整个 DevOps 的流程顺滑性。
1. Harbor 简介·
在使用容器的时候,我们实际需要的是进程。进程是一个动态的概念,它需要某些二进制代码、可执行文件。后这就是我们说的 Application. 在传统环境中,我们需要到软件官网将程序下载下来,然后装入内存,得到一个动态的进程。使用容器部署任务与此类似,毕竟容器只是加了更强的隔离属性的进程。容器所需要的代码软件就是镜像。
这么说也不完全,毕竟容器在生成的时候可以指定目录映射,将本地的可执行程序映射到容器空间。但是传统的以容器为软件持久化存储的环境中,软件只来自于镜像,不来自于本地的文件映射。
因此,镜像与软件有相似的属性,也面临相似的问题。比如,容器也面临网络传播的体积限制,我们总是希望打包出来体积越小越好。此外,软件的供应链安全也是一个敏感话题,如何对镜像进行签名也是一个绕不开的问题。
如何才能像 ...
curl 教程
坑边闲话:wget 和 curl 在命令行下载文件时很常见。然而,curl 的诸多参数很复杂。
curl 发展自 1998 年,算是一个相对年轻的工具。它本身就是一个迷你的浏览器,可以请求 HTTP 内容,因此下载文件也不在话下。
此外,curl 还是一个开发库,它提供了若干个在 HTTP 开发时需要用到的组件。
-L 重定向·
如果页面发生重定向,则 curl 也会继续请求重定向后的内容。
重定向是个危险的操作,因此如果包含发送 secret, curl 不会将 secret 发送给重定向后的服务器。
可通过 --max-redirs 设置重定型的深度。
-o·
--output,将网络返回的数据写入文件,而非写入到 stdout.
由于 curl 支持解析自定义脚本,因此用 -o 参数时可以编程。
-O·
--remote-name
-O 经常用来做临时下载,它会将远程资源的文件名解析出来,并以此创建本地文件。
--output-dir·
当 -O 或 -o 指定时,该参数才生效。
1curl --output-dir "/tmp" -O https://e ...
英语词汇学习 s2
坑边闲话:作为一个中国人,而且是语言能力偏弱的人,我学习英语的时间可能比各位读者都要久,但是我的英语水平并不是很高。至少在我 27 岁将近(还有十几天)的时候,我感觉自己与英语母语者交流还是有一定的障碍。**自高中毕业,系统学习英语的时间变少了,我感到很惭愧。**但是我大学到研究生,写了很多有益的博客,提升自我同时分享了知识。为什么不能把自己英语学习的笔记、思考写成博客呢?
甚至,还可以借助 ChatGPT 啊!这一切是多简单。
Disposition·
很容易记忆:
dis, 表示否定
position,位置(超级熟悉)
然而,disposition 并不表示未知错误。属于让人望文生义的词汇。
名词:性格,倾向。
A man of a good disposition. 一个性情良好的男人。
记忆:在一个错误环境中才能表现出真实的品性、性格、倾向。
法律:对财产的处置权
Napoleon had railway at his disposition. 拿破仑有铁路可以利用。
HTTP 请求头,用于指示资源如何被展现,特别是在下载文件时需要指定。Content-D ...
英语词汇学习 s1
坑边闲话:作为一个中国人,而且是语言能力偏弱的人,我学习英语的时间可能比各位读者都要久,但是我的英语水平并不是很高。至少在我 27 岁将近(还有十几天)的时候,我感觉自己与英语母语者交流还是有一定的障碍。**自高中毕业,系统学习英语的时间变少了,我感到很惭愧。**但是我大学到研究生,写了很多有益的博客,提升自我同时分享了知识。为什么不能把自己英语学习的笔记、思考写成博客呢?
甚至,还可以借助 ChatGPT 啊!这一切是多简单。
1. 词汇 20K·
以下是曾经读过的论文里不认识的单词。我尽量做点笔记,把这些词记住。
aesthetically·
要记住这个词很简单:
aes,学密码的太熟悉不过,AES 高级加密算法
the,定冠词
tically,你肯定记得住
aesthetic 是形容词,审美的,美学的,艺术的。
发音 /iːsˈθetɪk/
adhere·
[v] 遵守
如何记忆:只能在这里(here)贴广告(ad),这个规矩你要(遵守)
常见搭配
adhere to,遵守某规则制度
It is important to adhere to r ...