Anduin Xue
Anduin Xue

Anduin's Tech Blog

All Posts


在服务器中部署单独的Docker应用

本文针对在虚拟机(VM)中部署Docker应用的场景进行了详细的讨论。这种场景可能出现在数据中心仍基于VM部署,而某些业务只提供Docker映像的情况下。文章首先讨论了这种混合部署的挑战,包括管理复杂性的提升,以及未来发展方向的确定。然后,文章详细介绍了在VM中安装Docker、确定容器需要穿透的卷、确定端口映射、管理容器和VM、确保容器会随着主机开启、对容器升级以及直接操作容器的方法。文章指出,虽然容器的升级相对容易,但在实际部署中,我们还需要采用一些“笨办法”以确保新版本的容器能正确加载和使用持久化卷,并与之前的版本兼容。最后,文章强调在混合部署中,需要对容器和VM进行分别管理,并需要对容器的持久化卷和端口映射进行规划和管理,以确保系统的稳定性和可靠性。同时,也需要考虑未来的发展方向,逐步向基于容器的部署模式转变。那么,你是否已经准备好在VM中部署Docker应用了呢?--GPT 4

bash Linux Ubuntu Docker VM Container

快速配置 - 无痛让你的所有 Git Commit 都被 GPG 数字签名

这篇博客详细介绍了如何使用 GPG 对 Git Commit 进行数字签名,为了防止他人伪造你的 Commit,提高安全性。首先,介绍了 GPG 签名的原理和作用,然后详细阐述了如何下载并安装 GPG,生成 Key,设置 Git Commit 使用这个 Key,让 GitHub、GitLab 信任你的公钥,并提出了跨设备同步你的 Key 的方法。通过这些步骤,你的 Git Commit 都会显示受信任的,不再会被黑客仿冒。但是,跨设备同步你的 Key 的方法可能会带来安全风险,你需要权衡安全和方便。那么,你是否愿意牺牲一点儿安全来换取方便呢?你会如何选择?--GPT 4

bash git PowerShell SSH Nextcloud Sign GPG

Make Gnome looks like Windows 11

在这篇博客中,我们将探索如何将 Gnome 桌面环境定制成 Windows 11 的外观。这是一种有趣的尝试,可以让我们看到 Linux 桌面环境的强大自定义性,无论是 KDE 还是 Gnome,都可以通过一些简单的设置,让它们看起来像任何一个系统。首先,我们需要安装一些必要的依赖,如 gnome-tweaks 和几个 Gnome 扩展。接着,我们将设置壁纸,选择一个类似于 Windows 11 的壁纸。然后,我们会设置图标和主题,这里推荐的图标方案和主题方案都具有很高的仿真度。最后,我们会设置 Dock to Panel 和 ArcMenu,这两个扩展可以让我们的 Gnome 桌面更像 Windows 11。在这个过程中,我们还会详细介绍每个步骤的具体操作。那么,Linux 桌面环境的自定义性能有多强?我们能否真正做到让 Gnome 看起来像 Windows 11?这就需要你亲自尝试,亲自体验了。--GPT 4

Ubuntu Gnome

简明 LLAMA 体验指南

本篇博客详细介绍了如何使用Meta公司的LLama模型。LLama是Meta公司的一种语言模型,用于实验、创新和扩展想法,可以用于自然语言处理任务,如生成文本、回答问题等。这篇文章分步骤详细介绍了如何准备硬件环境,如何在Meta公司的网站上填写申请表格,如何下载和安装LLama模型。 首先,你需要准备一台有GPU算力的计算机,并在上面安装Nvidia显卡驱动、bash、Python 3.10、Pip、Git、Checksum、wget等工具。然后,你需要在Meta公司的网站上填写申请表格,提交后你将很快收到一封包含下载链接的邮件。接下来,你需要使用git命令克隆LLama模型的仓库,然后运行下载脚本来下载模型。最后,你需要运行pip install命令来安装模型。 这篇文章详细而清晰地介绍了如何使用LLama模型,无论你是初学者还是高级用户,都可以从中获益。然而,这篇文章并没有涉及如何使用LLama模型来完成具体的任务,这可能是你在阅读本文后需要进一步探索的问题。你会如何利用LLama模型来完成你的项目?你会如何管理和降低使用LLama模型的风险?希望你在阅读全文后,能找到这些问题的答案。--GPT 4


Use your own cert to sign your package to identify your code identity.

This blog post offers a comprehensive guide on using a digital certificate to sign code and establish identity in the digital world. It first explains the concept of digital certificates, which are split into public and private keys. The public key is made available online for others to trust, while the private key is used to sign content. The post further elaborates on the subject and friendly name fields in a digital certificate. The subject field contains identity verification information, while the friendly name is an optional field used for easier identification and management of the certificate. For HTTPS certificates, the subject field typically includes the domain name or hostname of the certificate holder, which is crucial for ensuring secure communication. The blog then provides a step-by-step guide on generating a self-signed certificate and obtaining the private key. It also explains how to make the public key trusted by others. By generating a self-signed certificate and...--GPT 4

C# Certificate .NET Windows Sign Digicert Code Sign Signature nuget

Manually Enable Windows RE in an independent partition

This blog post provides a comprehensive guide on how to manually enable Windows RE (Recovery Environment) in an independent partition. It starts by highlighting the importance of having Windows RE enabled, which includes fixing boot-related issues, providing access to the command prompt for troubleshooting, facilitating a clean install of Windows, and reducing the risk of data loss or corruption. The blog then outlines the steps to automatically and manually enable Windows RE, including dealing with potential error messages related to BitLocker Drive Encryption. It also provides a guide on debugging RE and a checklist of other security measures to ensure the reliability of Windows. These include enabling virtualization technology, secure boot, TPM chip, BitLocker, firewall, and UAC. The blog also discusses the optional use of the Unified Write Filter. Will you be able to enable Windows RE manually after reading this? What other measures do you take to ensure the security and reliabilit...--GPT 4

Windows 10 PowerShell Security Windows 11 Bcdedit Windows RE Recovery reagentc Diskpart

Automatically Unlocking LUKS2 Encrypted System Partition Using Clevis and TPM2

This blog post delves into the process of automatically unlocking a LUKS2 encrypted system partition using Clevis and TPM2. To start with, you need to ensure that Secure Boot and TPM are enabled in your BIOS settings. For Secure Boot, you may need to configure your system to trust third-party certificates, which could involve generating a new key pair and certificate for your system, signing your boot loader and kernel with the new key, and enrolling the key in your system's Secure Boot database. The blog proceeds to guide you through the installation of the necessary packages for Clevis, using the command `sudo dnf install clevis clevis-luks clevis-dracut clevis-udisks2 clevis-systemd`. Once installed, the TPM2 key has to be bound to Clevis, which creates a key on the TPM2 chip and binds it to the LUKS2 encrypted system partition. You will be prompted to enter your passkey. The final step involves updating the system files to use Clevis to automatically unlock the system partition...--GPT 4

bash Linux Security LUKS2 Clevis TPM2 TPM

Using ZFS is easy

ZFS is a modern file system with features such as copy-on-write, redirect-on-write, deduplication, and snapshots, making it suitable for large-scale storage and data management scenarios. It operates on the concept of storage pools, where a pool manages disks and provides storage space. Datasets can be created on top of these pools, which don't require allocated space and can utilize the entire storage capacity of the pool. Each dataset is mapped as a directory for file storage and organization. The blog post provides a detailed guide on how to install ZFS, locate your disk, list sets and pools, and manage pools and sets. It also explains how to use the deduplication property to remove redundant data from your ZFS file systems, resulting in only unique data being stored and common components being shared between files. Additionally, the blog post discusses the use of snapshots, which record the state of the file system at a specific point in time. This feature allows for easy resto...--GPT 4

bash Linux Disk ZFS File Sysytem Raid Dedup

让微软的人组装一台电脑究竟会得到什么怪兽?从装机聊到数据中心

本文讨论了专有硬件在游戏设备上的优化潜力,通过对比通用计算设备,阐述了专有硬件在性能、体验和优化方面的优势。文章提到了专有硬件在应用开发、永不崩溃、作弊、省心、反病毒、虚拟化、DMA、硬盘优化、录屏和直播等方面的优化空间,以及如何通过专有硬件实现这些优化。最后,文章以Xbox游戏设备为例,展示了专有硬件在游戏领域的优越性能和体验。总之,专有硬件的优化可以登峰造极,为用户带来更好的性能和体验。--GPT 4

Windows Device Gaming Xbox VBS Hardware Hypervisor

如果要为C919喝彩,你必须先认识运10

C919是中国国产大型客机的代表,具有巨大的市场潜力。然而,在了解C919之前,我们需要认识运10,一款曾经代表中国飞机制造能力的最高水平的飞机。运10诞生于1960年代,当时中国航空工业正面临中苏关系恶化和中美关系改善的时代背景。运10的研发过程充满曲折,最终只生产了两架,其中一架用于静力测试,另一架广泛试飞。运10的失败归根结底还是自己丢了精神,它的故事令人感慨。尽管如此,中国航空人对大飞机的追求从未停止。如今的C919已经取得了初步成绩,未来有望与空客和波音竞争。运10的制高点或许才刚刚突破,中国飞机制造业的未来仍然充满希望。--GPT 4

China Aviation C919 Airplane Airbus

Show .NET code coverage rate and unit test status with GitLab CI\CD pipeline

本文详细介绍了如何使用GitLab CI/CD管道来展示.NET项目的代码覆盖率和单元测试状态。首先,需要确保在你的GitLab实例中有一个.NET项目。然后,在所有单元测试项目中添加coverlet.collector和JunitXml.TestLogger这两个包。接下来,编写C#代码的单元测试,并创建一个包含构建、测试和发布阶段的.gitlab-ci.yml文件。 在构建阶段,使用dotnet build命令进行编译。在测试阶段,使用dotnet test命令进行测试,并收集代码覆盖率信息。同时,使用reportgenerator生成cobertura格式的报告,并从中提取覆盖率数据。最后,在发布阶段,使用dotnet publish命令进行发布,并将生成的nupkg文件保存为构建产物。 通过这样的配置,你可以在GitLab管道运行结束后查看单元测试结果和代码覆盖率数据。此外,在创建pull request时,还可以看到覆盖率信息。最后,别忘了在Readme.md文件中添加一个代码覆盖率徽章! 本文为你提供了一个完整的示例,帮助你更好地理解如何在GitLab CI/CD管道中展示.NET项目的代码覆盖率和单元测试状态。那么,在你的项目中,如何利用这些技巧来提高代码质量和测试覆盖率呢?--GPT 4

.NET Test Code coverage Continuous Integration GitLab junit YAML

城市天际线 - 解决常见问题

在《城市天际线》这款游戏中,"受教育的工人不足"是一个常见且让玩家困扰的问题。本文针对这一问题,提出了几个解决方案。首先,治理交通拥堵,通过修建高架、规划地铁、安排公交等方式改善交通状况。其次,加强教育,通过实施“加强教育”政策、增加教育经费和修建学校等方式提高本土居民的教育水平。再者,提升城市吸引力,通过修建娱乐场所、公园、景区等吸引外地大学生来就业。此外,调整居住区和商业区的比例,保证足够的居民能够为商业区提供足够的工人。最后,耐心等待居民提高学历,观察教育页面,确保所有居民都已经从学校毕业。 除了“受教育的工人不足”问题,本文还探讨了如何解决地价过低和可供出售的商品不足的问题。对于地价过低,同样需要治理交通拥堵,同时优化基础设施,确保供电、供水、垃圾处理等方面都完善建立。对于可供出售的商品不足,除了治理交通拥堵外,还需要注意修建足够的工业区和货运火车站、港口,以保证商品的生产和运输。 那么,如何在游戏中平衡城市发展和居民需求?在解决这些问题的过程中,我们是否能从中得到现实生活中城市规划的启示?希望通过阅读本文,玩家们能够在游戏中更好地应对这些问题,同时也能在现实生活中对城市规划有更深的理解。--GPT 4