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