D4RL 包括一系列在离线强化学习中广泛使用的环境和数据集,mujoco-py
是一个用于与 MuJoCo 物理引擎交互的 Python 包,是 D4RL 的重要依赖之一。这两个包已经很久没有更新和维护,在安装时可能遇到一系列问题,但是它们仍然是离线强化学习领域的重要工具。本文以 Ubuntu 下的 conda 环境为例,介绍如何安装 D4RL 和 mujoco-py 库。如果你正在使用其他 Linux 发行版、使用 venv 或在容器中安装,可能需要根据实际情况进行调整。
D4RL 包括一系列在离线强化学习中广泛使用的环境和数据集,mujoco-py
是一个用于与 MuJoCo 物理引擎交互的 Python 包,是 D4RL 的重要依赖之一。这两个包已经很久没有更新和维护,在安装时可能遇到一系列问题,但是它们仍然是离线强化学习领域的重要工具。本文以 Ubuntu 下的 conda 环境为例,介绍如何安装 D4RL 和 mujoco-py 库。如果你正在使用其他 Linux 发行版、使用 venv 或在容器中安装,可能需要根据实际情况进行调整。
Docker 和 Podman 中的 Linux Capabilities
在运行 Docker (或 Podman) 容器时,有时即使使用 root
用户或者使用了 sudo
,也会出现 Operation not permitted
的错误信息。这是因为容器中的 root
并不具有完整的 root
权限。这种权限的控制是通过 Linux capabilities 实现的。本文将首先介绍 Linux capabilities 的概念,然后以 Docker 为例介绍如何调整容器的 capabilities,最后介绍 Docker 和 Podman 在默认 capabilities 上的差异,以为容器的开发者和用户提供参考。
在 GitHub Actions 等 CI/CD (持续集成/持续部署) 服务中,如果需要部署到远程服务器,我们通常会使用 SSH 连接。然而如果不加以限制,存储在 CI/CD 服务提供商中的凭证一旦泄露将对服务器造成巨大的安全风险。遵循最小权限原则,本文将利用 SSHD 为用户强制指定命令的功能,限制 CI/CD (以 GitHub Actions 为例) 所使用的用户只能执行特定的命令,从而实现安全的持续部署。
Windows 中的 excludedportrange 和 dynamicport
你在使用 Windows 时是否会遇到这样的问题:某个端口在 netstat -ano
中并没有显示被占用,但是即使使用管理员权限仍然无权绑定该端口?这是因为 Windows 有一些端口是被保留的,即 excludedportrange
,而该问题可以通过调整 dynamicport
解决。
两年前我申请了 GitHub 和 Azure 的学生包。过去的两年它们增添了很多内容,尤其是大受欢迎的 GitHub Copilot,由此也导致了更多非学生的羊毛党的涌入,微软不得不提高了风控水平,造成真正的学生的申请流程变得更加复杂。在 11 月底,我的 GitHub 和 Azure 学生包都将到期,因此我在 11 月进行了续订。我在这篇文章谈谈我在 2023 年续订 GitHub 和 Azure 学生包的经历。
截止到我写这篇博客,我在网络上所看到的将 Yubikey PIV 证书与 Windows 一起使用的教程和文档都是已经有完整的私钥和公钥(在 Yubikey 外生成),将其安装在 Windows 和导入到 Yubikey 使用。但是,Yubikey 还提供了一种具有更高安全性的选项:在 Yubikey 上生成私钥,这种方法的好处是私钥不会离开 Yubikey,因此不可能被泄露。但是在这样的情况下,我们没有可以用于导入到 Windows 的私钥,Windows 并不知道我们具有相应数字证书的私钥,在签名时不会将我们的证书作为可用的证书。
本文将介绍如何在 Yubikey 上生成私钥,使 Windows 将证书与 Yubikey 上的私钥相关联,以便在 Windows 上进行代码签名。尽管本文的目的是进行代码签名,但是文中的关联方法也适用于其他需要使用在 Yubikey 上生成的私钥的场景。
我最喜欢的 shell 是 zsh,它的自动补全功能非常强大,但是经过长期的使用我也感受到一些问题。为了解决这些问题,我查找资料并按自己的喜好配置了它的自动补全系统。本文记录了我的配置。
Cloudflare WARP 是 Cloudflare 提供的免费 VPN 服务,由于多数服务商都将其出口 IP 视作信誉良好的家宽 IP,许多人将其用于 IP 地址较脏的服务器,以便访问风控较严格的网站。然而当我们将它在自己的服务器上使用时,会遇到以下的问题:
1.1.1.1 with WARP
下会阻断所有入站连接,这意味着服务器上的网站和服务都无法被访问Local Proxy
模式下尽管没有阻断入站连接的问题,其提供的 HTTPS/SOCKS5 代理并不能传输 UDP 数据包本文将在 Docker 中运行官方 WARP 客户端,以解决上述问题。项目代码已经发布到 GitHub。
无需重装地将 Windows 11 家庭版(OEM 激活)升级到批量(KMS 激活)专业版
不知从什么时候开始,微软限制了将 OEM 激活的 Windows 家庭和学生版直接升级到批量激活(使用 KMS 激活)的专业版,网上之前存在的很多方法都失效了。恰好最近我买了一台新电脑,需要升级到学校提供的专业版,但是又不希望重装(这意味着重新安装全部驱动),于是开始寻找相应的办法。在尝试网上搜索发现的多种办法均失败后,我自行探索得到了一种无需重装的升级方式。我将在本文中给出我的探索过程和最终成功的方法。
matplotlib 是一个被广泛使用的 Python 绘图库,但是在远程服务器等无头设备上使用时,可能会遇到 plt.show()
无法显示和缺少中文字体的问题。本文将介绍如何解决这些问题。