Anduin Xue
Anduin Xue

Anduin's Tech Blog

bash


Some quick Docker tips

这篇文章提供了关于Docker使用的实用技巧和教程。内容涵盖了如何在Docker容器中安装和配置`tzdata`时区数据包,设置环境变量以支持图形界面应用程序的运行,以及具体的Dockerfile示例和命令来实现这些功能。文中详细说明了时间配置、Locale设置、依赖项安装(如DBus)、图形界面应用(如微信)的安装步骤,以及如何通过X server在宿主机上显示容器中的GUI应用。还包括了构建和运行容器的具体命令示例,为需要在Docker中使用图形界面应用的用户提供了一个完整的解决方案。--DeepSeek

bash Linux Docker Container timezone Locale

基于 Docker Swarm Mode 建设你家里的数据中心!

本文主要介绍了如何利用Docker Swarm进行容器编排,并结合Swarmpit工具实现高效管理。文章首先阐述了Docker Swarm的核心概念,包括服务、任务、节点、镜像和卷等,接着通过一个具体的moongladepure应用部署示例,展示了如何编写YAML文件并使用`docker stack deploy`命令进行业务快速部署。作者建议采用Caddy作为反向代理,以实现自动化HTTPS支持,并推荐了更佳的端口暴露方式。此外,文章还详细指导了基于GlusterFS的共享存储建设步骤,包括节点间的磁盘挂载、卷创建及权限配置等操作。最后,提供了一个确保节点重启后自动上线的服务脚本。--DeepSeek

bash Linux Server Docker Container Docker Swarm Cluster Swarmpit

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

在虚拟机(VM)中部署Docker容器时需注意以下几点:1. 管理持久化卷以保存数据;2. 规划端口映射以确保服务可达;3. 分别管理容器与VM,考虑混合环境中的独立操作;4. 使用Docker Compose简化多容器部署和更新流程;5. 利用systemd托管Compose服务,实现自动化运行和维护;6. 逐步向纯容器化部署过渡。--DeepSeek

bash Linux Ubuntu Docker VM Container

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

这篇文章介绍了如何为Git配置GPG签名以增强代码安全性的完整步骤,包括安装配置GPG签名、将公钥上传至GitHub或GitLab等平台、跨设备同步GPG密钥的方法(通过网盘存储并导出导入),以及在不同设备上一键配置SSH和GPG环境的脚本示例。文章还提醒用户注意保护私钥的安全性,如使用密码保护、开启两步验证等措施,并强调了与朋友分享公钥以确保签名有效性的必要性。--DeepSeek

bash git PowerShell SSH Nextcloud Sign GPG

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

Install GitLab behind a reverse proxy on a Ubuntu 20.04\22.04 server

根据上述文章内容,可以总结为:文章详细介绍了如何在Linux服务器上部署GitLab Runner并配置CI/CD流水线。作者首先指导安装必要的依赖和设置环境变量,然后逐步完成dotnet SDK、Visual Studio Test、JetBrains ReSharper以及ReportGenerator的安装与配置。接着,文章展示了如何定义一个复杂的CI/CD流水线,涵盖构建、代码质量检查(包括JBInspectCode静态分析)、单元测试、代码覆盖率生成及报告,并详细说明了每个阶段的任务设置和依赖关系。最后,作者还分享了使用GitLab CI/CD进行自动化发布和打包的实践经验,帮助开发者实现高效的持续集成与交付流程。--DeepSeek

bash git Linux Ubuntu Proxy SSH Caddy GitLab nginx

MySQL allow remote connection (For root and other users)

本文详细介绍了如何在MySQL中配置远程连接权限,包括为root用户和其他普通用户设置远程访问权限的步骤。文章首先指导读者查看当前数据库的状态,接着分别针对所有用户、root用户和其他用户提供了具体的配置方法和SQL命令。对于root用户,文章强调了需要更新其host字段以允许从任何IP地址进行连接,并要求重启MySQL服务以应用更改。而对于其他用户,无论是创建新用户还是修改现有用户的权限,都需要确保用户能够在本地和远程环境下访问数据库,并通过授予权限来保障数据的安全性。最后,文章提醒读者在完成所有配置后,需要刷新权限并退出控制台。通过这些步骤,您可以轻松地为MySQL数据库启用远程连接功能。您是否已经成功配置了MySQL的远程连接?或者在操作过程中遇到了哪些问题和挑战?--DeepSeek

bash Database Linux Ubuntu Remote Management MySQL

Aiursoft Nextcloud 事故调查、分析与总结

这篇文章详细描述了一次因备份配置错误导致系统盘被填满的服务器故障事件。事故原因是由于存储和计算分离操作中,备份挂载点 `/mnt/backup` 未能正确连接,导致备份数据写入了系统盘,最终使系统盘空间耗尽,引发服务中断和潜在的数据丢失风险。文章总结了三点教训:备份操作存在高风险;需建立磁盘空间监控告警机制;挂载点异常可能导致严重后果,并提出了改进措施,包括在备份前验证挂载状态、设置剩余容量报警等。最后,文章附上了一个改进后的备份脚本示例,以避免类似问题再次发生。--DeepSeek

bash Linux Backup Nextcloud Disk Incident

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

Mount Windows SMB folder to Ubuntu

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

bash Linux Ubuntu Windows Server SMB Share