rhel83的编译工具
‘壹’ linux配置ip地址的两种方法
Linux配置ip地址的两种方法,实验环境为centos7.6
方法1:nmcli工具配置 (centos7以下版本不支持该方法)
第一步,通过nmcli connection查看网卡名称
[root@localhost ~]# nmcli connection
NAME UUID TYPE DEVICE
eth0 09be0948-faf1-43b6-a5a4-c19efab0bb48 ethernet eth0
第二步,配置ip,网关,dns,并设置网卡开机自动启动,最后开启网卡
[root@localhost ~]# nmcli connection modify eth0 ipv4.addresses "192.168.1.201/24"
说明:配置地址和掩码
[root@localhost ~]# nmcli connection modify eth0 ipv4.gateway "192.168.1.1"
说明:配置网关
[root@localhost ~]# nmcli connection modify eth0 ipv4.dns "180.76.76.76"
说明:配置dns
[root@localhost ~]# nmcli connection modify eth0 ipv4.method manual
说明:地址获取的方法为手动配置而不是dhcp
[root@localhost ~]# nmcli connection modify eth0 autoconnect yes
说明:开机自动打开网卡
[root@localhost ~]# nmcli connection up eth0
说明:立即打开网卡
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
第三步,查看结果(这里使用ip addr命令查看,较新版本Linux系统支持该命令)
[root@localhost ~]# ip addr
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:84:23:62 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.201/24 brd 192.168.1.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::b7ad:e2ed:832e:99a9/64 scope link noprefixroute
valid_lft forever preferred_lft forever
测试通信
[root@localhost ~]# ping www..com
PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=1 ttl=53 time=34.7 ms
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=2 ttl=53 time=27.9 ms
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=3 ttl=53 time=24.1 ms
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=4 ttl=53 time=25.2 ms
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=5 ttl=53 time=24.2 ms
^C
--- www.a.shifen.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 24.177/27.277/34.718/3.970 ms
方法2:通过vi编辑网卡配置文件(最新版rhel8或centos8不推荐该方法,老版本rhel6及以下推荐该方法)
第一步,通过vi或vim打开配置文件
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
第二步,编辑相关的参数
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=09be0948-faf1-43b6-a5a4-c19efab0bb48
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.202
PREFIX=24
GATEWAY=192.168.1.1
DNS1=180.76.76.76
PEERDNS=no
vi的编辑方法是,输入字母i,进行编辑,编辑完成后,按esc,再按:wq 保存退出。如果不保存,则是:q!退出
第三步,重启网络服务
[root@localhost ~]# service network restart
Restarting network (via systemctl): [ OK ]
第四步,查看结果并测试通信(这里用ifconfig命令来查看,各种版本Linux均支持该命令)
[root@localhost ~]# ifconfig eth0
eth0: flags=4163 mtu 1500
inet 192.168.1.202 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::b7ad:e2ed:832e:99a9 prefixlen 64 scopeid 0x20
ether 00:0c:29:84:23:62 txqueuelen 1000 (Ethernet)
RX packets 1117 bytes 127303 (124.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 564 bytes 69559 (67.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost ~]# ping www..com
PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=1 ttl=53 time=28.2 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=2 ttl=53 time=30.9 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 2 received, 33% packet loss, time 2003ms
rtt min/avg/max/mdev = 28.228/29.590/30.953/1.373 ms
[root@localhost ~]#
配置地址的两种方法就介绍到这里。
但是查看地址时,我们并没有看到网关和dns,那么网关和dns怎么看呢,用以下两条命令即可
[root@localhost ~]# route -n 通过查看路由表来知道网关
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
[root@localhost ~]# cat /etc/resolv.conf 通过查看rsolv.conf文件来查看dns
# Generated by NetworkManager
nameserver 180.76.76.76
更多网络技术公开课,腾讯课堂搜“ 众元教育 ”,戳 免费公开课 ,可直接听课哦!
一开始安装PHP的时候,我们并不知道需要哪些扩展,所以只有等到我们真正用到的时候才想办法去安装。
安装PHP扩展最简单的办法就是
sudo apt-get install php5-xxx
但有的时候并非我们所愿,源里面并没有我们需要的扩展,这时候就需要我们下载源码自己编译安装了。
这篇文章中我将介绍在本地Linux平台下编译安装PHP扩展的方法。
现在网站根目录下创建 index.php 打印基本的配置信息,以验证我们是否安装成功。
配置编译环境
我们需要安装一些编译必须的库,还有 php-dev 版本
Ubuntu
sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev
Fedora
sudo yum install php-devel php-mysqlnd gcc libtool
RHEL
sudo yum install php-devel php-mysql gcc libtool
Suse
yast2 -i php5-pear php5-devel php5-mysql gcc
安装扩展
PHP有两种可供安装的扩展:一种是PHP原生的但是默认没有安装的,另一种的第三方开发的扩展。
下面依次介绍两种扩展的安装方法:
安装之前我们需要一份和当前机器上相同版本的PHP源码
cd code
wget http://cn2.php.net/distributions/php-5.5.9.tar.bz2
tar xvjf php-5.5.9.tar.bz2
cd php-5.5.9
前往此处 下载相应的源码包。
在 /ext 目录下面可以看到所有PHP原生的扩展。
安装原生扩展
以 PHP-intl 为例,这是PHP国际化的扩展。
为了安装这个扩展我们需要先安装ICU 库
sudo apt-get install icu-devtools icu-doc libicu-dev libicu52 libicu52-dbg
ICU 安装成功之后进入/ext/intl 目录:
cd intl
phpize
./configure --enable-intl
make
sudo make install
下面解释一下上面的每个命令:
phpize : 是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块
./configure --enable-intl: 配置编译环境,相当于告诉编译器编译PHP源码的时候加上intl这个扩展。
make: 将会把源码编译成 intl.so
make install : 将会把 intl.so 移动到当前安装的 PHP 的扩展目录。
接下来我们要做的就是在php.ini中启用这个扩展,这一步将会在最后给出示例。
安装第三方扩展
将以这个 扩展为例,这个扩展主要实现了PHP识别条形码的功能。
先安装必要的依赖
sudo apt-get install pkg-config
git clone https://github.com/mongodb/mongo-php-driver
cd mongo-php-driver
phpize
./configure
make
sudo make install
将会生成一个文件,将其拷贝到PHP的扩展目录下面。
启用扩展
在php.ini中启用扩展的方式有很多:
直接在php.ini文件中添加 extension=mongo.so,这是最简单直接的方法。
也可以单独建一个ini文件,然后在php.ini中包含这些文件就可以了。
下面介绍一下第二种方法:
cd `/etc/php5/mods-available`
这个目录里可以放新建的ini文件,然后执行
sudo touch mongo.ini
echo "extension=mongo.so" | sudo tee -a mongo.ini
sudo touch intl.ini
echo "extension=intl.so" | sudo tee -a intl.ini
上面的命令将会创建ini文件,并且写如相应的配置信息。
然后执行下面的命令启用扩展即可(需要安装 php5enmod 工具):
sudo php5enmod mongo
sudo php5enmod intl
如果未安装 php5enmod 工具,则需要手动配置:
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/cli/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/cli/conf.d/intl.ini
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/fpm/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/fpm/conf.d/intl.ini
最后在执行一下重启操作就可以了:
sudo service nginx restart
sudo service php5-fpm restart
‘叁’ 如何在 CentOS 8/RHEL 8 上安装和使用 Cockpit
Cockpit 是一个基于 Web 的服务器管理工具,可用于 CentOS 和 RHEL 系统。最近发布的 CentOS 8 和 RHEL 8,其中 cockpit 是默认的服务器管理工具。它的软件包在默认的 CentOS 8 和 RHEL 8 仓库中就有。Cockpit 是一个有用的基于 Web 的 GUI 工具,系统管理员可以通过该工具监控和管理 Linux 服务器,它还可用于管理服务器、容器、虚拟机中的网络和存储,以及检查系统和应用的日志。
在本文中,我们将演示如何在 CentOS 8 和 RHEL 8 中安装和设置 Cockpit。
登录你的 CentOS 8/RHEL 8,打开终端并执行以下 dnf 命令:
运行以下命令启用并启动 cockpit 服务:
使用以下命令在系统防火墙中允许 Cockpit 端口:
验证 cockpit 服务是否已启动和运行,执行以下命令:
正如我们在上面命令的输出中看到的,cockpit 正在监听 tcp 9090 端口,打开你的 Web 浏览器并输入 url:https://<Your-CentOS8/RHEL8-System-IP>:9090。
RHEL 8 中的 Cockpit 登录页面:
使用有管理员权限的用户名,或者我们也可以使用 root 用户的密码登录。如果要将管理员权限分配给任何本地用户,请执行以下命令:
这里 pkumar 是我的本地用户,
在输入用户密码后,选择 “Reuse my password for privileged tasks”,然后单击 “Log In”,然后我们看到以下页面:
在左侧栏上,我们可以看到可以通过 cockpit GUI 监控和配置的内容,
假设你要检查 CentOS 8/RHEL 8 中是否有任何可用更新,请单击 “System Updates”:
要安装所有更新,点击 “Install All Updates”:
如上所见,我们有创建 Bond 接口、网桥和 VLAN 标记接口的选项。
假设我们想创建一个 br0 网桥,并要为它添加 enp0s3 端口,单击 “Add Bridge”:
将网桥名称指定为 br0,将端口指定为 enp0s3,然后单击“Apply”。
在下个页面,我们将看到该网桥处于活动状态,并且获得了与 enp0s3 接口相同的 IP:
如果你想检查系统日志,单击 “Logs”,我们可以根据严重性查看日志:
本文就是这些了,类似地,系统管理员可以使用 cockpit 的其他功能来监控和管理 CentOS 8 和 RHEL 8 服务器。如果这些步骤可以帮助你在 Linux 服务器上设置 cockpit,请在下面的评论栏分享你的反馈和意见。
via: https://www.linuxtechi.com/install-use-cockpit-tool-centos8-rhel8/
作者: Pradeep Kumar 选题: lujun9972 译者: geekpi 校对: wxy
‘肆’ 安全开发你必须使用的28个DevSecOps工具
将安全融入开发过程,更早捕获并修复应用漏洞,你需要这五类共28款DevSecOps工具。
DevSecOps 是将安全集成到整个应用开发周期的过程,是从内到外强化应用,使其能够抵御各种潜在威胁的理想方式。因为很多公司企业不断开发应用以满足客户和商业合作伙伴的需求,DevSecOps的吸引力也与日俱增。
敏捷开发方法与DevOps操作帮助公司企业达成持续开发的目标。云原生应用架构也成芹尺为了DevSecOps运动的有力贡献者,推动采用公共云提供商、容器技术和容器平台为应用提供计算能力。DevSecOps将安全过程与工具集成进工作流并加以自动化,摆脱了传统方法按时间点进行的潜在干扰,是个无缝且持续的过程。
咨询公司 Data Bridge Market Research 称,鉴于网络安全威胁数量与危害性的持续上升,全球DevSecOps市场预计将从2018年的14.7亿美元增长至2026年的136.3亿美元。
市场繁荣之下,DevSecOps工具必将呈现百花齐放百家争鸣的局面。下面就按核心门类为您呈上多款优秀DevSecOps工具。
开发应用的时候很容易忽略掉安全漏洞。下面的工具为开发人员提供了潜在安全异常及缺陷的警报功能,可供开发人员及时调查并修复这些漏洞,不至于走得太远回不了头。有些工具专用于警报功能,比如开源的Alerta 。其他工具则兼具测试等别的功能,比如 Contrast Assess。
1. Alerta
(https://alerta.io/)
该开源工具可将多个来源的信息整合去重,提供快速可视化功能。Alerta与Prometheus、Riemann、Nagios、Cloudwatch及其他监视/管理服务集成,开发人员可通过API按需定制Alerta。
2. Contrast Assess
(https://www.contrastsecurity.com/interactive-application-security-testing-iast)
作为一款互动应用安全测试(IAST)工具,Contrast Assess 与用户应用集成,在后台持续监视代码,并在发现安全漏洞时发出警报。据称即便是非安全开发人员也可使用 Contrast Assess 自行识别并修复漏洞。
3. Contrast Protect
(https://www.contrastsecurity.com/runtime-application-self-protection-rasp)
该运行时应用自保护(RASP)工具采用了 Contrast Assess 同款嵌入式代理。Contrast Protect 在生产环境中查找漏洞利用程序和未知威胁,并将结果提交给安全信息及事件管理(SIEM)控制台、防火墙或其他安全工具。
4. ElastAlert
(https://elastalert.readthedocs.io/en/latest/)
ElastAlert提供近实时接收警报的框架,可接收来自Elasticsearch数据的安全异常、流量激增及其他模式。ElastAlert查询Elasticsearch并根据一系列规则比较这些数据。一旦出现匹配,ElastAlert便发出警报并随附建议动作。
大多数DevSecOps工具都提供一定程度的自动化。此类工具自动扫描、发现并修复安全缺陷,只是搜首饥自动化程度各有不同,从条件式事件驱动的自动化到运用深度学习技术的自动化都有。
1. CodeAI
(http://www.qbitlogic.com/codeai/)
旨世返在通过深度学习技术自动查找并修复源代码中的安全漏洞,号称可为开发人员提供可供参考的解决方案列表,而不仅仅是安全问题列表。其供应商QbitLogic宣称,已为CodeAI馈送了数百万个现实世界漏洞修复样本供训练。
2. Parasoft tool suite
(https://www.parasoft.com/)
Parasoft提供包括应用开发安全测试在内的多种自动化工具:
1)Parasoft C/C++test
(https://www.parasoft.com/procts/ctest)
用于开发过程早期缺陷识别;
2)Parasoft Insure++
(https://www.parasoft.com/procts/insure)
3)Parasoft Jtest
(https://www.parasoft.com/procts/jtest)
用于Java软件开发测试;
4) Parasoft dotTEST
(https://www.parasoft.com/procts/jtest)
以深度静态分析和高级覆盖作为 Visual Studio 工具的补充。
3. Red Hat Ansible Automation
(https://www.redhat.com/en/technologies/management/ansible)
该工具包含三个模块——Ansible Tower、Ansible Engine 和 Red Hat Ansible Network Automation,可作为无代理IT自动化技术单独或联合使用。尽管不是专门的安全工具,Ansible Automation 却可供用户定义规则以确定自身软件开发项目中哪些部分是安全的。
4. StackStorm
(https://stackstorm.com)
该开源工具号称“可进行条件式运营”,其事件驱动的自动化能在检测到安全漏洞时提供脚本化的修复与响应,并附有持续部署、ChatOps优化等功能。
5. Veracode
(https://www.veracode.com/devsecops)
该公司提供DevSecOps环境中广泛使用的一系列自动化安全工具,包括在代码编写时即时自动扫描的Greenlight;在沙箱中扫描代码漏洞的 Developer Sandbox;识别漏洞组件的 Software Composition Analysis (SCA);以及识别应用缺陷的 Static Analysis。
专用DevSecOps仪表板工具可使用户在同一图形界面中查看并共享从开发伊始到运营过程中的安全信息。有些DevSecOps应用,比如ThreatModeler和Parasoft已自带仪表板。
1. Grafana
(https://grafana.com/)
该开源分析平台允许用户创建自定义仪表板,聚合所有相关数据以可视化及查询安全数据。如果不想自行构建,还可以在其网站上选用社区构建的仪表板。
2. Kibana
(https://www.elastic.co/procts/kibana)
如果你使用Elasticsearch,该开源工具可在统一图形界面中集成成千上万的日志条目,包括运营数据、时间序列分析、应用监视等等。
威胁建模DevSecOps工具用以在复杂的攻击界面中识别、预测并定义威胁,以便用户可以做出主动安全决策。有些工具可根据用户提供的系统及应用信息自动构建威胁模型,并提供可视化界面以帮助安全及非安全人员 探索 威胁及其潜在影响。
1. IriusRisk
(https://continuumsecurity.net/threat-modeling-tool/)
出自 Continuum Security 的解决方案,既可云部署,也可现场部署,能以基于问卷的界面自动化风险及需求分析,并设计出威胁模型和技术性安全要求。IriusRisk还可帮助用户管理代码构建及安全测试阶段。
2. ThreatModeler
(https://threatmodeler.com/)
该自动化威胁建模系统有两个版本:AppSec版和云版。在提供了用户应用或系统的功能性信息后,ThreatModeler会基于更新的威胁情报自动就整个攻击界面进行数据分析和潜在威胁识别。
3. OWASP Threat Dragon
(https://www.owasp.org/index.php/OWASP_Threat_Dragon)
一款基于Web的开源工具,提供系统图解和用于自动化威胁建模与缓解的规则引擎。Threat Dragon 承诺可与其他软件开发生命周期(SDLC)工具无缝集成,且界面易于使用。
在开发过程中测试应用以找出潜在漏洞是DevSecOps的关键部分,能够事先发现安全漏洞,避免漏洞被黑客利用。尽管其他工具往往包含了测试功能,比如Parasoft出品的那些,下列工具仍然在应用安全测试上表现强劲。
1. BDD-Security
(https://continuumsecurity.net/bdd-security/)
该出自 Continuum Security 的开源框架可使安全人员在敏捷开发过程中测试行为驱动开发(BDD)语言编写的功能及非功能性安全场景。此BDD框架旨在使安全功能独立于应用特定的导航逻辑,让同样的安全要求能够更容易地应用到多个应用程序上。
2. Checkmarx CxSAST
(https://www.checkmarx.com/procts/static-application-security-testing/)
可对25种编程及脚本语言进行未编译/未构建源代码扫描的静态应用安全测试(SAST)工具,能在SDLC早期发现成百上千种安全漏洞。CxSAST兼容所有集成开发环境(IDE),是Checkmarx软件暴露平台的一部分——该平台可在DevOps所有阶段植入安全。Checkmarx的交互式应用安全测试(IAST)工具可检测运行中应用的安全漏洞。
3. Chef InSpec
(https://github.com/inspec/inspec)
整个开发过程中的每一阶段都可以运用该开源工具自动化安全测试以确保针对传统服务器及容器和云API的合规、安全及其他政策要求。
4. Fortify
(https://www.microfocus.com/en-us/solutions/application-security)
Micro Focus 出品,提供端到端应用安全,可供进行覆盖整个软件开发生命周期的现场及按需测试。Fortify on Demand 是 Micro Focus 的应用安全即服务产品,提供静态、动态和移动应用安全测试,以及生产环境中Web应用的持续监视。
5. Gauntlt
(http://gauntlt.org/)
流行测试框架,旨在推动易操作的安全测试及安全、开发和运营团队间的沟通。GauntIt便于产生攻击测试用例,且能方便地钩入现有工具及进程。
6. Synopsys suite
(https://www.synopsys.com/)
Synopsys提供多个应用安全测试工具,包括:
1)SAST工具Coverity
(https://www.synopsys.com/software-integrity/security-testing/static-analysis-sast.html)
自动化测试且融入持续集成/持续交付(CI/CD)管道;
2)SCA工具 Black Duck
(https://www.synopsys.com/software-integrity/security-testing/software-composition-analysis.html)
采用容器及应用中的开源和第三方代码检测并管理安全;
3)SeekerIAST
(https://www.synopsys.com/software-integrity/security-testing/interactive-application-security-testing.html)
识别可暴露敏感数据的运行时安全漏洞;
以及一系列用于应用安全测试的托管服务。
以下DevSecOps工具同样含有上述工具提供的功能,但或多或少略有不同。
1. Aqua Security
(https://www.aquasec.com/)
在整个CI/CD管道和运行时环境中管理端到端安全,可用于所有平台和云环境的容器及云原生应用。
2. Dome9 Arc
(https://www.checkpoint.com/solutions/devops-security/)
被 Check Point 收购,提供自动化测试及安全实施,使开发人员能够将安全及合规融入公共云应用的构建、部署及运营。
3. GitLab
(https://about.gitlab.com/)
该工具可将DevSecOps架构融入CI/CD过程,在提交时测试每一块代码,使开发人员能够在编程期间缓解安全漏洞,并提供涵盖所有漏洞的仪表板。
4. Red Hat OpenShift
(https://www.redhat.com/en/technologies/cloud-computing/openshift)
为基于容器的应用提供内置安全,比如基于角色的访问控制、以安全增强的Linux(SELinux)实现隔离,以及贯穿整个容器构建过程的核查。
5. RedLock
(https://www.paloaltonetworks.com/procts/secure-the-cloud/redlock/cloud-security-governance)(前身为Evident.io)
Palo Alto Networks 出品,适用于部署阶段,帮助开发人员快速发现并缓解资源配置、网络架构及用户活动中的安全威胁,尤其是在亚马逊S3存储桶和弹性块存储(EBS)卷上。
6. SD Elements
(https://www.securitycompass.com/sdelements/)
出品自 Security Compass 的自动化平台,旨在收集客户软件信息,发现威胁及对策,突出相关安全控制措施以帮助公司企业实现其安全和合规目标。
7. WhiteHat Sentinel 应用安全平台
(https://www.whitehatsec.com/procts/solutions/devsecops/)
该解决方案提供贯穿整个SDLC的应用安全,适用于需将安全集成进工具中的敏捷开发团队,以及需持续测试以保证生产环境应用安全的安全团队。
8. WhiteSource
(https://www.whitesourcesoftware.com/)
用于解决开源漏洞,可集成进用户的生成过程,无论用户采用什么编程语言、生成工具或开发环境。WhiteSource使用经常更新的开源代码数据库持续检查开源组件的安全及授权。
‘伍’ 在RHEL 8系统上设置主机名和时区
本文指导你完成在Red Hat Enterprise Linux 8.0系统上设置正确的主机名和时区,拥有合适的时间和服务器主机名是Linux操作的一个重要方面,大多数应用程序将在编写日志和报告事件时间时引用系统本地时间。服务器主机名通常用于生成SSL证书,本地DNS解析以及配置应用程序,请注意,在RHEL 8上设置持久性服务器主机名和时区与在RHEL 6上设置不同,但与RHEL 7相同,RHEL 8/7使用systemd init系统,而RHEL 6使用Upstart。
在RHEL 8上设置服务器主机名
RHEL 8自带hostnamectl工具,用于管理服务器主机名,要查看所有当前主机名,请使用以下命令:
$ hostnamectl status
1、在RHEL 8上设置主机名
要在系统上设置所有主机名坦孝,请使用以下命令:
sudo hostnamectl set-hostname <hostname>
见以下的例子:
sudo hostnamectl set-hostname rhel8.example.com
这将改变静态和临时主机名,使用hostnamectl命令设置主机名时,空格将替换为“ - ”并删除特殊字符。
确认更改:
$ hostnamectl
2、设置个性的主机名
你还可以使用引号设置Pretty主机名:
$ sudo hostnamectl set-hostname "Josphat's notebook" --pretty
$ hostnamectl
3、清除系统主机名
清除特定系统主机名并使用以下命令恢复为默认值:
sudo hostnamectl set-hostname ""
在RHEL 8上配置时区
Systemd附带timedatectl命令,用于控制系统时间和日期。
1、显示当前日期和时间
要显示系统时钟和RTC的当前设置,请运行:
$ timedatectl status
2、更改当前时间-系统时间和硬件时钟
要在RHEL 8上设置当前时间,请使用命令语法:
timedatectl set-time HH:MM:SS
以下示例将当前时间设置为上午10:00:
sudo timedatectl set-time 10:00:00
用一小时代替HH,用一分钟代替MM,用一秒代替SS,所有类型都用两位数字表示,如果你有活动的NTP服务,则应该失败并显示错误“Failed to set time: NTP unit is active(设置时间失败:NTP单元处于活动状态)”。
默认情况下,系统配置为使用UTC,你可以通过运行强制它使用本地时间:
sudo timedatectl set-local-rtc true
3、更改当前日期
可以通过运行命令来更改当前日期:
sudo timedatectl set-time YYYY-MM-DD
将YYYY替换为四位数年份,MM替换为两位数月份,DD替换为每月两位数,如果未指定当前时间,则会将时间设置为00:00:00,所以高蠢设定日期与时间:
sudo timedatectl set-time 2019-02-13 10:00:00
4、更改时区
你可能戚信陪需要先列出所有可用的时区:
timedatectl list-timezones
然后使用以下命令设置正确的时区:
sudo timedatectl set-timezone time_zone
使用list命令列出的任何值替换time_zone:
$ timedatectl list-timezones | grep Nairobi
Africa/Nairobi
$ sudo timedatectl set-timezone Africa/Nairobi
这将为Africa/Nairobi时区,请改成自己方位的时区,比如Asia/Shanghai。
5、使系统时钟与远程服务器同步(推荐)
与手动调整相反,你可以使用NTP协议启用与一组远程服务器的系统时钟自动同步,参考 在RHEL 8系统上使用Chrony配置NTP服务器 文章。
要使用命令启用NTP服务,如下所示:
sudo timedatectl set-ntp yes
结语
以上就是针对RHEL 8系统设置主机名和时区的方法了。
|
‘陆’ 如何安装GCC编译器和开发工具
在CentOS 7和RHEL 7系统上如何安装Gnu GCC编译器和相关的工具比如:autoconf,automake,flex, c++编译器等工具。我们可以通过在centos 或者rhel 7 系统上安装下面的软件包来搭建基本的开发环境。
autoconf
automake
binutils
bison
flex
gcc
gcc-c++
gettext
libtool
make
patch
pkgconfig
redhat-rpm-config
rpm-build
rpm-sign
显示当前系统的yum group,使用下面的命令:
yum group list
命令输出:
[root@itsprite /]# yum group list
Loaded plugins: fastestmirror, langpacks
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
* base: mirrors.btte.net
* extras: mirrors.btte.net
* updates: mirrors.btte.net
Available environment groups:
Minimal Install
Infrastructure Server
File and Print Server
Basic Web Server
Virtualization Host
Server with GUI
GNOME Desktop
KDE Plasma Workspaces
Development and Creative Workstation
Available Groups:
Compatibility Libraries
Console Internet Tools
Development Tools
Graphical Administration Tools
Legacy UNIX Compatibility
Scientific Support
Security Tools
Smart Card Support
System Administration Tools
System Management
Done
安装GCC和开发环境
输入下面的命令:
yum group install "Development Tools"
安装完之后,使用下面的命令来验证gcc是否安装成功:
whereis gcc
命令输出:
[root@itsprite /]# whereis gcc
gcc:/usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc /usr/share/man/man1/gcc.1.gz
输入下面的命令来查看gcc工具的版本:
[root@itsprite /]# gcc --version
gcc (GCC) 4.8.2 20140120(Red Hat 4.8.2-16)
Copyright (C)2013 Free Software Foundation, Inc.
This is free software; see the source for ing conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
测试GCC编译器
下面我们使用刚安装好的GCC编译器来编译一个c语言程序.
创建下面的test.c程序:
#include
int main(void){
printf("Hello World!\n");
return0;
}
输入命令编译test.c 文件:
gcc test.c -o test
执行编译后的文件:
./test
Hello World!