HCRM博客

CentOS 7 系统中 GitLab 卸载指南

彻底告别GitLab:CentOS 7 完整卸载指南

作为在CentOS环境长期部署服务的网站站长,深知彻底清理一个复杂应用的重要性,GitLab功能强大,但若需卸载(无论是迁移、测试结束还是资源调整),残留文件可能导致磁盘浪费、端口冲突甚至影响新安装,本指南将带您一步步在CentOS 7上彻底卸载GitLab。

核心步骤:利用GitLab自带的卸载脚本(最推荐)

CentOS 7 系统中 GitLab 卸载指南-图1

这是官方推荐且最有效的方法,能处理大部分清理工作:

  1. 停止GitLab服务: 首先确保所有相关服务已停止运行,执行命令:

    sudo gitlab-ctl stop

    等待命令执行完毕,屏幕上会显示各个服务(如nginx, sidekiq, unicorn等)的停止状态。

  2. 执行卸载脚本: GitLab Omnibus包自带卸载脚本,关键命令:

    sudo gitlab-ctl uninstall

    此脚本会执行以下操作:

    • 停止所有GitLab服务(即使上一步已执行,这里会再次确认)。
    • 禁用GitLab相关的系统服务,防止开机自启。
    • 移除GitLab软件包本身(gitlab-eegitlab-ce)。
    • 删除主要的运行时数据和日志目录(通常是/var/opt/gitlab)。
    • 删除主要的配置文件目录(通常是/etc/gitlab)。
    • 移除gitlab-ctl等管理命令。
  3. 验证卸载脚本执行: 观察命令输出,确认没有报错信息,完成后,尝试运行gitlab-ctl status,应提示找不到命令或服务不存在,这表明核心组件已移除。

    CentOS 7 系统中 GitLab 卸载指南-图2

深度清理:手动清除残留痕迹

官方卸载脚本虽强大,但为确保100%干净,以下位置建议手动检查删除:

  1. 清除用户账户与用户组: GitLab通常创建git用户和用户组,卸载脚本可能不会删除它们,检查并删除:

    id git # 检查git用户是否存在
    sudo userdel -r git # 如果存在,删除git用户及其主目录
    sudo groupdel git # 删除git用户组(确保无其他用户属于此组)
  2. 检查并删除残留配置文件: 卸载脚本删除了/etc/gitlab,但其他位置可能有零星配置:

    • /etc/systemd/system/:查找是否有gitlab-*相关的残留服务文件(.service.target),有则删除(sudo rm /etc/systemd/system/gitlab-*.service)。
    • /etc/init.d/:老版本或特殊安装可能遗留SysVinit脚本,检查并删除任何gitlab相关文件。
  3. 清理日志与临时文件(可选但推荐):

    • /var/log/gitlab/:卸载脚本通常会删,但可再次确认目录是否消失。
    • /tmp/var/tmp:查找是否有gitlabgit相关的临时文件或目录。
  4. 检查并删除备份文件(如有): 如果您曾手动创建GitLab备份,它们通常位于配置中gitlab_rails['backup_path']指定的位置(默认可能是/var/opt/gitlab/backups,但卸载脚本已删该目录),如果备份存放在其他自定义路径(如/backups/gitlab),请手动清理。

    CentOS 7 系统中 GitLab 卸载指南-图3
  5. 彻底移除GitLab Runner(如已安装): 如果您在服务器上单独安装了GitLab Runner用于CI/CD,它需要单独卸载:

    sudo gitlab-runner uninstall # 卸载Runner服务
    sudo yum remove gitlab-runner # 移除RPM包
    # 然后手动删除Runner的工作目录(默认在`/home/gitlab-runner`或`/builds`)和配置文件(`/etc/gitlab-runner`)。
    sudo userdel -r gitlab-runner # 删除Runner用户
    sudo groupdel gitlab-runner # 删除Runner用户组

卸载后重要检查与注意事项

  • 验证进程: 执行 ps aux | grep gitlabps aux | grep git,确保没有任何GitLab相关的进程(如sidekiq, unicorn, nginx (gitlab))在运行。
  • 检查端口: 运行 sudo ss -tulpn | grep LISTEN,确认原先GitLab使用的端口(如HTTP 80, HTTPS 443, SSH 22 - 如果GitLab管理SSH)已不再被GitLab进程占用。
  • 备份!备份!备份!:在执行卸载操作前,务必确保您已备份了所有重要的GitLab数据! 这包括:
    • 数据库(通过gitlab-rake gitlab:backup:create创建的备份)。
    • 配置文件 (/etc/gitlab/gitlab.rb/etc/gitlab/gitlab-secrets.json)。
    • 任何自定义的SSH密钥、TLS证书等,卸载是不可逆的,数据丢失无法通过卸载指南找回。
  • 权限问题: 执行删除命令(尤其是rm -rf)时务必小心路径正确。sudo权限是必须的。
  • 安装方式差异: 本指南主要针对Omnibus包(RPM) 安装方式,如果您通过源码编译或其他方式安装,卸载步骤会复杂得多,需要回溯当初的安装步骤进行逆向操作。

个人观点

多年运维经验告诉我,服务器环境的整洁至关重要,GitLab卸载看似简单,但残留文件往往是后续问题的隐患源,尤其在磁盘空间紧张或需要重新部署时,官方卸载脚本是高效起点,但结合手动深度检查才能真正做到不留痕迹,操作时保持谨慎,备份先行,每一步都确认无误再执行删除,这是保障系统稳定性的基础,一个干净的系统环境,是高效运维的开始。

关键提示:执行任何 rm -rf 命令前,务必反复确认路径准确性!误删系统文件可能导致服务器崩溃。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/37507.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~