最近需要把一台不能联网的电脑配置成服务器,而且只能插光盘,需要安装ubuntu16.04系统,然后安装python3.7和python包,包括需要安装jupyter 和paddle,pytorch和tensorflow等框架.
一般来说,ubuntu系统安装各种环境和包都是在线安装,那么怎么实现离线安装呢?经过近五天的摸索,经历了各种莫名其妙的BUG和一次系统崩溃后,终于还是完成了安装和配置,下面整理一下安装过程,方便自己查看,也希望可以帮到有需要的同学.
准备工作:
1.制作一个和能联网的电脑上的系统一样的启动光盘.参考:制作ubuntu光盘启动盘,我的系统是ubuntu16.04.06,所以启动盘也做的是这个系统.这么做的原因是:离线服务器上的安装包必须通过联网电脑来下下载,否则在离线服务器上可能安装不上.
2.准备联网电脑一样版本的python和pip.不然可能安装不上.
3.在windows 下刻录光盘一定要选择CD/DVD格式刻录,否则ubuntu系统可能读不了,如果不能主动挂载上,那就使用命令:
sudo mount -t udf /dev/sr0 /mnt
或者
打开/etc/fstab
# /etc/fstab: static file system information.
找到:
/dev/sr0 /mnt udf,iso9660 user,noauto,iocharset=utf8 0 0
前加如#
/dev/sr0 /mnt udf,iso9660 user,noauto,ro,iocharset=utf8 0 0
保存后重启就正常了,可以打开udf格式光盘了
但是现在有个bug,只要在ubuntu上读过一遍的光盘,再放到window下刻录之后,ubuntu就无法再读取新刻录的文件.不知道有没有大神知道解决方法,指点一下.
在系统装好之后,那么就可以开始配置环境了
一.安装python3.7
可以参考本人博客:ubuntu 安装多个版本的python,并使用jupyter notebook访问多个python版本
这是使用下载源码然后编译出python和pip的方式.但是编译之前需要安装许多依赖库,因此很有可能编译失败,这就又涉及到离线安装库的问题,因为在线一般都是使用apt-get install 安装.这个下节再讲.
后来考虑到系统完全一样,中间离线装依赖又不怎么会装,一直编译不成功,后来就灵光一闪,为何不直接从我的电脑上把编译好的python直接拷贝到服务器上的同一位置.编译好的python3.7下载
cd 进入python所在的位置,执行命令:
sudo cp -r python3.7 usr/local/
sudo ln -s /usr/local/python3.7/python3.7 /usr/bin/python3.7
sudo ln -s /usr/local/pip3.7 /usr/bin/pip3.7
#执行python3.7可会报错:没有权限
#那么接着执行
sudo chmod 777 /usr/bin/python3.7
sudo chmod 777 /usr/bin/pip3.7
现在就可以正常使用了,并且刻录或者拷贝过去的软件和包一定要先压缩成一个文件,否则有些文件可能会复制不了.
二.安装setuptools和pip
新安装系统自带的python2.7和python3.5没有pip,只能通过:
sudo apt install