<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[john_yan008的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/john_yan008</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; john_yan008]]></copyright><item><title><![CDATA[OpenClaw 踩坑记：两个配置文件错误导致的服务异常及解决方案]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/158428234</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/158428234</guid><author>john_yan008</author><pubDate>Thu, 26 Feb 2026 17:13:34 +0800</pubDate><description><![CDATA[环境变量引用格式：在 JSON 配置文件中引用环境变量，务必使用格式特殊字符处理：在.bashrc中设置包含特殊字符的环境变量时，一定要用引号包裹配置验证：修改配置后，建议先测试再部署到生产环境安全提示：API Key 等敏感信息，推荐使用单引号避免意外解析这两个问题看似简单，但错误信息并不直观，容易让人走弯路。希望这篇记录能帮您节省排查时间。相关标签：OpenClaw, 环境变量, Shell编程, Java异常, 配置错误, 运维经验。]]></description><category></category></item><item><title><![CDATA[Ubuntu虚拟机桌面黑屏/VNC连接失败？]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/158426695</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/158426695</guid><author>john_yan008</author><pubDate>Thu, 26 Feb 2026 16:15:00 +0800</pubDate><description><![CDATA[Xorg是传统的显示服务器，已经存在几十年，对各种应用（包括远程桌面、屏幕录制等）的兼容性非常好。虽然Wayland更新、更安全，但在远程访问这个场景下，Xorg依然是更稳定的选择。]]></description><category></category></item><item><title><![CDATA[Moodle的服务器访问异常, web反馈 error 错误.]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/127919947</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/127919947</guid><author>john_yan008</author><pubDate>Fri, 18 Nov 2022 12:16:29 +0800</pubDate><description><![CDATA[刚好 /home目录有剩余的200GB闲置空间,于是决定将 apache的整个程序目录迁移到 /home目录下。今天发现运行Moodle的服务器访问异常, web反馈 error 错误.后台服务器登录后,发现  / 目录空间100% 无法运转.]]></description><category></category></item><item><title><![CDATA[创建Proxmox虚拟机集群和资源分配实践]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/109555845</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/109555845</guid><author>john_yan008</author><pubDate>Sun, 08 Nov 2020 10:13:52 +0800</pubDate><description><![CDATA[宿主机环境：
Prox99-14  / 192.168.99.14     root/ Info1234!@#$
Prox99-9  / 192.168.99.9     root/ Info1234!@#$
步骤
步骤1. 部署完第一台Proxmox宿主机后，对硬盘执行fdisk或 gdisk  清零，完成重新分区
步骤2. 对分区创建pv, vg


root@prox99-10:~# vgcreate datastore /dev/sda1 /dev/sdb1
步骤3. 创建lvm (例如 lvcre]]></description><category></category></item><item><title><![CDATA[配置Mariadb主从同步]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/107892259</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/107892259</guid><author>john_yan008</author><pubDate>Sun, 09 Aug 2020 12:10:46 +0800</pubDate><description><![CDATA[首先要了解主从同步的架构，以及涉及的二进制日志binlog
作为准备工作，需要先在Master数据库上启用binlog日志，当然生产环境一般都会启动，因为这是基本要素。

上图中的Binlog二进制日志，记录了导致数据改变或潜在导致数据改变的SQL语句，记录已提交的日志。不依赖于存储引擎类型

功能：通过“重放”日志文件中的事件来生成数据副本
注意：建议二进制日志和数据文件分开存放

另一个是中继日志：relay log, 主从复制架构中，从服务器用于保存从主服务器的二进制日志中读取的事件
下面就开始配置主]]></description><category></category></item><item><title><![CDATA[Centos使用chrony做时间同步]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/107769563</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/107769563</guid><author>john_yan008</author><pubDate>Mon, 03 Aug 2020 17:34:10 +0800</pubDate><description><![CDATA[CentOS7.1采用chronyd进行时钟同步
systemctl status chronyd           查看时钟同步状态
chronyc -a makestep         手动同步时钟
配置时钟同步服务器
vim /etc/chrony.conf
里面会有类似
server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburs]]></description><category></category></item><item><title><![CDATA[mysql常见的存储引擎以及特点]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/107586057</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/107586057</guid><author>john_yan008</author><pubDate>Sat, 25 Jul 2020 22:14:17 +0800</pubDate><description><![CDATA[什么是存储引擎
不同的技术以及配套的相关功能在 MySQL中被称作存储引擎。存储机制、索引技巧、锁定水平等等。
常见的存储引擎
MySQL提供的各种存储引擎的设计都考虑到了不同的用例。下表概述了MySQL提供的一些存储引擎，并在下表中给出了澄清说明。

InnoDB:
MySQL 5.5.5的默认存储引擎。InnoDB是一个事务安全（ACID兼容）的MySQL存储引擎，它具有提交、回滚和崩溃恢复功能来保护用户数据。InnoDB行级锁定（不升级到更粗粒度的锁）和Oracle风格的一致非锁定读取提高了多用户并发]]></description><category></category></item><item><title><![CDATA[MySQL入门实践]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/107585890</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/107585890</guid><author>john_yan008</author><pubDate>Sat, 25 Jul 2020 22:10:53 +0800</pubDate><description><![CDATA[导入hellodb.sql生成数据库

[root@localhost ~]# mysql &lt; hellodb_innodb.sql 



(1) 在students表中，查询年龄大于25岁，且为男性的同学的名字和年龄
MariaDB [hellodb]&gt; select Name,Age,gender from students where Age&gt;25 and gender ='m';


(2) 以ClassID为分组依据，显示每组的平均年龄

(3) 显示第2题中平均年龄大于30.]]></description><category></category></item><item><title><![CDATA[chrony实现服务器时间自动同步]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/107306894</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/107306894</guid><author>john_yan008</author><pubDate>Sun, 12 Jul 2020 22:32:24 +0800</pubDate><description><![CDATA[chrony 的优势：

更快的同步只需要数分钟而非数小时时间，从而最大程度减少了时间和频率 误差，对于并非全天 24 小时运行的虚拟机而言非常有用
能够更好地响应时钟频率的快速变化，对于具备不稳定时钟的虚拟机或导致 时钟频率发生变化的节能技术而言非常有用
在初始同步后，它不会停止时钟，以防对需要系统时间保持单调的应用程序 造成影响
在应对临时非对称延迟时（例如，在大规模下载造成链接饱和时）提供了更 好的稳定性
无需对服务器进行定期轮询，因此具备间歇性网络连接的系统仍然可以快速 同步时钟

chrony服务]]></description><category></category></item><item><title><![CDATA[实现cobbler+pxe自动化装机]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/107306068</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/107306068</guid><author>john_yan008</author><pubDate>Sun, 12 Jul 2020 21:46:05 +0800</pubDate><description><![CDATA[实现cobbler+pxe自动化装机
注意：因为本实验将在Cobbler服务器上开启DHCP服务和PXE自动安装操作系统，因此禁止在任何公司或生产网络进行。
否则，如果其他主机的ＰＸＥ启动项刚好是默认选项，而且刚好重启，那么那些主机将可能通过ＰＸＥ完成自动安装覆盖原操作系统。
本实验的Cobbler服务器是一个CentOS 7的虚拟机，通过NAT模式在PC机Workstation下运行。由于存在NAT，不影响该PC机所在网络的其他主机。
请谨慎操作，后果自负。


将预装的CentOS7 的网卡调整到NAT]]></description><category></category></item><item><title><![CDATA[简单脚本自动化运维 安全]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/107158995</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/107158995</guid><author>john_yan008</author><pubDate>Mon, 06 Jul 2020 14:49:54 +0800</pubDate><description><![CDATA[实践1
每5分钟检查一次，如果发现通过ssh登录失败 次数超过10次，自动将此远程IP放入Tcp Wrapper的黑名单中予以禁止防问
[root@centos7 bin]#cat checkip.sh
#!/bin/bash
touch /etc/hosts.deny
lastb | awk ‘/ssh/{IP[$3]++}END{for(n in IP){if(IP[n]&gt;2){system(“echo ‘sshd:’” n “:deny &gt;&gt; /etc/hosts.deny”)}}}]]></description><category></category></item><item><title><![CDATA[KVM上创建虚拟机和权限有关的故障]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/107153303</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/107153303</guid><author>john_yan008</author><pubDate>Mon, 06 Jul 2020 11:27:58 +0800</pubDate><description><![CDATA[创建目录，一创建uos为例：
mkdir /home/vm/uos
创建磁盘：
qemu-img create -f qcow2 /home/vm/uos/uos-image.qcow2 100G
创建虚拟机的xml：
cp /home/vm/centos7.6/centos7.6.xml /home/vm/uos/uos.xml
修改uos.xml

uos
8
4

hvm
/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw
/var/lib/libvirt/qem.]]></description><category></category></item><item><title><![CDATA[文本处理和脚本实践]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/107018923</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/107018923</guid><author>john_yan008</author><pubDate>Mon, 29 Jun 2020 13:56:18 +0800</pubDate><description><![CDATA[1、编写脚本selinux.sh，实现开启或禁用SELinux功能
Disable.sh
sed -i ‘s/=disabled/=enabled/’ /etc/selinux/config
Enable.sh
sed -i ‘s/=enabled/=disabled/’ /etc/selinux/config
2、统计/etc/fstab文件中每个文件系统类型出现的次数
[root@oracle ~]# awk '/[#]/ {filesystem[$3]++}END{ for (i in filesys]]></description><category></category></item><item><title><![CDATA[简单脚本实践]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/106759070</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/106759070</guid><author>john_yan008</author><pubDate>Mon, 15 Jun 2020 11:30:20 +0800</pubDate><description><![CDATA[1、显示统计占用系统内存最多的进程，并排序。
ps -eo pid,ppid,%mem,%cpu --sort=-%mem
[root@localhost ~]# ps -eo pid,ppid,%mem --sort=-%mem
  PID  PPID %MEM
 1819  1527  1.6
13032     1  0.4
  517     1  0.3
12947   981  0.2
12946   981  0.2
12851   981  0.2
12940   981  0.2
1292]]></description><category></category></item><item><title><![CDATA[IP地址分类及每个分类的IP数量]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/106602612</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/106602612</guid><author>john_yan008</author><pubDate>Sun, 07 Jun 2020 15:49:48 +0800</pubDate><description><![CDATA[IP地址中的前5位用于标识IP地址的类别：
A类地址的第一位为0；
B类地址的前两位为10；
C类地址的前三位为110；
D类地址的前四位为1110；
E类地址的前五位为11110。
IP地址根据网络号和主机号来分，分为A、B、C三类及特殊地址D、E。全0和全1的都保留不用。
A类：(1.0.0.0-126.0.0.0)（默认子网掩码：255.0.0.0或 0xFF000000）
第一个字节为网络号，后三个字节为主机号。该类IP地址的最前面为“0”，所以地址的网络号取值于1~126之间。一般用于大型网络。
]]></description><category></category></item><item><title><![CDATA[CentOS/Linux下设置IP地址]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/106602391</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/106602391</guid><author>john_yan008</author><pubDate>Sun, 07 Jun 2020 15:45:00 +0800</pubDate><description><![CDATA[通过命令行修改IP地址
修改/etc/sysconfig/network-scripts/ifcfg-eth0文件，如果有多张网卡，则修改相应的网卡
vi /etc/sysconfig/network-scripts/ifcfg-eth5
DEVICE=eth5
 #网卡对应的设备别名
TYPE=Ethernet
ONBOOT=yes
#系统启动时是否激活此设备
NM_CONTROLLED=yes
BOOTPROTO=static
 #网卡获得ip地址的方式（默认为dhcp，表示自动获取）
IPADDR=1]]></description><category></category></item><item><title><![CDATA[TCP协议特点和三次握手／四次挥手]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/106602205</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/106602205</guid><author>john_yan008</author><pubDate>Sun, 07 Jun 2020 15:28:46 +0800</pubDate><description><![CDATA[三次握手
TCP握手协议 ：在TCP/IP协议中,TCP协议提供可靠的连接服du务,采用三次握手建zhi立一个连接。
1、第一dao次握手：建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认； SYN：同步序列编号(Synchronize Sequence Numbers)
2、第二次握手：服务器收到syn包,必须确认客户的SYN（ack=j+1）,同时自己也发送一个SYN包（syn=k）,即SYN+ACK包,此时服务器进入SYN_RECV状态；
3、第三次握手]]></description><category></category></item><item><title><![CDATA[/etc/crontab文件和crontab -e命令区别]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/106597336</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/106597336</guid><author>john_yan008</author><pubDate>Sun, 07 Jun 2020 08:57:13 +0800</pubDate><description><![CDATA[1、格式不同
前者
For details see man 4 crontabs
Example of job definition:
.---------------- minute (0 - 59)
|  .------------- hour (0 - 23)
|  |  .---------- day of month (1 - 31)
|  |  |  .------- month (1 - 12) OR jan,feb,mar,apr …
|  |  |  |  .---- day of wee]]></description><category></category></item><item><title><![CDATA[简述osi七层模型和TCP/IP五层模型]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/106593488</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/106593488</guid><author>john_yan008</author><pubDate>Sat, 06 Jun 2020 21:07:19 +0800</pubDate><description><![CDATA[OSI七层模型
OSI是Open System Interconnect的缩写，意为开放式系统互联。
目的：

降低复杂性
标准化接口
简化模块化设计
确保技术的互操作性
加快发展速度
简化教学

第一层：物理层（PhysicalLayer)，
机械特性规定了网络连接时所需接插件的规格尺寸、引脚数量和排列情况等；
电气特性规定了在物理连接上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率距离限制等；
功能特性是指对各个信号先分配确切的信号含义，即定义了DTE和DCE之间各个线路的功能；
规程特性定义了]]></description><category></category></item><item><title><![CDATA[软件编译安装http2.4]]></title><link>https://blog.youkuaiyun.com/john_yan008/article/details/106452905</link><guid>https://blog.youkuaiyun.com/john_yan008/article/details/106452905</guid><author>john_yan008</author><pubDate>Sun, 31 May 2020 11:24:29 +0800</pubDate><description><![CDATA[步骤1 下载httpd源码和依赖包 httpd下载网址：http://httpd.apache.org/， 将下载的apr、apr-util解压后 移动到 /user2/httpd-2.4.43/srclib
步骤2 安装开发环境包组及相关依赖的包：
[root@oracle httpd-2.4.43]# yum install -y pcre-devel openssl-devel expat-devel

步骤3 切换到httpd目录下，开始./configure编译
[root@oracle http]]></description><category></category></item></channel></rss>