Anduin Xue
Anduin Xue

Anduin's Tech Blog

Bash and Linux Some tips about bash and Linux.


Automatically Unlocking LUKS2 Encrypted System Partition Using Clevis and TPM2

这篇文章详细介绍了如何利用Clevis和TPM2技术实现LUKS2加密系统分区的自动解锁功能。首先需要在BIOS中启用Secure Boot和TPM功能,并根据不同的操作系统进行相应的配置。安装`clevis`和相关组件后,通过绑定TPM2密钥并更新系统文件来完成自动解锁的设置。这一过程不仅提升了系统的安全性,还为用户提供了便捷的操作体验。你是否准备好为你的系统实现自动解锁?--DeepSeek

bash Linux Security LUKS2 Clevis TPM2 TPM

Using ZFS is easy

文章介绍了ZFS存储系统的基本配置和优化方法,包括压缩(默认lz4)、校验和确保数据完整性、定期擦除扫描检测修复数据错误、存储池创建及RAID配置(如raidz2支持双冗余)、缓存设备(NVMe)和日志设备的添加以提升性能、同步写入禁用和访问时间关闭等性能优化设置。作者展示了具体的配置示例,包括使用12块TOSHIBA硬盘构建 raidz2 存储池,设置 ashift=12、recordsize=1M、xattr=sa 和 dnodesize=auto 等参数,并添加NVMe设备作为缓存和日志,同时禁用同步写入和访问时间记录以优化性能。--DeepSeek

bash Linux Disk ZFS File Sysytem Raid Dedup

How to install CUDA and cuDNN on Ubuntu 22.04 and test if its installed successfully

这篇文章详细介绍了如何在Ubuntu 22.04系统上安装CUDA、cuDNN和PyTorch,并提供了验证每个组件是否成功安装的方法。从选择合适的CUDA版本开始,到通过`nvidia- smi`命令确认显卡驱动版本,再到下载并安装CUDA工具包,文章一步步引导读者完成配置过程。接着,文章讲解了如何安装cuDNN,并通过测试程序确保其功能正常。对于PyTorch的安装,特别提醒用户避免直接使用pip安装,而是要根据硬件和系统环境选择正确的命令。最后,文章还提供了多种验证方法,包括运行“Hello CUDA”示例程序、检查cuDNN版本以及在Python中验证PyTorch是否正确识别GPU。这些步骤不仅确保了安装的成功,也为读者后续进行深度学习项目奠定了基础。--DeepSeek

Ubuntu NVIDIA vGPU CUDA cuDNN GPU

If a Ubuntu server should run apt upgrade automatically?

这篇文章探讨了Ubuntu服务器是否应该自动运行`apt upgrade`的问题。作者首先描述了手动升级的繁琐过程,并提出了自动化升级的好处:节省时间、及时获取安全更新以及减少一次性升级的压力。然而,尽管自动化升级看似高效且安全,作者指出这并不适用于所有场景。 文章进一步分析了不应自动升级的原因:维护问题排查变得困难、极端稳定的环境需求无法容忍任何变化、功能性更新可能导致不可预见的故障、重启操作可能带来致命影响。最后,作者提出了只有在系统允许降级、无状态、具备完美备份、持续在线以及需要最新功能更新的情况下,才建议使用自动化升级。 这篇文章引发了一个值得深思的问题:在追求效率与稳定性的平衡中,我们应该如何权衡自动化的利弊?--DeepSeek

bash Linux Ubuntu Upgrade Crontab Update

Install Cockpit on Ubuntu 22.04

本文介绍了如何在Ubuntu 22.04系统上安装和配置Cockpit工具,包括基本安装、认证设置、网络问题解决、Navigator插件安装以及通过Caddy实现HTTPS访问的步骤。文章首先展示了简单的安装命令,并强调了使用非root用户进行操作的重要性。随后,针对可能出现的网络错误,详细说明了如何调整Netplan配置文件以确保网络渲染器正确工作。此外,还介绍了如何通过GitHub API自动下载并安装Navigator插件,进一步增强了Cockpit的功能性。最后,文章提到了使用Caddy作为反向代理来实现安全的HTTPS访问,并提供了一个示例配置。你是否了解为什么需要避免使用root用户直接操作?你知道如何通过Netplan解决网络渲染器的问题吗?navigator插件在Cockpit中起到了什么作用?为什么作者推荐使用Caddy来进行反向代理?这些问题的答案都将在文章中找到,而你又会如何优化自己的Cockpit配置呢?--DeepSeek

bash Linux Ubuntu Remote Management Cockpit NetworkManager

CaddyV2 tips and examples (How to correctly get user's IP address after a reverse proxy)

这篇文章详细介绍了使用Caddy v2进行反向代理和安全配置的多种方法,包括启用Basic Auth、限制访问、负载均衡以及健康检查等功能,并提供了多个实例演示不同场景下的配置方式,例如保护敏感路径、重写Host头、允许内网直接访问等,全面展示了Caddy在实际应用中的强大功能与灵活性。--DeepSeek

Reverse Proxy Linux Ubuntu Proxy FRP Caddy CaddyV2 IP Address Proxy Protocol

Build a new NFS server with WinServer or Ubuntu and mount it

这篇文章详细介绍了如何在Windows Server和Ubuntu系统上搭建新的NFS服务器,并展示了如何从不同平台(包括Windows、Ubuntu和VMware ESXi)挂载远程NFS存储。通过分步指南,文章帮助用户快速掌握NFS的配置与使用,同时提供了实际操作中的关键步骤和注意事项,如安装必要的软件包、设置共享目录权限、编辑配置文件以及防火墙端口的开放。无论是从Windows客户端还是Linux环境进行挂载,文章都给出了清晰的操作示例,并通过VMware ESXi的案例展示了NFS在虚拟化存储管理中的应用。这篇文章不仅帮助读者快速搭建和使用NFS服务器,还为优化存储管理和实现跨平台资源共享提供了实用指导。你是否也在寻找一种高效、灵活的文件共享解决方案?这篇文章或许能为你打开新的思路!--DeepSeek

Linux Ubuntu File Windows Server Share NFS VMware ESXI Vsphere NAS

Mount Windows SMB folder to Ubuntu

本文详细介绍了如何在Ubuntu系统上挂载Windows SMB共享文件夹,包括安装必要的工具、创建挂载点以及执行挂载命令的具体步骤。文章还提供了配置开机自动挂载的方法,使用户能够在启动时自动连接到远程SMB资源。通过这些操作,用户可以轻松地将Windows服务器上的文件夹访问权限扩展到Linux环境,从而实现更高效的工作流程和数据管理。你是否也遇到了在混合环境中需要频繁访问不同平台资源的困扰?这篇文章为你提供了一个实用的解决方案。那么,在实际应用中,你是否已经尝试过类似的配置,或者有没有更好的方法来优化这一过程呢?--DeepSeek

bash Linux Ubuntu Windows Server SMB Share

Use you local server to replace the cloud with FRP.

文章介绍了通过FRP(Fast Reverse Proxy)实现从云服务器到家庭服务器的代理服务配置方法。首先,在云端服务器上安装并配置FRPS,启动服务;接着在家庭服务器上安装FRPC,并设置相应的参数以连接云端FRP服务器。测试连接时,可通过移动设备或外网访问云端服务器的特定端口,验证是否成功代理到家庭服务器的服务。此外,文章还提供了自动化升级脚本,方便用户自动更新FRP组件至最新版本。最后,讨论了成本问题,比较了FRP解决方案与传统云服务的成本差异,指出尽管FRP需要初期硬件投入,但长期来看可显著降低运营成本,并获得更好的性能体验。--DeepSeek

IP bash Linux Windows Server Cloud FRP Network Port Firewall

Auto backup for Minecraft on Linux

这篇文章介绍了如何在Linux系统上为Minecraft服务器实现自动备份功能。作者最初尝试使用Git进行备份,但由于压缩对象时CPU消耗过高可能影响游戏性能而放弃。最终选择了一种基于文件复制的解决方案,并详细分享了具体步骤。文中提到通过tmux工具运行Minecraft环境,利用start.sh启动服务,并编写了一个名为backup.sh的脚本来实现自动备份。该脚本能够按时间命名备份文件夹、保留最近10个备份并删除最旧的一个,同时支持通过crontab等后台任务管理系统定期执行备份操作。作者还分享了如何在tmux会话中发送命令以提示玩家备份状态,并确保游戏保存机制的正常运行。这篇文章不仅展示了具体的技术实现,还引发了一个值得思考的问题:在使用不同备份方案时,如何平衡性能消耗与数据安全?这个问题或许能激发你进一步探索和优化自己的Minecraft服务器管理策略。--DeepSeek

bash Linux Minecraft Backup Minecraft server Automatic backup

Programmatically connect to the remote server via SSH and execute remote command.

本博客介绍了一种通过编程方式使用SSH协议连接远程服务器并执行命令的方法。作者分享了使用.NET Core和SSH.NET库实现这一目标的具体步骤,包括创建新的控制台项目、安装必要的依赖库以及编写连接和执行命令的代码示例。文章还展示了运行结果,并提供了进一步探索的方向和资源链接。通过本文,读者可以学习如何自动化管理服务器任务,同时思考是否可以将此方法扩展到更多系统或更复杂的操作中。你是否也想尝试用代码远程控制服务器?或者你认为这种方法还能应用在哪些场景中呢?--DeepSeek

C# .NET Core bash Linux SSH Renci.SshNet

FFmpeg 用法概览

文章介绍了使用FFmpeg进行视频处理的多种功能,包括反转视频(同时保留或反转音频)、剪辑视频片段、扣取视频区域等操作,并提供了具体命令示例。此外,文章还推荐了SRS项目和flv.js库,用于构建直播平台和在网页中播放FLV流,帮助用户实现类似Bilibili的直播体验。--DeepSeek

bash Live Streaming FFmpeg Video Editing SRS flv.js