centos6.5吐槽系列(包括anaconda,cuda,python,vncserver,装系统,raid,挂载,装synopsys系列软件等)

有待更新。。。




一、装系统,raid,格式化。物理磁盘,装机挂载,移动硬盘挂载,文件系统,bios,lifecycle

二、多人同时访问vncserver

1、centos介绍,其与ubuntu的差别

2、基本操作
先介绍几个命令吧,作为linux系统,是一种命令行形式的系统,基本就没打算设计图形界面(或者图形界面很差),但使其更加贴近底层,更适合管理分配计算机资源,其拥有windows不一样的文件系统(文件树,分支,root等,其实更像是开源版的windows系统),作为windows长期使用者,在使用linux可能会有很多不适应,甚至把系统给毁了。。

在图形界面使用 ctrl+alt+F2切换到dos界面  

dos界面 ctrl+alt+F2切换回图形界面

在命令上 输入 init 3 命令 切换到dos界面 

输入 init 5命令 切换到图形界面

在图形界面使用 ctrl+alt+F2切换到dos界面  

dos界面 ctrl+alt+F2切换回图形界面

在命令上 输入 init 3 命令 切换到dos界面 

输入 init 5命令 切换到图形界面

############################################################################################# 

如果想系统(centos7)默认以某种方式启动, 使用systemd创建符号链接指向默认运行级别。

 修改方法为:

1.首先删除已经存在的符号链接:

rm /etc/systemd/system/default.target 

2.默认级别转换为3(文本模式): 

ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target 
或者默认级别转换为5(图形模式):

 ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target 

3.重启:

 reboot 

如果是 centos7以下的版本

以管理员权限编辑/etc/inittab
把
id:5:initdefault:
改为
id:3:initdefault:
就ok。

yum install 
yum remove

3、正式介绍多人远程访问centos服务器(使用vnvserver为例)

VNC 使您可以远程访问和控制您的计算机从另一计算机或移动设备上,无论你在世界的任何地方。常见的使用情形,包括给同事和朋友提供桌面支持、远程管理您的服务器。

将 VNC Server部署到您想要控制计算机,使用VNC Viewer连接到你想要控制的计算机。

在正式介绍之前,先看一下,服务器与客户端都是windows系统的情况下,该怎么使用VNCserver与VNCviewer吧,具体参照如下:https://jingyan.baidu.com/article/d2b1d102b85a825c7e37d405.html
关于软件包,可以去官网,也可以去第三方网站去搜索,window这种情况下,可能需要破解版。。但linux好像就不用了。

下面正式开始介绍linux,也就是centos6.5系统的dell服务器上进行vncserver多人远端访问的设置。
其实吧,参考这两篇博文:
https://www.linuxidc.com/Linux/2015-12/126483.htm
https://blog.csdn.net/jkxsanger/article/details/8897306
基本就完成所有工作了,但是这TMD又出现了奇葩的bug,老系统装新东西真的惹不起,惹不起。。
另外,https://jingyan.baidu.com/article/5553fa8282456665a23934a1.html 这个吧,我也是看得有点醉,在百度经验中,可能真的写的有点含糊,绕圈子了吧。。

bug1:vncpassword用不了,得再装一个辅助包。。
参考 https://blog.csdn.net/u013779141/article/details/41251979
bug2:那真的是烦死个人,一个接一个,比如
Warning: yqrh5u2:1 is taken because of /tmp/.X1-lock
Remove this file if there is no X server yqrh5u2:1
A VNC server is already running as :1

又比如:
Warning: yqrh5u2:1 is taken because of /tmp/.X11-unix/X1
Remove this file if there is no X server yqrh5u2:1
A VNC server is already running as :1

最致命的:
WARNING: The first attempt to start Xvnc failed, possibly because the font
catalog is not properly configured. Attempting to determine an appropriate
font path for this system and restart Xvnc using that font path …
Could not start Xvnc.

_XSERVTransSocketUNIXCreateListener: …SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running

Fatal server error:
Cannot establish any listening sockets - Make sure an X server isn’t already running
_XSERVTransSocketUNIXCreateListener: …SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running

Fatal server error:
Cannot establish any listening sockets - Make sure an X server isn’t already running

这种bug,哥表示输入了下面这种一连串,然后还TMD意外触发init 3,然后重启,就莫名其妙好了,真的是醉了,博客里说啥的都有,我TMD只好全部试了一遍,真是服气。。
主要有:

yum install libXfont xorg-x11-xinit xorg-x11-fonts-Type1
yum install pixman-devel libXfont
ps aux | grep -i "xorg| x11"
yum -y groupinstall "GNOME Desktop Environment"
yum groupinstall "X Window System" "KDE (K Desktop Environment)"
还有
rm -f  /tmp/.X1-lock
rm -rf /tmp/.X11-unix
最后
触发了init 3,然后重新进入图形化界面 init 5,意外发现,特么的居然突然好了,可以用了。。
service vncserver start

具体可参考:
https://blog.csdn.net/testcs_dn/article/details/40513399
https://www.linuxidc.com/Linux/2013-08/89266.htm

好的,其实吧,正常使用上面的操作不瞎搞,基本是不会出错的。但是TMD第二天我再次登录时,出现了另外一个bug:
“Authentication is required to set the network proxy used for downloading packages”,或者是另外一个类似的语句,反正就是让你重新输入root密码,但是我记得我第一次登录时输入过,特么现在每次登录又让我输入,而且你知道嘛,现在输入了还不管用,老是提示错误。。这我就不理解了哈,虽然忽略它,把它拖到一边去,倒也还能用其他的功能。。
于是,我又看了一些其他的博文,差不多有这三条:
在使用VNC访问集群的时候,总是弹出"Authentication is required to set the network proxy used for downloading packages"的对话框,比较烦人,解决方法禁掉Gnome里面自动更新的部分,具体如下

1、
命令: gedit  /etc/xdg/autostart/gpk-update-icon.desktop

,不要使用vi,TMD只读模式,而且还不是文本编辑方式。。
然后在底部添加X-GNOME-Autostart-enabled=false 
2、
 命令:cd /etc/xdg/autostart/
            gedit   polkit-gnome-authentication-agent-1.desktop

底部添加:X-GNOME-Autostart-enabled=false

3、解决linux下非root用户频繁出现Authentication is required to set the network proxy used for downloading packages

非root用户登陆linux服务器,总是弹出一个对话框,而且关闭之后,过一段时间还会弹出来。对话框的内容是:Authentication is required to set the network proxy used for downloading packages。然后提示你输入root密码。 
  解决办法:在终端窗口(右键,open in terminal)输入“gnome-session-properties”。然后把“PackageKit Update Applet”前面的勾去掉就行了。


其实吧,我觉得做完前两个,基本上第三个就不用做了。。

参考自:
https://blog.csdn.net/paololiu/article/details/53202527
https://blog.csdn.net/gjq2267787274/article/details/47779947
https://blog.csdn.net/xiaotao_1/article/details/78531255

这里顺带解决一个log信息:"xauth: (stdin):1: bad display name"
在这里插入图片描述
说是这是由于 TDManager不能被正确的解析造成的,所以hostname不能被ping。
解决方法很简单:
在/etc/hosts里加入hostname就可以了
然后用 ping TDManager命令来测试一下,如果可以ping通就没有问题了
参考:
https://www.oschina.net/question/234345_42428
https://www.xuebuyuan.com/1045391.html
http://www.voidcn.com/article/p-ropfdwux-bdv.html
https://blog.csdn.net/qq_21127313/article/details/52756847
大致差不多,但是我嫌他们写的太过潦草,而且这个也不太影响正常功能使用,我就没有实际处理了。。
讲真网上这些个blog真的是很服气。。
比如:
https://www.cnblogs.com/yfceshi/p/6781821.htmlhttps://www.linuxidc.com/Linux/2013-04/82510.htm 的区别,表示写的真的是太不讲究了,而且格式看着就令人不爽。。

最后建议,不要开过多的账号,以及随便使用root权限装vncserver(除非必要),或者使用root单开某一个桌面,否则可能直接这个桌面登录就变成root账户,或者在普通用户模式下(但是你已经使用root装的vncverserver)启动某一桌面,这个时候通常不起作用。。最可怕的是直接通过物理主机而不是vnc的方式(注意你使用useradd命令添加用户的时候,添加过两重密码。。物理主机密码等级高于vnc登录密码,所以使用物理主机必须使用账户密码,vnc一般两个都可以使用),来启动当前桌面vnc服务的化,就比较惨了。。

可能会重蹈覆辙,重新出现,

Warning: hn.kd.ny.adsl:1 is taken because of /tmp/.X11-unix/X1
这种情况,你就删除吧,错误的缓存文件,导致冲突。。或者你重启init 3然后init 5或许也能成功。。

或者
WARNING: The first attempt to start Xvnc failed, possibly because the font
catalog is not properly configured.  Attempting to determine an appropriate
font path for this system and restart Xvnc using that font path ...
Could not start Xvnc.
... ...
这种情况看起来比较可怕,但是一般不理它好像也没事,要是还是有问题,建议重新全部关闭,或者单独杀死,再启动一次。。要是还是不行,你可以试下上面的serverce vncserver restart,或者init 3再init 5的方式重启。。

或者常见的
vncserver启动报错root A VNC server is already running as :1
但是客户端却又登录不上,或者杀不死这个桌面
比如命令 :vncserver -kill :1 或者 servervice vncserver stop
但是命令:vncserver :1   结果还是显示在如上。。
哈哈,一般这下又有的你忙了。。
处理原则:
1、在那个账户下启动,优先在哪个账户下关闭服务,命令如上
2、最好不要在某个个人账户下启动当前窗口的vncserver,这种情况直接登录进入root账户,或者各种删不掉,杀不死,重大错误等等。。否则你可以再次进行上面两条操作了。。最好的办法是特意空出一个公共账号,留出一个5900端口,但是本窗口却不设置vnc服务,但是专门用来管理其他各个窗口的vncsever服务

最后如果你还是无法正常启动vncserver,终极办法:
命令:ps -ef | grep "vnc"
然后尽情的杀死所有账户下的所有进程吧
具体命令:kill -9 123456(对应显示出来的进程号)
此方法也是一般来说处理僵尸端口,也就是之前占用的,但是删除账户的时候没有释放资源导致的。
这种杀完,再使用上面的service vncserver stop以及vncserver -kill :1再杀一遍,即可完成,你要是愿意再次init 3再init 5那自然是更好。
这个时候service vncserver start重启vnc服务吧。

作为初学者,可能也是不太理解上面的具体原理,只能靠经验记录这些问题,可能涉及到一些很基本的常识,但是作为初学者却又不了解,也可能这个vnc本来就会出现很多bug,其本来就是用于大型分布式集群的,这种一般的服务器可能不太兼容,尤其是linux系统不好控制,bug多,网上的blog又是鱼龙混杂,特此记下笔记,以作为记录参考,希望以后精通linux之后能够比较更加深刻理解这些操作吧。
最后的最后,建议最后一次性启动所有的vnc窗口以及关闭所有,不要去了远程连接还去物理主机瞎搞,可能这个软件一般就不适合图形界面,更适合纯命令行服务器,以及规范root权限以及普通用户的服务器。如果实在是想删除或者下线某一个vnc窗口,你可以去杀死,但是如果重开的话,你最好再次把所有的都停掉,再把所有的都打开,避免不必要的麻烦。。也就是说,设置好了就不要随便动它了。

参考:
https://blog.csdn.net/wuboox/article/details/82901071
http://bbs.eetop.cn/thread-593584-1-1.html
https://blog.csdn.net/russle/article/details/4757888

三、centos6.5安装anconda,cuda,cudnn,tensorflow。python

1、下载anaconda
anaconda官网只提供最新版下载,因此提供地址:
下载地址 https://www.anaconda.com/download/

旧版本下载 https://repo.continuum.io/archive/

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ ,或者wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda2-5.2.0-Linux-x86_64.sh (推荐,清华大学开源软件镜像站进行下载并配置镜像),但是其实,这个镜像网址一般对于centos6.5这种老系统还真不是很靠谱,要么慢,要么进去闪退,要么还特么弹出一些奇怪的东西,要你更新下载某个东西。一般这种镜像网址,就算在在命令行中好像也不太好使,就是引入镜像源的那种命令,这种镜像地址一半对于windows可能稍微好点,对于linux真的有点不稳点,尤其是老系统。。

Anaconda3-4.3.0.1-Windows-x86_64.exe 对应 python3.6.0

Anaconda3-5.1.0-Windows-x86_64.exe 对应 python3.6.3

Anaconda3-5.2.0-Windows-x86_64.exe 对应 python3.6.5

这个其实无所谓,后面你可以使用anaconda管理多版本嘛。。一般直接安装python各种版本会很漫长,出现很多bug,还是直接使用anaconda比较靠谱,对于linux来说。。

安装anaconda后
conda的使用方法:https://conda.io/docs/user-guide/tasks/manage-pkgs.html#installing-multiple-packages

https://www.cnblogs.com/luckyalan/p/6703590.html
https://www.cnblogs.com/esin/p/7073119.html
https://www.cnblogs.com/gaowengang/p/7736672.html

sudo apt-get install python3.6
sudo apt-get purge --auto-remove python3.6
不建议尝试在linux环境下单独安装python

1、bash Anaconda3-4.4.0-Linux-x86_64.sh,而不是./Anaconda3-4.4.0-Linux-x86_64.sh,如果提示命令找不到,则考虑使用su,超级用户权限。
2、搞清楚/etc/profile,/root/.bashrc,/home/username/.bashrc,再来说话,TMD瞎几把搞,不同操作系统,环境变量设置文件不一样的好嘛。。这里使用/home/username/.bashrc即可,不要使用系统环境变量/root/.bashrc,否则普通用户使用不了conda。。

具体实施过程参考这篇文章就很好 https://www.cnblogs.com/xiao-apple36/p/9052102.html, 只需要把系统环境变量改为用户环境变量就可以了。
https://blog.csdn.net/infiniteidea_go/article/details/81045589 这个的话就是与上面的一样,没使用bash命令执行,也没注意脱离root权限
或者参考:https://blog.csdn.net/qq_16019107/article/details/77963348, 但是哥表示没有建立后面的软连接,就直接可以覆盖原来的python2.6了,anaconda真TM强大蛮横。。而且他说的环境变量也改错了文件,也改错了路径。

这个冠冕堂皇的, https://blog.csdn.net/ychgyyn/article/details/82258136, 但好像也是环境变量的文件不对。。
https://blog.csdn.net/rainmaple20186/article/details/80664828 这个的话,就是一般默认不会安装到那里去,权限确实应该一般使用普通权限安装,但是这里添加环境变量也要注意,要加入等级稍低一点的用户环境变量,才不至于普通用户访问不了conda,这两点都要保证。。
说到底,其实这个最简单的 https://blog.csdn.net/Zx_whu/article/details/72903489 ,却还直接解决了问题。。

另外,看了 https://segmentfault.com/a/1190000011144179 ,哥表示直接放弃了在centos6.5这个条件下安装cuda,使用gpu了,真TM的服了。。

最后,如果想使用Anaconda Navigator 图形化界面,可以参考:https://blog.csdn.net/hfutzhouyonghang/article/details/81090361 ,直接启动spyder,也直接输入spyder就可以应该。。
这个,https://blog.csdn.net/u013372308/article/details/79235393 ,我就建议直接pass吧,哪有这么搞的啊。。神人。。

四、linux安装gcc-4.8.2.tar.gz

对于ubuntu来说,一般安装好像ubuntu16.04 LTS,其自带的gcc编译器就很高了,一般5点几。。而对于centos来说,就比较尴尬了,尤其对于centos6.5来说,要想安装高版本gcc则更加麻烦。。安装系统时也是,发现centos6.5真的是很尴尬的一个局面,centos7可能都比较容易处理了。。

以下参考一篇lam的caffe笔记之配置篇(一):CentOS6.5编译安装gcc4.8.2,来作为讲解示例。

配置要求:

系统:centos6.5
目标:基于CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6接口的caffe框架


任何对linux处于入门级别的小白都应该先了解共享库(软链接,硬链接)http://yiranwuqing.iteye.com/blog/974246

gcc是linux编译安装必备的编译器

CentOS6.5自带的gcc版本是4.4.7,并不支持C++11
这个C11后面还会看到,很重要。
查询后可得需要版本高于4.8.1的gcc才能支持C++11
输入

yum info gcc
  
  

    发现可升级的gcc版本低于4.8.1,只能手动编译安装4.8.1版本以上的gcc
    编译安装手动下载的包需要用到cmake
    输入

    cmake -version
      
      

      查看cmake版本,若不存在则输入

      yum install cmake
        
        

        进行安装

        编译安装gcc

        1 下载gcc4.8.2源码

        wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
        tar -jxvf gcc-4.8.2.tar.bz2
          
          

          2 下载编译源码所需要的依赖项

          cd gcc-4.8.

          这个命令可以让源码包自动帮我们下载编译gcc所需要的gmp,mpfr和mpc三个依赖项.

          3 建立一个空文件夹作为编译的输出目录,并生成Makefile文件

          mkdir build -gcc-4.8.2
          cd build -gcc-4.8.2
          ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
            
            

            ../configure的意思是从这个文件夹的上一级文件夹执行configure文件,后面是所要设置的初始详见configure –help.

            4 编译

            make -j4
              
              

              后面-j4是cmake对多核处理器的优化,根据cpu的核心自己做调整.
              漫长的等待.

              5 安装

              make install
                
                

                6 验证安装

                重启后查看gcc版本

                gcc -v
                  
                  

                  若看到4.8.2则表示安装成功

                  遇到的问题

                  1 在新的gcc没有安装成功前,不要!不要!!不要!!!卸载低版本的gcc

                  因为make时还是需要调用gcc的,本人第一次编译时就是因为先把4.4.7版本的gcc卸载了编译到一半是终止了,错误提示是无法识别c++

                  2 gcc的链接问题

                  两种情况,第一种有2个以上的gcc版本存在,系统自带的版本是低版本的;第二种是在手动编译安装gcc成功后把低版本的gcc卸载了。详细参见。。

                  以上转载自:https://blog.csdn.net/qq_16019107/article/details/77962046, 一般使用这个方法足以安装好gcc4.8.2,需要耐心等待。
                  类似好文,可参考: https://blog.csdn.net/liudongdong19/article/details/81392045,其中也涉及到了可怕的
                  glibc-devel.i686 glibc-devel 这些个东西,一不小心毁系统。。贼坑

                  关于gcc-4.8.2.tar.gz这个安装包
                  1、链接:https://pan.baidu.com/s/1smRLGQx 密码:dgr2,
                  参考自:https://blog.csdn.net/u012421852/article/details/79140536
                  ###################################################################

                  1 #wgethttp://gcc.skazkaforyou.com/releases/gcc-4.8.2/gcc-4.8.2.tar.gz
                  
                  2 #tar -xf gcc-4.8.2.tar.gz
                  
                  3 #cd gcc-4.8.2
                  
                  4 #./contrib/download_prerequisites (目的:下载、配置、安装依赖库)
                  
                  5 #mkdir gcc_temp;cd gcc_temp
                  
                  6 #../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
                  
                  7 #.make & make install(友情提示此步骤会执行较长时间,请耐心等待)
                  
                  8 #rm -rf gcc_temp
                  

                  确认安装Ok并查看版本:

                  #which gcc
                  
                  #which g++
                  
                  #gcc -v
                  
                  #g++ -v
                  

                  ##############################################################################

                  2、wget http://gcc.skazkaforyou.com/releases/gcc-4.8.2/gcc-4.8.2.tar.gz, 先下载保存,再做处理,一般linux如果一个命令不行,可以试下超级用户下使用这个命令,如果还是不行,则需要进行yum或者其他形式安装。讲真ubuntu与centos有些命令功能相同,但命令关键字就是不同。。
                  3、直接去第二点的网站,或者点击http://ftp.gnu.org/gnu/gcc这个网站,或者直接百度搜索gcc-4.8.2/gcc-4.8.2.tar.gz也可以,然后去下载。。

                  一般来说这个gcc不是特殊情况,最好不要动,随意损坏,可能会使一些功能不可用,而gcc一般较难卸载恢复。。
                  但是一般来说,比如高版本,或者新出现的软件如果想在centos6.5上运行,升级gcc却又是必要的。。
                  我曾经好像就是按照类似这种方式:https://blog.csdn.net/qq_22790049/article/details/52873915, TMD把系统搞废了,太特么不靠谱了。。
                  再次申明,本人亲测:使用上面列出的 https://blog.csdn.net/qq_16019107/article/details/77962046 这种方法,足以安装好需要的gcc4.8.2。

                  总之,升级gcc一定要慎重又慎重!!!

                  猜你喜欢

                  转载自blog.csdn.net/edward_zcl/article/details/88585463