Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

typora-copy-images-to: ./media

自有服務(wù),即不需要用戶獨(dú)立去安裝的軟件的服務(wù),而是當(dāng)系統(tǒng)安裝好之后就可以直接使用的服務(wù)(內(nèi)置)

學(xué)習(xí)目標(biāo)

1、了解systemctl命令用途

2、掌握使用systemctl開(kāi)啟,關(guān)閉,重啟服務(wù)

3、了解常見(jiàn)自有服務(wù)NTPd,firewalld,crond的作用

4、掌握ntpdate時(shí)間同步原理與實(shí)現(xiàn)

5、掌握防火墻的相關(guān)操作(添加和刪除簡(jiǎn)單規(guī)則,開(kāi)啟,關(guān)閉防火墻)

6、了解源碼包和二進(jìn)制包的區(qū)別

7、掌握rpm包的卸載、安裝以及更新操作

8、了解計(jì)劃任務(wù)的作用

9、掌握計(jì)劃任務(wù)的編輯

一、自有服務(wù)概述

? 服務(wù)是一些特定的進(jìn)程,自有服務(wù)就是系統(tǒng)開(kāi)機(jī)后就自動(dòng)運(yùn)行的一些進(jìn)程,一旦客戶發(fā)出請(qǐng)求,這些進(jìn)程就自動(dòng)為他們提供服務(wù),windows系統(tǒng)中,把這些自動(dòng)運(yùn)行的進(jìn)程,稱為”服務(wù)“ ? 舉例:當(dāng)我們使用SSH客戶端軟件連接linux的時(shí)候,我們的服務(wù)器為什么會(huì)對(duì)連接做出響應(yīng)?是因?yàn)镾SH服務(wù)開(kāi)機(jī)就自動(dòng)運(yùn)行了。

? 所謂自有服務(wù),簡(jiǎn)單來(lái)說(shuō),可以理解為L(zhǎng)inux系統(tǒng)開(kāi)機(jī)自動(dòng)運(yùn)行的服務(wù)(程序)。

? 我們?nèi)绾喂芾磉@些自有服務(wù)呢?

二、systemctl管理服務(wù)命令

? 在centos7之前,通過(guò)service 和 chkconfig兩個(gè)命令來(lái)管理服務(wù)

service: 負(fù)責(zé)啟動(dòng),停止服務(wù),顯示服務(wù)狀態(tài)

chkconfig: 指定服務(wù)是否開(kāi)機(jī)啟動(dòng)

? 從Centos7開(kāi)始,統(tǒng)一使用systemctl來(lái)管理服務(wù), systemctl同時(shí)具有service和chkconfig命令的功能。

1、顯示服務(wù)

命令:systemctl

作用:管理服務(wù)

語(yǔ)法:#systemctl [選項(xiàng)]

選項(xiàng):list-units –type service –all:列出所有服務(wù)(包含啟動(dòng)的和沒(méi)啟動(dòng)的)

? list-units –type service:列出所有啟動(dòng)的服務(wù)

用法一:systemctl list-units --type service --all 不加具體服務(wù)名示例代碼:#systemctl list-units --type service --all含義:列出所有服務(wù),包括已運(yùn)行的和沒(méi)有運(yùn)行的空格可以翻頁(yè),q退出

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

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

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

2、查看啟動(dòng)和停止服務(wù)

命令:systemctl

作用:管理服務(wù)

語(yǔ)法:#systemctl [選項(xiàng)] 服務(wù)名

選項(xiàng): status:檢查指定服務(wù)的運(yùn)行狀況

? start:?jiǎn)?dòng)指定服務(wù)

? stop:停止指定服務(wù)

? restart:重啟指定服務(wù)

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

用法三:systemctl 選項(xiàng) 服務(wù)名示例代碼:#systemctl status crond含義:查看crond服務(wù)的狀態(tài)

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

Active:active(running) 表示當(dāng)前crond服務(wù)是運(yùn)行狀態(tài)。

用法四:systemctl 選項(xiàng) 服務(wù)名示例代碼:#systemctl stop crond含義:停止crond服務(wù)

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

Inactive,表示crond服務(wù)當(dāng)前是停止?fàn)顟B(tài)

用法五:systemctl 選項(xiàng) 服務(wù)名示例代碼:#systemctl start crond含義:?jiǎn)?dòng)crond服務(wù)

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

用法六:systemctl 選項(xiàng) 服務(wù)名示例代碼:#systemctl restart crond含義:重啟crond服務(wù)#systemctl reload crond含義:重新加載crond服務(wù)配置文件

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

3、服務(wù)持久化

? 所謂服務(wù)持久化,就是服務(wù)在開(kāi)機(jī)的時(shí)候,是否自動(dòng)啟動(dòng)。

命令:systemctl

作用:管理服務(wù)

語(yǔ)法:#systemctl [選項(xiàng)] 服務(wù)名

選項(xiàng): enable:指定服務(wù)開(kāi)機(jī)自動(dòng)啟動(dòng)

? disable:取消服務(wù)開(kāi)機(jī)自動(dòng)啟動(dòng)

用法七:systemctl 選項(xiàng) 服務(wù)名示例代碼:#systemctl disable crond含義:取消crond服務(wù)開(kāi)機(jī)啟動(dòng)

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

用法八:systemctl 選項(xiàng) 服務(wù)名示例代碼:#systemctl disable crond含義:指定crond服務(wù)開(kāi)機(jī)啟動(dòng)

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

systemctl參數(shù)總結(jié)

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

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

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

1、ntp時(shí)間同步服務(wù)

? NTP是網(wǎng)絡(luò)時(shí)間協(xié)議(Network Time Protocol),它是用來(lái)同步網(wǎng)絡(luò)中各個(gè)計(jì)算機(jī)的時(shí)間的協(xié)議。

工作場(chǎng)景:

? 公司開(kāi)發(fā)了一個(gè)電商網(wǎng)站,由于訪問(wèn)量很大,網(wǎng)站后端由100臺(tái)服務(wù)器組成集群。50臺(tái)負(fù)責(zé)接收訂單,50臺(tái)負(fù)責(zé)安排發(fā)貨,接收訂單的服務(wù)器需要記錄用戶下訂單的具體時(shí)間,把數(shù)據(jù)傳給負(fù)責(zé)發(fā)貨的服務(wù)器,由于100臺(tái)服務(wù)器時(shí)間各不相同,記錄的時(shí)間經(jīng)常不一致,甚至?xí)霈F(xiàn)下單時(shí)間是明天,發(fā)貨時(shí)間是昨天的情況。

1)NTP同步服務(wù)器原理

? 標(biāo)準(zhǔn)時(shí)間是哪里來(lái)的?

? 現(xiàn)在的標(biāo)準(zhǔn)時(shí)間是由原子鐘報(bào)時(shí)的國(guó)際標(biāo)準(zhǔn)時(shí)間UTC(Universal Time Coordinated,世界協(xié)調(diào)時(shí)),所以NTP獲得UTC的時(shí)間來(lái)源可以是原子鐘、天文臺(tái)、衛(wèi)星,也可以從Internet上獲取。

? 在NTP中,定義了時(shí)間按照服務(wù)器的等級(jí)傳播,Stratum層的總數(shù)限制在15以內(nèi)

? 工作中,==通常我們會(huì)直接使用各個(gè)組織提供的,現(xiàn)成的NTP服務(wù)器==

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

2)到哪里去找NPT服務(wù)器

? NTP授時(shí)網(wǎng)站:http://www.ntp.org.cn/pool.php

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

3)時(shí)間同步操作

同步服務(wù)器時(shí)間方式有2 個(gè):一次性同步手動(dòng)同步、通過(guò)服務(wù)自動(dòng)同步。

手動(dòng)同步

用法一:ntpdate 時(shí)間服務(wù)器IP示例代碼:#ntpdate 120.25.108.11含義:從服務(wù)器120.25.108.11同步標(biāo)準(zhǔn)網(wǎng)絡(luò)時(shí)間到服務(wù)器(120.25.108.11服務(wù)器由阿里云提供,可以從http://www.ntp.org.cn/pool.php網(wǎng)站獲?。┳⒁猓簭木W(wǎng)絡(luò)同步時(shí)間,要確保自己的服務(wù)器可以訪問(wèn)互聯(lián)網(wǎng)

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

錯(cuò)誤信息:no servers can be used

含義:服務(wù)器不可用,這里的服務(wù)器是指網(wǎng)絡(luò)上的時(shí)間服務(wù)器,不可用,不代表是對(duì)方服務(wù)器有問(wèn)題,也有可能是你自己的服務(wù)器網(wǎng)絡(luò)不通,無(wú)法連接到網(wǎng)絡(luò)上的時(shí)間服務(wù)器。

自動(dòng)同步

用法二:?jiǎn)?dòng)ntpd服務(wù),并配置為開(kāi)機(jī)啟動(dòng)示例代碼:#systemctl start ntpd#systemctl enable ntpd含義:?jiǎn)?dòng)ntpd服務(wù),并配置為開(kāi)機(jī)啟動(dòng),服務(wù)啟動(dòng)后,系統(tǒng)會(huì)自動(dòng)同步網(wǎng)絡(luò)時(shí)間注意:從網(wǎng)絡(luò)同步時(shí)間,要確保自己的服務(wù)器可以訪問(wèn)互聯(lián)網(wǎng)

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

問(wèn)題1:?jiǎn)?dòng)ntpd服務(wù)后,是不是時(shí)間就自動(dòng)同步了?

啟動(dòng)后就自動(dòng)同步了

問(wèn)題2:需不需要讓ntpd服務(wù),開(kāi)機(jī)自動(dòng)運(yùn)行?

需要

ntpd服務(wù)配置文件位置 /etc/ntp.conf

2、firewalld防火墻

1)什么是防火墻

防火墻:防范一些網(wǎng)絡(luò)攻擊。有軟件防火墻、硬件防火墻之分。

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

防火墻選擇讓正常請(qǐng)求通過(guò),從而保證網(wǎng)絡(luò)安全性。

Windows防火墻:

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

2)傳統(tǒng)Linux防火墻

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

3、firewalld防火墻的概念

1)區(qū)域

CentOS6x中防火墻叫做iptables

CentOS7.x 中默認(rèn)使用的防火墻是firewalld

? firewalld增加了區(qū)域的概念,所謂區(qū)域是指,firewalld預(yù)先準(zhǔn)備了幾套防火墻策略的集合,類似于策略的模板,用戶可以根據(jù)需求選擇區(qū)域。

常見(jiàn)區(qū)域及相應(yīng)策略規(guī)則

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

2)運(yùn)行模式和永久模式

運(yùn)行模式:此模式下,配置的防火墻策略立即生效,但是不寫(xiě)入配置文件

永久模式:此模式下,配置的防火墻策略寫(xiě)入配置文件,但是需要reload重新加載才能生效。

==firewall默認(rèn)采用運(yùn)行模式==

4、firewalld防火墻的配置

1)查看,開(kāi)啟和停止firewalld服務(wù)

命令:systemctl

作用:管理服務(wù)

語(yǔ)法:#systemctl [選項(xiàng)] firewalld

選項(xiàng): status:檢查指定服務(wù)的運(yùn)行狀況

? start:?jiǎn)?dòng)指定服務(wù)

? stop:停止指定服務(wù)

? restart:重啟指定服務(wù)

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

? 使用systemctl來(lái)管理firewalld的服務(wù),具體命令前面已經(jīng)講過(guò),只是服務(wù)名換成了firewalld,這里不再贅述

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

2) 管理firewall配置

命令:firewall-cmd

作用:管理firewall具體配置

語(yǔ)法:#firewall-cmd [參數(shù)選項(xiàng)1] ….[參數(shù)選項(xiàng)n]

常用選項(xiàng):

①查看默認(rèn)使用的區(qū)域

用法一:firewall-cmd 選項(xiàng)示例代碼:#firewall-cmd --get-default-zone含義:查看默認(rèn)使用區(qū)域,當(dāng)前默認(rèn)使用區(qū)域?yàn)閜ublic

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

②查看所有可用區(qū)域

用法二:firewall-cmd 選項(xiàng)示例代碼:#firewall-cmd --get-zones含義:查看所有可用區(qū)域

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

③列出當(dāng)前使用區(qū)域配置

用法三:firewall-cmd 選項(xiàng)示例代碼:#firewall-cmd --list-all含義:查看所有可用區(qū)域

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

④列出所有區(qū)域的配置

用法四:firewall-cmd 選項(xiàng)示例代碼:#firewall-cmd --list-all-zones含義:查看所有可用區(qū)域

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

⑤添加允許通過(guò)的服務(wù)或端口

用法五:firewall-cmd 選項(xiàng)示例代碼:#firewall-cmd --zone=public --add-port=1024/tcp含義:在public區(qū)域,添加允許tcp協(xié)議的1024端口通過(guò)的規(guī)則#firewall-cmd --zone=public --add-service=ftp含義:在public區(qū)域,添加允許ftp服務(wù)通過(guò)的規(guī)則

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

⑥去掉允許通過(guò)的服務(wù)或端口

用法五:firewall-cmd 選項(xiàng)示例代碼:#firewall-cmd --zone=public --remove-port=1024/tcp含義:在public區(qū)域,去掉允許tcp協(xié)議的1024端口通過(guò)的規(guī)則#firewall-cmd --zone=public --remove-service=ftp含義:在public區(qū)域,去掉允許ftp服務(wù)通過(guò)的規(guī)則

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

⑦永久模式參數(shù)permaent

用法七:firewall-cmd 選項(xiàng)示例代碼:#firewall-cmd --permanent --zone=public --add-port=1024/tcp含義:在public區(qū)域,使用permanent參數(shù),永久添加允許1024端口通過(guò)的規(guī)則

⑧重新加載配置reload

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

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

5、計(jì)劃任務(wù)crontab

1)計(jì)劃任務(wù)的作用

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

2)查看計(jì)劃任務(wù)

==語(yǔ)法:# crontab 選項(xiàng)==

常用選項(xiàng):

==-l:list,列出指定用戶的計(jì)劃任務(wù)列表==

==-e:edit,編輯指定用戶的計(jì)劃任務(wù)列表,簡(jiǎn)單來(lái)說(shuō),計(jì)劃任務(wù)就是一個(gè)文件==

-u:user,指定的用戶名,如果不指定,則表示當(dāng)前用戶

-r:remove,刪除指定用戶的計(jì)劃任務(wù)列表

示例代碼:列出當(dāng)前用戶的計(jì)劃任務(wù)列表

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

上述的提示,代表 root 用戶沒(méi)有計(jì)劃任務(wù)需要去做。

3)編輯計(jì)劃任務(wù)(重點(diǎn))

進(jìn)入計(jì)劃任務(wù)編輯文件

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

打開(kāi)計(jì)劃任務(wù)編輯文件后,可以在此文件中編寫(xiě)我們自定義的計(jì)劃任務(wù):

計(jì)劃任務(wù)的規(guī)則語(yǔ)法格式,以行為單位,一行則為一個(gè)計(jì)劃:

==分 時(shí) 日 月 周 需要執(zhí)行的命令==

例如:0 0 * * * reboot,代表每天0時(shí)0分執(zhí)行reboot指令。

取值范圍(常識(shí)):分:0~59時(shí):0~23日:1~31月:1~12周:0~7,0 和 7 表示星期天四個(gè)符號(hào):*:表示取值范圍中的每一個(gè)數(shù)字-:做連續(xù)區(qū)間表達(dá)式的,要想表示1~7,則可以寫(xiě)成:1-7/:表示每多少個(gè),例如:想每 10 分鐘一次,則可以在分的位置寫(xiě):*/10,:表示多個(gè)取值,比如想在 1 點(diǎn),2 點(diǎn) 6 點(diǎn)執(zhí)行,則可以在時(shí)的位置寫(xiě):1,2,6

特別補(bǔ)充:在Linux系統(tǒng)中,有些命令不能直接在計(jì)劃任務(wù)中使用,使用后,其也不會(huì)生效。如useradd命令。如果想讓其生效必須使用完整路徑。

問(wèn)題:如何查詢一個(gè)命令的真實(shí)路徑在哪個(gè)位置?

答:使用whereis 命令名稱

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

4)幾個(gè)小案例

問(wèn)題1:每月1、10、22 日的4:45 重啟network 服務(wù)

問(wèn)題2:每周六、周日的1:10 重啟network 服務(wù)

問(wèn)題3:每天18:00 至23:00 之間每隔30 分鐘重啟network 服務(wù)

問(wèn)題4:每隔兩天的上午8 點(diǎn)到11 點(diǎn)的第3 和第15 分鐘執(zhí)行一次重啟

分時(shí)日月周 命令或服務(wù)

問(wèn)題1:45 4 1,10,22 * * service network restart

問(wèn)題2:10 1 * * 6,7 service network restart

問(wèn)題3:*/30 18-23 * * * service network restart

問(wèn)題4:3,15 8-11 */2 * * reboot

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

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

在末行模式下輸入:wq保存并退出,使用tail -f查看readme.txt動(dòng)態(tài)變化

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

注意:在計(jì)劃任務(wù)中,默認(rèn)最小單位就是分,不能再小了。如果需要做到秒級(jí)別則需要配合研發(fā)相關(guān)代碼。

5)擴(kuò)展

① crontab 權(quán)限問(wèn)題

crontab是任何用戶都可以創(chuàng)建的計(jì)劃任務(wù),但是超級(jí)管理員可以通過(guò)配置來(lái)設(shè)置某些用戶不允許設(shè)置計(jì)劃任務(wù) 。

==黑名單==配置文件位于:/etc/cron.deny 里面寫(xiě)用戶名,一行只能寫(xiě)一個(gè)

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

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

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

==白名單==還有一個(gè)配置文件

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

注意:白名單優(yōu)先級(jí)高于黑名單,如果一個(gè)用戶同時(shí)存在兩個(gè)名單文件中,則會(huì)被默認(rèn)允許創(chuàng)建計(jì)劃任務(wù)。

② 查看計(jì)劃任務(wù)文件保存路徑

問(wèn)題:計(jì)劃任務(wù)文件具體保存在哪里呢?

答:/var/spool/cron/用戶名文件中,如果使用root用戶編輯計(jì)劃任務(wù),則用戶文件名為root

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

③ 查看計(jì)劃任務(wù)日志信息

問(wèn)題:在實(shí)際應(yīng)用中,我們?nèi)绾尾榭炊〞r(shí)任務(wù)運(yùn)行情況?

答:通過(guò)計(jì)劃任務(wù)日志,日志文件位于/var/log/cron

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

四、Linux軟件包

1、軟件包概述

? 這是什么?

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

? Linux下也有很多可以安裝的軟件,而這些軟件的安裝包可細(xì)分為兩種,分別是源碼包二進(jìn)制包。

1)源碼包

? 源碼包就是一大堆源代碼程序,是由程序員按照特定的格式和語(yǔ)法編寫(xiě)出來(lái)的。計(jì)算機(jī)只能識(shí)別機(jī)器語(yǔ)言,也就是二進(jìn)制語(yǔ)言,所以源碼包安裝之前需要編譯。

? 編譯過(guò)程耗時(shí)較長(zhǎng) ? 大多數(shù)用戶不懂開(kāi)發(fā),編譯過(guò)程中可能會(huì)有各種錯(cuò)誤,用戶無(wú)力解決。

? 為了解決使用源碼包安裝的問(wèn)題,Linux 軟件包的安裝出現(xiàn)了使用二進(jìn)制包的安裝方式。

2)二進(jìn)制包

? 二進(jìn)制包,也就是源碼包經(jīng)過(guò)成功編譯之后產(chǎn)生的包。

? 二進(jìn)制包是 Linux 下默認(rèn)的軟件安裝包,目前主要有以下 2 大主流的二進(jìn)制包管理系統(tǒng):

  • ==rpm 包==管理系統(tǒng):功能強(qiáng)大,安裝、升級(jí)、査詢和卸載非常簡(jiǎn)單方便,因此很多 Linux 發(fā)行版都默認(rèn)使用此機(jī)制作為軟件安裝的管理方式,例如 Fedora、==CentOS==、SuSE 等。
  • DPKG 包管理系統(tǒng):由 Debian Linux 所開(kāi)發(fā)的包管理機(jī)制,通過(guò) DPKG 包,Debian Linux 就可以進(jìn)行軟件包管理,主要應(yīng)用在 Debian 和 Ubuntu 中。

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

? 作用:rpm 的作用類似于豌豆莢,華為應(yīng)用市場(chǎng),App Store,主要作用是對(duì)linux 服務(wù)器上的軟件包進(jìn)行對(duì)應(yīng)管理操作,管理分為:查詢、卸載、安裝/更新。

2、如何獲取rpm包

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

軟件包的獲得方式:

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

b. 不介意老版本的話,可以從光盤(pán)(或者鏡像文件)中讀?。?/p>

3、從光盤(pán)獲取

3.1 虛擬機(jī)中加載光盤(pán)

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

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

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

Name:名稱Size:設(shè)備大小Type:類型mountPoint:掛載點(diǎn)此界面類似于Windows 下的磁盤(pán)管理界面:

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

3.3 進(jìn)入/run/media/root/CentOS 7 x86_64/Packages目錄

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

ls

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

4、查詢某個(gè)軟件安裝情況

語(yǔ)法:# rpm -qa | grep 軟件名稱

選項(xiàng):

-q:查詢,query

-a:全部,all

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

rpm -qa |grep firefox

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

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

rpm -qa |grep qq

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

5、卸載某個(gè)軟件

卸載某個(gè)軟件

語(yǔ)法:# rpm -e 軟件的名稱(建議寫(xiě)完整的名稱,通過(guò)-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入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

卸載完成后,單擊firefox瀏覽器圖標(biāo),運(yùn)行結(jié)果如下圖所示:

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

6、安裝某個(gè)軟件

命令:rpm

作用:管理rpm軟件包

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

選項(xiàng):

-i:install,安裝

-v:顯示進(jìn)度條

-h:表示以"#"形式顯示進(jìn)度條

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

用法:rpm -ivh 軟件包名稱示例代碼:#cd /run/media/root/CentOS 7 x86_64/Packages/進(jìn)入光盤(pán)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入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

安裝完成后,打開(kāi)firefox瀏覽器

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

7、更新某個(gè)軟件

語(yǔ)法:# rpm -Uvh 完整的安裝包路徑

選項(xiàng):

-U:upgrade,升級(jí)

-v:表示顯示進(jìn)度條

-h:表示以#形式顯示進(jìn)度條

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

firefox-60.8.0-1.el7.centos.x86_64.rpm 這個(gè)包是用來(lái)升級(jí)的

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

用法:rpm -Uvh 軟件包名稱示例代碼:#rpm -qa |grep firefox查詢當(dāng)前firefox的版本#ll查看root目錄下,我們剛剛拷到虛機(jī)上的RPM安裝包的名稱#rpm -Uvh firefox-60.8.0-1.el7.centos.x86_64.rpm使用rpm命令,安裝60.8.0版本的軟件包#rpm -qa |grep firefox查詢升級(jí)后的firefox版本

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

8、rpm擴(kuò)展

8.1依賴關(guān)系

一個(gè)軟件必須先有其他軟件才能運(yùn)行,例如之前xmind啟動(dòng)過(guò)程中提示的缺少DLL,稱之為依賴

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

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版本的軟件包

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

錯(cuò)誤提示:

error:Failed dependencies:

提示安裝68版本的firefox需要依賴nspr4.21的版本,nss的3.44的版本,這就是我們說(shuō)的==依賴關(guān)系==。

為了解決依賴關(guān)系的問(wèn)題,有另外一個(gè)管理工具叫做==yum==,后面我們會(huì)講到

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

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

選項(xiàng):

-f:查詢文件所屬包

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

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

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

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

rpm -ql firefox

rpm -ql openssh

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

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

9、擴(kuò)展:光盤(pán)的掛載和解掛

① 解掛操作

命令:umount

語(yǔ)法:# umount 當(dāng)前設(shè)備的掛載點(diǎn)(路徑)

例如:

umount /run/media/root/CentOS 7 x86_64/

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

② 掛載光盤(pán)

首先新建一個(gè)掛載點(diǎn),然后使用mount命令進(jìn)行掛在,掛載點(diǎn)可以理解為就是一個(gè)空目錄

命令:mount

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

設(shè)備原始地址:地址統(tǒng)一都在/dev 下,然后根據(jù)大小確定具體name 值,拼湊在一起組成原

始地址,例如當(dāng)前:"/dev/sr0"

用法:mount 設(shè)備 掛載點(diǎn)示例代碼:#mkdir /mnt/dvd新建一個(gè)目錄作為掛載點(diǎn)#mount /dev/sr0 /mnt/dvd將光驅(qū)設(shè)備/dev/sr0 掛載到 /mnt/dvd這個(gè)掛載點(diǎn)#df -T可以看到已經(jīng)成功掛載

Linux入門(mén):Linux自有服務(wù)及軟件包(linux自帶服務(wù)器)

首發(fā)于黑馬程序員官網(wǎng)

對(duì)不起,我沒(méi)有義務(wù)幫你

用漫畫(huà)讓你清楚了解linux內(nèi)核,看懂了么?

半夜的一次斜眸,我發(fā)現(xiàn)了支付寶灰色產(chǎn)業(yè)的一角

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
分享本頁(yè)
返回頂部