Linux服务器+GPU配置总结(一)

1. 普通用户增加sudo命令的解决方法:

    a. 切换到root用户下:su – root

    b. 给/etc/sudoers文件添加写权限 :chmod u+w /etc/sudoers

    c. 给普通用户添加使用sudu的的权限:

        vim /etc/sudoers

        找到这行:root  ALL=(ALL)  ALL, 在这行下面添加 xxx  ALL=(ALL) ALL (这里的xxx就    是你的普通用户)

        ##这里解释一下,sudoers下面添加普通用户可以使用sudo命令的格式:

        xxx ALL=(ALL)  ALL   ##:普通用户可以使用sudo命令,但是需要密码

        %xxx ALL=(ALL)  ALL  ##用户组xxx的用户可以使用sudo命令,但是需要密码

        xxx ALL=(ALL)  NOPASSWD:ALL  ##普通 用户可以使用sudo命令,不需要密码

        % xxx  ALL=(ALL)  NOPASSWD:ALL  ##用户组xxx的用户可以使用sudo命令,不需   要密码

    d. 添加完之后,保存退出

    e. 去除root用户对sudoers文件的写权限:chmod u-w /etc/sudoers

 

2. 更改密码指令(客户,不是主机root):

    passwd username, #首先输入原始密码,再输入新密码。

 

3. 当文件系统的权限被设置为others的为none时,会出现远程循环登录不进去,并且远程xrdp登不进去的情况,此时如果客户中有一个能够通过本地命令行界面登进去,那么解决的方法是首先将该能登进去的用户加入到suders中,也就是赋予sudo权限,然后再将其加入到root组中,使其具有root权限。然后通过下面的指令赋予文件系统整个文件夹的权限为所有用户(拥有者,组名,others)都有:

      改变权限的指令: sudo chmod 777 filename, 777的意思是是三者具有写,读和执行的权力。

 

4. 创建用户组的命令:

    groupadd -g 888 users,创建一个名为users的组,其GID为888.

 

5. 将user1加入或退出组users的命令:

    gpasswd -a user1 users

    gpasswd -d user1 users

 

6. 删除组: groupdel users; 更改组名:groupmod -n user users.

 

7. 查看一个用户的UID和GID: id user4;

 

8. 远程客户出现雪花状闪退的问题的解决:

    sudo apt-get install xfce4;

    echo xfce4-session >~/.xsession;

    touch .session;

    sudo vim /etc/xrdp/startwm.sh;

    在/etc/X11/Xsession前面加上:xfce4-session,然后重启xrdp:

        sudo service xrdp restart

 

9. 装系统时遇到的问题:

    a. 服务器不适合18.04,装16.04就没有问题;

    b. 系统装不好有可能是制作的U盘有问题;

    c. 在这里需要注意的是要搜索移动硬盘,然后格式化以便系统能检测到(很重要);

    d. 下面是装远程桌面xrdp, xfce4.

    e. 下面是装Matlab, Pycharm.

 

10. 安装英伟达驱动时遇到的问题:

    a. 这个直接从官网上下载相关驱动,难度不大;不过需要注意的是装完驱动后,之前的第三方桌面环境Xsession就不能再用;

    b. 下面是装cuda,这个直接从网上下载,cuDNN需要从注册官网;

    c. 下面是装tensorflow,这个可以自己制作whl文件,但是比较麻烦;

    d. 下面是分配磁盘的权限,可以在磁盘中创建文件,然后每人指定用多少空间即可,这里需要注意的是不要将文件系统对

        others设成none,因为会导致远程登录不上去。

    e. 创建组,设置sudoers组,root组,按组进行权限管理。

 

11. 服务器运行一段时间后出现“xrdp_mm_process_login_response: login failed”问题的解决:

        原因:问题原因:远程桌面没有正确关闭,虽然在windows 系统关闭远程桌面连接,但是在里linux上的进程还在运行,导致连接数量达到上限,出现问题。

        解决方法: sudo  /etc/xrdp/sesman.ini;然后设置将最大会话限制该大  MaxSessions=50,将KillDisconnected=1;则每次断开连接时,linux都会关闭会话进程。

 

12. 从windows向linux系统传输数据的方法:

    a. 采用Git Bash方式;

    b. 采用Putty插件;

    c. 采用winSCP插件。

 

13. 采用Git从Windows向Linux传送文件的方式:

    a. 在所在文件夹中右键再点:git bash here;

    b. scp file_to_be_sended name@ipaddress:/filepath.

 

14. linux将文件传回windows需要的指令:

    scp  -rp  username@remoteIP:/path/filename  /path

    scp root@/172.19.2.75:/home/root/full.tar.gz /home/daisy/full.tar.gz

    需要注意的是这两个操作相当于pushfetch,都是在本地端完成,而不需要fetch是从服务器端操作。  

 

15. 采用google账号下载IBSR上面的数据时,需要用到Dropbox云端存储,网上存储的容量是300M,采用客户端上传的存储容量是18.8G。国外常用的云存储品牌还有Google DriveOnedrive

 

16. 设置cudacudnn路径的指令(很重要):

            export PATH=/usr/local/cuda-7.5/bin:$PATH

            export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH(此处我使用的是cuda7.5,具体需要根据自

            己的版本输)。输入完后再用nvcc -V查看cuda版本就可以了。

 

17. 为服务器修改PATH环境变量的方法:

    a. 方法一:export PATH=/usr/local/bin:$PATH

        #配置完后可以通过echo $PATH查看配置结果。

        #生效方法:立即生效

        #有效期限:临时改变,只能在当前的终端窗口中有效,当前窗口关闭后就会恢#复原有的path配置

        #用户局限:仅对当前用户

    b.方法二:

        #通过修改.bashrc文件:

        vim ~/.bashrc

        #在最后一行添上:

        export PATH=/usr/local/bin:$PATH

        #生效方法:(有以下两种)

        #1、关闭当前终端窗口,重新打开一个新终端窗口就能生效

        #2、输入“source ~/.bashrc”命令,立即生效

        #有效期限:永久有效

        #用户局限:仅对当前用户

    c. 方法三:

         #通过修改profile文件:

        vim /etc/profile

        export PATH=/usr/local/bin:$PATH

        #生效方法:系统重启

        #有效期限:永久有效

        #用户局限:对所有用户

    d. 方法四:

       #通过修改environment文件:
        vim /etc/environment
        在PATH="/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin"中加入 
        ":/usr/local/bin"
        # 生效方法:系统重启
        # 有效期限:永久有效
        # 用户局限:对所有用户

 

18. 以最高权限打开文件:

     在终端输入:sudo nautilus 

 

19. 挂载移动硬盘时,应该直接挂载在media目录下,而不是在media下的新用户目录下,解决方法(示例):sudo mound -o rw /dev/sdd /media/DATA3.

 

20. 普通用户加载cuda环境的方法: source /etc/profile.

 

21. 关于“libcublas.s0.9.0:cannot open shared object”问题的解决:

Linux服务器+GPU配置总结(一)_第1张图片

 

22. root用户和sudo的理解,建的h205b其实相当于一个仅有sudo权限的普通用户,还不是真正的root用户,root用户除非使用su指令,然后输入超级口令才可以称为root用户。那么将sudoroot权限分开,主要是因为有些重要文件的权限它只对ower(一般为root)可写可读,对其他用户仅有只读权限,即使有sudo权限也不能将其删除;另外sudo口令可以给需要的用户,这样用户得到的权限相当于是有限的,保证了整个系统的稳定安全性。

 

23. winscp安装时遇到的问题:

https://images2015.cnblogs.com/blog/1014373/201704/1014373-20170410110817047-1053318451.png

    解决方案:

     先安装"sudo apt-get install yum"

         1. 输入 "sudo apt-get install openssh-server"   等待安装、然后输入 "y"

         2. 输入"sudo ps -e |grep ssh"-->回车-->sshd,说明ssh服务已经启动

       如果没有启动,输入"sudo service ssh start"-->回车-->ssh服务就会启动。

 

24. 2018723日遇到的GitWinSCP不能登录服务器时遇到的问题:Connection closed by 219.223.174.173. 问题出现的原因是之前设置的/etc/ssh/四个秘钥文件的权限太大,应该设置为除了root才能知道的权限,而groupothers都进入,值应该都为0.

具体用到的指令有:sudo /etc/sbin/sshd -d,调出调试代码,里面会报出错误的原因。针对错误原因进行修改即可,这一点非常重要。

    另外一条指令:ssh -v [email protected],这句指令也可以起到查看调试的作用。

 

25. mount挂载物理磁盘时,不能按照默认路径挂载,即不能挂载在media/vipadm3下,而是应该在media下直接建立四个文件夹,然后将四个盘分别挂载到四个文件夹中。

你可能感兴趣的:(Linux服务器,Python,机器学习,GPU配置)