sudo yum 安装或重新安装
sudo yum install or reinstall
我正在通过 EB 将我的 nodejs 应用程序部署到 Linux EC2 上,在 .ebextensions 中我需要安装一个字体包并且我必须使用 yum:
container_commands:
01_getfont:
command: sudo yum -y install http://li.nux.ro/download/nux/dextop/el7/x86_64/webcore-fonts-3.0-1.noarch.rpm
不幸的是,虽然这是第一次工作,但如果我再次重新部署它第二次就不会工作,它会抱怨包已经存在。
所以我要做的就是使用这个:
command: sudo yum -y reinstall http://li.nux.ro/download/nux/dextop/el7/x86_64/webcore-fonts-3.0-1.noarch.rpm
不幸的是,虽然第二次有效,依此类推,但如果包裹不存在,第一次无效,给出错误:
Error: Problem in reinstall: no package matched to remove.
这让我抓狂。
有办法解决这个问题吗?不太擅长 Linux bash 脚本,我可以喜欢第一次使用这个命令还是那个命令?
我可以创建一个 bash 脚本:
#!/bin/bash
sudo yum -y install http://li.nux.ro/download/nux/dextop/el7/x86_64/webcore-fonts-3.0-1.noarch.rpm
等等...
既然你提到了运行一个shell
脚本是可能的那么它应该很容易处理:
webcore_install.sh
#!/bin/bash
function isinstalled {
status=$?
if [[ $status -eq 0 ]]; then
# reinstall if already present
sudo yum -y reinstall http://li.nux.ro/download/nux/dextop/el7/x86_64/webcore-fonts-3.0-1.noarch.rpm
else
# install if not present
sudo yum -y install http://li.nux.ro/download/nux/dextop/el7/x86_64/webcore-fonts-3.0-1.noarch.rpm
fi
}
yum -C list installed "$@"
isinstalled
那么您的命令可能如下所示:
sudo ./path/to/webcore_install.sh webcore-fonts-3.0-1
您可能还需要更改 shell
脚本的权限:
chmod +x webcore_install.sh
我正在通过 EB 将我的 nodejs 应用程序部署到 Linux EC2 上,在 .ebextensions 中我需要安装一个字体包并且我必须使用 yum:
container_commands:
01_getfont:
command: sudo yum -y install http://li.nux.ro/download/nux/dextop/el7/x86_64/webcore-fonts-3.0-1.noarch.rpm
不幸的是,虽然这是第一次工作,但如果我再次重新部署它第二次就不会工作,它会抱怨包已经存在。
所以我要做的就是使用这个:
command: sudo yum -y reinstall http://li.nux.ro/download/nux/dextop/el7/x86_64/webcore-fonts-3.0-1.noarch.rpm
不幸的是,虽然第二次有效,依此类推,但如果包裹不存在,第一次无效,给出错误:
Error: Problem in reinstall: no package matched to remove.
这让我抓狂。
有办法解决这个问题吗?不太擅长 Linux bash 脚本,我可以喜欢第一次使用这个命令还是那个命令?
我可以创建一个 bash 脚本:
#!/bin/bash
sudo yum -y install http://li.nux.ro/download/nux/dextop/el7/x86_64/webcore-fonts-3.0-1.noarch.rpm
等等...
既然你提到了运行一个shell
脚本是可能的那么它应该很容易处理:
webcore_install.sh
#!/bin/bash
function isinstalled {
status=$?
if [[ $status -eq 0 ]]; then
# reinstall if already present
sudo yum -y reinstall http://li.nux.ro/download/nux/dextop/el7/x86_64/webcore-fonts-3.0-1.noarch.rpm
else
# install if not present
sudo yum -y install http://li.nux.ro/download/nux/dextop/el7/x86_64/webcore-fonts-3.0-1.noarch.rpm
fi
}
yum -C list installed "$@"
isinstalled
那么您的命令可能如下所示:
sudo ./path/to/webcore_install.sh webcore-fonts-3.0-1
您可能还需要更改 shell
脚本的权限:
chmod +x webcore_install.sh