OCP执行步骤Install ocp agent 报错

root用户的PATH在看下呢?

error: 2 expected programs not found in PATH or not executable Note: root’s PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin

3 个赞
$ ssh dba@'10.192.128.11' 'bash  /tmp/83e4d0b93a2046d7/install_package.sh'
	dpkg --no-force-overwrite -i ocp-agent-ce_4.3.2-20241012145836.el7_amd64.deb
dpkg: warning: 'ldconfig' not found in PATH or not executable
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable
dpkg: error: 2 expected programs not found in PATH or not executable
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin
	find ocp-agent-ce-4.3.2 -type d -exec chmod 755 {} ;
Unable to install at /usr/share/perl5/Alien/Package/Deb.pm line 97.
	rm -rf ocp-agent-ce-4.3.2

这个报错应该是这么产生的。

3 个赞

root@xxx-test1:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin/start-stop-daemon:/usr/sbin/ldconfig

root环境变量也是存在,但是远程执行的时候,看样子是并没有获取到环境变量。

3 个赞

好的,我们尝试复现下这个问题,有进展会尽快回复你

2 个赞

好的,辛苦 ~

2 个赞

将/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin加到/root/.bashrc 试下呢?

vim /root/.bashrc
export PATH=/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin

source /root/.bashrc

1 个赞

export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin/start-stop-daemon:/usr/sbin/ldconfig
export PATH=/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
root@cm-test1:~# cat .bashrc

刚刚也source过了,还是报同样的错。

debian12上没有复现出来这个问题,由于没有debian11的环境,不过看这个问题大概率是环境的问题,应该还需要从环境继续排查下

1 个赞

嗯, 我今天又重新下载 ocp-all-in-one的包,重新来了一遍,还是卡在那里,很奇怪。 :melting_face:

1 个赞

我尝试了几种方式来跳过这个问题

  1. 使用 sudo执行脚本 (可以执行成功)
$ ssh dba@'10.192.128.11' 'sudo bash /tmp/50449c85fbea4d65/install_package.sh'
	dpkg --no-force-overwrite -i ocp-agent-ce_4.3.2-20241012145836.el7_amd64.deb
Selecting previously unselected package ocp-agent-ce.
(Reading database ... 93658 files and directories currently installed.)
Preparing to unpack ocp-agent-ce_4.3.2-20241012145836.el7_amd64.deb ...
Unpacking ocp-agent-ce (4.3.2-20241012145836.el7) ...
  1. 尝试在root用户 /etc/frofile,~/.bashrc.~/.profile 添加环境变量(不能执行成功)
    export PATH=/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin;
  2. 尝试添加环境变量执行脚本 (可以执行成功)
    $ ssh dba@'10.192.128.11' 'export PATH=/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin; bash /tmp/50449c85fbea4d65/install_package.sh'
  3. 修改脚本install_package.sh 添加环境变量 (可以执行成功)
    export PATH=/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin

但是我在部署机器并没有找到脚本的原始位置,并且每次重试部署,目录会随机再生成一遍,并且我看脚本内容都是 echo进去的? 所以我有没有其他办法可以通过以上方式跳过这个问题继续部署 ?

1 个赞

您好,我暂时找到了一种笨方法可以跳过这个错误,就是在 /usr/local/bin/dpkg 重新编辑一下这个命令:

$ cat /usr/local/bin/dpkg
#!/bin/bash
export PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH
/usr/bin/dpkg "$@"

虽然我这个是个例的情况,咱们看看是否后续可以直接把获取环境变量的动作放到脚本里,这样针对debian11 这种情况,可能会更合理一些。
感谢您的细心帮助 :handshake:

2 个赞

你有其它debian11 的环境可以复现这个问题吗?我后面也再继续看下

1 个赞

嗯 这两天我还会尝试云主机安装一下,也是debian11的,如果复现了,我再在这个帖子下留言。

我用这个ocp4.3.2bp1的版本部署,也碰到了。多台debian11中有一台出现这个问题

1 个赞

debian12下我也测试验证过,相同报错
版本是debian12 内核6.1.0-27-amd64

1 个赞

社区版测试是不是基于root用户验证,我看root用户部署是没问题。
但是一般企业内部root不太会开放部署

1 个赞

已经确认了debian系统还没有完全适配,计划在ocp 4.3.4完全适配

2 个赞

从agent升级日志看,历史版本的ocp-agent升级到4.3.2的逻辑和全新部署4.3.2ocp-agent不一样,所以4.3.2之前的ocp纳管机器走正常升级大概率是不会出错

感觉部署OCP大部分是资源问题

统信uos v20通过测试也通过这种方法解决了:+1: