linux學習之旅(十二)&& 軟件安裝詳解

軟件安裝


主要針對的是 RPM包
RPM含義: REDHAT PACKAGES MANAGERMENT

1.軟件名稱識別

[abrt-addon-ccpp]-[2.1.11-19].[el7].[x86_64].rpm    //rpm結尾的適用與redhat操作系統
       ||         ||           ||       ||
    軟件名稱       軟件版本     軟件適用系統 64位

e // 企業版
l   //  等級
rh // redhat
el7 // 適用於企業版版本七的系統

2.如何安裝軟件

rpm安裝

rpm -ivh    name.rpm    :安裝 ,-v顯示過程,-h指定加密方式爲hash,哈希加密,-i 詳細信息

    -e  name        ##卸載
    -ql name        ##查詢軟件生成文件
    -qlp    name.rpm    ##查詢軟件安裝後會生成什麼文件
    -qa         ##查詢系統中安裝的所有軟件名稱
    -qa |grep name      ##查詢軟件是否安裝
    -q name         ##查看軟件所屬安裝包
    -qp name.rpm        ##查詢軟件安裝包安裝後的名字
    -qf filename        ##查看filename屬於那個安裝包
    -ivh name.rpm --force   ##強制安裝,但不能忽略依賴性
    //如果刪除了一部分東西,再安裝時說已經安裝過,那麼用 --force強制再安裝
    -ivh name.rpm --nodeps --force ##忽略依賴性並且強制安裝,可以安裝,但是會出現不能使用的問題
    -qi name        ##查看軟件信息
    -Kv name.rpm        ##檢測軟件包是否被篡改
    //用Kv key顯示的是BAD 那麼就是被篡改過的,就需要重新安裝別的包
    -qp name.rpm --scripts  ##檢測軟件在安裝或卸載過程中執行的動作

查看firefox軟件的安裝包:

  • - -scripts 一定要會用,先看文件包安裝的安裝卸載執行的動作
    有些危險,比如流氓軟件在卸載時要刪除你的根就可以提早知道,禁止安裝


    這時,發現在key ID上的顯示時不一樣的,那麼用- -scripts查看安裝執行的動作:

    //可以看到,上面顯示的軟件A是明顯的流氓軟件,在刪除時會刪除你的根目錄,所以果斷禁止安裝

  • 在rpm安裝時會產生依賴性的問題,就是一個軟件的安裝需要別的軟件先安裝支持,纔可以安裝,你可以選擇一個一個去rpm安裝,但是非常的麻煩,這時,就需要用yum命令來解決

yum安裝

yum 上層軟件管理工具,最重要的功能是可以解決軟件的倚賴關係
yum能夠投入使用的前提是必須要有yum源,以及配置源的指向文件

  • 如圖,開始配置的yum源是172.25.254.250,這裏現在不存在文件,所以yum源無效,就會出現無法下載的情況

那麼如何讓配置yum源呢?

server源端

1.從網絡上下本機系統版本匹配的iso鏡像文件

rhel-server-7.2-x86_64-dvd.iso

2.掛載

mkdir  /iso   //建立目錄用來存放iso鏡像

mv   rhel-server-7.2-x86_64-dvd.iso   /iso     //將鏡像文件放到/ios中

mkdir  /rhel7.2     //建立iso鏡像的掛載點

mount rhel-server-7.2-x86_64-dvd.iso    /rhel7.2     
//把rhel-server-7.2-x86_64-dvd.iso掛在到/rhel7.2用來訪問鏡像中的文件


//可以看到,這裏的rhel7.2中已經存在文件,即已經掛載上了

3.配置本機yum源指向

配置yum源,一定以repo作後綴

rm -fr /etc/yum.repos.d/*
vim /etc/yum.repos.d/yum.repo
[Server]    ##[不能有空格,不能符號]這個是源倉庫名字
name=rhel7.2        ##(可以有空格)這裏是描述這個軟件
baseurl=file:///rhel7.2        ##baseurl=真正的地址
gpgcheck=0     ##不檢測
##  =1  檢測,是不是第三方軟件,牽扯一些權益
##完了之後   yum clean all  才能生效

現在再次時下載會發現


//成功下載

4.安裝資源共享服務

yum install httpd -y            //安裝httpd共享服務
systemctl stop firewalld         //關閉火牆,   **這個一定要做**
systemctl disable firewalld     //讓火牆開機不自啓
systemctl start httpd       //開啓httpd服務
systemctl enable httpd      //讓httpd開機自啓

5.建立共享目錄,並掛在鏡像文件到共享目錄上

mkdir /var/www/html/rhel7.2           //開啓共享服務後需要將文件放在這個目錄下才能共享
umount /rhel7.2                           //將之前掛載的取消
mount /iso/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7.2    //重新掛載

/var/www/html 是共享網頁的目錄
共享服務網站的地方是:
httpd /var/www/html/xxx ==> ip/xxx 本機的ip掛載地址: 172.25.254.166/xxx

6.測試

在瀏覽器中輸入:http://本機ip/rhel7.2,就可以看到鏡像中的內容

7.修改本機yum源指向

打開/etc/yum/repos.d/yum.repo

[server]
name=rhel7.2
baseurl=file:///var/www/html/rhel7.2         修改yum源指向
gpgcheck=0

8.開機自動掛在iso

打開 /etc/rc.d/rc.local
在裏面添加掛載命令

或者直接 echo “mount rhel-server-7.1-x86_64-dvd.iso /var/www/html/rhel7.1” >>/etc/rc.d/rc.local

:wq退出後記得給權限才能生效:
chmod +x /etc/rc.d/rc.local

9.第三方軟件倉庫的搭建

把所有的rpm軟件包放到一個目錄中,這個目錄中只能存放rpm文件

createrepo -v /rpm存放目錄      //在企業版7中-v參數可以省去
vim /etc/yum.repos.d/yum.repo    //**在這個文件原有內容的下面添加**  
[Software]
name=software
baseurl=file:///rpm存放目錄            
gpgcheck=0
//createrepo 也要yum clean all  才能生效

如圖所示爲createrepo後出現的顯示,掃面裏面的rpm文件

  • 另外,如果想要在下載時,屏蔽掉一些不要的東西,可以在 /etc/yum.conf裏面添加exclude=…
    比如不想要x86_64後綴的任何東西,不想要linuxqq.i386,可以設置

    //之後,即使去搜索軟件包,也不會顯示
    • 添加之前:
    • 添加之後:

client指向端

vim /etc/yum.repos.d/xxxx.repo      //倉庫指向文件位置"
[xxxx]                  //自定義軟件倉庫名稱
name=xxxx               //自定義軟件倉庫描述
baseurl=ftp://|http://|file://      //server配置的倉庫位置
//比如要剛剛server配置的地方填寫:
"baseurl=http://172.25.254.166/rhel7.2"
gpgcheck=0              //不檢測gpgkey
                    //gpgkey表示軟件的出品logo

yum clean all ##清空yum緩存識別新配置


yum命令

yum     install     softwarename    ##安裝
        repolist            ##列出設定yum源信息
        remove      softwarename    ##卸載
        list        softwarename    ##查看軟件源中是否有次軟件
        list all            ##列出所有軟件名稱
        list installd           ##列出已經安裝的軟件名稱
        list available          ##列出可以用yum安裝的軟件名稱
        clean all           ##清空yum緩存
        search      softwareinfo    ##根據軟件信息搜索軟件名字
##yum search 時是在搜索數據庫 repodate在就還是能搜索到的,但是安裝時就不會出現了
        whatprovides    filename    ##在yum源中查找包含filename文件的軟件包      
        update              ##更新軟件
        history             ##查看系統軟件改變歷史
        reinstall   softwarename    ##重新安裝
        info        softwarename    ##查看軟件信息
"yum info ...
= : 安裝過的
+ : 必選安裝,默認會選擇安裝的
- : 在安裝時將會被安裝的,需要手動安裝
但是要考慮各軟件依賴關係,即使安裝也不一定能用。
"
        groups list         ##查看軟件組信息
        groups info softwaregroup   ##查看軟件組內包含的軟件
        groups install  softwaregroup   ##安裝組件
        groups remove   softwaregroup   ##卸載組件

//yum用來尋找安裝包

//查看yum歷史記錄


安裝包的拆解

rpm2cpio         xxxx.rpm  |  cpio   -id

在管理文件時不小心把那個配置文件年刪除了,那麼可以拆解相應軟件包,將少的東西直接用拆解下來對應的文件添加上去就恢復了。


如果將/usr/bin/wps刪除了,可以直接將這個wps放到/usr/bin/下 完成恢復
如果覺得有問題,不妨 vimdiff wps(拆解出來的) /usr/bin/wps 對比一下

//兩個文件一模一樣,可以替換


附上自動配置yum源的腳本


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章