你好,当我在 containers/app.yml 中添加 reactions 插件或 translation 插件并尝试重建应用时,会得到以下输出。奇怪的是,错误消息中还包含了一句荷兰语。
确保启动器已更新
获取远程仓库
warning: 无法访问 '.git/info/grafts':Structure moet worden opgeschoond
warning: 无法访问 '.git/info/grafts':Structure moet worden opgeschoond
warning: 无法访问 '.git/info/grafts':Structure moet worden opgeschoond
正在更新启动器...
warning: 无法访问 '.git/info/grafts':Structure moet worden opgeschoond
warning: 无法访问 '.git/info/grafts':Structure moet worden opgeschoond
warning: 无法访问 '.git/info/grafts':Structure moet worden opgeschoond
正在更新 333b879..f982cc4
warning: 无法访问 '.git/info/attributes':Structure moet worden opgeschoond
warning: 无法访问 '.git/info/exclude':Structure moet worden opgeschoond
error: 您的本地更改将会被合并操作覆盖:
image/base/Dockerfile
image/base/install-gifsicle
image/base/install-imagemagick
image/base/install-nginx
image/base/install-pngcrush
image/base/install-pngquant
image/base/install-redis
请在合并之前提交您的更改或将其暂存。
正在中止
更新失败
启动器已更新,正在重启...
此过程会无限重复,直到我按下 CTRL+C。
可能是我操作有误。我尝试将所有内容更新到最新版本,但毫无成效。
我还能提供哪些更多信息?是否有我可以尝试的清理步骤,然后再次尝试安装插件?
你好,我按照这个流程 进行了操作。
containers/app.yml 中的插件部分如下:
## 插件请放在此处
## 详细信息请参阅 https://meta.discourse.org/t/19157
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/paviliondev/discourse-locations.git
- git clone https://github.com/discourse/discourse-sitemap.git
# - git clone https://github.com/discourse/discourse-reactions.git
- git clone https://github.com/discourse/discourse-translator.git
我刚才又试了一次,输出结果仍然循环重复。
嘿,Jay,对这个有什么头绪吗?有什么我可以做的来提供更多信息吗?
pfaffman
(Jay Pfaffman)
2021 年3 月 26 日 20:40
6
抱歉,我没有发现明显的问题。您可能需要在 - exec 前面加两个空格(或者可能是粘贴时出了问题?)。这不是我熟悉或预期会导致该错误的错误。嗯……也许您需要在 - exec 前面加 4 个空格,并在其余部分前再加 2 个空格。您可以(或重命名)您的 app.yml 文件,然后重新运行 discourse-setup,接着仔细复制/粘贴 discourse_docker 行,并根据需要添加更多插件进行编辑。
如果您愿意花钱解决此问题,请访问 Redirecting… 或 https://www.literatecomputing.com/discourse-support/,我可以帮忙查看。
1 个赞
我尝试了你的建议,运行 discourse-setup 时似乎得到了一些结果:
警告:当内存为 2GB 或更少时,Discourse 要求至少有 2GB 的交换空间。此系统似乎没有足够的交换空间。
如果没有足够的交换空间,您的网站可能无法正常工作,并且 Discourse 的未来升级也可能无法成功完成。
按 Ctrl+C 退出,或等待 5 秒以创建一个 2GB 的交换文件。
install: 无法访问 '/swapfile':结构需要清理
fallocate: 无法打开 /swapfile:结构需要清理
mkswap: 无法打开 /swapfile:结构需要清理
swapon: 无法打开 /swapfile:结构需要清理
/swapfile swap swap auto 0 0
vm.swappiness = 10
创建交换空间失败:您是 root 用户吗?您是在真实硬件上运行,还是在完全虚拟化的服务器上运行?
我的 VPS 上显示没有可用的交换空间。奇怪的是,我之前也从未有过交换空间,但网站其他方面运行良好。我也成功安装了插件。
是否需要获取交换空间,或者有什么清理工作可以做?
已执行 ./launcher cleanup,但无济于事。
令我困惑的是这条荷兰语错误信息:
Structure moet worden opgeschoond
它在运行 discourse-setup 和尝试交换时出现,并且是在尝试访问 .git/info/grafts 时发生的。
pfaffman
(Jay Pfaffman)
2021 年3 月 26 日 21:51
9
所以你删除/重命名了 app.yml 并重新运行了 Discourse 设置,但错误仍然存在?这很奇怪。
我不认为 ./launcher cleanup 会有帮助。它只是(尝试)清理 Docker 相关事项(主要是)。
创建交换空间失败:你是 root 用户吗?你是在真实硬件上运行,还是在完全虚拟化的服务器上运行?
嘿,有个问题:你是 root 用户吗?你是在完全虚拟化的服务器上吗?
你很久以前安装的吗?
不过,关于这个问题,我基本上已经没有其他主意了。
好的,这肯定是文件系统的问题。看看这个:我甚至无法 cd 进入 ‘info’ 目录:
root@skrzat:/var/discourse/.git# ls -al
ls: 无法访问 'info': 需要清理结构
总计 32
drwxr-xr-x 8 root root 198 3月 26 21:54 .
drwxr-xr-x 11 root root 246 1月 7 22:18 ..
drwxr-xr-x 2 root root 6 11月 13 11:43 branches
-rw-r--r-- 1 root root 274 11月 13 11:43 config
-rw-r--r-- 1 root root 73 11月 13 11:43 description
-rw-r--r-- 1 root root 0 3月 26 21:53 FETCH_HEAD
-rw-r--r-- 1 root root 23 11月 13 11:43 HEAD
drwxr-xr-x 2 root root 301 11月 13 11:43 hooks
-rw-r--r-- 1 root root 7395 1月 7 22:18 index
d????????? ? ? ? ? ? info
drwxr-xr-x 3 root root 30 11月 13 11:43 logs
drwxr-xr-x 155 root root 4096 3月 24 15:13 objects
-rw-r--r-- 1 root root 41 3月 26 21:52 ORIG_HEAD
-rw-r--r-- 1 root root 1572 11月 13 11:43 packed-refs
drwxr-xr-x 5 root root 46 11月 13 11:43 refs
最奇怪的是那些问号。
我会自己研究一下,可能跟 Discourse 完全没关系。
1 个赞
大家好,汇报一下我是如何解决这个问题的。
问题确实出在严重损坏的 XFS 文件系统上。修复它需要安装 XFSprogs,但我无法完成,因为使用 apt-get 安装时出现了同样的错误。
我逐渐明白,安装插件和重建应用是非常消耗内存的任务。不过,我的论坛规模很小,底层硬件配置仅为 2GB 内存和 15GB 磁盘空间。当时没有启用交换空间(swap),我的推测是:由于在安装插件过程中不得不多次重启系统,导致内存不足,进而引发了问题。这对文件系统来说可能并不好,XFS 因此对包括 GIT 文件夹在内的多个目录实施了保护机制。
于是我恢复了备份(幸运的是备份在 S3 上,所以没有问题),备份了 app.yml 文件,重新创建了 VPS,并按照这篇指南 (针对 Debian VPS)配置了交换空间。不到一小时,一切就重新运行起来了。真是有点惊险
另外,我原本打算安装的反应插件现在也运行得非常顺利!
4 个赞
system
(system)
关闭
2021 年5 月 7 日 20:41
12
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.