CentOS7離線安裝ansible的方法


在生產網絡中正常情況下是無發連接Internet的,那么我們要安裝軟件只能在可以上互聯網的主機上下載所需要的軟件,然后拷貝到無Internet的主機上進行安裝。這里介紹在Centos7中離線安裝Ansible的方法。

這里介紹使用rpm包安裝和使用pip安裝。

一、先說使用rpm包安裝的方法:

1、首先需要配置本地yum源,可以使用光盤掛載到目錄的方式來做本地yum源,也可以直接把光盤中的文件拷貝到系統中的某個目錄下,我這里已經把光盤中的文件拷貝到mnt目錄下的iso中,所以我的yum源配置文件配置如下:

cat /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt/iso
gpgcheck=0
enabled=1
2、下載安裝Ansible的安裝包和所需要的依賴包,然后把依賴包和安裝包上傳到需要安裝的主機上,我下載的包如下,注意環境不一樣,依賴包的需要多少也不一樣,安裝時提示少那個依賴包就下載那個包。
CentOS7離線安裝ansible的方法

3、安裝包下載完成后,以下命令在下載的軟件包目錄下執行,這里不使用rpm -ivh安裝時因為使用yum localinstall安裝可以解決一些依賴關系,開始安裝:

yum localinstall python-jinja2-2.7.2-2.el7.noarch.rpm -y
yum localinstall python-httplib2-0.7.7-3.el7.noarch.rpm -y
yum localinstall sshpass-1.06-1.el7.x86_64.rpm -y
yum localinstall python-crypto-2.6.1-1.el7.centos.x86_64.rpm -y
yum localinstall python-ecdsa-0.11-3.el7.centos.noarch.rpm -y
yum localinstall python-paramiko-1.12.4-1.el7.centos.noarch.rpm -y
yum localinstall python-keyczar-0.71c-2.el7.noarch.rpm -y
yum localinstall PyYAML-3.10-11.el7.x86_64.rpm -y
yum localinstall python2-jmespath-0.9.0-5.el7.noarch.rpm -y
yum localinstall python-passlib-1.6.5-2.el7.noarch.rpm -y
yum localinstall ansible-2.2.1.0-1.el7.noarch.rpm -y
二、使用pip安裝Ansible

先在可以上網的主機上,使用pip下載ansible,下載ansible時也會把安裝的依賴包也一起下載了,下載好之后,把下載的所有包拷貝到沒有聯網的主機上進行安裝。

1、在使用pip安裝ansible時,需要先安裝pip,我的Centos7環境的是最小安裝,所以很多軟件都沒有安裝。

(1)、先 從pip官網 https://pypi.python.org/pypi/pip 下載pip的源代碼,然后解壓源碼包,再進行安裝pip軟件:

# tar -zxvf pip-9.0.1.tar.gz 
# cd pip-9.0.1

解壓完成進行安裝pip
# python setup.py install

我安裝pip的時候,安裝提示報錯,說少了setuptools,所以需要先安裝setuptools

(2)、 從setuptools官網 https://pypi.python.org/pypi/setuptools下載setuptools源碼包,並解壓:

# unzip setuptools-38.2.3.zip 
# cd setuptools-38.2.3

 解壓完成進行安裝setuptools
# python setup.py install

再次進入到pip的解壓目錄下,再次安裝pip,執行如下命令:

python setup.py install

(3)、安裝ansible2.2.1.0版本, 下載ansible,在使用pip下載時,會把ansible的依賴包也會自動一起下載,開始下載:

pip download ansible==2.2.1.0

注意: 這樣會一個包一個包的自動下載下來到當前的目錄下,下載完成后要記錄包的下載順序,因為在安裝的時候是從最后下載的一個包往前安裝,我們把下載的包打包,然后拷貝到沒有連接互聯網的主機上進行安裝,我的下載順序如下:
CentOS7離線安裝ansible的方法
setuptools在安裝第三方包時都需要安裝的,所以要先安裝,安裝這個setuptools包之后,其他要按順序從最后下載的一個包往前安裝 (setuptools包之前已經安裝,這里不用理了)

在安裝之前也需要安裝一些必要的依賴包,所以也需要配置本地yum源,配置本地yum源這里不再說了,直接安裝依賴包關系:

yum install openssl openssl-devel libffi-devel zlib-devel git gcc python-devel -y

(4)、開始安裝Ansible:
安裝方法:
如果是 .whl文件 就直接 pip install xxx.whl
如果是 tar.gz 就解壓 然后進入目錄使用 python setup.py install

安裝順序如下:
# tar zxvf pycparser-2.18.tar.gz
# cd pycparser-2.18
# python setup.py install

pip install asn1crypto-0.23.0-py2.py3-none-any.whl

pip install ipaddress-1.0.18-py2-none-any.whl

pip install enum34-1.1.6-py2-none-any.whl

pip install idna-2.6-py2.py3-none-any.whl

pip install cffi-1.11.2-cp27-cp27mu-manylinux1_x86_64.whl

pip install six-1.11.0-py2.py3-none-any.whl

tar zxvf MarkupSafe-1.0.tar.gz

cd MarkupSafe-1.0

python setup.py install

pip install PyNaCl-1.2.0-cp27-cp27mu-manylinux1_x86_64.whl

pip install cryptography-2.1.4-cp27-cp27mu-manylinux1_x86_64.whl

pip install bcrypt-3.1.4-cp27-cp27mu-manylinux1_x86_64.whl

pip install pyasn1-0.4.2-py2.py3-none-any.whl

tar -zxvf pycrypto-2.6.1.tar.gz

cd pycrypto-2.6.1

python setup.py install

pip install setuptools-38.2.3-py2.py3-none-any.whl

tar zxvf PyYAML-3.12.tar.gz

cd PyYAML-3.12

python setup.py install

pip install Jinja2-2.8.1-py2.py3-none-any.whl

pip install paramiko-2.4.0-py2.py3-none-any.whl

# tar zxvf ansible-2.2.1.0.tar.gz
# cd ansible-2.2.1.0
# python setup.py install

到這里安裝完成了。

注意:
使用這種pip方式,雖然能自動解決一些依賴問題(不是全部),但是pip安裝的在etc目錄下沒有創建ansible文件夾,所以也就沒有ansible.cfg和hosts這兩個文件。

但ansible.cfg和hosts這兩個文件在解壓時的ansible的安裝包的壓縮文件時會在解壓的目錄下的examples/下有這兩個文件,所以只要把這兩個文件ansible.cfg和hosts文件拷到/etc/ansible/就可以了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM