CentOS7离线下载安装php7.0-cli

CentOS7离线下载安装php7.0-cli

我需要将 php7.0-cli 安装到未连接到互联网的服务器上。为此,我尝试从以下来源的包中下载并安装 php7.0-cli:

https://pkgs.org/download/php70-php-cli

但是当我执行以下命令时:

 sudo rpm -Uvh /opt/lampp/htdocs/php70-php-cli-7.0.21-1.el7.remi.x86_64.rpm

它说:

error: Failed dependencies:
    php70-php-common(x86-64) = 7.0.21-1.el7.remi is needed by php70-php-cli-7.0.21-1.el7.remi.x86_64

因此目前需要:

php70-php-common-7.0.21-1.el7.remi.x86_64.rpm
php70-php-json-7.0.21-1.el7.remi.x86_64.rpm
php70-runtime-1.0-5.el7.remi.x86_64.rpm

我也下载并尝试安装。问题是

php70-php-json-7.0.21-1.el7.remi.x86_64.rpm

需要

php70-php-common-7.0.21-1.el7.remi.x86_64.rpm

这又需要

php70-php-json-7.0.21-1.el7.remi.x86_64.rpm

等等。所以问题是如何在未连接到互联网的 CentOS 机器上安装 php7.0-cli?也许有一些现成的软件包已经附带了 php7.0-cli 轻松离线安装所需的所有内容?我需要手动下载所需的所有软件包吗?也许有一个完整的 php 包可以离线下载并安装到服务器?

谢谢。

答案1

将所有文件放在一个目录中,然后同时安装它们

yum install /path/php*rpm

因此依赖关系解析可以同时考虑到您想要安装的所有内容。

答案2

来自装有最新 dnf 的 Fedora26 机器。

笔记:递归在撰写本文时,选项返回 192 个包。

dnf install 'dnf-command(repoquery)' 'dnf-command(download)'

mkdir -p /tmp/repo/Packages && cd $_

PKGS=$(dnf --quiet \
  --disablerepo='*' \
  --enablerepo=centos \
  --repofrompath centos,http://mirror.centos.org/centos/7/os/x86_64/ \
  --enablerepo=remi \
  --repofrompath remi,http://rpms.remirepo.net/enterprise/7/safe/x86_64/ \
  repoquery \
  --requires php70-php-cli \
  --resolve --recursive)

dnf --disablerepo='*' \
  --enablerepo=centos \
  --repofrompath centos,http://mirror.centos.org/centos/7/os/x86_64/ \
  --enablerepo=remi \
  --repofrompath remi,http://rpms.remirepo.net/enterprise/7/safe/x86_64/ \
  download \
  $PKGS

dnf clean packages

cd /tmp/repo/

createrepo .

将 /tmp/repo 目录复制到 CentOS7 机器,并添加一个新的 local.repo 作为

[local]
baseurl=file:///tmp/repo/
enabled=1
gpgcheck=0

相关内容