centos c 程序(centos怎么安装)
大家好,今天来为大家分享centos c 程序的一些知识点,和centos怎么安装的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
centos7怎么编译安装gcc-c++
方法/步骤
1
yum install glibc-static libstdc++-static-y
安装c和c++的静态库(据说如果系统中缺少libc.a和libstdc++.a编译时会出错,但是我没有那么多闲情逸致去试,实践过的朋友可以回复一下,分享一下经验,让大家都长长见识)
2
下载解压gcc,我的gcc目录是gcc-4.8.0
3
进入gcc目录,执行:
./contrib/download_prerequisites
这个神奇的脚本文件会帮我们下载、配置、安装那三个依赖的库。可以节约我们大量的时间和精力。
4
你以为这三个库自动下载了、自动make install了就没事了吗?错!
很多人在编译gcc的时候出现各种奇奇怪怪的错误就是这步没有做好。
它们还不在.so文件的搜索路径里面,需要加进去,最后切记切记一定要执行一下ldconfig。
大致做法为:
1,找到你的共享库文件被install到哪个目录了(updatedb+locate命令)。
2,如果你的库不是直接放在/lib或/usr/lib下,需要修改/etc/ld.so.conf文件,加入你的共享库的路径
3,如果在2中添加了共享库路径,切记要执行一下ldconfig,更新响应cache文件让系统能找到你的共享库。
5
建立临时目录,这个目录用以存放编译时的大量临时文件,是文档要求中必须的。
我是在gcc-4.8.0下建立了一个名为gcc-build-4.8.0的目录,进入它。
mkdir gcc-build-4.8.0
cd gcc-build-4.8.0
配置gcc编译选项
6
强烈建议阅读INSTALL目录下的说明文档,尤其是configure.html,以确定你的编译选项。
比较基本的选项有--enable-languages,说明你要让你的gcc支持那些语言,--disable-multilib不生成编译为其他平台可执行代码的交叉编译器。--disable-checking生成的编译器在编译过程中不做额外检查,也可以使用--enable-checking=xxx来增加一些检查。
网上还说了什么--with-gmp、--with-mpfr、--with-mpc这三个选项,但是如果你3,4步做好了,就不要配了,反之你还是老实点吧别抱侥幸心理了。
调用gcc-4.8.0目录下的configure文件:
例如:
../configure--enable-checking=release--enable-languages=c,c++--disable-multilib
7
执行
../make#不解释
执行编译命令(#在8核的虚拟机上进行编译,每个核分配2个编译任务)
make-j16
make install编译过程CPU核基本100%占用,整个编译用时11分50秒。
检查gcc版本
#你就等吧少年,建议晚上睡觉前做
当然上面三步一定要在前一步顺利结束的情况下进行,如果哪一步出错了,结果都显示error了,就不要再做后面的了。在shell的输出里搜索"error"看具体的出错点是什么,baidu、google一下为什么。
如果你求稳的话,可以在make install之前先make check一下。
CentOS7网络设置修复
服务器有两个网卡enp7s0和enp8s0
服务器需要通过enp8s0和互联网联通,互联网为笔记本转接
通过centos7界面修改ip,失败;
通过centos7的网络配置文件/etc/sysconfig/network-scripts/ifcfg-enp8s0修改ip设置
设置如下:
1.启动 service network start报错,通过journalctl-xe查看如下
-- Defined-By: systemd
-- Support:
--
-- Unit fprintd.service has begun starting up.
12月 29 19:31:12 crrchost dbus-daemon[851]: dbus[851]: [system] Successfully activated service'net.reactivated.Fprint'
12月 29 19:31:12 crrchost dbus[851]: [system] Successfully activated service'net.reactivated.Fprint'
12月 29 19:31:12 crrchost systemd[1]: Started Fingerprint Authentication Daemon.
-- Subject: Unit fprintd.service has finished start-up
-- Defined-By: systemd
-- Support:
--
-- Unit fprintd.service has finished starting up.
--
-- The start-up result is done.
12月 29 19:31:12 crrchost fprintd[6685]: Launching FprintObject
12月 29 19:31:12 crrchost fprintd[6685]:** Message: D-Bus service launched with name: net.reactivated.Fprint
12月 29 19:31:12 crrchost fprintd[6685]:** Message: entering main loop
12月 29 19:31:18 crrchost polkitd[835]: Operator of unix-session:1 successfully authenticated as unix-user:windfarm to gain TEMPORARY authorization for action org.freedesktop.systemd1.manage-units for system-bus
12月 29 19:31:18 crrchost systemd[1]: Starting LSB: Bring up/down networking...
-- Subject: Unit network.service has begun start-up
-- Defined-By: systemd
-- Support:
--
-- Unit network.service has begun starting up.
12月 29 19:31:18 crrchost network[6693]:正在打开环回接口: [ 确定 ]
12月 29 19:31:18 crrchost network[6693]:正在打开接口 enp7s0:
12月 29 19:31:24 crrchost network[6693]:正在确定 enp7s0的 IP信息...失败:不存在链接。检查电缆?
12月 29 19:31:24 crrchost network[6693]: [失败]
12月 29 19:31:24 crrchost network[6693]:正在打开接口 enp8s0: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: [ 确定 ]
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost systemd[1]: network.service: control process exited, code=exited status=1
12月 29 19:31:25 crrchost systemd[1]: Failed to start LSB: Bring up/down networking.
-- Subject: Unit network.service has failed
-- Defined-By: systemd
-- Support:
--
-- Unit network.service has failed.
--
-- The result is failed.
12月 29 19:31:25 crrchost systemd[1]: Unit network.service entered failed state.
12月 29 19:31:25 crrchost systemd[1]: network.service failed.
12月 29 19:31:25 crrchost polkitd[835]: Unregistered Authentication Agent for unix-process:6669:319312(system bus name:1.263, object path/org/freedesktop/PolicyKit1/AuthenticationAgent, locale zh_CN.UTF-8)(d
3.systemctl status network.service查看如下:
● network.service- LSB: Bring up/down networking
Loaded: loaded(/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: failed(Result: exit-code) since六 2018-12-29 18:38:17 CST; 1min 24s ago
Docs: man:systemd-sysv-generator(8)
Process: 909 ExecStart=/etc/rc.d/init.d/network start(code=exited, status=1/FAILURE)
12月 29 18:38:06 crrchost systemd[1]: Starting LSB: Bring up/down networking...
12月 29 18:38:06 crrchost network[909]:正在打开环回接口: [ 确定 ]
12月 29 18:38:06 crrchost network[909]:正在打开接口 enp7s0:
12月 29 18:38:12 crrchost network[909]:正在确定 enp7s0的 IP信息...失败:…?
12月 29 18:38:12 crrchost network[909]: [失败]
12月 29 18:38:17 crrchost network[909]:正在打开接口 enp8s0: [ 确定 ]
12月 29 18:38:17 crrchost systemd[1]: network.service: control process exi...=1
12月 29 18:38:17 crrchost systemd[1]: Failed to start LSB: Bring up/down n...g.
12月 29 18:38:17 crrchost systemd[1]: Unit network.service entered failed...e.
12月 29 18:38:17 crrchost systemd[1]: network.service failed.
Hint: Some lines were ellipsized, use-l to show in full.
1.参考网络方法停用NetworkManager,依旧报错
systemctl stop NetworkManager
systemctl disable NetworkManager
2.比对两个网卡的MAC地址和配置文件的MAC地址
a.查看mac地址配置,ipconfig
b.查看配置文件中的macd地址是否匹配,ifcfg-enp8s0和ifcfg-enp7s0,
按照网络方法增加一行HWADDR=ipconfig查询到的对应网卡MAC地址;
c.重启network服务依旧报错;
3.通过GUI界面查看网络,提示“系统的网络服务与此版本的网络管理器不兼容”
这与之前停掉NetworkManager有关,此处不表;
4.因为ifcfg-enp7s0实际上没有插网线,修正其配置文件如下:
ONBOOT=no
重新启动服务后网络正常;
5.检查网络
1.network和NetworkManager不同,通过界面和通过配置文件,可能会导致配置混乱,且NetworkManager有些程序不支持,需要停用;
2.BOOTPROTO=none虽然可以表示静态ip,但是如果要启用,必须设置其为
BOOTPROTO=static或BOOTPROTO=dhcp
3.一个网卡没哟被启用,也就是没有设置动态ip或静态ip,是无法被初始化的,不能设置ONBOOT=yes
In Centos7.0 disabling NetworkManager will leave a dhcp client running configured for NetworkManager. This causes the error message RTNETLINK answers: File exists when the network service is started.
The stale dhclient process has the additional"benefit" that when the lease expires your dhclientwill choke, since it cannot reach NetWorkManager, thus removing your IP address.
If you grep for it, you will see that it points to a NetWorkManager configuration file.
[root@host~]# ps-ef| grep dhc
root 1865 792 0 Apr28? 00:00:00/sbin/dhclient-d-sf\
/usr/libexec/nm-dhcp-helper-pf/var/run/dhclient-eno1.pid-lf\
/var/lib/NetworkManager/dhclient-c96e56d3-a4c9-4a87-85ca-93dc0ca268f2-eno1.lease\
-cf/var/lib/NetworkManager/dhclient-eno1.conf eno1
So what you can do is kill the dhclient and only then start your network service.
如何用u盘装centos6.5
windows平台:
1.用UltraISO打开iso(如:CentOS-6.5-x86_64-bin-DVD1.iso)
2.然后点“启动”->"写入硬盘映像",硬盘驱动器是你的u盘,映像文件安装光盘iso,写入方式是USB-HDD+,点击“写入”按钮。完成后安装u盘就做好了。
linux平台:
用 dd命令将iso文件写入u盘即可。dd if=iso文件 of=u盘。(如:dd if=/CentOS-6.5-x86_64-bin-DVD1.iso of=/dev/sdb1)
注:dd命令运行后不显示复制状态,要查看复制状态可以再打开一个终端,输入“while killall-USR1 dd; do sleep 5; done”查看复制状态。
这种方法64位,32位通吃。我安装的就是64位。
注意:只有从CentOS6.5开始才能用这种方法,6.4及以下版本还得用老方法。
可能有许多人已经知道这个方法了,但是网上很多教程还都是老方法。我写出来就是想传播一下,让新手少走弯路。
补充方法:
U盘安装centos6.5和安装centos6.3没啥本质区别
所需工具:
一、UltraISO(用来制作 U盘启动)
二、CentOS 6.5位系统镜像(建议下载bin版镜像,minimal也行)
三、U盘一只
要求:U盘容量 8G
四、vesamenu.c32文件——用来替换 CentOS 6.5默认文件(附件中我提供了哦,解压缩后替换原来的文件)这里我没用到
安装步骤:
一、制作 U盘启动引导盘
1、电脑插上 U盘,打开 UltraISO软件,文件---打开,选择你下载好的CentOS-6.3-i386-bin-DVD1.iso文件,点启动--写入硬盘镜像,在硬盘驱动器里面选择你的 U盘(看清楚,千万别选错),写入方式默认为:USB-HDD+,然后点格式化。格式化完成后,关闭对话框,然后再点写入,等几分钟,完成后,点返回,然后关闭 UltraISO。
2、打开 U盘根目录下面的 syslinux文件夹,用附件中的 vesamenu.c32替换里面原有
的文件。
3、删除 U盘根目录下面的 Packages文件夹(不删除也可以,如果你U盘空间足够大)
4、把下载好的系统镜像 CentOS-6.3-i386-bin-DVD1.iso和CentOS-6.3-i386-bin-DVD2.iso复制到 U盘根目录下面。(不用改名字,安装时会自动识别)
至此,U盘启动盘制作完成,然后退出 U盘,这个 U盘现在已经可以用来安装 CentOS 6.3了。
二、安装 CentOS 6.3
1、开机设置 U盘第一启动,重启之后会出来安装界面:
默认选择第一项,回车。
2、出现安装过程中使用的语言界面:
选择 Chinese(Simplified),简体中文,然后回车
3、出现语言确认界面直接回车
4、下面出现键盘模式选择界面:
选择键盘模式,默认
5、定位在 Hard drive上, directory holding image此项不用填写,系统会自动去填写。(其实这项是搜索image目录下的install.img文件)选择 OK,按回车
6、这里的/dev/sdb4代表你的 U盘分区,我们前面已经把系统镜像拷贝到 U盘根目录下面了,这里系统会自动识别
7、直接点 OK,会出现安装界面:
点击下一步
8、选择驱动器:
选第一项
9、设置计算机名:
可以根据自己喜好填写
10、设置时区:
默认即可
11、设置root密码(注意:如果你使用的密码过于简单,系统会自动提示,这里选择“仍然使用”
12、为centos建立分区
选择最后一项,自定义分区
13、注意:这里可以看到磁盘信息,切忌要确定在自己所要分区的磁盘上分区,否则其他磁盘会被格式化。
14、点创建,选择标准分区,点确定
(1)创建swap分区
文件系统类型:选择 swap
允许的驱动器:只勾选自己电脑磁盘,把u盘取消掉
大小:2048
其它大小选项:固定大小
(2)创建boot分区
挂载点:/boot
文件系统类型:ext4
允许的驱动器:只勾选自己电脑磁盘,把u盘取消掉
大小:100MB
其它大小选项:固定大小
(3)创建根分区
挂载点:/
文件系统类型:ext4
允许的驱动器:只勾选自己电脑磁盘,把u盘取消掉
大小:默认
其它大小选项:使用全部可用空间
点击下一步
选择第二项,将修改写入磁盘
注意:分区之前,自己先要规划好怎么分区?
特别说明:用于正式生产的服务器,切记必须把数据盘单独分区,防止系统出问题时,保证
数据的完整性。比如可以再划分一个/data专门用来存放数据。
15、点更改设备(千万注意引导程序安装的地方,引导写到电脑磁盘上的MBR,不是U盘的,千万注意)
点 BIOS驱动器顺序
第一 BIOS驱动器:选择本地磁盘驱动器
第二 BIOS驱动器:选择 U盘驱动器
点确定
说明:这一步至关重要,如果按照默认方式安装,会把系统启动引导安装到 U盘里面,这也
就是很多网友安装完系统之后,只要把 U盘拔了,系统就启动不了,插上 U盘系统又能正常
启动的原因了!
16、默认是第三个,这里选择第一个,桌面安装,想用来开发的朋友也可以选择最后一项。
如果有想特意安装些特别的软件的网友,可以注意,在此处添加安装。
下一步,直到出现安装界面。
17、安装完成后,点重新引导
18、重新启动,把U盘拔出,电脑自动引导到centos系统
19、点击前进
20、选择第一项,同意许可协议,前进
21、这里是创建普通账号,可以不用创建,前进
22、设置时间,默认
23、完成
,进入登录界面
点“其他”
用户名输入:root
输入你 root账号的密码
点“关闭”
备注:如果不替换 vesamenu.c32文件,用 U盘启动后会卡在下面的界面:Press the<Enter>
key to begin the installation process
原因:U盘根目录下面的 syslinux\syslinux.cfg文件里面第一行引用到了
vesamenu.c32这个文件,而在 CentOS 6.3系统里面,这个文件是有 bug的,所以要用 CentOS 6.0系统的这个文件来替换。