如果openKylin 2.0 SP2主机的IPv4地址改变,如何让GitLab正常运行

作者:沈传越

明德融创工作室(Minter Fusion Studio, MFS) 出品

本文介绍的所有步骤均经过测试复现。


本文针对GitLab管理员使用。如果对于相关的专业词汇不太清楚。可以参考以下文章:

如何在openKylin下安装并配置GitLab(v0.1.1)

何谓磐石架构

openKylin 2.0 SP桌面操作系统的mm-cli命令详解(v01.0)

如果公司运行GitLab的服务器,因为某些原因变更了IPv4地址,那么,就需要重新配置GitLab,本文介绍相关的操作步骤。

一、术语

【操作系统】

计算机系统中的一种软件。是具有特定功能的程序模块的集合,能有效管理软硬件资源,合理组织工作流程,向用户提供服务,使用户方便地使用计算机,使整个计算机系统能高效运行。

【指令】

用户通过终端(Terminal)直接输入,用来操控操作系统的命令。

【执行指令】

用户在终端中输入指令,然后按回车键,运行指令对应的程序,完成相应的功能。

二、操作步骤

  1. Ctrl+Alt+T(同时按下Ctrl、Alt、T三个键),打开命令终端(Terminal)。

  2. 在命令终端中,执行以下指令,将openKylin 2.0 SP2桌面系统切换到维护模式(Maintain Mode):

sudo mm-cli -o

sudo reboot

  1. 在重新启动系统后,按Ctrl+Alt+T(同时按下Ctrl、Alt、T三个键),打开命令终端。

  2. 在命令终端中,执行以下指令:

ifconfig

查询当前主机的IP地址。具体方法,参考 《如何在Linux下查看当前主机的IP地址(v0.1.0)》。

记录查询到的IPv4地址。

  1. 执行以下指令,修改gitlab的配置文件gitlab.rb:

sudo vim /etc/gitlab/gitlab.rb

该指令会打开gitlab的配置文件gitlab.rb。然后按下面步骤操作。

1)按Esc键,输入/external_url。

2)使用↓键,将光标向下移动到

external_url='https://gitlab.example.com'

这一行。

按"a"键进入新增编辑状态。将两个单引号''之间的http://gitlab.example.com,更换为第4步中刚刚查到的IPv4,或者是GitLab服务器的IP地址,如:http://192.168.0.++++7++++

3)按Esc键,然后输入

:wq

完成存盘退出。

  1. 执行以下指令,让配置生效:

sudo gitlab-ctl reconfigure

这一步需要等待一段时间。当看到以下内容时,配置成功。

Running handlers:

2026-04-24T09:56:29+08:00\] INFO: Running report handlers Running handlers complete \[2026-04-24T09:56:29+08:00\] INFO: Report handlers complete Infra Phase complete, 6/892 resources updated in 46 seconds gitlab Reconfigured! 7. 在浏览器地址栏中输入:[http://192.168.1.87/users/sign_in](http://192.168.1.87/users/sign_in "http://192.168.1.87/users/sign_in"),其中"192.168.1.87"是第5步,在gitlab.rb文件中输入的那个IPv4地址。如果正常显示如图1所示的登录页面,则说明GitLab正常运行。 ![](https://i-blog.csdnimg.cn/direct/22ed56d32cff4c90a5cb419224489bf5.png) 图1 GitLab登录页面 8. 如果GitLab没有正常运行,执行以下指令,启动GitLab sudo gitlab-ctl start 9. 执行以下指令,将openKylin 2.0 SP2桌面系统切换回普通模式(Normal Mode): sudo mm-cli -c -a $ sudo reboot ## 三、可能遇到的问题及解决方案 如果遇到以下问题: |--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Running handlers: \[2026-04-23T20:35:06+08:00\] ERROR: Running exception handlers There was an error running gitlab-ctl reconfigure: directory\[/usr/lib/systemd/system\] (package::runit_systemd line 22) had an error: Chef::Exceptions::InsufficientPermissions: Cannot create directory\[/usr/lib/systemd/system\] at /usr/lib/systemd/system due to insufficient permissions Running handlers complete \[2026-04-23T20:35:06+08:00\] ERROR: Exception handlers complete Infra Phase failed. 4 resources updated in 01 minutes 30 seconds \[2026-04-23T20:35:06+08:00\] FATAL: Stacktrace dumped to /opt/gitlab/embedded/cookbooks/cache/cinc-stacktrace.out \[2026-04-23T20:35:06+08:00\] FATAL: --------------------------------------------------------------------------------------- \[2026-04-23T20:35:06+08:00\] FATAL: PLEASE PROVIDE THE CONTENTS OF THE stacktrace.out FILE (above) IF YOU FILE A BUG REPORT \[2026-04-23T20:35:06+08:00\] FATAL: --------------------------------------------------------------------------------------- \[2026-04-23T20:35:06+08:00\] FATAL: Chef::Exceptions::InsufficientPermissions: directory\[/usr/lib/systemd/system\] (package::runit_systemd line 22) had an error: Chef::Exceptions::InsufficientPermissions: Cannot create directory\[/usr/lib/systemd/system\] at /usr/lib/systemd/system due to insufficient permissions | 原因是openKylin 2.0 SP2是因为系统处于正常模式(Normal Mode),磐石架构的保护开启,无法写入系统核心区域。 解决方案: 1. Ctrl+Alt+T(同时按下Ctrl、Alt、T三个键),打开命令终端。 2. 在命令终端中,执行下面两条指令,将系统切换到维护模式(Maintain Mode): sudo mm-cli -o sudo reboot 3. 在重新启动系统后,按Ctrl+Alt+T(同时按下Ctrl、Alt、T三个键),打开命令终端。 4. 在命令终端中,执行以下指令: sudo gitlab-ctl reconfigure 重新配置GitLab。 *** ** * ** *** ### ******【创作团队】****** 策 划:沈传越 文字创作:沈传越 技术支持:樊瑞平 图片采集:沈传越 制 图:樊瑞平 技术验证:沈传越 编 辑:沈传越 版式设计:沈传越

相关推荐
郝开2 小时前
Docker Compose 本地环境搭建:.env 统一配置模板
运维·docker·容器
IMPYLH2 小时前
Linux 的 sleep 命令
linux·运维·服务器·bash
Elivs.Xiang2 小时前
ubuntu20中安装gitlab
linux·ubuntu·gitlab
csdn_aspnet2 小时前
Gemini实战:用AI写CI/CD脚本,分享Gemini辅助编写GitLab CI、GitHub Actions等运维脚本的硬核技巧
人工智能·ci/cd·ai·gitlab·gemini·辅助编程
天空属于哈夫克32 小时前
企微自动化:API接口的私有化部署架构
运维·架构·自动化
嵌入式×边缘AI:打怪升级日志2 小时前
DHT11 驱动开发实录:从零搭建 Linux 字符设备驱动框架(保姆级教学)
linux·运维·驱动开发
艾莉丝努力练剑2 小时前
【Linux网络】计算机网络入门:网络通信——跨主机的进程间通信(IPC)与Socket编程入门
linux·运维·服务器·网络·c++·学习·计算机网络
七夜zippoe2 小时前
2026年4月横评:远程软件内卷破局!UU 远程凭实力成为远程工具综合首选
运维·服务器·负载均衡·远程·协助
Lfei51202 小时前
Centos 9 stream部署zabbix7.0.25(最新)
linux·运维·centos