yum与rpm的详解 --用来安装软件
? ? ? ? ? ? ? ? ? ?yum與rpm的詳解
? ? ? ? ? ? ? ? ? ? ? ? ??--用來(lái)安裝軟件
? ? ?關(guān)鍵字:本地yum? 第三方y(tǒng)um? yum參數(shù) yum軟件控制 rpm參數(shù)? 永久掛載?? 軟件的依賴(lài)性
第一部分:配置本地yum源
? ? ?1.yum安裝http服務(wù),并共享給其他主機(jī)可以訪問(wèn)
如果在服務(wù)器不在的情況下或是無(wú)法從網(wǎng)上獲取第三方軟件時(shí),此時(shí),可以利用自己的鏡像進(jìn)行安裝,需要一個(gè)與本機(jī)匹配的安裝鏡像,rhel-server-7.0-x86_64-dvd.iso,這個(gè)文件從官方網(wǎng)站下載得到
? ? ?第一步 配置本地的yum 源
腳本文件
vim yum.sh
#!/bin/bash
########create local yum source#########
? ?mkdir /westos
? ?#該步驟的目的建立一個(gè)目錄掛載鏡像,掛載的意思有些文件系統(tǒng)會(huì)有獨(dú)立的inode、block、super block等信息,這個(gè)文件系統(tǒng)要能夠鏈接到目錄樹(shù)才能被我們使用。將文件系統(tǒng)與目錄樹(shù)結(jié)合的操作稱(chēng)為掛載,重點(diǎn)是,掛載點(diǎn)一定是目錄 ,該目錄為進(jìn)入該文件系統(tǒng)的入口。
? ? mount /iso/rhel-server-7.1-x86_64-dvd.iso? /westos
? ? #將磁盤(pán)掛載到這個(gè)目錄下
? ? cat >/etc/yum.repos.d/yum.repo <<end??
? ?編寫(xiě) yum設(shè)置文件,后結(jié)尾必須是.repo文件 『后邊<<end 做結(jié)束』。
? ?[text]?
? ?#倉(cāng)庫(kù)的名字,中括號(hào)一定要存在,里面的名稱(chēng)可以任意取,但是不能有兩個(gè)相同的容器名稱(chēng),否則yum會(huì)不知道到哪里去找倉(cāng)庫(kù)相關(guān)軟件列表文件。
? ? name=software?
? ? #倉(cāng)庫(kù)的描述#
? ? baseurl=file:///westos
? ? #倉(cāng)庫(kù)的實(shí)際地址#
? ? gpgcheck=0????
? ? #用gpg文件檢查文件的簽名.是否檢測(cè)軟件的gpgkey,設(shè)成1的話,與系統(tǒng)匹配,如果出現(xiàn)不一樣就不給裝。
? ? End
? ? 當(dāng)然也可以加入enable=1/0 說(shuō)明啟用更新庫(kù),0表示不啟用。
? ? ?yum clean all
? ? ?#將之前緩存數(shù)據(jù)刪除,刷新新的出來(lái),yum會(huì)先下載倉(cāng)庫(kù)的清單到本機(jī)的/var/cache/yum里面去,但是我們修改了網(wǎng)址卻沒(méi)有修改容器名稱(chēng)(中括號(hào)內(nèi)的名字),可能就會(huì)造造成本機(jī)的列表與yum服務(wù)器的列表不同步,此時(shí)就會(huì)出現(xiàn)無(wú)法更新的問(wèn)題,解決該問(wèn)題就是清除掉本機(jī)上的舊數(shù)據(jù)即可,就是用yum的 clean 參數(shù)即可。
? ? ?第二步 安裝打開(kāi)本機(jī)上的http服務(wù)
######install share server##############
? ? ?yum install httpd -y
? ? #安裝httpd服務(wù)? -y表示不提醒。
? ? systemctl start httpd
? ? #開(kāi)啟httpd服務(wù)。
? ? ?systemctl enable httpd
? ? ?#設(shè)置開(kāi)機(jī)時(shí)自動(dòng)開(kāi)啟httpd服務(wù)。
? ? systemctl disable firewalld
? ? #設(shè)置開(kāi)機(jī)不啟動(dòng)防火墻。
? ? systemctl stop firewalld????
? ? #現(xiàn)在關(guān)掉防火墻,就是別的用戶(hù)訪問(wèn)的時(shí)候可以訪問(wèn)。
第三步 分享httpd服務(wù)
#####mount iso to share directory#####
? ? umount /westos
? ? ?mkdir /var/www/html/rhel7.1???
? ? ?#在http服務(wù)這個(gè)默認(rèn)的目錄下新建一個(gè)目錄,特殊的服務(wù)都有特殊的目錄,執(zhí)行都是要在其底下,所以要在這種默認(rèn)的目錄下新建個(gè)目錄。
? ? ?mount /iso/rhel-server-7.1-x86_64-dvd.iso? /var/www/html/rhel7.1?
? ? ?#把鏡像掛載到這個(gè)上邊。
第四步 把之前新改的掛載目錄重新放到配置文件中
#####cofig local yum################
? ? rm -rf /etc/yum.repos.d/yum.repo
? ? cat >/etc/yum.repos.d/yum.repo <<end
? ? [test]
? ? name=test
? ? ?baseurl=file://(訪問(wèn)的方式)/var/www/html/rhel7.1??
? ?或者可以改成 http://172.25.254.200/rhel7.1
? ?gpgcheck=0
? ? end
? ? 至此就可以實(shí)現(xiàn)本地訪問(wèn),如果其他主機(jī)也想要訪問(wèn)的話,就還是配置...repo文件,配置與第四步類(lèi)似相同。
第二部分:yum相關(guān)參數(shù)功能
? ?yum
? ?yum list all ###列出所有安裝包
? ?yum list installed ###列出已經(jīng)安裝的
? ?yum list available ###列出沒(méi)有安裝的
? ?yum remove software ###卸載軟件
? ?yum install software ###安裝軟件
? ?yum search 關(guān)鍵字 ###搜索與關(guān)鍵字相關(guān)的軟件
? ?yum whatprovides 文件 ###搜索包含此文件的包*/ls
? ?yum reinstall software ###從新安裝軟件
? ?yum localinstall 第三方軟件 ###安裝第三方軟件并解決依賴(lài)關(guān)系
? ?yum info software ###查詢(xún)軟件信息
? ?yum groups list ###列出軟件組,組中包含多個(gè)軟件
? ?yum groups install ###安裝組
? ?yum groups remove ###卸載組
? ? yum groups info ###查看組信息
? ? yum???? repolist? all?????????? ###列出目前yum server 所使用的倉(cāng)庫(kù)有哪些
第三部分:安裝系統(tǒng)中沒(méi)有裝的軟件,比如gcc
vim hello.c
#include<stdio.h>
int main(){
???? printf("Hello world\n");
???? return 0;
}
用gcc 編譯
gcc hello.c -o hello
執(zhí)行 ./hello或在./a.out
如果gcc編譯時(shí)沒(méi)有這個(gè)命令,可以安裝上這個(gè)yum install gcc
第四部分:安裝第三方軟件,比如linux下的qq
? ? rpm -ivh /home/kiosk/Desktop/linuxqq-v1.0.2-beta1.i386.rpm
? ? 底下會(huì)顯示出安裝這個(gè)軟件還需要依賴(lài)的文件。然后要找到這些文件是在哪個(gè)包中:
? ? yum whatprovides libatk-1.0.so.0
? ? 然后安裝包含這個(gè)文件的包
第五部分:rpm命令的使用#############
? ? rpm ###底層軟件管理工具
? ? -i ###install
? ? -v ###顯示信息
? ? -h ###指定包的解密方式為hash
? ? -q ###查詢(xún)
? ? -p ###指定軟件包本身
? ? -l ###列出軟件中文件的名字
? ? --scripts ###查看軟件安裝和卸載過(guò)程中所執(zhí)行的動(dòng)作
? ? -f ###查詢(xún)某個(gè)文件屬于那個(gè)安裝包
? ? -a ###所有
? ? -e ###卸載
? ? --force ###強(qiáng)制
? ? --nodeps ###忽略依賴(lài)性
第六部分:yum軟件控制
? ?vim /etc/yum.conf??????
? ?#配置該文件的目的是可以屏蔽掉某些不需要安裝的包。
? ?exclude=*.x86_64
? ?#忽略64位安裝包。
? ?exclude=*.i686
? ?還可以再加單獨(dú)的包,字符串用空格隔開(kāi),忽略32位安裝包。
第七部分:第三方軟件倉(cāng)庫(kù)的搭建
? ?就是如何把第三方軟件包錄入到y(tǒng)um 倉(cāng)庫(kù)中
? ?1.把所有rpm包放到指定目錄中,比如方到/software中
? ?2.在這個(gè)目錄中執(zhí)行createrepo -v /software/,(創(chuàng)建yum倉(cāng)庫(kù)元數(shù)據(jù))生成repodate目錄,生成repodata文件。
? ?3.編寫(xiě)/etc/yum.repos.d/xxx.repo指定/software位yum源
第八部分:實(shí)驗(yàn)補(bǔ)充:
? ? 要實(shí)現(xiàn)永久掛載,編輯配置文件:
? ?永久掛載后,當(dāng)你umount后,在用mount -a就可以實(shí)現(xiàn)再次掛載。
??? ###要想用ssh控制圖形需要用到-X:
? ?安裝有依賴(lài)性的軟件:
? ?安裝,有依賴(lài)性。
? ?在所有目錄中查詢(xún)此軟件:
? ?查到,安裝:
? ?這樣反復(fù)進(jìn)行,直到解決所有依賴(lài)性。
? ?對(duì)于安裝qq這個(gè)軟件的解決方法。
??? --force?? 忽略依賴(lài)性,直接安裝。
? ?查詢(xún)軟件:
? 查詢(xún)所有
? 查詢(xún)軟件中文件的名字
? ?查詢(xún)指定軟件包本身: 查看執(zhí)行的動(dòng)作:
? ?下面是yum軟件控制:
??? Zsh軟件是x86 64位軟件,
? ? 在主配置文件中忽略32位的和64位的。
? ? 將配置文件改為忽略64位,則list 時(shí)就不會(huì)有64位的wps,如下:
??? ###插入 yum list 軟件名稱(chēng)? 是用來(lái)查詢(xún)倉(cāng)庫(kù)中有的軟件包的信息。
第三方軟件倉(cāng)庫(kù)的搭建:
? 首先獲得包:
? ? 就像系統(tǒng)軟件倉(cāng)庫(kù)一樣,作為一個(gè)倉(cāng)庫(kù)最基本的是有軟件包和repodata這個(gè)目錄,如下:
? ? 所以首先要?jiǎng)?chuàng)建repodata目錄:
? ? 配置yum? 源:
? ? ?每次配置完yum 源都要進(jìn)行? yum? clean? all? 和? yum? repo補(bǔ)全? all
下面就可以安裝第三方軟件了:
??? Gpgcheck校驗(yàn):
? ? 查詢(xún)軟件位置:
轉(zhuǎn)載于:https://blog.51cto.com/yaoxiaofeng/1852871
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的yum与rpm的详解 --用来安装软件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php ob_flush 和flush
- 下一篇: (--3198)2: Redirecti