2020久久超碰欧美精品最新亚洲欧美日韩久久精品,国产福利电影一区二区三区,亚洲欧美日韩一区在线观看,亚洲国产欧美日韩欧美特级,亚洲欧美日韩成人一区久久,欧美日韩精品一区二区三区不卡,国产欧美日韩va另类影音先锋,亚洲欧美日韩久久精品,亚洲欧美日韩国产成人精品影院,亚洲国产欧美日韩精品一区二区三区,欧美日韩国产成人高清视频,日韩久久精品国产免费观看频道,久久人人爽人人爽从片av高清,国产精品综合一区二区

首頁技術文章正文

systemctl命令怎么用與防火墻的相關操作介紹[linux云計算+運維開發]

更新時間:2020-03-20 來源:黑馬程序員 瀏覽量:

自有服務,即不需要用戶獨立去安裝的軟件的服務,而是當系統安裝好之后就可以直接使用的服務(內置)

學習目標
1、了解systemctl命令用途
2、掌握使用systemctl開啟,關閉,重啟服務
3、了解常見自有服務ntpd,firewalld,crond的作用
4、掌握ntpdate時間同步原理與實現
5、掌握防火墻的相關操作(添加和刪除簡單規則,開啟,關閉防火墻)
6、了解源碼包和二進制包的區別
7、掌握rpm包的卸載、安裝以及更新操作
8、了解計劃任務的作用
9、掌握計劃任務的編輯



本文目錄

一、自有服務概述

二、systemctl管理服務命令

1、顯示服務

2、查看啟動和停止服務

3、服務持久化

三、常用自有服務(ntp,firewalld,crond)

1、ntp時間同步服務

2、firewalld防火墻

1)什么是防火墻

2)傳統Linux防火墻

3、firewalld防火墻的概念

1)區域

2)運行模式和永久模式

4、firewalld防火墻的配置

1)查看,開啟和停止firewalld服務

2) 管理firewall配置

5、計劃任務crontab

1)計劃任務的作用

2)查看計劃任務

3)編輯計劃任務(重點)

4)幾個小案例

5)擴展

四、Linux軟件包

1、軟件包概述

2、如何獲取rpm包

3、從光盤獲取

3.1 虛擬機中加載光盤

3.2 使用 # lsblk(list block devices)或者df -T 查看塊狀設備的信息

3.3 進入/run/media/root/CentOS 7 x86_64/Packages目錄

4、查詢某個軟件安裝情況

5、卸載某個軟件

6、安裝某個軟件

7、更新某個軟件

8、rpm擴展

8.1依賴關系

8.2 查看文件所屬的包名(實用)

8.3查詢軟件安裝完成后,生成了哪些文件

9、擴展:光盤的掛載和解掛



一、自有服務概述

服務是一些特定的進程,自有服務就是系統開機后就自動運行的一些進程,一旦客戶發出請求,這些進程就自動為他們提供服務,windows系統中,把這些自動運行的進程,稱為”服務“。

舉例:當我們使用SSH客戶端軟件連接linux的時候,我們的服務器為什么會對連接做出響應?是因為SSH服務開機就自動運行了。

所謂自有服務,簡單來說,可以理解為Linux系統開機自動運行的服務(程序)。

我們如何管理這些自有服務呢?推薦了解linux云計算+運維開發課程

二、systemctl管理服務命令

在Centos7之前,通過service 和 chkconfig兩個命令來管理服務

service: 負責啟動,停止服務,顯示服務狀態

chkconfig: 指定服務是否開機啟動

從Centos7開始,統一使用systemctl來管理服務, systemctl同時具有service和chkconfig命令的功能。


1、顯示服務

命令:systemctl

作用:管理服務

語法:#systemctl   [選項]

選項:
list-units --type service --all:列出所有服務(包含啟動的和沒啟動的)

list-units --type service:列出所有啟動的服務

用法一:systemctl list-units --type service --all 不加具體服務名
示例代碼:
#systemctl list-units --type service --all
含義:列出所有服務,包括已運行的和沒有運行的空格可以翻頁,q退出
linux自有服務2.1.1


用法二:systemctl list-units --type service 不加具體服務名
示例代碼:
#systemctl list-units --type service
含義:列出已運行的服務空格可以翻頁,q退出

linux自有服務2.1.2

2、查看啟動和停止服務

命令:systemctl

作用:管理服務

語法:#systemctl   [選項]  服務名

選項:

     status:檢查指定服務的運行狀況

     start:啟動指定服務

    stop:停止指定服務

    restart:重啟指定服務

    reload:重新加載指定服務的配置文件(并非所有服務都支持reload,通常使用restart)

用法三:systemctl 選項 服務名
示例代碼:
#systemctl status crond
含義:查看crond服務的狀態

linux自有服務2.2.1

Active:active(running) 表示當前crond服務是運行狀態。

用法四:systemctl 選項 服務名
示例代碼:
#systemctl stop crond
含義:停止crond服務

linux自有服務2.2.2

Inactive,表示crond服務當前是停止狀態

用法五:systemctl 選項 服務名
示例代碼:
#systemctl start crond
含義:啟動crond服務

linux自有服務2.2.3

用法六:systemctl 選項 服務名
示例代碼:
#systemctl restart crond
含義:重啟crond服務

#systemctl reload crond
含義:重新加載crond服務配置文件
linux自有服務2.2.4

3、服務持久化

所謂服務持久化,就是服務在開機的時候,是否自動啟動。

命令:systemctl

作用:管理服務

語法:#systemctl   [選項]  服務名

選項: enable:指定服務開機自動啟動

            disable:取消服務開機自動啟動

用法七:systemctl 選項 服務名
示例代碼:
#systemctl disable crond
含義:取消crond服務開機啟動

linux自有服務2.3.1
用法八:systemctl 選項 服務名
示例代碼:
#systemctl disable crond
含義:指定crond服務開機啟動

linux自有服務2.3.2

systemctl參數總結
linux自有服務2.3.3

三、常用自有服務(ntp,firewalld,crond)

ntpd:用于同步計算機的系統時間的服務
firewalld:防火墻服務
|crond:計劃任務服務

1、ntp時間同步服務

NTP是網絡時間協議(Network Time Protocol),它是用來同步網絡中各個計算機的時間的協議。

工作場景:

公司開發了一個電商網站,由于訪問量很大,網站后端由100臺服務器組成集群。50臺負責接收訂單,50臺負責安排發貨,接收訂單的服務器需要記錄用戶下訂單的具體時間,把數據傳給負責發貨的服務器,由于100臺服務器時間各不相同,記錄的時間經常不一致,甚至會出現下單時間是明天,發貨時間是昨天的情況。

1)NTP同步服務器原理

標準時間是哪里來的?

現在的標準時間是由原子鐘報時的國際標準時間UTC(Universal Time Coordinated,世界協調時),所以NTP獲得UTC的時間來源可以是原子鐘、天文臺、衛星,也可以從Internet上獲取。

在NTP中,定義了時間按照服務器的等級傳播,Stratum層的總數限制在15以內

工作中,通常我們會直接使用各個組織提供的,現成的NTP服務器。

linux自有服務3.1.1

2)到哪里去找NPT服務器

        NTP授時網站:http://www.ntp.org.cn/pool.php

linux自有服務3.1.2

3)時間同步操作

同步服務器時間方式有2 個:一次性同步手動同步、通過服務自動同步。

手動同步

用法一:ntpdate 時間服務器IP
示例代碼:
#ntpdate 120.25.108.11
含義:從服務器120.25.108.11同步標準網絡時間到服務器(120.25.108.11服務器由阿里云提供,可以從http://www.ntp.org.cn/pool.php網站獲取)
注意:從網絡同步時間,要確保自己的服務器可以訪問互聯網

linux自有服務3.1.3.

錯誤信息:no servers can be used

含義:服務器不可用,這里的服務器是指網絡上的時間服務器,不可用,不代表是對方服務器有問題,也有可能是你自己的服務器網絡不通,無法連接到網絡上的時間服務器。

自動同步

用法二:啟動ntpd服務,并配置為開機啟動
示例代碼:
#systemctl start ntpd
#systemctl enable ntpd
含義:啟動ntpd服務,并配置為開機啟動,服務啟動后,系統會自動同步網絡時間
注意:從網絡同步時間,要確保自己的服務器可以訪問互聯網

linux自有服務3.1.3.2

問題1:啟動ntpd服務后,是不是時間就自動同步了?

啟動后就自動同步了

問題2:需不需要讓ntpd服務,開機自動運行?

需要

ntpd服務配置文件位置  /etc/ntp.conf

2、firewalld防火墻

1)什么是防火墻

防火墻:防范一些網絡攻擊。有軟件防火墻、硬件防火墻之分。

linux自有服務3.2.1.1

防火墻選擇讓正常請求通過,從而保證網絡安全性。

Windows防火墻:

linux自有服務3.2.1.2

2)傳統Linux防火墻

linux自有服務3.2.2

3、firewalld防火墻的概念

1)區域

CentOS6x中防火墻叫做iptables

CentOS7.x 中默認使用的防火墻是firewalld

firewalld增加了區域的概念,所謂區域是指,firewalld**預先準備了幾套防火墻策略的集合**,類似于**策略的模板**,用戶可以根據需求選擇區域。

常見區域及相應策略規則


區域       默認策略

trusted     允許所有數據包
home       拒絕流入的流量,除非與流出的流量相關,允許ssh,mdns,ippclient,amba-client,dhcpv6-client服務通過
internal    等同于home
work        拒絕流入的流量,除非與流出的流量相關,允許ssh,ipp-client,dhcpv6-client服務通過
public      拒絕流入的流量,除非與流出的流量相關,允許ssh,dhcpv6-client服務通過
external   拒絕流入的流量,除非與流出的流量相關,允許ssh服務通過
dmz         拒絕流入的流量,除非與流出的流量相關,允許ssh服務通過
block       拒絕流入的流量,除非與流出的流量相關,非法流量采取拒絕操作
drop        拒絕流入的流量,除非與流出的流量相關,非法流量采取丟棄操作

2)運行模式和永久模式

運行模式:此模式下,配置的防火墻策略立即生效,但是不寫入配置文件

永久模式:此模式下,配置的防火墻策略寫入配置文件,但是需要reload重新加載才能生效。
firewall默認采用運行模式

4、firewalld防火墻的配置

1)查看,開啟和停止firewalld服務

命令:systemctl

作用:管理服務

語法:#systemctl   [選項]  firewalld

選項:
status:檢查指定服務的運行狀況

start:啟動指定服務

stop:停止指定服務

restart:重啟指定服務

reload:重新加載指定服務的配置文件(并非所有服務都支持reload,通常使用restart)


使用systemctl來管理firewalld的服務,具體命令前面已經講過,只是服務名換成了firewalld,這里不再贅述。

2) 管理firewall配置

命令:firewall-cmd

作用:管理firewall具體配置

語法:#firewall-cmd  [參數選項1] ....[參數選項n]

常用選項:  

linux自有服務3.4.1.1

①查看默認使用的區域

用法一:firewall-cmd 選項
示例代碼:
#firewall-cmd --get-default-zone
含義:查看默認使用區域,當前默認使用區域為public
linux自有服務3.4.2.1

②查看所有可用區域

用法二:firewall-cmd 選項
示例代碼:
#firewall-cmd --get-zones
含義:查看所有可用區域
linux自有服務3.4.2.2

③列出當前使用區域配置

用法三:firewall-cmd 選項
示例代碼:
#firewall-cmd --list-all
含義:查看所有可用區域

linux自有服務3.4.2.3

④列出所有區域的配置

用法四:firewall-cmd 選項
示例代碼:
#firewall-cmd --list-all-zones
含義:查看所有可用區域

linux自有服務3.4.2.4

⑤添加允許通過的服務或端口

用法五:firewall-cmd 選項
示例代碼:
#firewall-cmd --zone=public --add-port=1024/tcp
含義:在public區域,添加允許tcp協議的1024端口通過的規則

#firewall-cmd --zone=public --add-service=ftp
含義:在public區域,添加允許ftp服務通過的規則
linux自有服務3.4.2.5

⑥去掉允許通過的服務或端口

用法五:firewall-cmd 選項
示例代碼:
#firewall-cmd --zone=public --remove-port=1024/tcp
含義:在public區域,去掉允許tcp協議的1024端口通過的規則

#firewall-cmd --zone=public --remove-service=ftp
含義:在public區域,去掉允許ftp服務通過的規則
linux自有服務3.4.2.5

⑦永久模式參數permaent

用法七:firewall-cmd 選項
示例代碼:
#firewall-cmd --permanent --zone=public --add-port=1024/tcp
含義:在public區域,使用permanent參數,永久添加允許1024端口通過的規則

⑧重新加載配置reload

用法七:firewall-cmd 選項
示例代碼:
#firewall-cmd --reload
含義:重新加載配置

linux自有服務3.4.2.8

5、計劃任務crontab

1)計劃任務的作用

作用:操作系統不可能24 小時都有人在操作,有些時候想在指定的時間點去執行任務(例如:每天凌晨 2 點去重新啟動Apache),此時不可能真有人每天夜里 2 點去執行命令,這就可以交給計劃任務程序去執行操作了。

2)查看計劃任務

語法:# crontab   選項

常用選項:

-l:list,列出指定用戶的計劃任務列表==

-e:edit,編輯指定用戶的計劃任務列表,簡單來說,計劃任務就是一個文件==

-u:user,指定的用戶名,如果不指定,則表示當前用戶

-r:remove,刪除指定用戶的計劃任務列表

示例代碼:列出當前用戶的計劃任務列表
linux自有服務3.5.2.1

上述的提示,代表 root 用戶沒有計劃任務需要去做。

3)編輯計劃任務(重點)
進入計劃任務編輯文件
linux自有服務3.5.3.1


打開計劃任務編輯文件后,可以在此文件中編寫我們自定義的計劃任務:

計劃任務的規則語法格式,以行為單位,一行則為一個計劃:

分      時      日      月      周      需要執行的命令

例如:0 0 * * * reboot,代表每天0時0分執行reboot指令。

取值范圍(常識):
分:0~59
時:0~23
日:1~31
月:1~12
周:0~7,0 和 7 表示星期天

四個符號:
*:表示取值范圍中的每一個數字
-:做連續區間表達式的,要想表示1~7,則可以寫成:1-7
/:表示每多少個,例如:想每 10 分鐘一次,則可以在分的位置寫:*/10
,:表示多個取值,比如想在 1 點,2 點 6 點執行,則可以在時的位置寫:1,2,6

特別補充:在Linux系統中,有些命令不能直接在計劃任務中使用,使用后,其也不會生效。如useradd命令。如果想讓其生效必須使用完整路徑。

問題:如何查詢一個命令的真實路徑在哪個位置?
答:使用whereis命令名稱

4)幾個小案例

問題1:每月1、10、22 日的4:45 重啟network 服務

問題2:每周六、周日的1:10 重啟network 服務

問題3:每天18:00 至23:00 之間每隔30 分鐘重啟network 服務

問題4:每隔兩天的上午8 點到11 點的第3 和第15 分鐘執行一次重啟

分時日月周  命令或服務

問題1:45  4  1,10,22   *   *   service   network   restart

問題2:10  1  *  *  6,7  service   network   restart

問題3:*/30  18-23   *   *   *   service network restart

問題4:3,15   8-11  */2   *   *   reboot

案例:每1 分鐘往 root 家目錄中的 readme.txt 中輸一個1,為了看到效果使用追加輸出【輸出使用echo 命令,語法:# echo 輸出的內容】

linux自有服務3.5.4.1

在末行模式下輸入:wq保存并退出,使用tail -f查看readme.txt動態變化
linux自有服務3.5.4.2
注意:在計劃任務中,默認最小單位就是分,不能再小了。如果需要做到秒級別則需要配合研發相關代碼。

5)擴展

① crontab 權限問題

crontab是任何用戶都可以創建的計劃任務,但是超級管理員可以通過配置來設置某些用戶不允許設置計劃任務 。

黑名單配置文件位于:/etc/cron.deny里面寫用戶名,一行只能寫一個

linux自有服務3.5.1.1

保存退出,切換到cndws普通用戶,執行crontab命令,如下圖所示:

linux自有服務3.5.1.2

白名單還有一個配置文件

/etc/cron.allow (本身不存在,自己創建)

注意:白名單優先級高于黑名單,如果一個用戶同時存在兩個名單文件中,則會被默認允許創建計劃任務。

② 查看計劃任務文件保存路徑

問題:計劃任務文件具體保存在哪里呢?

答:/var/spool/cron/用戶名文件中,如果使用root用戶編輯計劃任務,則用戶文件名為root
linux自有服務3.5.5.2.1

③ 查看計劃任務日志信息

問題:在實際應用中,我們如何查看定時任務運行情況?

答:通過計劃任務日志,日志文件位于/var/log/cron
linux自有服務3.5.5.3.1

四、Linux軟件包

1、軟件包概述

這是什么?
linux自有服務4.1.1
Linux下也有很多可以安裝的軟件,而這些軟件的安裝包可細分為兩種,分別是源碼包二進制包

1)源碼包

源碼包就是一大堆源代碼程序,是由程序員按照特定的格式和語法編寫出來的。計算機只能識別機器語言,也就是二進制語言,所以源碼包安裝之前需要編譯。

·編譯過程耗時較長
·大多數用戶不懂開發,編譯過程中可能會有各種錯誤,用戶無力解決。
為了解決使用源碼包安裝的問題,Linux 軟件包的安裝出現了使用二進制包的安裝方式。

2)二進制包

二進制包,也就是源碼包經過成功編譯之后產生的包。

二進制包是 Linux 下默認的軟件安裝包,目前主要有以下 2 大主流的二進制包管理系統:

RPM 包管理系統:功能強大,安裝、升級、査詢和卸載非常簡單方便,因此很多 Linux 發行版都默認使用此機制作為軟件安裝的管理方式,例如 Fedora、==CentOS==、SuSE 等。
- DPKG 包管理系統:由 Debian Linux 所開發的包管理機制,通過 DPKG 包,Debian Linux 就可以進行軟件包管理,主要應用在 Debian 和 Ubuntu 中。

RPM是RedHat Package Manager(RedHat軟件包管理工具)的縮寫

作用:rpm 的作用類似于豌豆莢,華為應用市場,App Store,主要作用是對linux 服務器上的軟件包進行對應管理操作,管理分為:查詢、卸載、安裝/更新。

2、如何獲取rpm包

要想裝軟件,和windows 下一樣,先得找到安裝包:xxx.rpm軟件包的獲得方式:

a. 去官網去下載(http://rpm.pbone.net);

b. 不介意老版本的話,可以從光盤(或者鏡像文件)中讀取;

3、從光盤獲取

3.1 虛擬機中加載光盤
linux自有服務4.3.1

3.2 使用 # lsblk(list block devices)或者df -T 查看塊狀設備的信息

linux自有服務4.3.2

Name:名稱
Size:設備大小
Type:類型
MountPoint:掛載點
此界面類似于Windows 下的磁盤管理界面:
linux自有服務4.3.2.2

3.3 進入/run/media/root/CentOS 7 x86_64/Packages目錄

#/run/media/root/CentOS 7 x86_64/Packages

#ls

linux自有服務4.3.3.1


4、查詢某個軟件安裝情況

語法:# rpm -qa | grep 軟件名稱

選項:

-q:查詢,query

-a:全部,all

示例代碼:查詢firefox瀏覽器的安裝情況,已安裝

#rpm -qa |grep firefox
linux自有服務4.4.4.1

linux自有服務4.4.4.2


示例代碼:查詢qq軟件的安裝情況,未安裝

#rpm -qa |grep qq

linux自有服務4.5.1



5、卸載某個軟件

卸載某個軟件

語法:# rpm -e 軟件的名稱(建議寫完整的名稱,通過-qa 查詢)

案例:卸載火狐瀏覽器

#rpm -qa |grep firefox        首先查詢firefox軟件的完整名稱
firefox-45.7.0-2.el6.centos.x86_64

#rpm -e firefox-45.7.0-2.el6.centos.x86_64
linux自有服務4.5.1

卸載完成后,單擊firefox瀏覽器圖標,運行結果如下圖所示:
linux自有服務4.5.2


6、安裝某個軟件

命令:rpm

作用:管理rpm軟件包

語法:# rpm -ivh 軟件包完整路徑名稱

選項:

-i:install,安裝

-v:顯示進度條

-h:表示以"#"形式顯示進度條

示例代碼:將剛剛卸載的firefox火狐瀏覽器重新安裝(在DVD光盤1中)

用法:rpm -ivh 軟件包名稱
示例代碼:
#cd /run/media/root/CentOS\ 7\ x86_64/Packages/
進入光盤Packages目錄,里面存放了很多rpm的安裝包

#ll |grep firefox
查看Packages目錄下,包含firefox的安裝包

#rpm -ivh firefox-60.2.2-1.el7.centos.x86_64.rpm
使用rpm命令,安裝firefox軟件包

#rpm -qa |grep firefox
查詢是否安裝完成
linux自有服務4.6.1

安裝完成后,打開firefox瀏覽器
linux自有服務4.6.2

7、更新某個軟件

語法:# rpm -Uvh 完整的安裝包路徑

選項:

-U:upgrade,升級

-v:表示顯示進度條

-h:表示以#形式顯示進度條

這里我會提供給大家firefox的高版本的安裝包

firefox-60.8.0-1.el7.centos.x86_64.rpm    這個包是用來升級的

firefox-68.4.1-1.el7.centos.x86_64.rpm

用法:rpm -Uvh 軟件包名稱
示例代碼:
#rpm -qa |grep firefox
查詢當前firefox的版本

#ll
查看root目錄下,我們剛剛拷到虛機上的RPM安裝包的名稱

#rpm -Uvh firefox-60.8.0-1.el7.centos.x86_64.rpm
使用rpm命令,安裝60.8.0版本的軟件包

#rpm -qa |grep firefox
查詢升級后的firefox版本
linux自有服務4.7.1

8、rpm擴展

8.1依賴關系

一個軟件必須先有其他軟件才能運行,例如之前xmind啟動過程中提示的缺少DLL,稱之為依賴。

WAMP(Windows + Apache + MySQL + PHP)安裝前必須先安裝VC++ 2014 x86_64,這種情況就稱之為有依賴關系。

60.8.0的firefox可以更新成功

下面我們嘗試更新到68.4.1的版本

用法:rpm -Uvh 軟件包名稱

#rpm -Uvh firefox-68.4.1-1.el7.centos.x86_64.rpm
使用rpm命令,安裝68.4.1版本的軟件包

用法:rpm -Uvh 軟件包名稱
#rpm -Uvh firefox-68.4.1-1.el7.centos.x86_64.rpm
使用rpm命令,安裝68.4.1版本的軟件包

錯誤提示:

error:Failed dependencies:

提示安裝68版本的firefox需要依賴nspr4.21的版本,nss的3.44的版本,這就是我們說的依賴關系。

為了解決依賴關系的問題,有另外一個管理工具叫做yum,后面我們會講到。

8.2 查看文件所屬的包名(實用)

語法:# rpm -qf 需要查詢的文件路徑

選項:

-f:查詢文件所屬包

示例代碼:查詢/etc/ntp.conf 屬于哪個軟件包?

linux自有服務4.8.1

8.3查詢軟件安裝完成后,生成了哪些文件

語法:# rpm  -ql   需要查詢的軟件包名稱

#rpm -ql firefox

#rpm -ql openssh

特別說明:軟件安裝完成后,一共生成了以下幾類文件
配置文件類:/etc目錄
程序文件本身,二進制文件命令:/usr/sbin目錄
文檔手冊:/usr/share/doc或man目錄

9、擴展:光盤的掛載和解掛

① 解掛操作

命令:umount

語法:# umount 當前設備的掛載點(路徑)

例如:
#umount /run/media/root/CentOS\ 7\ x86_64/

linux自有服務4.9.1

② 掛載光盤

首先新建一個掛載點,然后使用mount命令進行掛在,掛載點可以理解為就是一個空目錄

命令:mount

語法:# mount  設備文件原始地址(/dev目錄)  要掛載的位置路徑(盤符)

設備原始地址:地址統一都在/dev 下,然后根據大小確定具體name 值,拼湊在一起組成原

始地址,例如當前:"/dev/sr0"

用法:mount 設備 掛載點
示例代碼:
#mkdir /mnt/dvd
新建一個目錄作為掛載點

#mount /dev/sr0 /mnt/dvd
將光驅設備/dev/sr0 掛載到 /mnt/dvd這個掛載點

#df -T
可以看到已經成功掛載
linux自有服務4.9.3
分享到:
在線咨詢 我要報名
和我們在線交談!