正文开始前,我们假设,用户可以操作终端
拥有root权限,以下所有操作也均由root完成
可以上网
安装了CentOS 6.5 32位
注:红色部分,每个人可能都不一样
话不多说,列出本章大致流程
1.安装X-Window和VNC
2.安装Qt
3.安装gcc(5.2.0)
4.配置防火墙
5.配置ssh自动登录
6.配置环境文件
7.更多的环境配置
~~~~~~~~~~正文分割线~~~~~~~~~~
1.安装X-Window和VNC(如果已有这个环境,请跳过)
1.1 X-Window
1.1.1 先装X windows
yum groupinstall 'X Window System' -y
1.1.2 再安装GNOME桌面环境
yum groupinstall GNOME Desktop Environment
1.2 VNC
1.2.1 安装
yum install -y tigervnc tigervnc-server
1.2.2 修改密码
vncpasswd
1.2.3 启动
vncserver :1
1.2.4 查看
vncserver -list
1.2.5 杀死进程
vncserver -kill :1
1.3 MySql
1.3.1 安装
yum install -y mysql-server mysql mysql-deve
2.安装Qt(在gui界面或者vnc中打开终端再进行此操作)
2.1 切换目录
cd ~
2.2 下载
wget http://download.qt-project.org/official_releases/qt/5.4/5.4.0/qt-opensource-linux-x86-5.4.0.run
2.2 添加权限
chmod +x ./qt-opensource-linux-x86-5.4.0.run
2.3 运行
./qt-opensource-linux-x86-5.4.0.run
2.4 安装
下一步下一步和下一步
3.安装gcc(5.2.0)
3.1 安装旧版gcc和环境
yum -y install gcc
yum -y install gcc-c++
yum -y install bzip2
3.2 切换目录
cd ~3.3 下载gcc源码包
wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-5.2.0/gcc-5.2.0.tar.gz
3.4 解压
tar -zxvf gcc-5.2.0.tar.gz
3.5 切换目录
cd ./gcc-5.2.0/
3.6 准备步骤1
./contrib/download_prerequisites
3.7 切换目录
cd ../
3.8 建立编译目标目录
mkdir gcc-build-5.2.0
3.9 切换目录
cd ./gcc-build-5.2.0
3.10 准备步骤2
../gcc-5.2.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
3.11 编译(这一步非常慢!)
make -j4 或者 make -j2 请根据实际情况调整
3.12 安装
make install
3.13 删除旧的库
rm -r -f /usr/lib/libstdc++.so.*
3.14 拷贝新的库
cp ~/gcc-build-5.2.0/prev-*-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.* /usr/lib
3.15 链接新的库
ln -sf /usr/lib/libstdc++.so.6.0.* /usr/lib/libstdc++.so.6
3.16 确认版本
gcc -v
4.配置防火墙
4.1 设置默认值
iptables -P INPUT ACCEPT
4.2 清除预设表filter中使用者自定链中的规则
iptables -X
4.3 清除预设表filter中的所有规则链的规则
iptables -F
4.4 查看一下
iptables -L -n
4.5 设置特殊值
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
4.6 设置默认值
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
4.7 我忘记这句话的意思了。但是不设置不能上网。
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
4.8 保存
service iptables save
4.9 重启防火墙
service iptables restart
4.10 设置开机时恢复规则(如果已经设置过则不需要再设置)
echo '/sbin/iptables-restore /etc/sysconfig/iptables' >> /etc/rc.d/rc.local
5.配置ssh自动登录(假设A为本机,B为远端)
5.1 A:生成了公钥和私钥(如果已经生成过则不需要再生成)
ssh-keygen -t rsa
5.2 A:远端建立ssh文件夹(如果已经生成过则不需要再生成)
ssh username@xxx.xxx.xxx.xxx "mkdir .ssh;chmod 0700 .ssh"
5.3 A:拷贝公钥和私钥到远端
scp ~/.ssh/id_rsa.pub username@xxx.xxx.xxx.xxx:~/.ssh/id_rsa.pub
5.4 B:登录
登录上去就行了,如果电脑在身边直接打开终端即可
5.5 B:远端建立存放公钥和私钥的文件
touch ~/.ssh/authorized_keys
5.6 B:更改权限
chmod 600 ~/.ssh/authorized_keys
5.7 B:导入
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
5.8 B:删除没用的文件
rm -r -f ~/.ssh/id_rsa.pub
5.9 A:测试
ssh username@xxx.xxx.xxx.xxx
6.配置环境文件
6.1 修改bashrc文件
vim ~/.bashrc
输入以下内容:
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
PATH="/opt/Qt5.4.0/5.4/gcc/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin"
7.更多的环境配置
7.1 自动更新时间
7.1.1 安装ntp服务
yum install –y ntp
7.1.2 打开linux定时计划任务
crontab -e
7.1.3 编辑事件(每天23点自动校准)
0 23 * * * /usr/sbin/ntpdate 210.72.145.44
7.1.4 重载linux计划任务
/sbin/service crond reload
7.2 sudo配置
vim /etc/sudoers
找到这一 行:"root ALL=(ALL) ALL"
在起下面添加"username ALL=(ALL) ALL",然后保存退出
7.3 关闭 X Window 开机启动
7.3.1 编辑配置文件
vim /etc/inittab
7.3.2 修改参数(修改好保存退出即可)
id:5:initdefault:
改成
id:3:initdefault:
7.4 开启swap分区
7.4.1 创建用于交换分区的文件(这里设置了2048MB)
dd if=/dev/zero of=/mnt/swap bs=1M count=2048
7.4.2 设置交换分区文件
mkswap /mnt/swap
7.4.3 修改权限
chmod 600 /mnt/swap
7.4.4 立即启用交换分区文件
swapon /mnt/swap
7.4.5 设置开机启动
echo "/mnt/swap swap swap defaults 0 0" >> /etc/fstab
8.部分 编译/运行 错误解决
8.1 解决编译时报错 cannot find -lGL 的问题
yum install libGL libGL-devel
9.一些实用小命令
9.1 查看系统运行时间
cat /proc/uptime| awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("系统已运行:%d天%d时%d分%d 秒",run_days,run_hour,run_minute,run_second)}'
9.2 编辑开机运行
vim /etc/rc.d/rc.local
示例: nohup /home/smartfurniture/Server/Client/SmartFurniture_Daemon > /home/smartfurniture/Server/Client/nohup.out 2>&1 &