Linux軟件包管理-rpm笨使、yum

Linux軟件包管理

軟件包是什么陵究?軟件包顧名思義就是將應(yīng)用程序、配置文件和數(shù)據(jù)打包的產(chǎn)物.

所有的linux發(fā)行版都采用了某種形式的軟件包系統(tǒng)摸航,這使得linux軟件管理和在windows下一樣方便制跟,suse、red hat酱虎、fedora等發(fā)行版都是用rpm包雨膨,Debian和Ubuntu則使用.deb格式的軟件包。

mysql-5-3-4.rpm
redis-3-4-3.rpm
nginx2-3-2.rpm

在早期系統(tǒng)運(yùn)維中读串,安裝軟件是一件非常費(fèi)事費(fèi)力的事情聊记。系統(tǒng)管理員不得不下載軟件源代碼編譯軟件,并且為了系統(tǒng)做各種調(diào)整恢暖。盡管源代碼編譯形式的軟件增強(qiáng)了用戶定制的自由度排监,但是在小軟件上耗費(fèi)精力是缺乏效率的,于是軟件包應(yīng)運(yùn)而生杰捂。

軟件包管理可以將管理員從無(wú)休止的兼容問(wèn)題中釋放舆床。yum工具就可以自動(dòng)搜索依賴關(guān)系,并執(zhí)行安裝。

1.RPM軟件包管理器

軟件包管理器核心功能

  • 制作軟件包 .rpm
  • 安裝挨队、卸載谷暮、升級(jí)、查詢瞒瘸、校驗(yàn)

在 RPM(紅帽軟件包管理器)公布之前坷备,要想在 Linux 系統(tǒng)中安裝軟件只能采取源碼包 的方式安裝。

源碼包安裝缺點(diǎn):

  1. 步驟繁多情臭,耗時(shí)
  2. 自己解決依賴
  3. 對(duì)運(yùn)維知識(shí)要求高
  4. 管理維護(hù)難度大

RPM機(jī)制則為解決這些問(wèn)題而設(shè)計(jì)的省撑。RPM 有點(diǎn)像Windows系統(tǒng)中的控制面板,會(huì)建立統(tǒng)一的數(shù)據(jù)庫(kù)文件俯在,詳細(xì)記錄軟件信息并能夠自動(dòng)分析依賴關(guān)系竟秫。

1.rpm安裝命令

  • 安裝軟件的命令格式

    rpm -ivh filename.rpm 
    - i:表示安裝   
    - v:顯示詳細(xì)過(guò)程  
    - h:以進(jìn)度條顯示
    
  • 升級(jí)軟件的命令格式

    rpm -Uvh filename.rpm
    
  • 卸載軟件的命令格式

    rpm -e filename.rpm
    
  • 查詢軟件描述信息

    rpm -qpi filename.rpm
    
  • 列出軟件文件信息

    rpm -qpl filename.rpm
    
  • 查詢文件屬于哪個(gè)RPM

    rpm -qf filename
    

2.rpm查詢軟件

rpm -q lrzsz   # 查詢lrzsz是否安裝
rpm -qi lrzsz  # 查詢lrzsz包的說(shuō)明信息
rpm -ql lrzsz  # 查詢lrzsz包生成的文件列表
rpm -qc nginx  # 查詢nginx安裝生成后的配置文件路徑
rpm -qf /etc/nginx/fastcgi.conf  # 查看這個(gè)文件由哪個(gè)rpm包安裝

3.rpm升級(jí)軟件

rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE: 如果裝有老版本的,則升級(jí)跷乐;否則肥败,則安裝;
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果裝有老版本的愕提,則升級(jí)馒稍;否則,退出浅侨;

4.rpm卸載軟件

rpm -e PACKAGE_NAME
需要手動(dòng)解決依賴
不如 yum remove

5.rpm安裝軟件

#下載軟件包
wget https://rpmfind.net/linux/centos/7.5.1804/os/x86_64/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm

#安裝軟件包
[root@yugo /tmp 11:03:42]#rpm -ivh lrzsz-0.12.20-36.el7.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:lrzsz-0.12.20-36.el7             ################################# [100%]

6.rpm問(wèn)題

rpm軟件包管理安裝軟件的時(shí)候纽谒,會(huì)產(chǎn)生一系列問(wèn)題,比如如输,你安裝一個(gè)軟件包鼓黔,而這個(gè)軟件包有依賴軟件,那么你需要先安裝依賴軟件不见;如果依賴的軟件還有依賴軟件澳化,你不得崩潰嗎?

2.軟件管理yum工具

1.yum軟件包管理器

Yum (Yellow dog Updater, Modified) 黃狗升級(jí)器是一個(gè)在 Fedora 中的字符前端軟件包管理器稳吮《泄龋基于 RPM包管理(介紹見(jiàn)RPM包及其管理),能夠從指定的服務(wù)器自動(dòng)下載 RPM 包并且安裝灶似,可以處理依賴性關(guān)系慎陵,并且一次安裝所有依賴的軟件包,無(wú)須繁瑣地一次次下載喻奥、安裝。

img

2.軟件安裝的三種方式:

  • 源代碼編譯安裝
  • 獲取軟件源代碼
  • 手動(dòng)編譯安裝

yum工具是紅帽子才有的軟件管理工具捏悬,例如suse和烏班圖等系統(tǒng)撞蚕,就沒(méi)有yum

yum提供了查找、安裝过牙、刪除某一個(gè)甥厦、一組甚至全部軟件包的命令纺铭,而且命令簡(jiǎn)潔而又好記。

yum(選項(xiàng))(參數(shù)):

-h:顯示幫助信息刀疙;
-y:對(duì)所有的提問(wèn)都回答“yes”舶赔;
-c:指定配置文件;
-q:安靜模式谦秧;
-v:詳細(xì)模式竟纳;
-d:設(shè)置調(diào)試等級(jí)(0-10);
-e:設(shè)置錯(cuò)誤等級(jí)(0-10)疚鲤;
-R:設(shè)置yum處理一個(gè)命令的最大等待時(shí)間锥累;
-C:完全從緩存中運(yùn)行,而不去下載或者更新任何頭文件集歇。

3.什么是yum源桶略?

Yum全稱為 Yellow dog Updater, Modified,是一個(gè)在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器诲宇。

基于RPM包管理际歼,能夠從指定的服務(wù)器自動(dòng)下載RPM包并且安裝,可以自動(dòng)處理依賴性關(guān)系姑蓝,并且一次安裝所有依賴的軟件包鹅心,無(wú)須繁瑣地一次次下載、安裝它掂。

4.yum的基本工作機(jī)制如下

服務(wù)器端:在服務(wù)器上面存放了所有的RPM軟件包巴帮,然后以相關(guān)的功能去分析每個(gè)RPM文件的依賴性關(guān)系,將這些數(shù)據(jù)記錄成文件存放在服務(wù)器的某特定目錄內(nèi)虐秋。

客戶端:如果需要安裝某個(gè)軟件時(shí)榕茧,先下載服務(wù)器上面記錄的依賴性關(guān)系文件(可通過(guò)WWW或FTP方式),通過(guò)對(duì)服務(wù)器端下載的紀(jì)錄數(shù)據(jù)進(jìn)行分析客给,然后取得所有相關(guān)的軟件用押,一次全部下載下來(lái)進(jìn)行安裝。

5.yum源的目錄

# 進(jìn)入yum源目錄
cd /etc/yum.repos.d/
# 查看yum源文件
ls -l

配置阿里云yum源

linux的yum倉(cāng)庫(kù)目錄是

cd /etc/yum.repos.d/ 

這個(gè)目錄下,第一層中,所有以.repo結(jié)尾的文件靶剑,都會(huì)識(shí)別為一個(gè)yum倉(cāng)庫(kù)蜻拨。(這個(gè)倉(cāng)庫(kù)就是一個(gè)url),url中提供了各種rpm包的下載桩引,yum工具回去查找缎讼。

阿里云yum源的下載地址:https://opsx.alibaba.com/mirror

1.備份原本的yum倉(cāng)庫(kù)文件

cd /etc/yum.repos.d
# 新建文件夾
mkdir  allrepo
# 移動(dòng)所有的repo文件到這個(gè)目錄下,咱不用它了
mv *  ./allrepo

2.下載新的阿里云的yum倉(cāng)庫(kù)文件

wget -O /etc/yum.repos.d/CentOS-Base.repo   http://mirrors.aliyun.com/repo/Centos-7.repo
# -O  代表把Centos-7.repo  下載到指定目錄,且改名

3.配置額外的第三方倉(cāng)庫(kù)

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

4.測(cè)試yum工具,安裝一個(gè)nginx

yum install nginx -y

5.啟動(dòng)nginx測(cè)試訪問(wèn)

systemctl start nginx

7.可以通過(guò)修改nginx的index網(wǎng)頁(yè)坑匠,直接展示復(fù)制的頁(yè)面血崭。

find / -name nginx/html/index.html

把網(wǎng)頁(yè)源代碼放進(jìn)去就可以訪問(wèn)了。

8.yum工具的其他方法

- yum repolist all  # 列出所有倉(cāng)庫(kù)
- yum list all      # 列出倉(cāng)庫(kù)所有軟件包
- yum info          # 軟件包名 查看軟件包信息
- yum install       # 軟件包名 安裝軟件包
- yum reinstall     # 軟件包名 重新安裝軟件包
- yum update        # 軟件包名 升級(jí)軟件包
- yum remove        # 軟件包名 移除軟件包
- yum clean all     # 清楚所有倉(cāng)庫(kù)緩存
- yum check-update  # 檢查可以更新的軟件包
- yum grouplist     # 查看系統(tǒng)中已安裝的軟件包
- yum groupinstall  # 軟件包組 安裝軟件包組
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市夹纫,隨后出現(xiàn)的幾起案子咽瓷,更是在濱河造成了極大的恐慌,老刑警劉巖舰讹,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件茅姜,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡月匣,警方通過(guò)查閱死者的電腦和手機(jī)钻洒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)桶错,“玉大人航唆,你說(shuō)我怎么就攤上這事≡旱螅” “怎么了糯钙?”我有些...
    開(kāi)封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)退腥。 經(jīng)常有香客問(wèn)我任岸,道長(zhǎng),這世上最難降的妖魔是什么狡刘? 我笑而不...
    開(kāi)封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任享潜,我火速辦了婚禮,結(jié)果婚禮上嗅蔬,老公的妹妹穿的比我還像新娘剑按。我一直安慰自己,他們只是感情好澜术,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布艺蝴。 她就那樣靜靜地躺著,像睡著了一般鸟废。 火紅的嫁衣襯著肌膚如雪猜敢。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天盒延,我揣著相機(jī)與錄音缩擂,去河邊找鬼。 笑死添寺,一個(gè)胖子當(dāng)著我的面吹牛胯盯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播计露,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼陨闹,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼楞捂!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起趋厉,我...
    開(kāi)封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎胶坠,沒(méi)想到半個(gè)月后君账,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡沈善,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年乡数,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片闻牡。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡净赴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出罩润,到底是詐尸還是另有隱情玖翅,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布割以,位于F島的核電站金度,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏严沥。R本人自食惡果不足惜猜极,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望消玄。 院中可真熱鬧跟伏,春花似錦、人聲如沸翩瓜。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)奥溺。三九已至辞色,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間浮定,已是汗流浹背相满。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留桦卒,地道東北人立美。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像方灾,于是被迫代替她去往敵國(guó)和親建蹄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子碌更,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容