在VirtualBox中CentOS 6.9服务器安装OpenNebula遇命令无响应求助
解决OpenNebula安装中here-doc命令卡住的问题
我在帮人排查CentOS系统包管理类问题时,经常碰到这种here-doc命令卡住的情况,本质是shell没接收到正确的结束标记,给你几个实操性很强的解决办法:
先终止当前卡住的状态
直接按Ctrl + C就能退出当前的输入等待状态,回到正常命令行提示符,不用慌。确保here-doc命令格式完全正确
你执行的这个命令里,结束标记EOT必须单独占一行,且前面不能有任何空格、制表符或其他字符。很多人踩坑就是在EOT前加了缩进,导致shell一直认为还在输入内容。正确的完整命令应该是这样的(注意最后一行的EOT是顶格的):cat << EOT > /etc/yum.repos.d/opennebula.repo [opennebula] name=OpenNebula Official Repository baseurl=http://downloads.opennebula.org/repo/[你的OpenNebula版本号]/CentOS/6/\$basearch/ enabled=1 gpgcheck=1 gpgkey=http://downloads.opennebula.org/repo/repo.key EOT记得把
[你的OpenNebula版本号]替换成你要安装的具体版本(比如5.12、6.0等)。跳过here-doc,手动创建repo文件
如果还是有问题,直接用编辑器创建文件更稳妥:- 执行
vi /etc/yum.repos.d/opennebula.repo打开编辑器 - 按
i进入编辑模式,粘贴上面repo块里的内容(注意版本号和baseurl的正确性) - 按
Esc,输入:wq保存退出
之后继续执行后续安装命令即可。
- 执行
检查终端环境
VirtualBox自带的终端偶尔会有字符解析的小问题,如果你已经开启了虚拟机的sshd服务,可以试试用SSH客户端(比如Xshell、Putty)连接虚拟机,在SSH终端里执行命令,稳定性会好很多。确认shell环境
CentOS 6默认是bash,但如果你的当前shell是sh(可以用echo $SHELL查看),here-doc的语法支持可能有差异。执行bash切换到bash shell后,再重新运行命令试试。
内容的提问来源于stack exchange,提问作者BorrchoInternational




