作者小头像 Lv.2
122 成长值

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据
个人勋章
TA还没获得勋章~
成长雷达
110
12
0
0
0

个人资料

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据

达成规则

发布时间 2026/10/24 01:54:48 最后回复 yd_260216688 2026/10/24 11:40:35 版块 华为云码道CodeArts代码智能体
97 21 0
发布时间 2026/10/23 12:20:43 最后回复 yd_216138719 2026/10/23 12:21:40 版块 开发者空间
7 2 0
发布时间 2026/10/22 21:39:09 最后回复 yd_216138719 2026/10/22 22:59:07 版块 开发者空间
9 2 0
他的回复:
CentOS 停更之后迁 openEuler,翻车基本集中在"看起来一样、实际不一样"的地方。按踩坑概率排序: 一、网络配置:最容易直接把机器搞失联 openEuler 新版 NetworkManager 默认用 keyfile 插件,CentOS 时代那套 /etc/sysconfig/network-scripts/ifcfg-* 不再被读取。你在 ifcfg 里改完重启网络,配置根本没生效,SSH 直接断,机器就失联了。 正确姿势是在线改:nmcli connection modify 连接名> ipv4.addresses ... 然后 nmcli connection up。动手前务必确认有 VNC 或带外控制台兜底,远程硬改网络是最常见的一血。 二、软件源与包生态 openEuler 的主仓库不含全部 CentOS 有的包,很多在 EPOL(Extra Packages for openEuler)或 Everything 源里,要单独加。容器这块差异明显:docker-ce 没有官方 openEuler 版,通常改用 podman,或者手工装 CentOS 的 rpm 但要注意依赖链。nginx、mysql、php 这类版本跨度大,配置文件语法不一定兼容,别直接 copy 过去。 三、glibc / GLIBCXX 版本 openEuler 20.03 是 glibc 2.28,22.03 是 2.34,和 CentOS 7 的 2.17 差得远。老二进制拷过来经常报 GLIBC_2.xx not found 或 GLIBCXX_3.4.xx not found。前者是 C 库版本,后者是 libstdc++,两个都要看。解决办法是在新系统上重新编译,别硬拷二进制。 四、服务管理 CentOS 6 时代的 sysv 脚本、chkconfig 全部不可用,要改写成 systemd unit。/etc/rc.d/rc.local 默认没有执行权限,加完开机脚本要 chmod +x,否则静默不执行。systemd 版本更新后,部分老的 unit 写法(比如某些 Type=forking 的守护进程)行为会变。 五、防火墙与安全 firewalld 后端换到 nftables,老的 iptables 规则不一定按预期生效,建议用 firewall-cmd 或直接 nft 管理。SELinux 默认状态和策略版本不同,迁移后如果服务起不来,先看 audit.log,别急着 setenforce 0。 六、别手工搬,先用官方迁移工具做评估 openEuler 社区有 x2openEuler 和 migrate2oe,能扫描现有 CentOS 上的软件包、配置、服务,输出兼容性报告,标出哪些包没有对应版本、哪些配置文件需要改。先跑一遍评估再决定怎么迁,比一边迁一边踩坑效率高得多。 七、落地建议 不要原地升级,用"新装 openEuler + 数据和服务迁移 + 灰度切流"的方式,保留原机器随时回滚。迁移顺序按依赖来:先基础环境(网络、时钟、字符集),再中间件,最后业务。每迁一个服务就做一次回归,尤其注意定时任务、日志切割、证书路径这类容易被忽略的边角。 一句话:先跑 x2openEuler 拿报告,网络改动用 nmcli 且留好带外通道,二进制一律重编,剩下的按服务一个个过。 
发布时间 2026/10/22 22:09:15 最后回复 yd_216138719 2026/10/22 22:57:47 版块 开发者空间
21 2 0
他的回复:
这个要看错在哪一步,越早越好改,越晚越别改。分四种情况说。 一、还没 push,只在本机 最干净,直接 amend:git commit --amend -m "正确的描述" 如果只是想补文件、message 没问题:git add 漏掉的文件git commit --amend --no-edit 注意 amend 是"重做这个提交",会生成新的 commit id,且会把当前暂存区的东西一并并进来。如果暂存区里还有别的无关改动,先 git restore --staged 撤出来再 amend,否则会被合并进同一个 commit。 二、已经 push 到自己的分支,但还没合进主干 本地 amend 之后强推,但别用 -f,用:git push --force-with-lease 区别在于 --force-with-lease 发现远端有你没拉到的提交时会拒绝推送,避免把同事刚推的东西覆盖掉;-f 是无条件覆盖,团队里容易出事故。分支有人在协作的话,推之前先打个招呼。 三、已经合进公共分支 不要改写公共历史。强行 rebase 会让所有人的本地历史和远端分叉,后面每个人都要处理一堆冲突,代价远大于一条写错的 message。体面的做法是补一条说明性提交,或者用 git notes 给那个 commit 挂个备注:git notes add -m "此提交实际内容是 XX,原 message 笔误"  四、要批量改一串 message 用交互式 rebase,把要改的提交标成 reword:git rebase -i HEAD~5改完 message 后该提交及其之后所有 commit 的 SHA 都会变,所以同样只适用于"未共享的本地历史"。中途出问题 git rebase --abort 能退回原状。 几个保命习惯 动手前先打保险:git branch backup-$(date +%m%d) 或者记下当前 HEAD。想反悔:git reflog 里能找到 amend 之前的提交,git reset --hard HEAD@{1} 就能回去。改完确认:git log -1 --stat、git show 看一眼,别改完 message 顺手把内容也弄丢了。团队规范:commit-msg 钩子或 commitlint 能在写入前就挡住格式错误,比事后补救省事。 一句话总结:没出本机随便改,出了本机用 force-with-lease,进了主干就别再动历史。 
发布时间 2026/10/20 09:04:11 最后回复 yd_287979386 2026/10/20 11:42:42 版块 开发者空间
16 4 0
发布时间 2026/10/19 08:09:55 最后回复 yd_288757624 2026/10/22 02:26:13 版块 华为云码道CodeArts代码智能体
82 8 0
发布时间 2026/10/18 00:34:15 最后回复 yd_219604433 2026/10/19 01:30:45 版块 数据库
19 4 0
发布时间 2026/10/17 08:52:33 最后回复 yd_276924060 2026/10/18 08:11:35 版块 开发者空间
22 4 0
发布时间 2026/10/14 17:49:18 最后回复 yd_233758914 2026/10/18 09:16:36 版块 华为云码道CodeArts代码智能体
95 12 0