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!