标签搜索

目 录CONTENT

文章目录

CentOS7相关工具的搭建.md

小小城
2021-08-22 / 0 评论 / 0 点赞 / 5 阅读 / 9,602 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-05-02,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

注意环境变量相关配置的路径都以自己安装的位置为准
@[toc]

一、vim配置

安装方法
在 shell 中执行指令(想在哪个用户下让vim配置生效, 就在哪个用户下执行这个指令. 强烈 "不推荐" 直接在 root 下执行):

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

需要按照提示输入 root 密码. 您的 root 密码不会被上传, 请放心输入.

卸载方法
在安装了 VimForCpp 的用户下执行:

bash ~/.VimForCpp/uninstall.sh

二、谷歌ctemplate库

git clone https://gitee.com/HGtz2222/ThirdPartLibForCpp.git
cd ./ThirdPartLibForCpp/el7.x86_64/
sh install.sh

配置环境变量:

export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/home/wolf/third_part/include/ctemplate

三、更换yum源和安装epel源

更换yum源

  1. 进入yum配置文件所在文件夹
cd /etc/yum.repos.d/
  1. 备份系统自带的yum源配置文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.save

只需添加后缀区分开来就行,旨在若更换yum失败只需恢复自己的备份就行(即去掉后缀)

  1. 下载新的源配置文件到该目录下
阿里源的下载方式:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

网易源的下载方式:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
或
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
  1. 清空系统所有yum源
yum clean all
  1. 生成新的yum缓存
yum makecache

至此,yum已更换成功

安装EPEL源

  1. 安装EPEL源
yum install -y epel-release

安装完成后,在/etc/yum.repos.d/目录下会多出来两个文件,这两个文件就是EPEL源的配置文件,如下:

epel.repo
epel-testing.repo

查看epel.repo文件中的内容就可以发现其中的地址指向的是:https://mirrors.fedoraproject.org/,而epel-testing.repo这个文件中的软件源的地址也是指向的是https://mirrors.fedoraproject.org/
为了加快软件安装速度,我们也可以将其更改为国内的EPEL源。

  1. 进入目录
cd /etc/yum.repos.d/
  1. 下载阿里云EPEL源
wget http://mirrors.aliyun.com/repo/epel-7.repo
  1. 备份官方提供的EPEL源配置文件
cp -p epel.repo epel.repo.bak
cp -p epel-testing.repo epel-testing.repo.bak

下面三步是为了防止安装epel源后出现形如本文中第二版块的yum源配置文件重复而引起的报错:

  1. 删除epel-testing.repo文件
rm -rf epel-testing.repo
  1. 将epel-7.repo中的内容覆盖写入到原来的epel.repo文件中
cp -p epel-7.repo epel.repo
  1. 删除epel-7.repo文件
rm -rf epel-7.repo
  1. 重新生成缓存
yum clean all
yum makecache

至此,EPEL源安装及更换站点完成

四、升级G++版本

yum install centos-release-scl -y
yum install devtoolset-7 -y

# 打开 `~/.bashrc` 文件
vim ~/.bashrc

# 在 `~/.bashrc` 文件末尾添加下面一行的代码
source /opt/rh/devtoolset-7/enable

# 在shell中更新 `~/.bashrc` 文件
source ~/.bashrc

# 查看当前版本
g++ -v

五、安装mariadb

以下操作都以 root 用户进行操作

安装

  1. 安装 mariadb 服务
# yum install -y mariadb-server
  1. 安装 mariadb 命令行客户端
# yum install -y mariadb
  1. 安装 mariadb C library
# yum install -y mariadb-libs
  1. 安装 mariadb 开发包
# yum install -y mariadb-devel
  1. 更改配置

  2. 更改 /etc/my.cnf.d/client.cnf 文件

[client] 下加一行配置 default-character-set=utf8

最终内容:

#
# These two groups are read by the client library
# Use it for options that affect all clients, but not the server
#


[client]
default-character-set = utf8

# This group is not read by mysql client library,
# If you use the same .cnf file for MySQL and MariaDB,
# use it for MariaDB-only client options

[client-mariadb]
  1. 更改 /etc/my.cnf.d/mysql-clients.cnf 文件

[mysql] 下加一行配置 default-character-set=utf8

最终内容

#
# These groups are read by MariaDB command-line tools
# Use it for options that affect only one utility
#

[mysql]
default-character-set = utf8

[mysql_upgrade]

[mysqladmin]

[mysqlbinlog]

[mysqlcheck]

[mysqldump]

[mysqlimport]

[mysqlshow]

[mysqlslap]
  1. 更改 /etc/my.cnf.d/server.cnf 配置

[mysqld] 下加配置

collation-server = utf8_general_ci

init-connect='SET NAMES utf8'

character-set-server = utf8

sql-mode = TRADITIONAL

最终内容

#
# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see
#
# See the examples of server my.cnf files in /usr/share/mysql/
#

# this is read by the standalone daemon and embedded servers
[server]

# this is only for the mysqld standalone daemon
[mysqld]
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8

sql-mode = TRADITIONAL

# this is only for embedded server
[embedded]

# This group is only read by MariaDB-5.5 servers.
# If you use the same .cnf file for MariaDB of different versions,
# use this group for options that older servers don't understand
[mysqld-5.5]

# These two groups are only read by MariaDB servers, not by MySQL.
# If you use the same .cnf file for MySQL and MariaDB,
# you can put MariaDB-only options here
[mariadb]

[mariadb-5.5]

以上配置的更改参考

  1. 启动

  2. 启动服务

# systemctl start mariadb
  1. 设置服务开启自启动
# systemctl enable mariadb
  1. 查看服务状态
# systemctl status mariadb

可能的输出为,注意到 Active 状态为 active (running)

● mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: active (running) since 五 2018-11-09 12:49:23 CST; 19min ago
 Main PID: 1510 (mysqld_safe)
   CGroup: /system.slice/mariadb.service
           ├─1510 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
           └─2030 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-...

11月 09 12:49:15 peixinchen.host systemd[1]: Starting MariaDB database server...
11月 09 12:49:17 peixinchen.host mariadb-prepare-db-dir[1062]: Database MariaDB is probably initialized in /var/lib/m...ne.
11月 09 12:49:19 peixinchen.host mysqld_safe[1510]: 181109 12:49:19 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
11月 09 12:49:19 peixinchen.host mysqld_safe[1510]: 181109 12:49:19 mysqld_safe Starting mysqld daemon with databas...mysql
11月 09 12:49:23 peixinchen.host systemd[1]: Started MariaDB database server.
Hint: Some lines were ellipsized, use -l to show in full.
  1. 测试连接

使用命令行客户端尝试连接

# mysql -uroot
可能的输出为

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>
  1. 查看 mariadb 版本号
MariaDB [(none)]> select version();
+----------------+
| version()      |
+----------------+
| 5.5.60-MariaDB |
+----------------+
1 row in set (0.01 sec)
  1. 查看字符集配置
MariaDB [(none)]> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
  1. 目前我们的 mariadb 用户是没有密码的,是非常不安全的,需要执行以下步骤
# mysql_secure_installation
选择 Y/N 的时候都选 Y,

在

New password:

Re-enter new password:

时设置你自己的 root 密码
  1. 使用命令行客户端尝试连接(带密码)
# mysql -uroot -p

随后输入你刚才设置的密码,可能的输出为

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

六、安装QT5.9(不要在Xhsell上,要在CentOS上)

  1. 下载

资源下载网址QT官网

这里我选择的是 qt-opensource-linux-x64-5.9.5.run

这里你即可以在本机上下载,然后上传到Centos上,也可以在Centos使用wget来下载
两种方式都试了,但是在本机上有点慢,就在Centos上下载了。

wget http://download.qt.io/official_releases/qt/5.9/5.9.5/qt-opensource-linux-x64-5.9.5.run
  1. 安装

  2. 预安装

yum -y install mesa-libGL-devel mesa-libGLU-devel freeglut-devel
  1. 然后使用转到root用户下,给下载的文件赋予可执行的权限
chmod +x qt-opensource-linux-x64-5.9.5.run
  1. 执行文件,进行安装
./qt-opensource-linux-x64-5.9.5.run

界面化的安装过程,一路下来。遇见登录,可以选择跳过。

  1. 配置环境变量(所有的路径以自己安装QT的位置决定
    将路径加入到 /etc/ld.so.conf(root)中,见下图:
    在这里插入图片描述
    /etc/ld.so.conf
/home/wolf/Qt5.9.4/5.9.4/gcc_64/lib
/home/wolf/Qt5.9.4/Tools/QtCreator/lib

~/.bash_profile(root):

PATH=/home/wolf/Qt5.9.4/5.9.4/gcc_64/bin:/home/wolf/Qt5.9.4/Tools/QtCreator/bin$PATH:$HOME/bin

  1. 然后设置PATH环境变量(root)
    进入.bashrc中,vi ~/.bashrc
在PATH后加入:
/opt/Qt5.9.5/5.9.5/gcc_64/bin:/opt/Qt5.9.5/Tools/QtCreator/bin

在这里插入图片描述
让配置生效:

source ~/.bashrc
  1. 配置相关命令环境变量(qmake)
  2. /etc/profile当中配置(root):
#               
export QTDIR=/home/wolf/Qt5.9.4/5.9.4/gcc_64
             
export PATH=$QTDIR/bin:$PATH

export MANPATH=$QTDIR/man:$MANPATH

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
  1. ~/.bashrc当中配置(普通):
export QTDIR=/home/wolf/Qt5.9.4/5.9.4/gcc_64

export PATH=$QTDIR/bin:$PATH

export MANPATH=$QTDIR/man:$MANPATH

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

都要source或者重启一下!

11.对于没找到LGL???

yum install mesa-libGL-devel mesa-libGLU-devel
yum install freeglut-devel

12.找不到qmake?

ln -s /home/wolf/Qt5.9.5/5.9.5/gcc_64/bin/qmake /usr/local/bin

七、xshell远程连接自动断开的问题解决办法

1、服务器端的配置

我们都知道,作为服务器,默认一般都是被动的等待客户端的连接到来。但对基于ssh协议的xshell的运用,总是出现自动断开的情况。

vi命令打开/etc/ssh/sshd_config文件,可以看到:
在这里插入图片描述
ClientAliveInterval 用来指定服务器向客户端发送消息的时间间隔。默认是0,即不发送。

ClientAliveCountMax 用来指定服务器向客户端发送消息的次数。若到达指定的次数,客户端一次也没有回复,那么连接就要断开。

因此可以对此进行相应的改变:
ClientAliveInterval 60 //每隔60秒,服务器就要向客户端发送一次消息,客户端响应后,连接才会保持,否则,断开。
ClientAliveCountMax 3 //可以使用默认值3
注意:前面的“#”要去掉。

在这里插入图片描述

2、客户端的配置

Keep Alive修改。我的xshell的Keep Alive的默认Interval是60秒,即每隔60秒,客户端就要向服务器发送一次包,得到服务器的确认后,连接保持。

可以修改为20,即缩短Interval。
在这里插入图片描述

八、scp 对拷文件夹 和 文件夹下的所有文件 对拷文件并重命名

上传到远端
  1、上传目录:

    scp [-r] ./util 用户名@192.168.1.65:/home/wwwroot/limesurvey_back/scp

  2、上传文件

  scp ./util 用户名@192.168.1.65:/home/wwwroot/limesurvey_back/scp

如果制定了用户名,后面只要输入密码就行了,如果没有写用户名 就要输入用户名 和密码

远端下载:
  scp [-r] jiangzhaowei@211.154.xxx.xxx:/kk/jiangzhaowei/share/webCompileOut.sql ./

  橙色标注可选,即如果是目录拷贝要加“-r”参数,用户名可选,如果省略用户名,默认为终端的用户名。

免密:
  1、在服务器 S 上执行如下命令来生成配对密钥:
    ssh-keygen -t rsa
    按照提示操作,注意,不要输入passphrase,因为我的之前已经操作过,所以还提示了是否覆盖,输入 "y"回车就可以。其他提示信息如下
  2、将S服务器中,当前用户下.ssh/ 目录中的 id_rsa.pub 文件复制到 服务器 B 的 xxx/.ssh/ 目录中,并改名为 authorized_keys。

    scp .ssh/id_rsa.pub xxx@192.168.0.2:/xxx/.ssh/authorized_keys

    如果多个用户使用SCP,B服务器的 “authorized_keys”文件可追加用户的公钥,“cat id_dsa.pub >> ~/.ssh/authorized_keys ”

    以后从服务器 S scp 到服务器 B 就不需要密码了(注意黄色用户名要保持一致)。

Linux下scp的用法
scp就是secure copy,一个在linux下用来进行远程拷贝文件的命令。

有时我们需要获得远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过简单的scp命令便可达到目的。

一、将本机文件复制到远程服务器上

#scp /home/administrator/news.txt root@192.168.6.129:/etc/squid

/home/administrator/ 本地文件的绝对路径

news.txt 要复制到服务器上的本地文件

root 通过root用户登录到远程服务器(也可以使用其他拥有同等权限的用户)

192.168.6.129 远程服务器的ip地址(也可以使用域名或机器名)

/etc/squid 将本地文件复制到位于远程服务器上的路径

Linux下scp的用法 - 飞翔天空 - 飞翔天空

如图通过root用户登录远程服务器,输入yes表示同意建立ssh连接

Linux下scp的用法 - 飞翔天空 - 飞翔天空

按提示输入root用户的密码

Linux下scp的用法 - 飞翔天空 - 飞翔天空

如图所示建立连接后开始传输文件,显示百分比、实际时间和传送速度等信息

二、将远程服务器上的文件复制到本机

#scp remote@www.abc.com:/usr/local/sin.sh /home/administrator

remote 通过remote用户登录到远程服务器(也可以使用其他拥有同等权限的用户)

www.abc.com 远程服务器的域名(当然也可以使用该服务器ip地址)

/usr/local/sin.sh 欲复制到本机的位于远程服务器上的文件

/home/administrator 将远程文件复制到本地的绝对路径

注意两点:

1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:

#scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator

2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。

0

评论区