在离线的centos6.5服务器上搭建tensorflow

现状

  前段时间实现了一个深度学习检测模块,但产品所在环境为Centos6.5 64位版本,其环境软件版本(glibc, glibc++, python, python包)过低。但是由于产品部署环境为离线状态,所以各种包只能先下载好,然后制作成升级包,最终进行产品升级。

预备知识

1.Centos, RedHat, Fedora之间的关系如下图所示,具体可参考链接(https://danielmiessler.com/study/fedora_redhat_centos/):
在这里插入图片描述
  所以Centos的rpm安装包可以到Fedora的网站上去寻找。其中centos6.5注意版本号包含el6。

升级

升级glibc版本

  glibc是GNU发布的c运行库,几乎所有的进程和命令都会依赖于它,所以安装过程必须要谨慎(最好做好备份)。
  依次安装下列包,具体地址为:https://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/

  • rpm -Uvh glibc-2.17-55.el6.x86_64.rpm
  • rpm -Uvh glibc-common-2.17-55.el6.x86_64.rpm
  • rpm -Uvh glibc-devel-2.17-55.el6.x86_64.rpm
  • rpm -Uvh glibc-headers-2.17-55.el6.x86_64.rpm

升级glibcxx版本

  经过实验发现,glibcxx不需要安装,只需替换so库即可。下载地址可参考(https://blog.csdn.net/herosunly/article/details/88894241)

  1. cp libstdc++.so.6.0.22 /usr/lib64
  2. rm -rf libstdc++.so.6
  3. ln -s libstdc++.so.6.0.22 libstdc++.so.6

升级Python(python2.7.10)

  由于Centos6.5自带的是python2.6,所以需要重新安装2.7。经过实验安装2.7.10即可。
  先说明之前给自己挖的一个坑:升级包并没有在官方网站上面下载,而是搜索下载了python-2.7.10.zip,导致后续出现各种bug。正确下载地址为:https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz
  正确安装命令如下所示:

./configure --enable-unicode=ucs4  --enable-shared(编译动态库)                 --prefix=/usr/local/python27(指定安装目录)
make all
make install

  --enable-unicode=ucs4指定unicode编码为4位,如果不指定默认就为2位,后续就会出现相关错误。–enable-shared会生成动态库,它是c语言调用python的接口。

升级安装各种Python包

  由于为离线状态,无法直接pip安装包,只能下载好依赖包,然后进行安装。
1.rpm -ivh python-argparse-1.2.1-2.1.el6.noarch.rpm

2.pip install -r requirements.txt,其中requirements.txt的内容如下所示:

distribute-0.7.3.zip
androguard-3.0.tar.gz
requests-2.5.1.tar.gz
typing-3.6.4.tar.gz
future-0.16.0.tar.gz
M2Crypto-0.27.0.tar.gz
setuptools-38.4.0.zip
pefile-master.zip
Pillow-2.1.0.zip
enum34-1.1.6.tar.gz
numpy-1.15.1.zip
python_dateutil-2.8.0-py2.py3-none-any.whl
pytz-2018.9-py2.py3-none-any.whl
pandas-0.23.4.tar.gz
six-1.11.0-py2.py3-none-any.whl
protobuf-3.4.0.tar.gz
html5lib-0.9999999.tar.gz
bleach-1.5.0-py2.py3-none-any.whl
Markdown-2.6.8.tar.gz
futures-3.1.1-py2-none-any.whl
wheel-0.26.0-py2.py3-none-any.whl
Werkzeug-0.13-py2.py3-none-any.whl
tensorflow_tensorboard-1.5.0-py2-none-any.whl
backports.weakref-1.0rc1-py2-none-any.whl
pbr-1.0.0-py2.py3-none-any.whl
funcsigs-1.0.2-py2.py3-none-any.whl
mock-2.0.0-py2.py3-none-any.whl
absl-py-0.1.10.tar.gz
tensorflow-1.5.0-cp27-none-linux_x86_64.whl
esprima-4.0.1.tar.gz

bug记录

  1.在之前的代码模块中有一句代码为from PIL import Image,而在新加的依赖包(tensorflow中也包括了Image),在c调取Python代码过程中,就会出现hash collisions(哈希冲突)。修改办法为把原有模块中的代码修改为import PIL。

  • 17
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
声明:因为软件超过50M,所以分成了两部分,请搜索openstack安包(二) 安包二里面会有一键安一键卸载的说明,敬请留意 openstack-rpm包信息: augeas-libs-1.0.0-5.el6_5.1.x86_64.rpm boost-program-options-1.41.0-18.el6.x86_64.rpm btrfs-progs-0.20-0.2.git91d9eec.el6.x86_64.rpm celt051-0.5.1.3-0.el6.x86_64.rpm crudini-0.3-2.el6.noarch.rpm cvs-1.11.23-16.el6.x86_64.rpm cyrus-sasl-2.1.23-13.el6_3.1.x86_64.rpm cyrus-sasl-lib-2.1.23-13.el6_3.1.x86_64.rpm cyrus-sasl-md5-2.1.23-13.el6_3.1.x86_64.rpm cyrus-sasl-plain-2.1.23-13.el6_3.1.x86_64.rpm Django14-1.4.8-1.el6.noarch.rpm dnsmasq-utils-2.48-13.el6.x86_64.rpm ebtables-2.0.9-6.el6.x86_64.rpm febootstrap-supermin-helper-3.21-4.el6.x86_64.rpm gettext-0.17-16.el6.x86_64.rpm glusterfs-api-3.4.0.57rhs-1.el6_5.x86_64.rpm glusterfs-libs-3.4.0.57rhs-1.el6_5.x86_64.rpm gnutls-2.8.5-13.el6_5.x86_64.rpm gnutls-utils-2.8.5-13.el6_5.x86_64.rpm gpxe-roms-qemu-0.9.7-6.10.el6.noarch.rpm hivex-1.3.3-4.2.el6.x86_64.rpm ipmitool-1.8.11-16.el6.x86_64.rpm iscsi-initiator-utils-6.2.0.873-10.el6.x86_64.rpm keyutils-1.4-4.el6.x86_64.rpm krb5-libs-1.10.3-15.el6_5.1.x86_64.rpm libcgroup-0.40.rc1-5.el6_5.1.x86_64.rpm libconfig-1.3.2-1.1.el6.x86_64.rpm libdrm-2.4.45-2.el6.x86_64.rpm libevent-1.4.13-4.el6.x86_64.rpm libgssglue-0.1-11.el6.x86_64.rpm libguestfs-1.20.11-2.el6.x86_64.rpm libguestfs-tools-c-1.20.11-2.el6.x86_64.rpm libjpeg-turbo-1.2.1-3.el6_5.x86_64.rpm libtirpc-0.2.1-6.el6_5.1.x86_64.rpm libvirt-0.10.2-29.el6_5.7.x86_64.rpm libvirt-client-0.10.2-29.el6_5.7.x86_64.rpm libvirt-python-0.10.2-29.el6_5.7.x86_64.rpm lzo-2.03-3.1.el6.x86_64.rpm lzop-1.02-0.9.rc1.el6.x86_64.rpm memcached-1.4.4-3.el6.x86_64.rpm mod_wsgi-3.2-3.el6.x86_64.rpm mysql-5.1.73-3.el6_5.x86_64.rpm mysql-libs-5.1.73-3.el6_5.x86_64.rpm MySQL-python-1.2.3-0.3.c1.1.el6.x86_64.rpm mysql-server-5.1.73-3.el6_5.x86_64.rpm nc-1.84-22.el6.x86_64.rpm netcf-libs-0.1.9-4.el6_5.2.x86_64.rpm netpbm-10.47.05-11.el6.x86_64.rpm netpbm-progs-10.47.05-11.el6.x86_64.rpm nfs-utils-1.2.3-39.el6.x86_64.rpm nfs-utils-lib-1.1.5-6.el6.x86_64.rpm novnc-0.4-8.el6.noarch.rpm ntp-4.2.6p5-1.el6.centos.x86_64.rpm ntpdate-4.2.6p5-1.el6.centos.x86_64.rpm numactl-2.0.7-8.el6.x86_64.rpm numad-0.5-9.20130814git.el6.x86_64.rpm openssl-1.0.1e-16.el6_5.7.x86_64.rpm openstack-dashboard-2013.2.3-1.el6.noarch.rpm openstack-glance-2013.2.3-2.el6.noarch.rpm openstack-keystone-2013.2.3-3.el6.noarch.rpm openstack-nova-2013.2.3-1.el6.noarch.rpm openstack-nova-api-2013.2.3-1.el6.noarch.rpm openstack-nova-cells-2013.2.3-1.el6.noarch.rpm openstack-nova-cert-2013.2.3-1.el6.noarch.rpm openstack-nova-common-2013.2.3-1.el6.noarch.rpm openstack-nova-compute-2013.2.3-1.el6.noarch.rpm openstack-nova-conductor-2013.2.3-1.el6.noarch.rpm openstack-nova-console-2013.2.3-1.el6.noarch.rpm openstack-nova-network-2013.2.3-1.el6.noarch.rpm openstack-nova-novncproxy-2013.2.3-1.el6.noarch.rpm openstack-nova-objectstore-2013.2.3-1.el6.noarch.rpm openstack-nova-scheduler-2013.2.3-1.el6.noarch.rpm openstack-utils-2013.2-2.el6.noarch.rpm p11-kit-0.18.5-2.el6_5.2.x86_64.rpm perl-DBD-MySQL-4.013-3.el6.x86_64.rpm perl-DBI-1.609-4.el6.x86_64.rpm perl-hivex-1.3.3-4.2.el6.x86_64.rpm polkit-0.96-5.el6_4.x86_64.rpm pyOpenSSL-0.13.1-1.el6.x86_64.rpm PyPAM-0.5.0-12.el6.x86_64.rpm pysendfile-2.0.0-3.el6.x86_64.rpm python-amqplib-1.0.2-1.el6.rf.noarch.rpm python-anyjson-0.3.1-2.el6.rf.noarch.rpm python-argparse-1.2.1-2.el6.noarch.rpm python-babel-0.9.4-5.1.el6.noarch.rpm python-backports-1.0-4.el6.x86_64.rpm python-backports-ssl_match_hostname-3.4.0.2-1.el6.noarch.rpm python-boto-2.27.0-1.el6.noarch.rpm python-ceilometerclient-1.0.8-1.el6.noarch.rpm python-chardet-2.0.1-1.el6.rf.noarch.rpm python-cheetah-2.4.1-1.el6.x86_64.rpm python-cinderclient-1.0.7-2.el6.noarch.rpm python-cliff-1.4.4-1.el6.noarch.rpm python-cmd2-0.6.4-7.el6.noarch.rpm python-crypto-2.0.1-22.el6.x86_64.rpm python-dateutil-1.4.1-6.el6.noarch.rpm python-django-appconf-0.5-3.el6.noarch.rpm python-django-compressor-1.3-2.el6.noarch.rpm python-django-horizon-2013.2.3-1.el6.noarch.rpm python-django-openstack-auth-1.1.2-1.el6.noarch.rpm python-dogpile-cache-0.5.0-1.el6.noarch.rpm python-dogpile-core-0.4.1-1.el6.noarch.rpm python-eventlet-0.9.17-2.el6.noarch.rpm python-glance-2013.2.3-2.el6.noarch.rpm python-glanceclient-0.12.0-1.el6.noarch.rpm python-greenlet-0.3.1-12.el6.x86_64.rpm python-heatclient-0.2.6-2.el6.noarch.rpm python-httplib2-0.7.7-1.el6.noarch.rpm python-iso8601-0.1.8-1.el6.noarch.rpm python-jinja2-26-2.6-2.el6.noarch.rpm python-jsonpatch-1.2-2.el6.noarch.rpm python-jsonpointer-1.0-3.el6.noarch.rpm python-jsonschema-2.3.0-1.el6.noarch.rpm python-keyring-0.7-1.el6.noarch.rpm python-keystone-2013.2.3-3.el6.noarch.rpm python-keystoneclient-0.7.1-2.el6.noarch.rpm python-kombu-1.4.1-1.el6.rf.noarch.rpm python-ldap-2.3.10-1.el6.x86_64.rpm python-libguestfs-1.20.11-2.el6.x86_64.rpm python-lockfile-0.8-3.el6.noarch.rpm python-lxml-2.2.3-1.1.el6.x86_64.rpm python-markdown-2.0.1-3.1.el6.noarch.rpm python-memcached-1.53-1.el6.noarch.rpm python-migrate-0.7.2-8.el6.noarch.rpm python-netaddr-0.7.5-4.el6.noarch.rpm python-neutronclient-2.3.4-1.el6.noarch.rpm python-nova-2013.2.3-1.el6.noarch.rpm python-novaclient-2.16.0-2.el6.noarch.rpm python-oauth2-1.5.211-5.el6.noarch.rpm python-ordereddict-1.1-2.el6.noarch.rpm python-oslo-config-1.2.1-1.el6.noarch.rpm python-paramiko-1.7.5-2.1.el6.noarch.rpm python-passlib-1.5.3-1.el6.noarch.rpm python-paste-1.7.4-2.el6.noarch.rpm python-paste-deploy1.5-1.5.0-5.el6.noarch.rpm python-pbr-0.5.21-2.el6.noarch.rpm python-pip-1.3.1-4.el6.noarch.rpm python-prettytable-0.7.2-1.el6.noarch.rpm python-pyasn1-0.0.12a-1.el6.noarch.rpm python-pygments-1.1.1-1.el6.noarch.rpm python-pyparsing-1.5.6-2.el6.rf.noarch.rpm python-qpid-0.18-5.el6_4.noarch.rpm python-requests-1.1.0-4.el6.noarch.rpm python-routes1.12-1.12.3-4.el6.noarch.rpm python-saslwrapper-0.18-1.el6_3.x86_64.rpm python-setuptools-0.6.10-3.el6.noarch.rpm python-simplejson-2.0.9-3.1.el6.x86_64.rpm python-six-1.5.2-1.el6.noarch.rpm python-sqlalchemy0.7-0.7.8-1.el6.x86_64.rpm python-stevedore-0.14-1.el6.noarch.rpm python-swiftclient-2.0.2-1.el6.noarch.rpm python-tempita-0.4-2.el6.noarch.rpm python-troveclient-0.1.4-3.el6.noarch.rpm python-urllib3-1.5-7.el6.noarch.rpm python-versiontools-1.9.1-3.el6.noarch.rpm python-warlock-1.0.1-1.el6.noarch.rpm python-webob-1.2.3-4.el6.noarch.rpm python-websockify-0.5.1-1.el6.noarch.rpm python-yaml-3.09-3.el6.rf.x86_64.rpm pytz-2010h-2.el6.noarch.rpm pyxattr-0.5.0-1.el6.x86_64.rpm qemu-img-0.12.1.2-2.415.el6_5.8.x86_64.rpm qemu-kvm-0.12.1.2-2.415.el6_5.8.x86_64.rpm qpid-cpp-client-0.18-18.el6.x86_64.rpm qpid-cpp-server-0.18-18.el6.x86_64.rpm radvd-1.6-1.el6.x86_64.rpm repodata rpcbind-0.2.0-11.el6.x86_64.rpm saslwrapper-0.18-1.el6_3.x86_64.rpm scrub-2.2-1.el6.x86_64.rpm seabios-0.6.1.2-28.el6.x86_64.rpm sgabios-bin-0-0.3.20110621svn.el6.noarch.rpm spice-server-0.12.4-6.el6_5.1.x86_64.rpm tunctl-1.5-3.el6.x86_64.rpm usbredir-0.5.1-1.el6.x86_64.rpm vgabios-0.6b-3.7.el6.noarch.rpm yajl-1.0.7-3.el6.x86_64.rpm zlib-1.2.3-29.el6.x86_64.rpm
在 CentOS 6.5 上安并配置 DNS 服务器的步骤如下: 1. 安 BIND 软件: ``` yum install bind bind-utils ``` 2. 配置 BIND 在 /etc/named.conf 文件中配置 BIND,可以参考下面的示例配置: ``` options { listen-on port 53 { 127.0.0.1; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; }; recursion yes; dnssec-enable yes; dnssec-validation yes; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; zone "example.com" IN { type master; file "zone/example.com.zone"; allow-update { none; }; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; ``` 上面的配置中,listen-on 指定 BIND 监听的 IP 地址和端口,directory 指定 BIND 的工作目录,allow-query 指定允许查询 DNS 的 IP 地址,zone 部分指定了 DNS 解析的域名和对应的配置文件路径。 3. 创建 DNS 配置文件 在 /var/named/ 目录下创建一个名为 example.com.zone 的文件,可以参考下面的示例配置: ``` $TTL 1D @ IN SOA ns.example.com. root.example.com. ( 1 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS ns.example.com. ns IN A 192.168.0.1 www IN A 192.168.0.2 ``` 上面的配置中,@ 表示当前域名,IN 表示 Internet 类型,SOA 表示 Start of Authority,NS 表示 Name Server,A 表示 Address。可以根据自己的需求配置相应的解析记录。 4. 启动 BIND 执行以下命令启动 BIND: ``` service named start ``` 5. 配置 DNS 客户端 在需要使用 DNS 服务的客户端上,可以将 DNS 服务器地址设置为 BIND 服务器的 IP 地址,即 192.168.0.1。 参考上述步骤,可以在 CentOS 6.5 上安并配置 DNS 服务器

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

herosunly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值