目录
博主最近新弄了台linux服务器,打算用于日常的开发测试。这边就记录一下搭建过程中使用的命令/工具吧。(系统为CentOS7,如其他系统没有yum等系统安装命令,可用系统自带的类似命令试试)
1. 远程工具
日常项目中用的SecureCRT,算是比较好用。具体下载安装可查阅这位博主的博客:SecureCRT下载安装
1.1 远程连接超时断开
在SecureCRT选项中选择Options->Session Options->Terminal->Anti-idle->勾选Send protocol NO-OP,类似于向终端发送心跳的方式保持连接。默认是60s,博主修改成20s了。
2. 文件传输
一般情况下,使用sz(下载命令)和rz(上传命令)即可传输文件。如果传输文件夹的话,可以选择用图形化界面或者打包成压缩包后命令行发送。
2.1 缺少rz/sz命令
CentOS下使用yum -y install lrzsz安装即可。
2.2 SecureCRT上传文件
直接拖拽文件到窗口内,然后选择ZMode传输即可,算是比较方便的一点。
2.3 默认下载路径
直接使用sz filename命令后,对应文件一般默认保存于用户下载目录中(Windows下)。
3. GCC安装
linux下安装GCC编译器一般为三种模式:
(1)系统安装命令安装
(2)下载GCC源码编译安装
(3)下载GCC二进制文件(可直接使用)
3.1 系统命令安装
可以通过 yum -y install gcc gcc-c++ make automake 安装默认版本的gcc,比较简单。
3.2 下载GCC源码安装
利用默认gcc编译其他版本gcc编译器源码:
需要的文件一共有gcc源码以及三个依赖包mpc / gmp / mpfr。对应的下载地址如下:
gcc源码下载地址(版本可以自己按需选择,博主使用的是5.4.0版本)
依赖包的版本可以使用以下默认版本,也可以通过删除下载链接中末尾的文件名选择版本。
编译安装顺序一般为gmp -> mpfr -> mpc -> gcc。前三个依赖包的编译速度较快,最后的gcc编译可能需要0.5~2小时。
注意:一般都会通过--prefix指定目标文件的生成路径,否则生成在默认径路下,之后的删除工作会非常麻烦,特别是gcc还未提供卸载功能。如果真的安装在默认路径后需要卸载,可以查看博主的另一篇博客:源码编译的GCC卸载
完整安装流程可以看这位博主的博文:gcc编译安装
如果希望同时存在多个gcc版本,可以选择不替换原/usr/bin目录下的gcc/g++文件,而是从编译生成目录将对应文件链接为其他名字(如gcc540/g++540版本),编译的时候使用对应名字即可。
当然,对应库路径也要添加到环境变量中(读者可根据实际路径进行调整)。在文件$HOME/.bash_profile末尾添加操作:
LD_LIBRARY_PATH=/usr/local/gcc-5.4.0/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
该设置在远程连接全部断开后,用户每次登陆时都会触发。
4. 压缩/解压工具
压缩文件比较常见的也就zip / tar.bz2 / tar.gz几种类型了,简单介绍下安装和使用的方法。
4.1 zip工具
安装:使用命令 yum install -y unzip zip 安装zip的压缩和解压工具。
解压:unzip 文件名 目标路径
压缩:zip -r 压缩文件名 目标文件夹路径
4.2 tar工具
tar一般系统默认都有安装,可能会缺tar.bz2类型的解压方式,单独安装下即可。
tar缺少bzip2工具:yum -y install bzip2
tar解压tar.gz:tar -zvxf filename.tar.gz
tar解压tar.bz2:tar -jvxf filename.tar.bz2
5. CMake安装
如果使用CMakeLists.txt进行编译,那么还需要安装cmake。官方下载地址:cmake下载
下载自己需要的版本,上传至linux端解压后进入目录安装:
./bootstrap --prefix=/usr/bin/local/cmake-target
make && make install
其中同样也指定了安装路径 --prefix=/usr/bin/local/cmake-target,当然各位读者也可以自己选择目录。
之后使用cmake --version即可确认版本。
6. GLIBC相关
实际环境中,编译环境与生产环境下的系统库版本不同,可能会导致项目编译不通过或者运行时错误。比较常见的就是usr/lib64/目录下的libc.so.6。可以通过过滤动态库中的关键字查看其支持的版本。
strings libc.so.6 | grep GLIBC
注意:libc.so.6库是linux运行的基本库,对其改动可能会造成大量(接近全部)系统命令失效。因此没搞清自己目的前,请不要轻易升级版本。
话说云服务器这么贵的吗