安裝軟件包的三種方法,rpm包介紹,rpm工具用法,yum工具用法,yum搭建本地倉庫

安裝軟件包的三種方法

  • 三種方法分別是:rpm包,yum工具,源碼包
  • rpm包相似windows的安裝程序
  • 可是有一個問題,有時候要安裝rpm包 A
  • 是須要一些依賴包才能安裝的,好比rpm包 B
  • 若是不先安裝依賴包,rmp包B,是不能安裝rpm包A的
  • 因此比較繁瑣

  • yum工具的好處是,使用yum工具安裝rpm包A的時候
  • yum工具能夠自動安裝依賴包,rpm包 B
  • 因此就很方便

  • 源碼包就是用編程語言寫的程序文件
  • 須要把程序文件用編譯軟件編譯成二進制文件
  • 纔可使用

rpm 包介紹

  • 如圖,點擊虛擬機光盤圖標,選擇鏈接
  • 如圖,使用命令將 cdrom 設備文件掛載到 /mnt/ 目錄下面
  • 寫保護是由於用戶不能對cdrom進行寫入操做
  • 上圖能夠看到,進入/mnt/目錄,看到的文件就是光驅裏面的內容
  • cd Packages/ 進入 Packages 目錄
  • 使用ls命令
  • 能夠看到許多以 .rpm 結尾的文件,這些都是rpm包
  • 第一個箭頭是指包名稱
  • 第二個箭頭是版本號,第三個箭頭是次版本號,第四個箭頭是再次的版本號
  • 第五六個箭頭是發佈版本號
  • 第七個箭頭是平臺位數,32或者64位,這裏是64位的
  • 64位系統能夠安裝32位的包,可是32位系統不能安裝64位的包

rpm工具用法

  • 參數 -ivh , i是install,v是可視化,h是人性化的顯示
  • 使用以上參數來安裝 rpm 包
  • 使用上圖命令安裝一個rpm包
  • 由於要安裝的包在當前目錄下,因此直接寫包名稱,若是在別的目錄,能夠寫絕對路徑
  • 參數 v 就是顯示安裝過程,參數 h 就能夠顯示安裝進度,也就是說百分比
  • 參數 i 就是安裝指令

  • rpm包版本舊了,有新的版本
  • 因此要升級一個rpm包,能夠把 -ivh 換成 -Uvh
  • U 就表示升級

  • 想卸載一個包,可使用 rpm -e 包名
  • 這裏包文件名稱是,zsh + 後面的版本號發佈平臺號文件後綴等
  • 卸載的時候,只須要使用包名 zsh,後面的不用加,後面加了就錯了
  • rpm -e zsh 參數 e 就表明卸載
  • 卸載的時候,沒有任何信息提示,這表示卸載沒有問題
  • 若是卸載出現問題,纔會出現信息提示

  • 使用 rpm -qa 查看已經安裝的rpm包的列表
  • 隨意刪除一個rpm包 ppp
  • 出現錯誤提示,不能刪除
  • 由於 ppp 包是後面的 Network 包的依賴包
  • 因此要刪除ppp包,須要先刪除Network包

  • rpm -q 包名 能夠查詢是否安裝了這個包
  • 如圖,rpm -q zsh 顯示未安裝軟件包
  • rpm -q python 顯示了包文件名,這就表示這個包安裝了

  • 參數 -qi 能夠顯示包的詳細信息,i表明info
  • 如圖,使用命令 rpm -qi vim-enhanced 後
  • 下面都是關於 vim-enhanced 包的詳細信息

  • 使用參數 -ql 能夠查看包安裝了哪些文件
  • 如圖,能夠看到,下面顯示的文件列表就是安裝這個包後,這個包裏面包含的文件

  • 使用參數 -qf 能夠查看一個文件是由哪一個包安裝的
  • 這裏使用 rpm -qf /usr/bin/vim 查看/usr/bin/vim這個文件是由哪一個包安裝的
  • 下面顯示 vim-enhanced 就表示,這個文件是由這個包安裝的
  • 上圖是一種用法,使用反引號,就是 ~ 鍵那個點,把 which cd 命令括起來
  • 這樣能夠把 which 命令執行的結果做爲參數賦予 rpm -qf 命令使用
  • which cd 獲得一個絕對路徑的結果,這個結果就是 rpm -qf 的參數
  • 若是 which ls 則不行,由於ls是一個別名,返回的不僅有絕對路徑,還有別的信息
  • 因此不能 which 一個別名,由於返回的結果不是隻有絕對路徑,做爲參數會出現錯誤
  • 如圖,這樣就能夠查看到 cd 文件是由哪一個包安裝的了

yum工具用法

  • 使用rpm包安裝的方法,安裝一個包 A ,可能會有不少依賴包
  • 須要先把依賴包都安裝完,才能夠安裝包 A
  • 使用 yum 工具安裝能夠自動安裝包 A 所需的依賴包,很是方便
  • 使用方法就是,yum install 包名 ,不須要加後面的版本號等信息
  • 而後就會自動把全部依賴包安裝好後,再安裝這個包

  • yum list 能夠顯示yum能夠安裝的包列表
  • 第一列是包名,第二例是版本號和平臺版本號,第三列是倉庫名
  • 使用 cat /etc/yum.repos.d/CentOS.Base.repo 查看配置文件
  • 配置文件內,能夠找到[base],這就是倉庫名
  • 查看rpm包列表的時候,包信息的第三列是倉庫名
  • 倉庫名是base,表示這個包都存放在base倉庫裏面
  • 如圖,base倉庫的網絡地址就在這個位置,訪問這個網址,就能夠訪問base倉庫

  • yum還有搜索功能
  • yum search vim 能夠搜索跟vim有關的包
  • 下面的列表就是全部跟包含vim關鍵字的包,無論大小寫都會被搜索到
  • 可是這樣就不夠精確
  • 可使用上圖方法更精確的搜索
  • 符號 | 是管道符,能夠把前一個命令的結果做爲後一個命令的參數使用
  • yum list 搜索出來yum全部能夠安裝的包的列表
  • 將這個列表做爲參數給與後一個命令
  • grep 'vim' 是一個過濾指令,grep能夠過濾字符串
  • 這裏能夠把yum list 返回列表裏面的包名含有 vim 的包過濾出來
  • 並且有顏色高亮顯示

  • 通常yum安裝包的時候,系統會詢問是否安裝
  • 若是不想系統詢問是否安裝,而是讓系統直接安裝
  • 可使用 yum install -y 包名
  • 這樣系統就會自動安裝,不會詢問

  • 查看yum能夠安裝的組
  • 若是想要安裝某一個組
  • 可使用上圖命令
  • yum groupinstall 組名
  • 組名若是隻是一個字符串,直接寫上去就好了
  • 若是是兩個字符串,中間有空格,那麼就須要用‘’括起來

  • 使用 yum remove 包名
  • 能夠在卸載包的同時,把包的依賴包的一塊兒卸載
  • 因此比較危險
  • 不過能夠自動的卸載依賴包,不須要把依賴包一個個卸載掉

  • yum update 包名
  • 就能夠升級一個包
  • 若是不加包名,直接使用 yum update
  • 那麼就會把系統裏面全部的包都進行升級
  • 通常這個操做是剛安裝完系統就要作的
  • 若是系統已經在運行一下服務,這個操做升級以後
  • 可能致使出現一些不兼容的問題
  • 因此在使用服務的系統就不要進行這個操做了

  • 使用一個命令的時候,發現沒法使用
  • 說明沒有安裝這個包,可是又不知道包的名字
  • 可使用 yum provides "/*/vim" 搜索包含這個文件的包
  • "/*/vim" 其中 * 是通配符
  • 表示根目錄 / 到 /vim 文件之間的任意路徑
  • 就是從根目錄 / 開始通過任意路徑後能夠找到/vim文件
  • yum provides 能夠找到含有符合以上條件的文件的包

yum 搭建本地倉庫

  • 若是不能鏈接網絡,yum就沒法使用
  • 由於yum會從倉庫裏面下載包
  • 可是倉庫是一個網址,不能鏈接網絡就連不上倉庫的網址
  • 因此搭建一個本地倉庫,能夠在不能鏈接網絡的時候鏈接本地倉庫
  • 前面將光驅掛載到/mnt/下面
  • 光驅裏面Packages目錄裏面都是rpm包
  • 能夠把這個目錄做爲一個倉庫

  • 先把 yum.repos.d 複製一份,並命名爲 yum.repos.d.bak
  • 由於要對這個目錄進行操做,萬一出現問題能夠改回來
  • cd 進入 yum。repos.d 目錄
  • 使用 rm -rf ./* 把當前目錄清空

  • 而後編輯一個 dvd.repo 文件,如下是內容
  • name就是一個名字,沒什麼實際意義
  • baseurl 就是倉庫地址,能夠分爲兩部分 file:// 和 /mnt ,地址就在/mnt目錄
  • enable 表明是否可用,1表明可用,0表明不可用
  • 若是改爲0,那麼這個倉庫就不能用了
  • gpgcheck 表明是否須要檢測
  • 設置爲0,表明不須要檢測

  • 這個操做能夠清除緩存
  • 而後使用命令 yum list 查看包列表
  • 能夠看到,第三列倉庫名是dvd,也就是剛纔設置的倉庫
  • 把 yum list 返回的列表傳給 less 命令,就能夠一頁一頁的查看這個列表
  • 列表前面的信息,能夠看到,第三列帶有 @ 符號,這表明這個包已經安裝了
  • 如今,就能夠從這個倉庫裏面安裝包了
相關文章
相關標籤/搜索