由于防火墙,在 Centos 6 上从源离线/不安装软件包的 yum 安装

由于防火墙,在 Centos 6 上从源离线/不安装软件包的 yum 安装

我想在 Centos 6 上“yum install php-mbstring”。问题是由于防火墙限制,centos 机器无法连接外部。因此,epel 等软件包因无法访问而失败:http://download.fedoraproject.org/pub/epel...

我可以将任何文件从我的计算机传输到 centos 机器。那么,是否可以下载 php-mbstring 源并将其放到 centos 机器上,以便可以离线安装?

注意:下载的软件包(例如 epel-release-6-8.noarch.rpm)放在 centos 机器上不起作用,因为当我运行 yum install 时它们仍然需要外部连接。

答案1

yumdownloader在系统上使用可以访问互联网。

这将拉取包及其依赖项(使用--resolve开关)到本地目录。

将文件复制到相关系统并yum install使用该文件的路径。

答案2

php-mbstring-….rpm您需要从 EPEL 存储库下载您的软件包(将被称为)(对于 EL6,您可以浏览https://dl.fedoraproject.org/pub/epel/6/找到软件包)。将该包传输到需要安装它的服务器,然后运行:

yum install php-mbstring-….rpm

换句话说,如果您给出yum一个 rpm 文件名,而不是一个简单的包名,它将安装该 rpm 而不会在其存储库中查找该包。

注意 - 如果软件包有需要其他软件包满足的要求,则yum仍将照常在其存储库中查找那些未满足的要求。 在这种情况下,您可以以相同的方式下载所有依赖项,然后在命令行中提供所有依赖项:

yum install /path/to/package1.rpm /path/to/package2.rpm /path/to/package3.rpm ...

(如果将它们全部放在同一个目录中,显然可以使用通配符来避免输入所有文件名)。

相关内容