yum由于防火墙的原因而从源安装离线/无包的Centos 6

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

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

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

在有互联网接入的系统上使用yumdownloader

这将把包及其依赖关系(使用--resolve开关) --resolve本地目录。

将文件复制到有问题的系统,并使用文件的path进行yum install

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

 yum install php-mbstring-….rpm 

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

注意 – 如果包裹有需要由其他包裹满足的要求, yum仍然象往常那样看待那些未满足的要求的回购。 在这种情况下,可以用相同的方式下载所有的依赖关系,然后在命令行中input它们。

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

(如果你把它们放在同一个目录下,你可以使用通配符来避免input所有的文件名)。