01 资源下载

01.01 下载VirtualBox虚拟机,CentOS6.9安装盘

wget https://download.virtualbox.org/virtualbox/6.1.16/VirtualBox-6.1.16-140961-Win.exe
https://vault.centos.org/6.9/isos/x86_64/CentOS-6.9-x86_64-bin-DVD1.iso
https://vault.centos.org/6.9/isos/x86_64/CentOS-6.9-x86_64-bin-DVD2.iso

CentOS6.9安装盘
一般仅下载 CentOS-6.9-x86_64-bin-DVD1.iso 就可以。安装时选择开发版本

01.02 安装centos6.9

安装虚拟机操作步骤:
打开virtualbox,
新建虚拟机(ctrl + n)
基本设置:
设置虚拟机名称:CentOS6.9X64D
选择虚拟机保存文件路径:C:\install\Oracle\VirtualBox\vms
选择虚拟机类型:Linux
选择虚拟机版本:Red Hat (64-bit)
设置内存大小: 4096GB
选择虚拟磁盘类型: 现在创建虚拟硬盘©
文件位置:C:/install/Oracle/VirtualBox/vms/CentOS6.9X64D/CentOS6.9X64D.vdi
文件大小:1024.00GB
虚拟文件类型:VDI(Virtual Box 磁盘映像)
存储在物理磁盘上:动态分配
点击设置后设置下列内容:
常规 ==> 高级
备份的位置: C:\install\Oracle\VirtualBox\vms\CentOS6.9X64D\Snapshots
共享粘贴板: 双向
拖放: 双向

系统==>主板
启动顺序:光盘,硬盘,网络,软盘
cpu: 4核
存储:
控制IDE,没有盘片,分配光驱,选择下载的安装centos映像。
网络: 添加一个桥接网卡
网卡1:勾选启用网络连接,连接方式:网络地址转换(NAT)
网卡2:勾选启用网络连接,连接方式:桥接网卡

共享文件夹: 可以选择一个共享文件夹挂载,这个windows上面的共享文件夹要开启共享功能。
比如:
共享文件夹路径: c:\software
共享文件夹名称: software
勾选自动挂载
设置挂在点:/usr/local/software

设置完成后,启动虚拟机
Welcome to CentOS 6.9!界面选择: Install or upgrade an existing system
Disc Found 界面,点击 tab 键,选择 Skip,跳过磁盘检查
下一步 Next
在安装程序显示语言界面选择: Chinese(Simplified)(中文 (简体))
下一步 Next
键盘选择页面选择默认值: 美国英语式
下一步 Next
存储设备选择默认值: 基本存储设备
出现存储设备告警,选择: 是,忽略所有数据(Y)


主机名和网络设置界面,设置自己的主机名称,注意不要和局域网内其他主机及虚拟机重名
主机名: dce023
点击 配置网络(C), 设置网络
A: 网络连接中选择 System eth0 后,点击 编辑按钮,在编辑界面选择 自动连接(A) 后,点击 应用 按钮保存设置。
B: 网络连接中选择 System eth1 后,点击 编辑 按钮,在编辑界面选择 自动连接(A) 后,
再配置 ipv4设置 ,方法 选择 手动, 设置本网段的ipv4 地址,子网掩码网关及dns服务器。
这个是桥接网卡的配置,和主机配置相似,注意ip地址不要和本网段其他主机重复。
保存设置后,关闭 网络连接配置。


下一步, Next
时区/城市配置界面选择默认配置: 亚洲/上海
下一步, Next
设置 root 账号的密码:
123456
123456
下一步, Next, 弹出 脆弱密码 对话框,点击 无论如何都使用 按钮,
下一步, Next, 选择那种类型的安装,选择默认值: 替换现有Linux系统
弹出 将存储配置写入磁盘 ,选择 将修改写入磁盘(W)
下一步, Next


选择安装CentOS系统的类型,选择: Software Development Workstation, 开发工作站
下一步, Next,等待安装完成后,默认1557个文件


安装完成后,点击 重新引导(t) 按钮,重启系统。
进入欢迎界面,点击 前进(F) 按钮
许可证信息界面, 选择 是,我同意该许可证协议(Y), 点击 前进(F) 按钮
创建用户界面设置用户名密码,
用户名(U): user023
全名(e): user023
密码§: pass_User023
确认密码(m): pass_User023
点击 前进(F) 按钮
日期是时间,使用默认值,点击 前进(F) 按钮
Kdump 界面, 使用默认值, 点击 完成(F) 按钮,确定,重启系统。

02 开启 sudo 命令支持

su root # 进入root用户环境
chmod +w /etc/sudoers
vim /etc/sudoers
# 添加自己用户,模仿root用户
root    ALL=(ALL)    ALL
# 给user023用户root权限
user023    ALL=(ALL)    ALL
# 保存/etc/sudoers
chmod -w /etc/sudoers
exit #推出root用户环境
# 已经开启对 sudo 命令的支持

03 配置虚拟机扩展,支持主机与虚拟机双向拷贝

03.01 下载安装virtual box扩展

https://www.virtualbox.org/wiki/Downloads 下载 virtual box的扩展,并安装(windows上面操作)
https://download.virtualbox.org/virtualbox/6.1.16/Oracle_VM_VirtualBox_Extension_Pack-6.1.16.vbox-extpack

03.02 在为 centos 虚拟机安装增强功能

在 CenOS6.9的虚拟机界面 选择菜单 设备 ==> 安装增强功能
CentOS 6.9 会加载 VBox_GAs_6.1.12 光盘,点击确定,运行,授权,如果自动运行失败,则管理员权限手动运行光盘中的 ./VBoxLinuxAdditions.run
安装完扩展后,需要重启虚拟机,才能生效。
重启虚拟机后,测试,主机和虚拟机双向拷贝、拖拽。

04 配置 centos6.9 更新源, 更新CentOS6.9到最新

CentOS 6 停止维护更新日期:2020年11月30日,官方更新不可用,需要查找网络可用源。
可参考:https://blog.csdn.net/longji/article/details/111916638
可以采用下面的源来更新centos6.9。

#下面方式可以更新大部系统包,但不能更新gcc/g++安装包
sudo sed -i "s|enabled=1|enabled=0|g" /etc/yum/pluginconf.d/fastestmirror.conf
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo
# 重新生成yum缓存
sudo yum clean all && sudo yum makecache
# 更新系统
sudo yum -y update

05 更新gcc到7.3.1版本

05.01 更新gcc更新源

# 运行如下命令,产生 `/etc/yum.repos.d/CentOS-SCLo-scl-rh.repo` 更新源文件.
sudo yum -y install centos-release-scl scl-utils-build

05.02 修改CentOS-SCLo-scl-rh.repo ,支持 gcc 命令安装

修改 sudo vim /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo 更新,增加gcc可用更新源。
修改baseurl为 baseurl=https://vault.centos.org/6.9/sclo/x86_64/rh/
注释掉 #mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=6&repo=sclo-rh

# CentOS-SCLo-rh.repo
#
# Please see http://wiki.centos.org/SpecialInterestGroup/SCLo for more
# information

[centos-sclo-rh]
name=CentOS-$releasever - SCLo rh
#baseurl=http://mirror.centos.org/centos/$releasever/sclo/$basearch/rh/
#mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=6&repo=sclo-rh
# 注释掉上面两行,增加下一行
baseurl=https://vault.centos.org/6.9/sclo/x86_64/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

[centos-sclo-rh-testing]
name=CentOS-$releasever - SCLo rh Testing
baseurl=http://buildlogs.centos.org/centos/$releasever/sclo/$basearch/rh/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

05.03 更新yum缓存,令配置生效

sudo yum clean all && sudo yum makecache

05.04 如果更新失败,再更新CentOS-SCLo-scl.repo文件

# 尝试更新开发工具包
sudo yum install -y devtoolset-7-toolchain

更新失败后,发现存在/etc/yum.repos.d/CentOS-SCLo-scl.repo文件。

修改 sudo vim /etc/yum.repos.d/CentOS-SCLo-scl.repo,操作方式如05.02

修改baseurl为 baseurl=https://vault.centos.org/6.9/sclo/x86_64/rh/
注释掉 #mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=6&repo=sclo-rh

修改完成后,在更新缓存
sudo yum clean all && sudo yum makecache

05.05 命令安装gcc7.3.1

sudo yum install -y devtoolset-7-toolchain
sudo scl enable devtoolset-7 bash
# 注意下面这句话不要写错,不要多次执行,也可直接在/etc/profile中加入
echo "source /opt/rh/devtoolset-7/enable" >> /etc/profile
#source /etc/profile
# 重启系统
sudo reboot

05.06 编译gcc7.3.0

编译gcc7.3.0,引用自己编译的c++动态库/usr/lib64/libstdc++.so.6

wget ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-7.3.0/gcc-7.3.0.tar.gz
tar zxvf gcc-7.3.0.tar.gz
# 下载更新必要编译组件源码
cd gcc-7.3.0
# 需要在gcc-7.3.0目录内运行下载依赖脚本,下载不要依赖编译包
./contrib/download_prerequisites
cd ..
# 创建编译临时目录,方便清除临时文件
mkdir temp_gcc73 && cd temp_gcc73
# 生成编译的makefiles
../gcc-7.3.0/configure --prefix=/usr/local/gcc-7.3.0 --enable-threads=posix --enable-checking=release --disable-multilib
# –enable-checking=release 增加一些检查,也可以–disable-checking生成的编译器在编译过程中不做额外检查
# –enable-languages=c,c++ 你要让你的gcc支持的编程语言
# –disable-multilib 取消多目标库编译(取消32位库编译)
# 编译
make -j$(nproc)
# 安装到--prefix指定的目录/usr/local/gcc-7.3.0
sudo make install
# 注意查看make install 运行结束的提示信息
## /usr/local/gcc-7.3.0/lib64
## LD_LIBRARY_PATH
## /etc/ld.so.conf
which gcc
# 待检查
#export PATH=$PATH:/usr/local/bin
# 检查c++库最新版本
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
# 
# 这样依然使用安装的g++7.3.1,但c++动态连接库使用自己编译的g++7.3.0
# 保存原来的连接文件
sudo mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6_old
# 把/usr/lib64/libstdc++.so.6 连接到编译的新版本,使用自己编译的c++动态库
sudo ln -s /usr/local/gcc-7.3.0/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6

06 用gcc7.3.1编译

git、cmake可以根据安装时间点获取最新版本。
git-2.30.0, cmake-3.19.2

xerces-c、quickfix,boost用下面指定的版本:
xerces-c-3.1.1, quickfix-v.1.14.4, boost1.75.0

06.01 编译安装git高版本

# centos6.9 自带git版本太低,则自己编译
sudo yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
sudo yum -y remove git
wget https://github.com/git/git/archive/v2.30.0.tar.gz
tar zxvf v2.30.0.tar.gz
cd git-2.30.0
make configure
./configure --prefix=/usr/local/git-2.30.0
make -j$(nproc) && sudo make install
# 添加git环境变量,在/etc/profile后面统一添加后,重启系统生效
export PATH=.:/usr/local/git-2.30.0/bin:$PATH
# 
# 设置git账号生效(使用自己的账号)
# 生成git账号对应的公钥和私钥,并把公钥添加到gitlab对应的公钥信息设置中
# 生成的公钥内容在 ~/.ssh/id_rsa.pub
ssh-keygen -t rsa -C "username@email.com"
# 设置能够使用http使用git
git config --global http.sslVerify false
git config --global user.name "username@email.com"
git config --global user.email "username@email.com"

06.02 编译cmake高版本

# 如果已经安装较低版本的cmake,可先卸载
# sudo yum remove cmake
# 获取cmake源码
wget https://github.com/Kitware/CMake/releases/download/v3.19.2/cmake-3.19.2.tar.gz
tar zxvf cmake-3.19.2.tar.gz
cd cmake-3.19.2
./configure --prefix=/usr/local/cmake-3.19.2
make -j$(nproc) && sudo make install
# 添加cmake环境变量
export PATH=.:/usr/local/cmake-3.19.2/bin:$PATH

06.03 编译xerces-c-3.1.1

# 编译xerces-c-3.1.1, 用gcc7.3.1编译
wget https://github.com/apache/xerces-c/archive/v3.1.1.tar.gz
tar -zxvf v3.1.1.tar.gz
cd xerces-c-3.1.1
# 生成系统适配的configure
./reconf
# 生成makefile
mkdir build && cd build
../configure --prefix=/usr/local/xerces-c-3.1.1 CC=gcc CXX=g++ CFLAGS=-O3 CXXFLAGS=-O3 --disable-dependency-tracking
# 编译安装
make -j$(nproc) && sudo make install
# 把xercesc头文件链接到系统头文件目录中
sudo ln -s /usr/local/xerces-c-3.1.1/include/xercesc /usr/include/xercesc
# 编译安装后,可以查看一下,/usr/local/xerces-c-3.1.1/lib下面已经有libexrces-c.so等文件
ls /usr/local/xerces-c-3.1.1/lib
libxerces-c-3.1.so  libxerces-c.a  libxerces-c.la  libxerces-c.so  pkgconfig

06.04 编译quickfix-v.1.14.4

sudo yum -y remove boost*
# 编译quickfix-v.1.14.4.tar.gz, # 用gcc7.3.1编译
wget https://github.com/quickfix/quickfix/archive/v.1.14.4.tar.gz
mv quickfix-v.1.14.4.tar.gz quickfix-v1.14.4.tar.gz
tar zxvf quickfix-v1.14.4.tar.gz
cd quickfix-v1.14.4
./bootstrap
./configure --prefix=/usr/local/quickfix-v1.14.4 --with-gnu-ld=yes --enable-static=yes --disable-dependency-tracking
make -j$(nproc) && sudo make install
# 把编译后的头文件连接到系统头文件目录
sudo ln -s /usr/local/quickfix-v1.14.4/include/quickfix /usr/include/quickfix

06.05 编译boost1.75.0

# 获取boost1.75.0
wget https://dl.bintray.com/boostorg/release/1.75.0/source/boost_1_75_0.tar.gz
# 解压编译
tar -zxvf boost_1_75_0.tar.gz
cd boost_1_75_0
./bootstrap.sh
sudo ./b2 --layout=system --prefix=/usr/local/boost75 --libdir=/usr/local/boost75/lib64 address-model=64 --threading=multi install
## 如果是32位系统的话,不要指定 address-model=64 或者指定 address-model=32
## windows上面,如果不指定同address-model,时编译 32 and 64 位,且采用 tagged 方式
##b2 --layout=tagged --prefix=C:\Boost\vs2019\x64\boost75 --threading=multi --build-type=complete install
# 把编译好的boost75的头文件目录连接到系统头文件目录
sudo ln -s /usr/local/boost75/include/boost /usr/include/boost

06.06 卸载java相关老的安装包,安装java1.8.0jdk

# 查询是否安装指定的包
rpm -qa | grep java
# 卸载java系列包
sudo yum -y remove java*
# 列出指定包的所有版本
yum list java*
# 列出指定包所有大版本和子版本(如列出1.8下的所有子版本)
yum --showduplicate list java* | grep 1.8.0
# 安装指定版本
sudo yum -y install java-1.8.0-openjdk.x86_64
sudo yum -y install java-1.8.0-openjdk-devel.x86_64
# 设置java环境变量
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk.x86_64/
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/ext
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
# 查看版本
java -version
javac -version

06.07 安装 eclipse

把下载的cpp eclipse版本解压到/home/user023/dev/eclipse

# 下载eclipse c++开发版本
wget https://ftp.yz.yamagata-u.ac.jp/pub/eclipse/technology/epp/downloads/release/oxygen/3a/eclipse-cpp-oxygen-3a-linux-gtk-x86_64.tar.gz
# 解压到 /home/user023/dev目录下
# centos创建桌面快捷方式,在菜单中显示,复制到桌面即可
# 添加 Eclipse 启动器
sudo vim /usr/share/applications/eclipse.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=/home/user023/dev/eclipse/eclipse
Icon=/home/user023/dev/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=GNOME;Application;Development;
StartupNotify=true

把Eclipse开发启动器放到桌面
CentOS桌面菜单 ==> 应用程序 ==> 编程 ==> Eclipse ==> 鼠标右键菜单 ==> 将此启动器添加到桌面(D)
最后在/etc/profile 尾部增加的内容如下:

06.08 安装及更新最新版本python

06.08.01 安装 python2.7.18

# 编译安装python2.7.18
wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
tar zxvf Python-2.7.18.tgz
cd Python-2.7.18
mkdir build && cd build
../configure --prefix=/usr/local/python2.7.18
make -j$(nproc) && sudo make install

# 安装setuptools
wget https://files.pythonhosted.org/packages/41/5f/6da80400340fd48ba4ae1c673be4dc3821ac06cd9821ea60f9c7d32a009f/setuptools-38.4.0.zip
unzip setuptools-38.4.0.zip
cd setuptools-38.4.0
sudo /usr/local/python2.7.18/bin/python2.7 setup.py install

# 安装pip
wget https://files.pythonhosted.org/packages/source/p/pip/pip-9.0.1.tar.gz
tar zxvf pip-9.0.1.tar.gz
cd pip-9.0.1
sudo /usr/local/python2.7.18/bin/python2.7 setup.py install

01.02 安装python3.9.1

# 编译安装python3.91,python3已经带setuptools和pip3
wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz
tar zxvf Python-3.9.1.tgz
cd Python-3.9.1
mkdir build && cd build
../configure --prefix=/usr/local/python3.9.1
make -j$(nproc) && sudo make install

07 查看环境变量设置

最后看看 /etc/profile 中添加的环境变量
sudo vim /etc/profile

source /opt/rh/devtoolset-7/enable
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk.x86_64/
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/ext
export PATH=.:usr/local/python2.7.18/bin:/usr/local/python3.9.1/bin:/usr/local/cmake-3.19.2/bin:/usr/local/git-2.30.0/bin:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐