重建时找不到文件 /etc/pam.d/sshd

这是我在通过 Putty 命令行进行升级时遇到的错误,如图片所示:

错误信息如下:

FAILED
--------------------
Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/pam.d/sshd
Location of failure: /pups/lib/pups/replace_command.rb:8:in `read'
replace failed with the params {"filename"=>"/etc/pam.d/sshd", "from"=>"session    required     pam_loginuid.so", "to"=>""}
ddb62e0d345db09cb179a21b8d32f8e8eebff02e1fa612885a42a4f8cdece4cd
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
root@maya:/var/discourse#

请协助解决此问题。

我遇到了同样的问题。执行 ./launcher rebuild app 后,重建过程在出现给定错误时停止。

嗯,/etc/pam.d/sshd

这是一个旧的 Discourse 安装,对吧?

能否请您展示一下 app.yml 文件顶部出现的模板?

我刚刚为这个问题推送了一个修复 a fix —— 如果你再次拉取并重新构建,应该就没问题了。

仍然收到错误…

remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 7 (delta 2), reused 6 (delta 2), pack-reused 0
Unpacking objects: 100% (7/7), 2.71 KiB | 693.00 KiB/s, done.
From https://github.com/discourse/discourse_docker
   4177d57..8c8dbd0  master     -> origin/master
Updating 4177d57..8c8dbd0
Fast-forward
 templates/sshd.template.yml | 49 -------------------------------------------------
 1 file changed, 49 deletions(-)
 delete mode 100644 templates/sshd.template.yml
root@maya:/var/discourse# ./launcher rebuild app
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
cat: templates/sshd.template.yml: No such file or directory
cd /pups && git pull && /pups/bin/pups --stdin
/usr/bin/docker: invalid reference format: repository name must be lowercase.
See '/usr/bin/docker run --help'.
cat: cids/app_bootstrap.cid: No such file or directory
"docker rm" requires at least 1 argument.
See 'docker rm --help'.
Usage:  docker rm [OPTIONS] CONTAINER [CONTAINER...]
Remove one or more containers
rm: cannot remove 'cids/app_bootstrap.cid': No such file or directory
** 引导失败 ** 请向上滚动查看之前的错误消息,可能不止一条。
./discourse-doctor 可能有助于诊断问题。```

是的,这就是我,这会让情况变得更糟。

你不需要 sshd 模板,在你的容器里运行 sshd 没有理由。

查看你的容器配置(app.yml),删除包含 sshd 的那一行,那是过时的,你不需要它。我们大约三年前就停止使用这种模式了,但忘了彻底移除它。