#前提假设
组装电脑(4人用):
基本配置需求如下:
内存DDR4 2400 32G
M.2接口固态 512G(用于存放程序和安装系统)
机械硬盘 7200转 1T(用于存放数据)
显卡 GTX 1650
CPU 英特尔 至强 E5-2680v4(这个4指的是支持DDR4)
主板华南金牌 X99-F8
机箱EATX型
cpu要3风扇
注:内存要匹配cpu,主板的最大支持频率
装机
1.使用Rufus 烧录centos7的iso镜像(DVD或者Everything那个,可选国内镜像)如阿里镜像 和 阿里云官方镜像
2.u盘启动安装
3.网线/wifi联网(可以先ping看是否链接上网,右键桌面打开terminal输入)
$ ping www.baidu.com
3.1 备份旧源(可选):
$ mkdir /etc/yum.repos.d/backup
$ mv CentOS-Base.repo CentOS-Base.repo.old
$ wget http://mirrors.aliyun.com/repo/Centos-7.repo
$ wget http://mirrors.aliyun.com/repo/epel-7.repo
3.2 如果没有网就:
$ yum update -y
4.连上网后先检查ifconfig查看IP地址
$ ifconfig -a
4.1 如果没有上面命令报错
$ yum install net-tools
4.2 可能也少这几个
$ yum install kernel-devel gcc -y
IP地址设置,申请固定IP,可以问学校申请
- 开启ssh协议, Centos7网卡一般放如下位置
$ cd /etc/sysconfig/network-scripts $ ll or $ ls
- 1 找到你的网卡一般是ifcfg-enp啥的
1.2 vim 修改网卡文件(这里要替换你的网卡文件名字)
$ vim ifcfg-enps5s0
1.2.1 键入I或A进入修改模式
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none (或者static)
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp5s0 #(要改你的)
UUID=e19bc806-a8fd-4380-b352-858d0003e26e
DEVICE=enp5s0 #(要改你的)
ONBOOT=yes
IPADDR= #(输入学校给的IP)
NETMASK=255.255.255.0 #(子网掩码)
PREFIX=25
GATEWAY= #(网关)
DNS1= #(DNS服务器1个就够)
1.2.2 大概如上
注:若没有申请固定IP,则只能填当前路由器范围内的可选IP ,即掩码后IP与路由IP掩码后的一致(如路由192.168.1.1,则可以是192.168.1.198,这个198可以换成0-255可选值)
浏览器登录路由器IP设置静态IP绑定或虚拟机服务(填上你设置的IP,端口22(SSH默认),FTP,ALL协议)并最好绑定MAC地址你的IP和你的mac地址(命令ifconfig -a可查)
$ ifconfig -a
1.3 拓展操作(单IP,多服务器,单路由器)
一个固定IP用路由器当交换机分配多台服务器:
路由器WAN端口查外部网线,LAN端口连到服务器
登录路由器设置:
1:设置路由器IP为申请的IP,网关子网掩码DNS也要一并设置为申请的
2:关闭DHCP(IP自动分发协议)
3:设置一个IP【为路由器IP子网下(路由器一般192.168.1.0),例如192.168.1.2,大于2就行,因为192.168.1.1为默认LAN端口】为与你要连接的服务器自身的mac地址绑定。
4:设置端口分配,内部端口默认22,外部端口设置一个唯一的,IP地址就填上面分配给服务器的。
5:连接时IP填申请的固定IP,端口填刚刚分配给服务器对应的外部端口
提示,若LAN口不够时,再加一台路由器LAN口接上一台的LAN口,WAN口不接,接了的话会形成多个子网,此时外接的路由器的LAN端口要设置最后一段不同,如192.168.1.2,若WAN口接上一台LAN口,则LAN口设置倒数第二段不同,如192.168.X.1,这里X不是1就行)
1.4 检查SSH服务
$ systemctl status sshd.service
如果inactivate(若active则会绿色突出显示)
$ systemctl enable sshd.service
$ systemctl start sshd.service
其端口一般在 /etc/ssh/sshd-config 中 可vim修改 取消注释 PORT 22 下面再加 PORT xx(你的设置),成功后可注释掉22的,当然路由器端口绑定也得改
1.5 检查测试
$ ping (自己的IP)
用同级网络下另一台电脑putty/shell等FTP链接
挂载硬盘(可选)
- 列出你的硬盘设备
$ fdisk -l $ mount (需挂载硬盘) (挂载文件夹)
- 永久挂载
在文件中添加 /dev/sdb1 (需挂载硬盘) /opt(挂载文件夹) ext3(文件系统类型) defaults 1(是否备份) 1(启动时是否扫描)$ vim /etc/fstab
即时生效挂载信息
$ mount -a
安装Python3.7,系统自带Python2.7
$ which python
$ cd /usr/bin
$ wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
$ tar zxvf Python-3.7.2.tgz
$ mv Python-3.7.2/ /usr/local/
$ yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gcc libffi-devel gcc make automake autoconf libtool libffi-devel
$ cd /usr/local/Python-3.7.2
$ ./configure --prefix=/usr/local/python3
$ ./configure --enable-optimizations
$ make && make install
配置软链接
$ ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
$ ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
配置nvidia驱动
参考
1.导入公钥
$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2.To install ELRepo for RHEL-7, SL-7 or CentOS-7:
$ rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
3.安装显卡检查程序,检查内核,源码版本是否一致
$ ls /boot | grep vmlinu
$ rpm -aq | grep kernel-devel
(之前可关闭自带集成显卡驱动:lsmod | grep nouveau
$ vim /lib(这里可能在/etc)/modprobe.d/dist-blacklist.conf
注释 #blacklist nvidiafb
添加 blacklist nouveau
options nouveau modeset=0
或
$ su root
$ echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/blacklist.conf)后重启 reboot
4.先备份系统启动引导文件镜像(可选)
$ cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
然后建立新的镜像
$ dracut /boot/initramfs-$(uname -r).img $(uname -r)
5.查找合适驱动
$ yum install nvidia-detect
$ nvidia-detect
>> kmod-nvidia
6.安装合适版本驱动
$ yum install $(nvidia-detect)
//也可以查找软件源中驱动程序
$ yum search kmod-nvidia
7.reboot(必须!)
$ reboot
8.需要卸载的时候 显卡驱动卸载(yum 安装模式的卸载)查看安装的nvidia模块命令
$ rpm -qa|grep -i nvid|sort
$ yum remove kmod-nvidia-*
9.安装 cuda,然后
$ wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda-repo-rhel7-11-3-local-11.3.1_465.19.01-1.x86_64.rpm
$ sudo rpm -i cuda-repo-rhel7-11-3-local-11.3.1_465.19.01-1.x86_64.rpm
$ sudo yum clean all
$ sudo yum -y install nvidia-driver-latest-dkms cuda
$ sudo yum -y install cuda-drivers
我这里要用预先下载的cuda10 rpm版本不然版本对不上
$ sudo rpm -i cuda-repo-rhel7-10-0-local-10.0.130-410.48-1.0-1.x86_64.rpm
$ sudo yum clean all(可选清除所有yum缓存)
$ sudo yum install cuda
10.安装cudnn
切换到压缩包所在位置,解压
$ tar -xzvf cudnn-10.2-linux-x64-v7.6.5.32.tgz
10.1 复制相关文件到cuda特定目录下(我的cuda安装目录为/usr/local/cuda/)
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
10.2 修改文件权限
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
10.3 检查安装是否成功
$ nvidia-smi
注意pytorch/tensorflow(要使用gpu版本) + cuda+cudnn版本号要对应
11.python程序执行
上传py程序后cd到对应目录执行:
python sample.py >run.log 2>e.log &
或创建脚本(vim xxx.sh)按i进入编辑模式(set paste进入可右键粘贴模式)
编写脚本大概如下:
python sample.py -xxxx xx(这里为参数设置) >run.log 2>e.log &
按Esc 输入:wq 保存退出
nohup sh xxx.sh
可选操作
##安装virtualenvwrapper
$ pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
$ ln -s /usr/Python-3.6.5/bin/virtualenv /usr/bin/virtualenv #创建软连接
$ pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenvwrapper
修改/.bashrc或者/.bash_profile
$ vim ~/.bashrc
按i或a修改,最后应写为
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/python3/bin/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/python3/bin/virtualenv
export PATH=/usr/local/cuda-10.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH
按esc输入:wq保存并退出
立即生效
$ source ~/.bashrc
$ reboot
使用方法:
创建自己的python虚拟环境
(1) 创建虚拟环境
创建虚拟环境(-p为指定python版本)
mkvirtualenv [虚拟环境名称] -p python3
创建虚拟环境时会同时配置好pip。
(2) 基本使用
进入(切换)虚拟环境
workon [虚拟环境名称]
退出虚拟环境
deactivate
列出虚拟环境下安装的包
lssitepackages 或者 pip list
(3) 其他可能用到的命令
列出所有虚拟环境
lsvirtualenv -b
进入虚拟环境主目录
cdvirtualenv [子目录]
复制虚拟环境
cpvirtualenv [source] [dest]
删除虚拟环境
rmvirtualenv [虚拟环境名称]
##添加远程桌面连接
1.开始前请确保你有能上网的主机两部(一个是CentOS7系统,一个是Windows10系统)
1、用SSH root用户登录Centos主机;
2、检查你的centos是否装了epel库 执行命令:
$ rpm -qa|grep epel
如果没有就安装:
$ yum install epel-release
3、安装xrdp,执行命令:
$ yum install xrdp ;
一路Y下来
4、安装tigervnc-server,执行命令:
$ yum install tigervnc-server;
5、为用户root设置vnc密码,命令为:
$ vncpasswd root;
6、网上说还要配置xrdp.ini文件,修改XRDP最大连接数,否则远程连接可能无法成功。***我没有配置
7、配置或关闭SELinux
查看SELinux状态命令:
$ /usr/sbin/sestatus -v
临时关闭SELinux(设置SELinux 成为permissive模式)命令:
setenforce 0
8、关闭防火墙或者不关闭防火墙,打开3389端口命令,或直接永久关闭防火墙:(宝塔用户直接在WEB面板的安全里面放行端口即可)
$ firewall-cmd --permanent --zone=public --add-port=3389/tcp
$ firewall-cmd --reload
9、启动xrdp服务,并且设置为开机启动
启动服务命令:
$ systemctl start xrdp
开机启动命令:
$ systemctl enable xrdp
10、Win系统下“Win+R”键,在弹出的“运行”框中输入“mstsc“命令,按“确定”,打开Windows远程连接,输入IP地址和端口号如 192.168.1.10:22
开始远程连接,在弹出的Xrdp用户验证窗口中输入CentOS7的用户名和密码登录即可。Good Luck!
##安装jupyter notebook
###一个强大的python即时编辑环境
搭建jupyter远程登录环境:
安装jupyter包:
$ pip install --user jupyterlab
进入ipython,若失败则先安装ipython,建立软链接
$ ln /usr/local/python3/bin/ipython /usr/bin/ipython
生成jupyter密钥:
$ from notebook.auth import passwd
$ passwd() (之后填写并确认密码*不显示输入)复制输出的密钥
$ exit()
建立软连接:
$ ln -s /usr/local/Python3/bin/jupyter /usr/bin/jupyter
生成jupyterlab配置文件:
$ jupyter lab --generate-config
修改配置文件
$ vim ~(这里填上面说的生成位置)/.jupyter/jupyter_notebook_config.py
将ip设置为*,允许任何IP访问
c.NotebookApp.ip = '*'
这里的密码填写上面生成的密钥
c.NotebookApp.password = 'argon2:$argon2id$v=19$m=10240,t=10,p=8$H/PskzDjY8eqKrQU8pDSCA$fK4/TFffP1mJOePWZUP+UA'
禁止用host的浏览器打开jupyter
c.NotebookApp.open_browser = False
监听端口设置为8888或其他
c.NotebookApp.port = 8888
允许远程访问
c.NotebookApp.allow_remote_access = True
(保存退出)
关闭防火墙或者开放8888端口:
$ systemctl stop firewalld.service
$ ystemctl disable firewalld.service
或
$ firewall-cmd --permanent --zone=public --add-port=8888/tcp
$ firewall-cmd --reload
reboot(重启)
jupyter nodebook
用其他电脑浏览器访问:http://ipaddress(你的服务器IP地址):8888/
卸载cuda:
$ cd /Developer/NVIDIA/CUDA-10.1/bin
$ sudo perl uninstall_cuda_10.1.pl --manifest=.cuda_toolkit_uninstall_manifest_do_not_delete.txt
$ sudo rm -r /usr/local/cuda-10.1
或
$ sudo yum remove cuda
$ sudo yum clean all(可选)
$ sudo yum remove cuda*
$ sudo yum remove nvidia*
命令行和图形界面切换:
$ cat /etc/inittab 或 systemctl get-default(查看开机设置)
$ systemctl set-default multi-user.target(设置开机命令行)
$ systemctl set-default graphical.target(设置开机图形化界面)
小记
查看进程情况 top -c 或者 jobs
查看特定PID情况:ps -mp
图形到DOS:Ctrl+alt+f2
DOS到图形:命令行输入startx
或者
在命令上输入 init 3 切换到DOS界面 输入init 5 切换到图形界面