大家好,欢迎来到IT知识分享网。
中标软件有限公司基于多年来在操作系统安全和可信计算方面的技术积累,研制推出了新一代安全可信操作系统软件产品-中标麒麟安全操作系统软件V7.0。根据官网宣传,中标麒麟安全操作系统软件V7.0产品核心组件参数:
Kernel 4.14.0(实测版本为3.10.0)
Gnome 3.7.4
X.org 7.5-14
Glibc 2.17-157
GCC 4.8.5
作为一款先进的,具有完全自主知识产权的,独立研发的国产操作系统,中标麒麟V7.0可以称为是“核高基”项目的中流砥柱,国产操作系统之光。根据软件版本和Linux内核版本推断,中标麒麟V7.0版本实际为CentOS 6.9换壁纸版,由于中标公司追求保守和稳定的系统构建思维,以及名不副实的豆腐渣代码水平,导致该系统有着极其落后的软件和内核版本,极大的增加了代码人员在基于该平台下开发时各种不可预测的执行和编译错误出现概率,以及诱发代码人员的脑血栓、高血压等疾病的风险。并且,该系统的软件仓库十分不完善,不仅缺少大量CentOS中原本具有的软件,甚至在为数不多的能够提供的软件中其版本也十分落后。因此,本文提供了在虚拟机VMware Workstation Pro 16环境下,安装中标麒麟安全操作系统软件V7.0,并升级编译器等,以搭建合适的开发平台。
为了向国际化看齐,以及对CentOS开发人员的尊重,本文将“中标麒麟安全操作系统软件V7.0”或”NeoKylin Linux Advanced Server V7Update6″等,统一简称为“ShameOS”。
使用VMware安装ShameOS时,如果需要GUI界面,请选择带GUI的界面的服务器。否则默认安装时将不会有图形界面。先确保目前安装了ShameOS最新版本的软件和内核,其更新过程与CentOS相同。
部署基础开发环境
sudo yum groupinstall “Development Tools”
GCC
1.ShameOS仓库包含GCC 4.8.5,安装
sudo yum install gcc
sudo yum install gcc-c++
2. 下载新版本GNU编译器源代码,由于原版本号过低,无法直接编译高版本GCC,因此建议使用GCC 10.4编译器,解压,cd进入文件夹
下载依赖包
./contrib/download_prerequisites(只有从gnu中下载的才包含此文件,从tuna等镜像站中下载的无此文件,需要自行解决依赖)
依赖包全部下载完成后,编译并安装
mkdir build
cd build
../configure –enable-checking=release –enable-languages=c,c++,fortran –disable-multilib (可选: –prefix=/usr/)
make(此过程将持续相当长的一段时间,可能长达数小时)
sudo make install
3. reboot,然后在终端中查看版本信息
gcc -v
g++ -v
4. glibcxx安装在/usr/local/lib64/,查看版本
strings /usr/local/lib64/libstdc++.so.6 | grep GLIBCXX
make
1. ShameOS仓库包含make 3.82,安装
sudo yum install make
2. 下载新版本make(4.3),解压,cd进入文件夹
mkdir build
cd build
../configure
make
sudo make install
3. reboot,然后在终端中查看版本信息
make -v
4. 需要同时修改gmake的版本,cd进入默认的安装路径“/usr/local/bin”中,建立链接
sudo ln -s ./make ./gmake
reboot,然后在终端中查看版本信息
gmake -v
m4
1. ShameOS仓库包含m4 1.4.16,安装
sudo yum install m4
2. 下载新版本m4(1.4.19),解压,cd进入文件夹
mkdir build
cd build
../configure
make
sudo make install
3. reboot,然后在终端中查看版本信息
m4 –v
bison
1. ShameOS仓库包含bison 3.0.4,安装
sudo yum install bison
2. 下载新版本bison(3.8),解压,cd进入文件夹
mkdir build
cd build
../configure
make(可能会出现错误,但很难复现)
sudo make install
3. reboot,然后在终端中查看版本信息
bison –version
zlib
1. ShameOS仓库包含zlib 1.2.7,安装
sudo yum install zlib
2. 下载新版本zlib(1.2.12),解压,cd进入文件夹
mkdir build
cd build
../configure
make
sudo make install
3. reboot,然后在终端中查看版本信息(如果采用了默认安装路径,否则需要先执行”find /usr -name zlib.pc”找出zlib安装位置)
cat /usr/local/lib/pkgconfig/zlib.pc
1. ShameOS仓库包含Python 3.6.8,安装
sudo yum install python3
2. 下载新版本python3(3.10.5),解压,cd进入文件夹
mkdir build
cd build
../configure
make
sudo make install
3. reboot,然后在终端中查看版本信息
python3 –version
4. 如果需要为root用户安装,
sudo ln -s /usr/local/bin/python3 /usr/bin/python3
sudo ln -s /usr/local/bin/pip3 /usr/bin/pip3
glibc(安装系统库一定注意提前备份!安装失败会导致系统崩溃)
1. ShameOS仓库包含glibc 2.17,安装
sudo yum install glibc
2. 下载新版本glibc(2.35),解压,cd进入文件夹
mkdir build
cd build
../configure –prefix=/usr/ (configure会建议直接安装到/usr/,而不是/usr/local,自行选择)
make
sudo make install
3. 如果在install过程中出错,弥补方式:
sln /usr/lib64/libc-2.17.so /usr/lib64/libc.so
openssl
3. 编译器安装完成后,即可编译安装glibc、python3等。由于上面已经介绍过的原因,因此都需要从源代码编译,并手动安装依赖库。例如,glibc依赖、、zlib、Python等。其安装过程与GCC编译器安装过程类似,仅在configure处有区别。
例如,安装glibc时,需要–prefix=/usr/
4. 编译器安装完成后,安装的GCC生成的动态库没有替换老版本gcc的动态库,GLIBCXX中的版本比较低,需要将gcc最新版本的动态库替换系统中老版本的动态库。
根据提示查看对应的路径
strings /usr/lib64/libstdc++.so.6|grep GLIBCXX
需要在安装GCC编译器的文件夹中找到对应的高版本libstdc++动态库,使用软链接至目标文件夹/usr/lib64即可.
其他可能出现的问题/备注:
1. 在使用wget下载源代码时,可能会出现“颁发的证书已经过期”等提示导致无法下载源代码,需要在wget后面使用命令“–no-check-certificate”
wget target –no-check-certificate
2. 请注意,一定要在build文件夹内执行configure。
2. 安装Cmake时,会出现依赖openssl的情况,可以自己编译,也可以使用yum安装
sudo yum install openssl
sudo yum install openssl-devel
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/34008.html