当前位置: 首页 > news >正文

在openKylin下安装配置GitLab遇到的问题及解决方案(v0.1.0)

作者:沈传越

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


本文安装的GitLab-ce 15.10.0版。操作系统openKylin 2.0 SP2。

一、安装GitLab-ce依赖软件时报错

1.错误描述

在执行sudo apt-get install curl openssh-server ca-certificates postfix时,遇到这个错误提示:

正在预设定软件包 ...

** 当前模式禁止执行(unpack)操作**

dpkg: 错误: 执行钩子 /usr/bin/ostree-pkgs-guard 出错,退出状态为 256

E: Sub-process /usr/bin/dpkg returned an error code (2)

2. 原因

开放麒麟(openKylin)2.0 SP2桌面操作系统,有一个磐石架构,该架构如果运行在正常模式(Normal Mode)下,禁止在系统的重要位置写入信息。出现上面的错误提示,大概率就是因为这个原因。

3.解决方案

(1)进入openKylin桌面,快捷键Ctrl + Alt + T(同时按下键盘上的CtrlAltT键)打开终端操作窗口。

(2)输入如下命令:

$ sudo mm-cli -o

$ sudo reboot

重新启动计算机后,系统进入维护模式(Maintain Mode),问题解决。

二、登录口令错误

1.错误描述

在确认自己没有记错登录口令的情况下,以用户名root登录,提示Invalid login or password(如图1所示)。

GitLab的一个显式登录口令记录在openKylin操作系统的/etc/gitlab/initial_root_password文件中。可以使用下面这个命令可以查看到登录口令。

$ vi /etc/gitlab/initial_root_password

图1 root登录口令错误

2.解决方案

第一步,使用curl http://192.168.0.17/api/v4/users?username=root这个命令,获取root用户的id号,见下面的这段执行记录,注意其中"id":1,这一段表明用户root的id是“1”[1]。

minterfusion@minterfusion-pc:~$ curl http://192.168.0.17/api/v4/users?username=root

[{"id":1,"username":"root","name":"Administrator","state":"active","avatar_url":"https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon","web_url":"http://192.168.0.17/root"}]

第二步,使用sudo gitlab-rails console -e production这个命令,进入Ruby编写的一个GitLab控制台程序。

接下来,依次输入以下命令:[1]

user = User.where(id: 1).first

user.password = '不少于8位的用户自定义口令(字母和数字)'

user.save!

quit

问题解决。

执行范例如下:

minterfusion@minterfusion-pc:~$ sudo gitlab-rails console -e production

/var/opt/gitlab/embedded/service/gitlab-rails/vendor/gems/omniauth-cas3/lib/omniauth/cas3/version.rb:3: warning: already initialized constant Omniauth::Cas3::VERSION

/opt/gitlab/embedded/service/gitlab-rails/vendor/gems/omniauth-cas3/lib/omniauth/cas3/version.rb:3: warning: previous definition of VERSION was here

/var/opt/gitlab/embedded/service/gitlab-rails/vendor/gems/omniauth-salesforce/lib/omniauth-salesforce/version.rb:3: warning: already initialized constant OmniAuth::Salesforce::VERSION

/opt/gitlab/embedded/service/gitlab-rails/vendor/gems/omniauth-salesforce/lib/omniauth-salesforce/version.rb:3: warning: previous definition of VERSION was here

/var/opt/gitlab/embedded/service/gitlab-rails/vendor/gems/microsoft_graph_mailer/lib/microsoft_graph_mailer/version.rb:4: warning: already initialized constant MicrosoftGraphMailer::VERSION

/opt/gitlab/embedded/service/gitlab-rails/vendor/gems/microsoft_graph_mailer/lib/microsoft_graph_mailer/version.rb:4: warning: previous definition of VERSION was here

--------------------------------------------------------------------------------

Ruby: ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c5) [x86_64-linux]

GitLab: 15.10.0 (496a1d765be) FOSS

GitLab Shell: 14.18.0

PostgreSQL: 13.8

------------------------------------------------------------[ booted in 39.12s ]

Loading production environment (Rails 6.1.7.2)

irb(main):001:0> user = User.where(id: 1).first

=> #<User id:1 @root>

irb(main):002:0> user.password = 'minterfusion'

=> "minterfusion"

irb(main):003:0> user.save!

=> true

irb(main):004:0> quit


【参考资料】

[1] wxalh. gitlab忘记root密码[EB/OL]. (2024-11-08)[2026-03-28]. https://blog.csdn.net/weixin_42193415/article/details/143633757.


【版本信息】

版 本:0.1.1

完成时间:2026-03-28

发布时间:2026-03-28

最后更新时间:2026-03-28


【创作团队】

策 划:沈传越

文字创作:沈传越

图片采集:沈传越

技术验证:沈传越

编 辑:沈传越

版式设计:沈传越

http://www.jsqmd.com/news/556488/

相关文章:

  • LaTeX:overleaf 中文字体与生僻字兼容性解决方案
  • QLVideo完整使用指南:10个技巧让视频管理更高效
  • JSON序列化去重复问题
  • AI Agent岗位需求暴涨986%,年薪达19万美元,新职业“Agent师“横空出世!
  • Gridea模板变量终极指南:动态生成博客内容的10个高级技巧
  • 国密SM4避坑指南:为什么你的前端加密Java解不出来?7个关键检查点
  • 告别命令行启动:在Ubuntu/Debian桌面为IDEA创建应用图标和快捷方式
  • gobang高级配置指南:如何自定义主题和键位绑定
  • 终极指南:如何用Rofi快速切换键盘布局
  • Galaxy Buds Manager:解锁三星耳机在电脑上的完整潜力
  • gobang架构揭秘:深入理解Rust TUI应用的设计原理
  • STM32 ADC采样值跳动太大?手把手教你滤波和校准,让光控LED更稳定
  • 用Python和NumPy手把手实现八点法:从匹配点到3D坐标的完整流程
  • 十三 287. 寻找重复数
  • Buildah多平台容器构建终极指南:使用QEMU跨架构构建Docker镜像
  • Swift元编程终极指南:使用Sourcery自动生成UserDefaults偏好设置代码
  • SQL视图实战:5个真实业务场景下的数据视图应用案例(附代码)
  • 终极指南:如何利用nvim-tree.lua实现文件重命名全自动化方案
  • Qwen-Image-Edit参数详解:如何调整CFG值平衡指令遵循度与图像保真度
  • VasDolly多线程优化实战:应对海量渠道打包挑战
  • Buildah容器调试终极指南:10个实用技巧快速解决构建问题
  • 告别单文件编译:VSCode + MinGW多文件C++项目高效开发指南
  • fluent_edem流固耦合方面的教学或者代做或者代码二次开发,气液固三相耦合。 接口优化...
  • Hexo Butterfly主题终极页脚导航配置指南:10分钟打造专业网站内链结构
  • Node.js日志标准化终极指南:使用morgan构建团队统一日志规范
  • tunnelto终极指南:构建高性能本地服务全球访问的高效方案
  • Llama-3.2V-11B-cot一文详解:low_cpu_mem_usage对加载速度提升37%
  • caj2pdf高级功能:如何快速为CAJ转换PDF添加大纲和目录导航
  • TOPSIS算法实战:用Python给河流水质排个名,附完整代码与避坑指南
  • Swift Markdown扩展开发:如何实现自定义Inline Nodes和Block Containers