Anduin Xue

let today = new Beginning();

Bash and Linux Some tips about bash and Linux.


在服务器中部署单独的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

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

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

本篇博客详细介绍了如何在Ubuntu 22.04上安装CUDA和cuDNN,并测试它们是否安装成功。首先,博客提供了安装CUDA的下载链接以及具体的安装步骤。接下来,博客提供了安装cuDNN的下载链接和详细的安装步骤。文章还介绍了如何确认驱动程序是否已安装,以及如何检查CUDA和cuDNN是否已安装。 为了测试CUDA是否安装成功,博客提供了一个简单的“Hello CUDA”程序,并展示了如何编译和运行它。同样,博客也展示了如何测试cuDNN是否安装成功,通过运行一个简单的示例程序。 在阅读本篇博客后,读者应该能够顺利地在Ubuntu 22.04上安装CUDA和cuDNN,并确保它们已成功安装。此外,本文还提供了一些有用的命令来检查驱动程序、CUDA和cuDNN的安装状态和版本信息。 最后,你是否知道如何在自己的Ubuntu系统上安装CUDA和cuDNN?如何确保它们已成功安装并运行?阅读全文以获取详细的操作步骤和示例代码。--GPT 4

Ubuntu NVIDIA vGPU CUDA cuDNN GPU

If a Ubuntu server should run apt upgrade automatically?

本文讨论了是否应该让Ubuntu服务器自动运行apt升级。首先,作者提到自动升级的优点:节省时间、尽快获得安全更新、始终保持软件包的清洁和新颖、历史上apt升级非常安全且不会删除现有库。然而,自动升级并不适用于所有场景。在问题调查阶段,自动更新可能会掩盖真正的问题;对于需要极度稳定的客户而言,服务器的任何更改都可能带来风险;自动升级可能导致软件的较大功能更新,从而引发业务中断;此外,更新过程通常需要重启,而某些程序在重启后可能难以恢复正常运行。 尽管如此,仍有一些情况下可以考虑自动升级:系统可容忍降低可用性;系统是无状态的,重启不会影响其正常运行;系统已配置完善的备份/快照;系统始终连接到互联网;系统需要获得最新的功能更新。作者建议仅在满足以上所有条件时才使用自动更新功能。 当然,文章还提供了如何配置Ubuntu服务器以每周自动升级的方法。首先编写一个`upgrade.sh`脚本,然后使用`crontab -e`编辑计划任务。但在实施自动升级之前,请务必权衡好利弊,确保自动升级不会给您的业务带来不必要的麻烦。--GPT 4

bash Linux Ubuntu Upgrade Crontab Update

Install Cockpit on Ubuntu 22.04

本篇博客详细介绍了如何在Ubuntu 22.04上安装Cockpit,以及如何解决安装过程中可能遇到的问题。首先,我们需要使用命令行安装Cockpit。接下来,为了确保安全性,我们需要创建一个非root用户,并将其添加到sudo组中。本文提供了一个关于身份验证的最佳实践的链接,供读者参考。 在安装过程中,可能会遇到“packagekit无法在离线状态下刷新缓存”的错误。为了解决这个问题,我们需要在/etc/netplan/目录下创建一个新的网络配置文件,并将renderer设置为NetworkManager。然后,将其他配置文件的优先级调整为更高的数字,最后应用网络配置并重启Cockpit服务。 此外,本文还介绍了如何安装Cockpit的导航插件。首先,我们需要安装jq工具,然后从GitHub上获取插件的最新版本,并安装到本地。 安装完成后,可以在浏览器中访问Cockpit。为了确保HTTPS安全性,我们可以使用Caddy对Cockpit服务器进行反向代理。本文提供了一个关于Caddy的使用技巧的链接,以及一个示例配置文件。 通过阅读本文,您将能够顺利地在Ubuntu 22.04上安装并使用Cockpit。那么,您准备好尝试Cockpit了吗?在安装过程中,您是否遇到了其他问题?欢迎在阅读全文后,分享您的经验和解决方案。--GPT 4

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中正确获取用户的IP地址,以及一些实用的Caddy V2技巧和示例。文章首先讲述了如何在Debian系统上安装Caddy V2及其插件,接着展示了如何修改Caddy V2文件以支持Proxy Protocol。此外,还提供了一些实用的Caddy V2配置示例,包括托管静态文件服务器、直接渲染HTML、在特定地址上进行反向代理、执行永久重定向、反向代理并移除/添加自定义头部、忽略证书问题的反向代理、仅允许局域网访问的反向代理、仅允许局域网进行登录的反向代理、覆盖HTTP Host头部的反向代理、通过基本身份验证保护反向代理以及在两个节点之间进行负载均衡的反向代理等。最后,文章给出了一个完整的示例配置,包括外部IP地址的基本身份验证保护、局域网直接访问、覆盖HTTP Host、允许不安全的HTTPS、移除头部“x-frame-options”等功能。阅读这篇博客,您将了解到Caddy V2的强大功能以及如何灵活运用这些功能进行网站配置。那么,如何在实际应用中根据需求选择合适的Caddy V2配置呢?这将取决于您的实际需求和场景,欢迎尝试这些示例并进行实践。--GPT 4

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 Server中,通过安装相关组件并设置文件夹属性来创建NFS服务器。接着在Ubuntu系统上,使用命令行工具安装nfs-kernel-server,创建共享文件夹并对其进行权限设置。配置完成后,需要编辑exports文件以允许特定子网访问服务器。 在Windows系统中,通过PowerShell启用NFS客户端功能,并在CMD中使用mount命令挂载远程NFS。对于Ubuntu系统,需要安装nfs-common包,并使用mount命令挂载远程NFS。此外,还介绍了如何在VMware ESXI中将远程NFS作为数据存储挂载。 本文详细阐述了在不同操作系统中搭建NFS服务器的步骤,以及在各个平台上挂载远程NFS的方法。通过阅读本文,你将能够了解到在Windows Server和Ubuntu系统中创建和使用NFS服务器的过程。那么,你是否想知道在其他操作系统中如何搭建NFS服务器呢?对于不同的场景和需求,你会选择哪种方式进行远程文件共享?--GPT 4

Linux Ubuntu File Windows Server Share NFS VMware ESXI Vsphere NAS

Mount Windows SMB folder to Ubuntu

本篇博客教你如何将远程SMB文件夹挂载到本地Ubuntu服务器。首先,安装cifs-utils工具,然后创建一个新文件夹。接下来,使用mount命令将远程SMB文件夹挂载到本地文件夹。你可能需要输入密码来完成挂载操作。挂载完成后,你可以在本地文件夹中查看远程SMB文件夹的内容。需要注意的是,挂载命令中的`your-name`、`your-server`和`your-path`分别代表你的Windows用户名、服务器IP地址或域名以及SMB共享文件夹的名称。 如果你希望在开机时自动挂载远程SMB文件夹到Ubuntu,可以编辑`/etc/fstab`文件并添加相应的配置行。在配置行中,将`<your-server>`、`<your-path>`、`<your-name>`和`<your-password>`替换为实际值。 通过阅读本文,你将学会如何在Ubuntu系统中挂载和卸载远程SMB文件夹,以及如何配置开机自动挂载。在实际操作中,你可能会遇到哪些问题?有哪些需要注意的地方?希望本文能为你提供有益的启示。--GPT 4

bash Linux Ubuntu Windows Server SMB Share

Use you local server to replace the cloud with FRP.

本文介绍了如何使用FRP(Fast Reverse Proxy)将本地服务器替换为云服务器。首先,我们需要在云服务器上安装和配置FRP服务器。接下来,我们需要在本地家庭服务器上安装FRP客户端,并确保家庭服务器能够成功连接到FRP服务器。值得注意的是,家庭服务器不需要具有公共IP地址,可以部署在防火墙或NAT之后。 本文使用Windows Server作为示例,并介绍了如何在家庭服务器上安装FRP客户端。配置完成后,我们可以运行FRP本地验证配置。然后,我们需要将FRP注册为后台服务。此外,我们还可以选择配置自动升级。 需要注意的是,云服务器和家庭网络可能会因流量而产生费用。如果服务不是很繁重,通常使用FRP方案会非常便宜。相比之下,云服务器的月费用可能达到数百美元,而家庭服务器的电费和网络费用要低得多。总的来说,使用FRP方案可以节省成本,同时享受全面的裸金属性能。 那么,是否应该使用FRP方案替代云服务器呢?这取决于您的需求和预算。如果您希望节省成本并享受更好的性能,那么FRP方案可能是一个不错的选择。但如果您需要更高级的功能和更强大的计算能力,那么云服务器可能仍然是最佳选择。--GPT 4

IP bash Linux Windows Server Cloud FRP Network Port Firewall