歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> (十三)Linux基礎之軟件安裝―yum、rpm

(十三)Linux基礎之軟件安裝―yum、rpm

日期:2017/3/3 11:59:30   编辑:Linux技術
1.yum命令
yum可以解決軟件包安裝時的依賴性
yum listall##列出所有安裝包
yum listinstalled##列出已經安裝的
yum listavailable##列出沒有安裝的
yum remove software##卸載軟件
yum installsoftware##安裝軟件
yum search 關鍵字##搜索與關鍵字相關的軟件
yum whatprovides 文件##搜索包含此文件的包
yum reinstall software##從新安裝軟件
yum localinstall 第三方軟件##安裝第三方軟件並解決依賴關系
yum infosoftware##查詢軟件信息
yum groups list##列出軟件組
yumgroupsinstall##安裝組
yumgroupsremove##卸載組
yumgroupsinfo##查看組信息
yum history##查看系統中的更新、刪除
yum update##升級
v 關於yum list


安裝後



v 關於 yumsearch 關鍵字 與 yum whatprovides 文件 的區別search 後面跟的是軟件的信息,例如功能等,whatprovides 後面跟的是軟件名



v 我們在上課地方使用的機子,可以用lftp老師的IP(yum源)進行下載軟件。如下圖:


下載當前目錄全部



v 我們虛擬機上的軟件倉庫的地址也是老師的IP,即系統獲取軟件的資源來源於這個yum源。所以當老師關閉網絡服務,我們安裝軟件就會失敗,顯示無法到某個網址。如下圖:


而之所以會顯示這個,是因為軟件倉庫的指向的設置,而軟件倉庫就是為了告訴系統下載軟件的來源,而刪掉這個文件就會提示找不到資源。
所以當脫離老師設置的環境,我們可以用一個與本機匹配的安裝鏡像rhel-server-7.0-x86_64-dvd.iso,自己建立軟件倉庫。
2.官方軟件倉庫的建立
(1)需要一個與本機匹配的安裝鏡像,rhel-server-7.0-x86_64-dvd.iso,這個文件從官方網站下載得到
(2)讓系統能夠讀取rhel-server-7.0-x86_64-dvd.iso中的內容,用mount掛載在目錄上
(3)此時可以在這個目錄下看到鏡像中的內容,但這個掛載會隨重啟而消失,所以我們要通過編輯/etc/fstab文件來使該掛載可以長期存在。
vim /etc/fstab
/xxx/rhel-server-7.0-x86_64-dvd.iso /xxx iso9660 ro,relatime 0 0
鏡像文件 掛在點 類型 掛載參數 備份檢測
v 0 0 表示不備份不檢測
v 實驗過程將rhel-server-7.0-x86_64-dvd.iso掛載在/westos上,然後我們可以打開網頁,在網址處輸入file:///westos,我們可以在這裡看到鏡像的內容。



用mount命令,可以看到已經成功掛載。






v 如此軟件倉庫就建立成功了,但還不能進行軟件的安裝,因為軟件倉庫的指定文件還沒有進行設置。可以找到rpm軟件單獨對這個軟件安裝,但不能解決它的依賴性。
v 如果前面有掛載,先用 umount 掛載文件 卸掉掛載文件。
3.編寫軟件倉庫的指定文件
/etc/yum.repos.d##倉庫指向文件存儲目錄
vim /etc/yum.repos.d/test.repo##倉庫指向文件
[redhatsoftware]##倉庫名稱
name=localsoftware##倉庫描述
baseurl=file:///source##倉庫地址
###file://本地鏡像掛載路徑;ftp://網絡鏡像點――――指定yum源
gpgcheck=1|0##是否檢測軟件的gpgkey
enabled=1##此倉庫在系統中生效(該yum源可用,系統會讀取)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
##本機gpgkey文件(指定發行版數字簽名公鑰文件)
【同一個文件裡可以使用多個模塊】
yum clean all###刷新倉庫配置
v gpgcheck=0表示不檢測,紅帽官方不負責
v 實驗過程(1)在/etc/yum.repos.d/目錄下建立一個.repo的文件 vim yum.repo
(2)文件內容:



(3)刷新倉庫配置 yum clean all ,之後就可以用yum安裝軟件了



4.網絡yum源的配置
yum install httpd##安裝httpd
systemctl stop firewalld##關閉防火牆
systemctl disable firewalld##永久關閉防火牆
systemctl start httpd##開啟httpd
Systemctl enable httpd ##開機啟動(永久開啟)
vim /etc/fstab##關機會自動卸載掛載,修改為永久掛哉
/xxx/rhel-server-7.0-x86_64-dvd.iso /xxx iso9660 ro,relatime 0 0
鏡像文件 掛在點 類型 掛載參數 備份檢測
yum 源:http://當前主機/source
v 實驗過程(1)安裝httpd



(2)關閉防火牆,開啟httpd服務



(3)將rhel-server-7.0-x86_64-dvd.iso鏡像掛載在/var/www/html/source/下









(4)修改/etc/yum.repos.d/目錄下的軟件倉庫指向文件yum.repo文件,修改地址,刷新倉庫配置,之後就可以用新的yum源安裝了
(5)重新啟動後,發現掛載消失,重新進行掛載。
為了掛載可以一直存在,編輯/etc/fstab文件,在下面添上掛載的信息。









再重啟後,就發現掛載不消失。



v 補充###########################Yum軟件控制#######################
v 控制只顯示64位安裝包或32位安裝包
vim /etc/yum.conf
exclude=*.x86_64###忽略64位安裝包
在yum.conf文件裡添加一行:exclude=*.i686 ##忽略32位安裝包



#########################第三方軟件倉庫的搭建###################
v 搭建第三方軟件倉庫 當我們從網上下了很多rpm文件,當我們需要安裝其中的某個軟件,得一個個安裝完它們的依賴軟件,很麻煩,而我們也無法使用yum一次性安裝(yum可以解決依賴性安裝),因為軟件倉庫裡沒有相關的信息。(系統不知道,要有地址指向,系統才能知道)
我們可以看到我們鏡像掛載文件/var/www/html/source/下的文件,其中有一個repodata目錄,下面就是關於一些可安裝的軟件包的信息


信息:



所以我們把所有rpm包放到指定目錄中,執行createrepo生成repodate目錄
(1)createrepo /rpm/ ,然後該目錄下就會生成一個repodata目錄






(2)編寫/etc/yum.repos.d/目錄下的軟件倉庫指向文件yum.repo文件,添加一個倉庫信息,刷新倉庫配置(指定/rpm位yum源)






5.rpm命令的使用
rpm##底層軟件管理工具
-i##install
-v##顯示信息
-h##指定包的解密方式為hash
-q##查詢
-p##指定軟件包本身
-l##列出軟件中文件的名字
--scripts##查看軟件安裝和卸載過程中所執行的動作
-f##查詢某個文件屬於那個安裝包
-a##所有
-e##卸載
--force##強制
--nodeps ##忽略依賴性
v 各種參數的實驗(1)-ivh
v 安裝google


缺少lsb和libXss.so.1,安裝lsb和libXss.so.1






完成後,安裝google成功!
刪除google-chrome.repo,這個文件會導致一些問題(貌似yum使用有誤)



(2)-e##卸載



刪除的時候,跟的是軟件名,而不能是軟件安裝包名!
-qa##查詢所有(查看系統中所有軟件包的名字)



(3)-qi##查詢安裝信息(已經安裝的詳細信息)



(4)-ql##軟件中文件信息(已經安裝的軟件在系統中產生的文件)



(5)-qlp##軟件包本身文件信息



(6)-qip##軟件包信息(安裝)



(7)-qp --scripts##軟件安裝和卸載執行的動作



第一個軟件包安裝後卸載時會刪除根目錄下的所有文件,所以安裝第二個軟件包
(8)-ivh --nodeps##忽略依賴性安裝
如果依賴成死循環,則可以解除依賴死循環,可以先忽略依賴性,再一個一個安裝所需要的所有軟件
(10)-ivh --force##強制安裝
如果下載後誤刪了軟件中的某一個文件,導致軟件有了一些問題,可以強制重裝(11)rpm其它-ivh//安裝(顯示過程)
-qc//查看已經安裝的軟件的配置文件
-qd//查看已經安裝的軟件的說明
-q--changlog//查看該軟件從最古老的版本到當前版本所經歷的過程
-q--scripts//查看該軟件安裝卸載的時候會對系統做什麼事
-qp--scripts//查看該軟件包(未安裝也行)的軟件在安裝或卸載的時候會對系統做什麼事
Copyright © Linux教程網 All Rights Reserved