以CentOS为例,在Linux下离线安装PostGIS 2_96。基本思路是在互联网计算机下载PostGIS依赖,把依赖rpm拷贝到离线计算机,配置本地yum源,然后进行安装。
1、在联网计算机上安装pgdg-centos96-9.6-3.noarch.rpm,自动生成repo地址;
[root@centos7]# rpm -ivh pgdg-centos96-9.6-3.noarch.rpm
2、下载postgis扩展依赖包
[root@centos7]# yum install --downloaddir=/home/pg --downloadonly postgis23_96
如果出现以下错误:
您可以尝试添加 --skip-broken 选项来解决该问题
** 发现 7 个已存在的 RPM 数据库问题, 'yum check' 输出如下:
ant-1.9.2-9.el7.noarch 有缺少的需求 java-devel >= ('0', '1.5.0', None)
icedtea-web-1.6.2-4.el7.x86_64 有缺少的需求 java-1.8.0-openjdk
ipa-client-4.4.0-12.el7.centos.x86_64 有已安装冲突 freeipa-client: ipa-client-4.4.0-12.el7.centos.x86_64
ipa-client-common-4.4.0-12.el7.centos.noarch 有已安装冲突 freeipa-client-common: ipa-client-common-4.4.0-12.el7.centos.noarch
ipa-common-4.4.0-12.el7.centos.noarch 有已安装冲突 freeipa-common: ipa-common-4.4.0-12.el7.centos.noarch
1:libreoffice-core-5.0.6.2-3.el7.x86_64 有缺少的需求 java-headless >= ('1', '1.6', None)
1:libreoffice-ure-5.0.6.2-3.el7.x86_64 有缺少的需求 libjvm.so()(64bit)
请到http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/下载epel-release-7-11.noarch.rpm,并安装。
[root@centos7]# rpm -ivh epel-release-7-11.noarch.rpm
然后重新执行离线下载命令:
[root@centos7]# yum install --downloaddir=/home/pg --downloadonly postgis23_96
此处总共下载到34个rpm
安装 1 软件包 (+33 依赖软件包)
总下载量:36 M
安装大小:231 M
Background downloading packages, then exiting:
警告:/home/pg/CharLS-1.0-5.el7.x86_64.rpm.6122.tmp: 头V3 RSA/SHA256 Signature, 密钥 ID 352c64e5: NOKEY
CharLS-1.0-5.el7.x86_64.rpm.6122.tmp 的公钥尚未安装
(1/34): CharLS-1.0-5.el7.x86_64.rpm | 63 kB 00:00
(2/34): SFCGAL-1.2.2-1.rhel7.x86_64.rpm | 14 kB 00:01
(3/34): SuperLU-5.2.0-5.el7.x86_64.rpm | 180 kB 00:00
(4/34): arpack-3.1.3-2.el7.x86_64.rpm | 101 kB 00:00
(5/34): blas-3.4.2-8.el7.x86_64.rpm | 399 kB 00:00
(6/34): boost-serialization-1.53.0-27.el7.x86_64.rpm | 169 kB 00:00
(7/34): cfitsio-3.370-10.el7.x86_64.rpm | 528 kB 00:00
(8/34): armadillo-8.300.0-1.el7.x86_64.rpm | 28 kB 00:00
(9/34): freexl-1.0.5-1.el7.x86_64.rpm | 32 kB 00:00
(10/34): atlas-3.10.1-12.el7.x86_64.rpm | 4.5 MB 00:01
(11/34): SFCGAL-libs-1.2.2-1.rhel7.x86_64.rpm | 1.7 MB 00:15
(12/34): CGAL-4.7-1.rhel7.x86_64.rpm | 254 kB 00:23
(13/34): libaec-1.0.2-1.el7.x86_64.rpm | 33 kB 00:00
(14/34): hdf5-1.8.12-10.el7.x86_64.rpm | 1.6 MB 00:00
(15/34): libdap-3.13.1-2.el7.x86_64.rpm | 423 kB 00:00
(16/34): lapack-3.4.2-8.el7.x86_64.rpm | 5.4 MB 00:00
(17/34): geos36-3.6.2-3.1.rhel7.x86_64.rpm | 543 kB 00:47
(18/34): libgfortran-4.8.5-28.el7_5.1.x86_64.rpm | 299 kB 00:00
(19/34): libgta-1.0.4-1.el7.x86_64.rpm | 32 kB 00:00
(20/34): ogdi-3.2.0-0.19.beta2.el7.x86_64.rpm | 248 kB 00:00
(21/34): libquadmath-4.8.5-28.el7_5.1.x86_64.rpm | 188 kB 00:00
(22/34): netcdf-4.3.3.1-5.el7.x86_64.rpm | 693 kB 00:00
(23/34): openblas-openmp-0.3.0-1.el7.x86_64.rpm | 4.4 MB 00:00
(24/34): openjpeg2-2.3.0-6.el7.x86_64.rpm | 153 kB 00:00
(25/34): gdal-libs-1.11.4-12.rhel7.x86_64.rpm | 4.4 MB 01:26
(26/34): libgeotiff-1.4.0-1.rhel7.x86_64.rpm | 708 kB 00:39
(27/34): postgresql96-9.6.9-1PGDG.rhel7.x86_64.rpm | 1.4 MB 01:38
(28/34): postgis23_96-2.3.7-1.rhel7.x86_64.rpm | 5.2 MB 01:58
(29/34): proj-4.8.0-4.el7.x86_64.rpm | 181 kB 00:00
(30/34): postgresql96-contrib-9.6.9-1PGDG.rhel7.x86_64.rpm | 567 kB 00:37
(31/34): unixODBC-2.3.1-11.el7.x86_64.rpm | 413 kB 00:00
(32/34): xerces-c-3.1.1-8.el7_2.x86_64.rpm | 878 kB 00:00
(33/34): postgresql96-libs-9.6.9-1PGDG.rhel7.x86_64.rpm | 315 kB 00:27
(34/34): proj49-4.9.3-3.rhel7.x86_64.rpm | 215 kB 00:22
--------------------------------------------------------------------------------
总计 137 kB/s | 36 MB 04:28
exiting because "Download Only" specified
把下载的安装包拷贝到离线计算机/home/pg下
3、离线计算机安装PostgreSQL 9.6,根据依赖提示调整先后顺序
postgresql96-libs-9.6.9-1PGDG.rhel7.x86_64.rpm
postgresql96-9.6.9-1PGDG.rhel7.x86_64.rpm
postgresql96-contrib-9.6.9-1PGDG.rhel7.x86_64.rpm
postgresql96-devel-9.6.9-1PGDG.rhel7.x86_64.rpm
postgresql96-server-9.6.9-1PGDG.rhel7.x86_64.rpm
4、备份yum源
[root@centos7]# mv /etc/yum.repos.d/* /home/centos-yum.bak
5、搭建本地yum源,编写本地yum源pg.repo
[root@centos7]# vim /etc/yum.repos.d/pg.repo
[base]
name=pg
baseurl=file:///home/pg
enabled=1
gpgcheck=0
priority=1
6、生成repomd.xml
[root@centos7 home]#createrepo /home/pg/
生成/home/pg/repodata/repomd.xml
7、清除yum缓存
[root@centos7]#yum clean all
[root@centos7]#yum makecache
列出rpm包
8、安装postgis
[root@centos7]# yum install postgis23_96
题外话,可以通过离线这种方式下载postgresql和postgis,进行离线安装,以下是离线下载的全包:
-rw-r--r--. 1 root root 28668 12月 9 2017 armadillo-8.300.0-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 103424 2月 17 2014 arpack-3.1.3-2.el7.x86_64.rpm
-rw-r--r--. 1 root root 4699420 8月 10 2017 atlas-3.10.1-12.el7.x86_64.rpm
-rw-r--r--. 1 root root 408548 8月 10 2017 blas-3.4.2-8.el7.x86_64.rpm
-rw-r--r--. 1 root root 173104 8月 10 2017 boost-serialization-1.53.0-27.el7.x86_64.rpm
-rw-r--r--. 1 root root 540436 10月 2 2017 cfitsio-3.370-10.el7.x86_64.rpm
-rw-r--r--. 1 root root 259588 2月 27 05:20 CGAL-4.7-1.rhel7.x86_64.rpm
-rw-r--r--. 1 root root 64540 7月 10 2014 CharLS-1.0-5.el7.x86_64.rpm
-rw-r--r--. 1 root root 32938 2月 23 07:38 freexl-1.0.5-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 4595088 2月 27 05:23 gdal-libs-1.11.4-12.rhel7.x86_64.rpm
-rw-r--r--. 1 root root 555780 2月 27 05:21 geos36-3.6.2-3.1.rhel7.x86_64.rpm
-rw-r--r--. 1 root root 1670532 8月 24 2017 hdf5-1.8.12-10.el7.x86_64.rpm
-rw-r--r--. 1 root root 5629884 8月 11 2017 lapack-3.4.2-8.el7.x86_64.rpm
-rw-r--r--. 1 root root 33820 10月 25 2017 libaec-1.0.2-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 433272 7月 19 2014 libdap-3.13.1-2.el7.x86_64.rpm
-rw-r--r--. 1 root root 725248 2月 27 05:20 libgeotiff-1.4.0-1.rhel7.x86_64.rpm
-rw-r--r--. 1 root root 305904 5月 17 21:22 libgfortran-4.8.5-28.el7_5.1.x86_64.rpm
-rw-r--r--. 1 root root 32864 2月 5 2014 libgta-1.0.4-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 192684 5月 17 21:23 libquadmath-4.8.5-28.el7_5.1.x86_64.rpm
-rw-r--r--. 1 root root 709772 12月 13 2015 netcdf-4.3.3.1-5.el7.x86_64.rpm
-rw-r--r--. 1 root root 254364 7月 26 2014 ogdi-3.2.0-0.19.beta2.el7.x86_64.rpm
-rw-r--r--. 1 root root 4627200 6月 2 19:51 openblas-openmp-0.3.0-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 156389 2月 20 22:26 openjpeg2-2.3.0-6.el7.x86_64.rpm
-rw-r--r--. 1 root root 5464004 4月 10 21:11 postgis23_96-2.3.7-1.rhel7.x86_64.rpm
-rw-r--r--. 1 root root 1444128 5月 10 03:37 postgresql96-9.6.9-1PGDG.rhel7.x86_64.rpm
-rw-r--r--. 1 root root 580892 5月 10 03:37 postgresql96-contrib-9.6.9-1PGDG.rhel7.x86_64.rpm
-rw-r--r--. 1 root root 1873172 5月 10 03:37 postgresql96-devel-9.6.9-1PGDG.rhel7.x86_64.rpm
-rw-r--r--. 1 root root 322812 5月 10 03:37 postgresql96-libs-9.6.9-1PGDG.rhel7.x86_64.rpm
-rw-r--r--. 1 root root 4547024 5月 10 03:37 postgresql96-server-9.6.9-1PGDG.rhel7.x86_64.rpm
-rw-r--r--. 1 root root 185756 2月 5 2014 proj-4.8.0-4.el7.x86_64.rpm
-rw-r--r--. 1 root root 220660 2月 27 05:22 proj49-4.9.3-3.rhel7.x86_64.rpm
-rw-r--r--. 1 root root 14080 2月 27 05:20 SFCGAL-1.2.2-1.rhel7.x86_64.rpm
-rw-r--r--. 1 root root 1745324 2月 27 05:20 SFCGAL-libs-1.2.2-1.rhel7.x86_64.rpm
-rw-r--r--. 1 root root 184152 12月 7 2017 SuperLU-5.2.0-5.el7.x86_64.rpm
-rw-r--r--. 1 root root 422540 8月 6 2015 unixODBC-2.3.1-11.el7.x86_64.rpm
-rw-r--r--. 1 root root 899472 3月 11 2016 xerces-c-3.1.1-8.el7_2.x86_64.rpm