从系统中删除gitlab软件包后手动删除/ opt / gitlab /目录是否可以?


21

我刚刚从ubuntu 16.04系统中删除了一个软件包。删除软件包后,终端显示如下警告:

Removing gitlab-ce (8.10.4-ce.0) ...
Purging configuration files for gitlab-ce (8.10.4-ce.0)... 
dpkg: warning: while removing gitlab-ce, directory '/opt/gitlab/sv' not empty so not removed 
dpkg: warning: while removing gitlab-ce, directory '/opt/gitlab/etc' not empty so not removed
dpkg: warning: while removing gitlab-ce, directory '/opt/gitlab/service' not empty so not removed
dpkg: warning: while removing gitlab-ce, directory '/opt/gitlab/embedded/cookbooks' not empty so not removed
dpkg: warning: while removing gitlab-ce, directory '/opt/gitlab/embedded/ssl/certs' not empty so not removed 
dpkg: warning: while removing gitlab-ce, directory '/opt/gitlab/embedded/service/gitlab-rails/public' not empty so not emoved 
dpkg: warning: while removing gitlab-ce, directory '/opt/gitlab/embedded/service/gitlab-rails/config/initializers' not empty so not removed 
dpkg: warning: while removing gitlab-ce, directory '/opt/gitlab/embedded/service/gitlab-shell' not empty so not removed
dpkg: warning: while removing gitlab-ce, directory '/opt/gitlab/init' not empty so not removed 

它说该/opt/gitlab/目录不为空,因此它无法将其从系统中删除。

是否应该手动删除这些目录?


2
您可以尝试重命名它,看看是否有任何不好的事情发生。
edwinksl

1
您安装和删除了哪个gitlab软件包?
安瓦尔

如您所提供的图像(第二行)所示,它是gitlab-ce(社区版)。
vivek

5
对于这个问题的生命和可搜索性而言,这是一件很小的事情,但很重要:请不要发布容易被剪切并粘贴为代码的文本截图到问题本身。可以搜索实际的文本并将其编入索引,这使有类似问题的人更容易找到此问题和相关答案。屏幕截图就是屏幕截图:这只是一张不可搜索的图片。
JakeGould

Answers:


44

gitlab-ce reconfigure安装后,该目录将使用命令填充,并包含可变数据以及与gitlab-ce软件包相关的配置。

推荐的卸载程序是

  1. 删除服务

    sudo gitlab-ctl uninstall
    
  2. 清理使用软件包产生的任何数据

    sudo gitlab-ctl cleanse
    
  3. 您可能还想删除配置的所有帐户。这样做

    sudo gitlab-ctl remove-accounts
    
  4. 然后使用

    sudo dpkg -P gitlab-ce
    

此外,gitlab-CE使用这些目录(如所描述的在这里

  • /opt/gitlab 拥有GitLab及其依赖项的应用程序代码。
  • /var/opt/gitlab 保留gitlab-ctl reconfigure写入的应用程序数据和配置文件。
  • /etc/gitlab保存omnibus-gitlab的配置文件。这些是您唯一必须手动编辑的文件。
  • /var/log/gitlab 包含由omnibus-gitlab组件生成的所有日志数据。

因此,首先以推荐的方式删除软件包(即使您需要重新安装它)。然后,您可以rm安全地使用这些数据。

从omnibus-gitlab 自述页面中找到的信息


即使在最新版本的Gitlab 12.0.2-ee.0中也可以使用,但只需更改一下即可:代替sudo dpkg -P gitlab-ce,您应该编写gitlab-ee
Govan

11

是否应该手动删除这些目录?

文件系统层次标准/opt/

除了/ opt,/ var / opt和/ etc / opt层次结构之外,没有任何其他软件包文件,除非那些软件包文件必须位于文件系统树中的特定位置才能正常运行。例如,设备锁定文件必须放置在/ var / lock中,而设备必须放置在/ dev中。

任何内容/opt/都由一个卸载脚本来维护,该脚本基本上会关闭该服务(如果需要)和许多脚本rm。因此,如果要手动执行此操作,则需要先关闭服务(然后再关闭)rm

头脑里/opt/有一个伴侣/etc/opt/,可能包含与该软件包相关的文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.