linux系統管理命令
linux系統管理命令
1.lsof:檢視程序開啟的檔案
該命令可以列舉系統中已經被開啟的檔案,可以根據檔案找到對應的程序資訊,同時也可以根據程序資訊找到程序開啟的檔案。
引數 | 說明 |
---|---|
-c 程序名 | 顯示指定的程序名開啟的檔案 |
-p 程序號 | 顯示指定程序號開啟的檔案 |
-u | 顯示指定使用者使用的檔案 |
-i | 通過監聽指定的協議,埠和主機,顯示符合條件的程序資訊 |
範例:
1、顯示使用檔案的程序
[15:37:39 root@centos7 ~]# lsof /var/log/messages COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rsyslogd 949 root 6w REG 8,2 90039 134327085 /var/log/messages
說明:如上所示,使用messages檔案的程序為rsyslogd程序。
COMMAND:程序的名稱;PID:程序號;USER:程序的所有者;FD:檔案描述符(0表示標準輸出,1表示標準輸入,2表示標準錯誤,u表示該檔案被開啟並處於/讀取/寫入模式,r表示改檔案被開啟並處於只讀模式,w表示該檔案被開啟並處於寫入模式);TYPE:檔案型別,REG為普通檔案;DEVICE:磁碟的名稱;SIZE/OFF:檔案的大小;NODE:索引節點;NAME:檔名。
2、顯示指定程序開啟的檔案,使用-c選項
[15:37:40 root@centos7 ~]# lsof -c rsyslogd COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rsyslogd 949 root cwd DIR 8,2 248 64 / rsyslogd 949 root rtd DIR 8,2 248 64 / rsyslogd 949 root txt REG 8,2 663976 67613869 /usr/sbin/rsyslogd rsyslogd 949 root mem REG 0,20 8388608 7753 /run/log/journal/bb43e178ab39427d9203c2d4e88722b5/system.journal ……
3、顯示指定程序號所開啟的檔案,使用-p選項
[15:39:39 root@centos7 ~]#lsof -p 949 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rsyslogd 949 root cwd DIR 8,2 248 64 / rsyslogd 949 root rtd DIR 8,2 248 64 / rsyslogd 949 root txt REG 8,2 663976 67613869 /usr/sbin/rsyslogd rsyslogd 949 root mem REG 0,20 8388608 7753 /run/log/journal/bb43e178ab39427d9203c2d4e88722b5/system.journal ……
4、顯示指定使用者使用的檔案,使用-u選項
[15:41:06 root@centos7 ~]#lsof -u root | more 10
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root cwd DIR 8,2 248 64 /
systemd 1 root rtd DIR 8,2 248 64 /
systemd 1 root txt REG 8,2 1628608 67521629 /usr/lib/systemd/systemd
systemd 1 root mem REG 8,2 20064 67172959 /usr/lib64/libuuid.so.1.
3.0
……
5、監聽指定的協議,埠號和主機,顯示符合條件的程序資訊
lsof -i [46] [protocol][@hostname][:service|port]
說明:
46:4代表IPv4,6代表IPv6。
protocol:表示傳輸協議,可以是TCP或者UDP。
hostname:表示主機名或者IP地址。
service:程序的服務名,如NFS,SSH等。
port:表示埠號,如HTTP服務預設的埠號為80,SSH服務預設的埠號為22。
[15:40:58 root@centos7 ~]# lsof -i :22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 948 root 3u IPv4 19250 0t0 TCP *:ssh (LISTEN)
sshd 948 root 4u IPv6 19259 0t0 TCP *:ssh (LISTEN)
sshd 5603 root 3u IPv4 88209 0t0 TCP centos7.localdomain:ssh->10.0.0.1:51585 (ESTABLISHED)
2.uptime:顯示系統的執行時間及負載
該命令可以輸出系統的當前時間,系統從開機到現在的執行時間,當前有多少使用者線上和系統平均負載等資訊。
範例:
顯示系統的執行時間和平均負載等資訊
[15:43:56 root@centos7 ~]#uptime
15:44:09 up 20:37, 2 users, load average: 0.06, 0.03, 0.05
系統時間 執行時長 當前登入使用者數 平均負載
3.free:檢視系統記憶體資訊
該命令可以顯示系統記憶體資訊,包括實體記憶體,虛擬記憶體,共享記憶體和系統快取等。
引數 說明
-m(常用) 以MB為單位顯示記憶體的使用情況
-h(常用) 以人類可讀的形式顯示記憶體的使用情況
-s(常用) 根據指定的間隔秒數持續顯示記憶體的使用情況
1、檢視系統記憶體
[15:44:09 root@centos7 ~]#free -m # 以MB為單位顯示記憶體的使用情況
total used free shared buff/cache available
Mem: 1980 197 1268 9 513 1604
Swap: 4095 0 4095
[15:47:13 root@centos7 ~]#free -h # 使用-h根據實際大小自動轉換為MB,KB單位
total used free shared buff/cache available
Mem: 1.9G 197M 1.2G 9.6M 513M 1.6G
Swap: 4.0G 0B 4.0G
說明:上面所示,系統真正的可用記憶體為537M,buffers表示寫入資料緩衝區,cache表示讀取資料快取區。
2、定時查詢記憶體
[15:47:21 root@centos7 ~]# free -h -s 10 #每十秒查詢一次
total used free shared buff/cache available
Mem: 1.9G 197M 1.2G 9.6M 513M 1.6G
Swap: 4.0G 0B 4.0G
total used free shared buff/cache available
Mem: 1.9G 197M 1.2G 9.6M 513M 1.6G
Swap: 4.0G 0B 4.0G
4.iftop:動態顯示網路介面流量資訊
該命令可用於監控TCP/IP連線,需要以root使用者執行,該命令在最小安裝包中不存在,需要額外安裝。
#安裝iftop
[15:48:55 root@centos7 ~]#yum install iftop -y
引數 | 說明 |
---|---|
-i(常用) | 指定監控的網路埠 |
-n(常用) | 不進行DNS解析 |
-N(常用) | 不將埠號解析成服務名 |
-B(常用) | 以位元組為單位顯示流量 |
-P(常用) | 顯示埠號 |
常用命令組合:iftop -nNBP
TX:傳送的流量;RX:接收的流量;TOTAL:總流量;Cum:執行iftop到目前為止的總流量;peak:流量峰值;rates:過去2s、10s、40s的平均流量。
命令說明:
-n:不進行DNS解析,顯示IP數字地址。
N:顯示數字形式的埠號
B:以位元組形式為單位
P:顯示埠號
5.vmstat:虛擬記憶體統計
該命令可以對作業系統的記憶體資訊,程序狀態,CPU活動等進行監視,但是隻能對系統的整體情況進行統計,無法對某個具體程序進行分析。
vmstat 【option】 【delay [count]】
常用引數為s,表示顯示記憶體相關統計資訊及所有的系統活動數量。
範例:
1、顯示虛擬記憶體的使用情況
[15:51:53 root@centos7 ~]#vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 1299336 2080 523720 0 0 2 3 17 26 0 0 100 0 0
procs 顯示程序相關資訊:
r :表示執行佇列中的程序數,如果長期大於伺服器cpu的個數,則說明cpu不夠用了;
b :表示等待資源的程序數(阻塞的程序數),比如等待I/O, 記憶體等,這列的值如果長時間大於1,則需要關注一下了;
memory 記憶體相關資訊:
swpd :虛擬記憶體已使用的大小,如果大於0,表示你的機器實體記憶體不足了 ;
free :空閒實體記憶體量(不含buffer和cache);
buf:記憶體中的buffers使用量;
cache :記憶體中的cache使用量;
swap 記憶體交換情況:
si :每秒從磁碟讀入虛擬記憶體的大小,如果這個值大於0,表示實體記憶體不夠用或者記憶體洩露了;
so :每秒虛擬記憶體寫入磁碟的大小,如果這個值大於0,同上;
io 磁碟使用情況:
bi :從塊裝置讀取資料的總量(讀磁碟);
bo: 從塊裝置寫入資料的總量(寫磁碟);
system 顯示採集間隔內發生的中斷數:
in :表示在某一時間間隔中觀測到的每秒裝置中斷數;
cs :表示每秒產生的上下文切換次數;
CPU 顯示cpu的使用狀態:
us :使用者程序 cpu消耗時間的百分比;
sy :核心(系統)程序cpu消耗時間百分比;
id :表示cpu處於空閒狀態的時間百分比;
wa :表示I/O等待時間百分比;
st :虛擬機器管理程式佔用時間百分比(一般都為0,不用關注);
注:以上所介紹的各個引數中,經常會關注r列,b列和wa列。IO部分的bi以及bo也是要經常參考的物件。如果磁碟io壓力很大時,這兩列的數值會比較高。另外當si, so兩列的數值比較高,並且在不斷變化時,說明記憶體不夠了,記憶體中的資料頻繁交換到交換分割槽中,這往往對系統性能影響極大。
2、檢視記憶體使用的詳細資訊
[15:52:52 root@centos7 ~]#vmstat -s
2027900 K total memory
202880 K used memory
414144 K active memory
100748 K inactive memory
1299220 K free memory
2080 K buffer memory
523720 K swap cache
4194300 K total swap
0 K used swap
……
6.mpstat:CPU資訊統計
該命令可以輸出CPU的一些統計資訊,可以檢視多CPU中每個計算核心的統計資料。
mpstat 【option】 【delay [count]】
-P選項可以用來指定CPU編號,如-P表示第一個CPU。
[15:54:16 root@centos7 ~]#mpstat
Linux 3.10.0-1127.el7.x86_64 (centos7.localdomain) 01/05/2021 _x86_64_ (2 CPU)
03:55:06 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
03:55:06 PM all 0.02 0.00 0.08 0.01 0.00 0.00 0.00 0.00 0.00 99.88
說明:
%usr 表示使用者程序所消耗的CPU時間百分比
%nice 表示修改過優先順序的程序佔用的 CPU 時間百分比
%sys 表示核心(系統)程序消耗的 CPU時間 百分比
%iowait 表示I/O等待佔用的的 CPU 時間百分比
%irq 表示硬中斷佔用的CPU時間百分比
%soft 表示軟中斷的 CPU 時間百分比
%steal 表示虛擬機器強制CPU等待的時間百分比
%guest 表示虛擬機器佔用CPU時間的百分比
%idle 顯示 CPU 的空閒狀態的時間百分比
%intr/s 顯示每秒 CPU 接收的中斷總數
7.iostat:I/O資訊統計
該命令主要對系統的磁碟I/O操作進行監視,輸出主要顯示磁碟讀寫操作的統計資訊,同時也會給出CPU的使用情況,該命令和vmstat一樣,只能對系統整體情況進行分析。
iostat [option] [interval[count]]
常用引數為-c:顯示CPU的使用情況;-d:顯示磁碟的使用情況。
[15:55:06 root@centos7 ~]# iostat
Linux 3.10.0-1127.el7.x86_64 (centos7.localdomain) 01/05/2021 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.02 0.00 0.08 0.01 0.00 99.88
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
scd0 0.00 0.01 0.00 1028 0
sda 0.21 3.14 5.00 235734 374692
avg-cpu: 總體cpu使用情況統計資訊,對於多核cpu,這裡為所有cpu的平均值
Device: 各磁碟裝置的IO統計資訊
對於cpu統計資訊一行,我們主要看iowait的值,它指示cpu用於等待io請求完成的時間。
Device中各列含義如下:
Device: 以sdX形式顯示的裝置名稱
tps: 每秒程序下發的IO讀、寫請求數量
Blk_read/s: 每秒讀扇區數量(一扇區為512bytes)
Blk_wrtn/s: 每秒寫扇區數量
Blk_read: 取樣時間間隔內讀扇區總數量
Blk_wrtn: 取樣時間間隔內寫扇區總數量
8.iotop:動態顯示磁碟的I/O統計資訊
該命令可以方便的檢視每個程序使用磁碟I/O的情況,需要使用root使用者執行,最小化系統中沒有安裝該命令,需要使用進行額外安裝。
#安裝iotop
yum install iotop -y
該命令的常用引數為-o:顯示正在使用I/O的程序或者執行緒,預設顯示所有;-p:只顯示指定的PID的資訊。
15:58:15 root@centos7 ~]#iotop
Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd --switched-~em --deserialize 22
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
4 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0H]
6 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
……
說明:
Total DISK READ:總的磁碟讀取速度;Total DISK WRITE:總的磁碟寫入速度;TID:程序的Pid值;PRIO:優先順序;USER:使用者;DISK READ:磁碟讀取速度;DISK WRITE:磁碟寫入速度;SWAPIN:從swap分割槽讀取資料佔用的百分比;IO:I/O佔用的百分比;COMMAND:消耗I/O的程序名。
9.sar:收集系統資訊
該命令可以全面的獲取系統的CPU,執行佇列,磁碟I/O,分頁(交換區),記憶體、CPU中斷和網路等效能資料。
sar [option] [interval [count]]
引數 | 說明 |
---|---|
-u(常用) | 顯示系統所有CPU在取樣時間內的負載狀態 |
-d(常用) | 顯示系統所有硬碟裝置在取樣時間內的使用狀況 |
-r(常用) | 顯示在取樣時間內系統記憶體的使用狀況 |
-b(常用) | 顯示在取樣時間內緩衝區的使用情況 |
-q(常用) | 顯示執行佇列的大小,它與系統當時的平均負載相同 |
-n(常用) | 顯示網路執行狀況 |
範例:
1、檢視系統CPU的整體負載情況
[15:58:34 root@centos7 ~]# sar -u 2 3
Linux 3.10.0-1127.el7.x86_64 (centos7.localdomain) 01/05/2021 _x86_64_ (2 CPU)
04:00:07 PM CPU %user %nice %system %iowait %steal %idle
04:00:09 PM all 0.00 0.00 0.00 0.00 0.00 100.00
04:00:11 PM all 0.00 0.00 0.25 0.00 0.00 99.75
04:00:13 PM all 0.00 0.00 0.00 0.00 0.00 100.00
Average: all 0.00 0.00 0.08 0.00 0.00 99.92
說明:
%user 表示使用者程序所消耗的CPU時間百分比
%nice 表示修改過優先順序的程序佔用的 CPU 時間百分比
%system 表示核心(系統)程序消耗的 CPU時間 百分比
%iowait 表示I/O等待佔用的的 CPU 時間百分比
%steal 表示虛擬機器強制CPU等待的時間百分比
%idle 顯示 CPU 處於空閒狀態的時間百分比
2、顯示執行佇列的大小
[16:00:13 root@centos7 ~]#sar -q 2 3
Linux 3.10.0-1127.el7.x86_64 (centos7.localdomain) 01/05/2021 _x86_64_ (2 CPU)
04:01:57 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
04:01:59 PM 0 133 0.00 0.01 0.05 0
04:02:01 PM 0 133 0.00 0.01 0.05 0
04:02:03 PM 0 133 0.00 0.01 0.05 0
Average: 0 133 0.00 0.01 0.05 0
說明:
runq-sz 表示等待執行的程序數
plist-sz 表示程序列表中程序和執行緒的數量
ldavg-1 表示最後一分鐘的系統平均負載
ldavg-5 表示過去5分鐘的系統平均負載
ldavg-15 表示過去15分鐘的系統平均負載
3、顯示系統的記憶體使用情況
[16:03:39 root@centos7 ~]#sar -r 2 3
Linux 3.10.0-1127.el7.x86_64 (centos7.localdomain) 01/05/2021 _x86_64_ (2 CPU)
04:05:03 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
04:05:05 PM 1299356 728544 35.93 2080 442544 277976 4.47 414260 100656 0
04:05:07 PM 1299356 728544 35.93 2080 442544 277976 4.47 414292 100656 0
04:05:09 PM 1299356 728544 35.93 2080 442544 277976 4.47 414292 100656 0
Average: 1299356 728544 35.93 2080 442544 277976 4.47 414281 100656 0
說明:
kbmemfree 表示空閒的實體記憶體量
kbmemused 表示使用中的實體記憶體量
%memused 表示實體記憶體的使用率
kbbuffers 核心中作為緩衝區使用的實體記憶體容量
kbcached 核心中作為快取區使用的實體記憶體容量
kbcommit 應用程式當前使用的記憶體大小
%commit 應用程式當前使用的記憶體大小佔總的記憶體大小的百分比
4、顯示緩衝區的使用情況
[16:05:09 root@centos7 ~]#sar -b 2 3
Linux 3.10.0-1127.el7.x86_64 (centos7.localdomain) 01/05/2021 _x86_64_ (2 CPU)
04:06:01 PM tps rtps wtps bread/s bwrtn/s
04:06:03 PM 0.00 0.00 0.00 0.00 0.00
04:06:05 PM 0.00 0.00 0.00 0.00 0.00
04:06:07 PM 1.00 0.00 1.00 0.00 1.50
Average: 0.33 0.00 0.33 0.00 0.50
說明:
tps 表示每秒鐘物理裝置的IO傳輸總量
rtps 表示每秒鐘從物理裝置讀入的數量總量
wtps 表示每秒鐘向物理裝置寫入的資料總量
bread/s 表示每秒鐘從物理裝置讀入的資料量,塊/s
bwrtn/s 表示每秒鐘向物理裝置寫入的資料量,塊/s
5、顯示網路的執行狀態
[16:06:07 root@centos7 ~]#sar -n DEV 2 3
Linux 3.10.0-1127.el7.x86_64 (centos7.localdomain) 01/05/2021 _x86_64_ (2 CPU)
04:06:58 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
04:07:00 PM ens37 0.00 0.00 0.00 0.00 0.00 0.00 0.00
04:07:00 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
04:07:00 PM ens33 0.50 0.50 0.03 0.08 0.00 0.00 0.00
04:07:00 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
04:07:02 PM ens37 0.00 0.00 0.00 0.00 0.00 0.00 0.00
04:07:02 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
04:07:02 PM ens33 1.00 1.00 0.06 0.26 0.00 0.00 0.00
04:07:02 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
04:07:04 PM ens37 0.00 0.00 0.00 0.00 0.00 0.00 0.00
04:07:04 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
04:07:04 PM ens33 0.50 0.50 0.03 0.23 0.00 0.00 0.00
Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
Average: ens37 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: ens33 0.66 0.66 0.04 0.19 0.00 0.00 0.00
說明:
IFACE 表示網路介面
rxpck/s 每秒鐘接收的資料包
txpck/s 每秒鐘傳送的資料包
rxkB/s 每秒鐘接收的位元組數
txkB/s 每秒鐘傳送的位元組數
rxcmp/s 每秒鐘接收的壓縮資料包
txcmp/s 每沒中傳送的壓縮資料包
rxmcst/s 每秒鐘接收的多播資料包
6、檢視系統磁碟的讀寫效能
[16:07:04 root@centos7 ~]#sar -d 2 3
Linux 3.10.0-1127.el7.x86_64 (centos7.localdomain) 01/05/2021 _x86_64_ (2 CPU)
04:07:57 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
04:07:59 PM dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
04:07:59 PM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
04:07:59 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
04:08:01 PM dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
04:08:01 PM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
04:08:01 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
04:08:03 PM dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
04:08:03 PM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
Average: dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
說明:
DEV 表示磁碟的裝置名稱
tps 表示裝置每秒的傳輸次數
rd_sec/s 表示每秒從裝置中讀取的扇區數
wr_sec/s 表示每秒寫入裝置的扇區數
avgrq-sz 表示平均每次IO操作的資料大小
avgqu-sz 表示平均I/O佇列長度
await 表示平均每次I/O操作的等待時間(毫秒)
svctm 表示每次I/O操作的服務時間(毫秒)
%util 表示每秒用於I/O操作的百分比
10.pidstat:監控系統資源
該命令主要用於監控全部或者指定整合佔用系統資源的情況,如CPU,記憶體,IO等。
常用引數為-u:顯示各個程序的CPU使用統計;-r:顯示各個程序的記憶體使用統計;-d:顯示各個程序的IO使用情況。
[16:08:03 root@centos7 ~]#pidstat -u 5 1
Linux 3.10.0-1127.el7.x86_64 (centos7.localdomain) 01/05/2021 _x86_64_ (2 CPU)
04:09:11 PM UID PID %usr %system %guest %CPU CPU Command
04:09:16 PM 0 5654 0.00 0.20 0.00 0.20 1 kworker/1:1
Average: UID PID %usr %system %guest %CPU CPU Command
Average: 0 5654 0.00 0.20 0.00 0.20 - kworker/1:1
說明:
PID:程序ID
%usr:程序在使用者空間佔用CPU的百分比
%system:程序在核心空間佔用CPU的百分比
%guest:程序在虛擬機器佔用CPU的百分比
%CPU:程序佔用的CPU的百分比
11.chkconfig:管理開機服務
該命令為linux系統中的系統服務管理工具,可以查詢和更新不同的執行等級下系統服務的啟動狀態。
選項 | 說明 |
---|---|
--list(常用) | 顯示不同執行級別下服務的啟動狀態 |
--add(常用) | 新增一個系統服務 |
--del(常用) | 刪除一個系統服務 |
--level(常用) | 指定執行級別 |
範例:
1、檢視系統的服務狀態
[16:08:03 root@centos7 ~]# chkconfig --list
NetworkManager 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
abrt-ccpp 0:關閉 1:關閉 2:關閉 3:啟用 4:關閉 5:啟用 6:關閉
abrtd 0:關閉 1:關閉 2:關閉 3:啟用 4:關閉 5:啟用 6:關閉
關於執行級別的說明:0表示關機;1表示單使用者模式;2表示沒有網路的多使用者模式;3表示完全的多使用者模式;4表示沒有使用的級別;5表示圖形介面多使用者模式;6表示重啟。
2、管理系統服務
[16:08:03 root@centos7 ~]# chkconfig --list sshd # 顯示sshd不同執行級別下服務的啟動狀態
sshd 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
[16:08:03 root@centos7 ~]# chkconfig sshd off # 關閉2 3 4 5級別下開機自啟動
[16:08:03 root@centos7 ~]# chkconfig --list sshd
sshd 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉
[16:08:03 root@centos7 ~]# chkconfig sshd on # 開啟2 3 4 5級別下開機自啟動
[16:08:03 root@centos7 ~]# chkconfig --list sshd
sshd 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
[16:08:03 root@centos7 ~]# chkconfig sshd --level 5 off # 關閉sshd服務5級別開機自啟動
[16:08:03 root@centos7 ~]# chkconfig --list sshd
sshd 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:關閉 6:關閉
[16:08:03 root@centos7 ~]# chkconfig sshd --level 5 on # 開啟sshd服務5級別開機自啟動
[16:08:03 root@centos7 ~]# chkconfig --list sshd
sshd 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
3、瞭解chkconfig的原理
chkconfig是在runlevel級別的/etc/rc.d/rc*.d目錄中將對應服務做一個以S或K開頭的軟連結。
[16:08:03 root@centos7 ~]# ls -l /etc/rc.d/rc3.d/ | grep sysstat # 執行級別3的目錄rc3.d檢視sysstat
lrwxrwxrwx. 1 root root 17 10月 22 04:18 S01sysstat -> ../init.d/sysstat # S是開啟
[16:08:03 root@centos7 ~]# chkconfig --list sysstat
sysstat 0:關閉 1:啟用 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
[16:08:03 root@centos7 ~]# chkconfig sysstat off
[16:08:03 root@centos7 ~]# chkconfig --list sysstat
sysstat 0:關閉 1:啟用 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉
[16:08:03 root@centos7 ~]# ls -l /etc/rc.d/rc3.d/ | grep sysstat
lrwxrwxrwx. 1 root root 17 4月 12 09:27 K99sysstat -> ../init.d/sysstat # K是關閉
12.rpm:RPM包管理器
幾乎所有的linux發行版本都是使用rpm命令進行管理,安裝,解除安裝和更新軟體。rpm命令包含了安裝,解除安裝,升級,查詢和驗證等功能。
選項 | 說明 |
---|---|
-q(常用) | 查詢軟體包 |
-p(常用) | 後接以".rpm"為字尾的軟體包 |
-i(常用) | 如果配合-qp,則表示顯示軟體包的概要資訊;如果是安裝包,則表示安裝 |
-l(常用) | 顯示軟體包中的所有檔案列表 |
-R(常用) | 顯示軟體包的依賴環境 |
-v(常用) | 顯示詳細資訊 |
-h(常用) | 用“#”顯示安裝進度條 |
-a(常用) | 與-q引數搭配使用,用於查詢所有的軟體包 |
-e(常用) | 解除安裝軟體包 |
-f(常用) | 查詢檔案或命令屬於哪個軟體包 |
13.yum:自動化RPM包管理工具
yum主要用於自動安裝,升級rpm軟體包,它能自動查詢並解決rpm包質檢的依賴關係。
yum命令的常用引數為-y,表示確認操作,下面以安裝httpd軟體包為例,給出常用的yum命令。
命令 | 說明 |
---|---|
yum install httpd | 安裝httpd軟體包 |
yum update httpd | 更新httpd軟體包 |
yum list httpd | 列出軟體包 |
yum search httpd | 如果不記得軟體包的確切名稱,可以使用該命令搜尋 |
yum info httpd | 獲取軟體包的資訊,需要在安裝軟體包之前知道它的資訊 |
yum deplist httpd | 檢視軟體包的依賴 |
yum clean all | 清理所有YUM的快取內容 |
yum history | 檢視yum的歷史記錄 |
yum check-update | 檢查是否有可用的更新rpm軟體包 |
yum list installed | 列出所有已安裝的軟體 |
yum list | 列出所有可用軟體 |
範例:
建立區域網的基於Base的私有yum源
#倉庫伺服器配置(光碟base倉庫)
yum -y install httpd #實現網路共享
systemctl enable --now httpd #啟動
mkdir /var/www/html/centos/8 -pv #建一個資料夾
mount /dev/sr0 /mnt/ #掛光碟到此目錄
systemctl enable --now httpd #啟動此包
cp -a /mnt/* /var/www/html/centos/8 #將光碟拷到硬碟上
#yum客戶端配置(校驗是否能用)
vim /etc/yum.repos.d/test.repo #建立一個測試用的
[BaseOS] #base倉庫
name=BaseOS
baseurl=http://10.0.0.8/centos/8/BaseOS #路徑
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosoffcial #鑰匙
[AppStream] #appstream倉庫
name=[AppStream]
baseurl=http://10.0.0.8/centos/8/AppStream #路徑
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosoffcial #鑰匙