【Linux命令】安裝命令(yum,rpm)


 

RPM紅帽軟件包管理器

 

Yum軟件倉庫

 

 

 

安裝軟件有三種方式

  • 第一種是源碼安裝(源碼安裝需要手動安裝軟件,安裝的目錄,還需要進行編譯之后才能安裝),步驟比較繁瑣。
  • 第二種是RPM安裝,rpm安裝有點像windows系統的面板,會建立統一的數據庫文件,詳細記錄軟件信息並自動分析依賴關系,不過需要手動安裝依賴的軟件包,如果當安裝一個軟件包的依賴包又有其他依賴包的話,你必須安裝好這個依賴包之后再返回去安裝前面的依賴包。只有將依賴包全部安裝成功才能安裝好最初需要安裝的軟件包。
  • 第三種是yum安裝,這一種是最方便的安裝,能自動安裝依賴包。上面說的比較多,其實rpm和yum的區別也就是依賴性問題。下面來介紹下常用的軟件包命令。

 

軟件包類型

1、二進制包 

  指已經編譯好,能直接安裝並使用,且不需要編譯,直接下載安裝即可

 

 

 

 

 2、源碼包

  程序員寫的原始的程序代碼文件,不能直接在電腦上運行,需要進行編譯成二進制軟件包后,在進行安裝才能使用。命名一般為:軟件包名.tar.gz / .tar.bz2 / .tar.xz / .zip

3、二進制源碼包

  半成品,安裝后不能直接使用,需要用rpmbuild工具重建成真正的rpm包或源碼包才可安裝使用。命名一般為:mysql-community-5.7.25-1.el6.src.rpm、mysql-community-5.7.25-1.el7.src.rpm

 

一、RPM紅帽軟件包管理器

  RPM(Red-Hat Package Manager)。rpm原本是Red Hat Linux發行版專門用來管理Linux各項套件的程序,由於它遵循GPL規則且功能強大方便,因而廣受歡迎。逐漸受到其他發行版的采用。RPM套件管理方式的出現,讓Linux易於安裝,升級,間接提升了Linux的適用度。

1)獲取rpm包

  • RedHat/Centos光盤
  • 推薦網站:www.rpmfind.net  rpm.pbone.net
  • 相應軟件官方網站:http://www.mysql.com  http://nginx.org/packages/

格式:

rpm [選項] 

選項:

-a  查詢所有軟件包。 -b<完成階段><套件檔>+-t <完成階段><套件檔>+  設置包裝套件的完成階段,並指定套件檔的文件名稱。 -c  只列出組態配置文件,本參數需配合"-l"參數使用。 -d  只列出文本文件,本參數需配合"-l"參數使用。 -e<套件檔>--erase<套件檔>  刪除指定的套件。
-f<文件>+  查詢擁有指定文件的套件。 -h或--hash  套件安裝時列出標記。
-i  顯示套件的相關信息。 -i<套件檔>--install<套件檔>  安裝指定的軟件包。
-l  顯示套件的文件列表。 -p<套件檔>+  查詢指定的RPM套件檔。 -q  使用詢問模式,當遇到任何問題時,rpm指令會先詢問用戶。 -R  顯示套件的關聯性信息。 -s  顯示文件狀態,本參數需配合"-l"參數使用。 -U<套件檔>--upgrade<套件檔> 升級指定的套件檔。
-v  顯示指令執行過程。 -vv  詳細顯示指令執行過程,便於排錯。 -addsign<套件檔>+  在指定的套件里加上新的簽名認證。 --allfiles  安裝所有文件。 --allmatches  刪除符合指定的套件所包含的文件。 --badreloc  發生錯誤時,重新配置文件。 --buildroot<根目錄>  設置產生套件時,欲當作根目錄的目錄。 --changelog  顯示套件的更改記錄。 --checksig<套件檔>+  檢驗該套件的簽名認證。 --clean  完成套件的包裝后,刪除包裝過程中所建立的目錄。 --dbpath<數據庫目錄>  設置欲存放RPM數據庫的目錄。 --dump  顯示每個文件的驗證信息。本參數需配合"-l"參數使用。 --excludedocs  安裝套件時,不要安裝文件。 --excludepath<排除目錄>  忽略在指定目錄里的所有文件。 --force  強行置換套件或文件。 --ftpproxy<主機名稱或IP地址>  指定FTP代理服務器。 --ftpport<通信端口>  設置FTP服務器或代理服務器使用的通信端口。 --help  在線幫助。 --httpproxy<主機名稱或IP地址>  指定HTTP代理服務器。 --httpport<通信端口>  設置HTTP服務器或代理服務器使用的通信端口。 --ignorearch  不驗證套件檔的結構正確性。 --ignoreos  不驗證套件檔的結構正確性。 --ignoresize  安裝前不檢查磁盤空間是否足夠。 --includedocs  安裝套件時,一並安裝文件。 --initdb  確認有正確的數據庫可以使用。 --justdb  更新數據庫,當不變動任何文件。 --nobulid  不執行任何完成階段。 --nodeps  不驗證套件檔的相互關聯性。 --nofiles  不驗證文件的屬性。 --nogpg  略過所有GPG的簽名認證。 --nomd5  不使用MD5編碼演算確認文件的大小與正確性。 --nopgp  略過所有PGP的簽名認證。 --noorder  不重新編排套件的安裝順序,以便滿足其彼此間的關聯性。 --noscripts  不執行任何安裝Script文件。 --notriggers  不執行該套件包裝內的任何Script文件。 --oldpackage  升級成舊版本的套件。 --percent  安裝套件時顯示完成度百分比。 --pipe<執行指令>  建立管道,把輸出結果轉為該執行指令的輸入數據。 --prefix<目的目錄>  若重新配置文件,就把文件放到指定的目錄下。 --provides  查詢該套件所提供的兼容度。 --queryformat<檔頭格式>  設置檔頭的表示方式。 --querytags  列出可用於檔頭格式的標簽。 --rcfile<配置文件>  使用指定的配置文件。 --rebulid<套件檔>  安裝原始代碼套件,重新產生二進制文件的套件。 --rebuliddb  以現有的數據庫為主,重建一份數據庫。 --recompile<套件檔>  此參數的效果和指定"--rebulid"參數類似,當不產生套件檔。 --relocate<原目錄>=<新目錄>  把本來會放到原目錄下的文件改放到新目錄。 --replacefiles  強行置換文件。 --replacepkgs  強行置換套件。 --requires  查詢該套件所需要的兼容度。 --resing<套件檔>+  刪除現有認證,重新產生簽名認證。 --rmsource  完成套件的包裝后,刪除原始代碼。 --rmsource<文件>  刪除原始代碼和指定的文件。 --root<根目錄>  設置欲當作根目錄的目錄。 --scripts  列出安裝套件的Script的變量。 --setperms  設置文件的權限。 --setugids  設置文件的擁有者和所屬群組。 --short-circuit  直接略過指定完成階段的步驟。 --sign  產生PGP或GPG的簽名認證。 --target=<安裝平台>+  設置產生的套件的安裝平台。 --test  僅作測試,並不真的安裝套件。 --timecheck<檢查秒數>  設置檢查時間的計時秒數。 --triggeredby<套件檔>  查詢該套件的包裝者。 --triggers  展示套件檔內的包裝Script。 --verify  此參數的效果和指定"-q"參數相同。 --version  顯示版本信息。 --whatprovides<功能特性>  查詢該套件對指定的功能特性所提供的兼容度。 --whatrequires<功能特性>  查詢該套件對指定的功能特性所需要的兼容度。

常用命令:

 

實列:

[root@rhel8 ~]# ls
samba-4.11.2-13.el8.x86_64.rpm  zsh-5.5.1-6.el8.x86_64.rpm # 安裝zsh包
[root@rhel8 ~]# rpm -ivh zsh-5.5.1-6.el8.x86_64.rpm 
警告:zsh-5.5.1-6.el8.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID 8483c65d: NOKEY Verifying... ################################# [100%]
准備中...                          ################################# [100%]
正在升級/安裝... 1:zsh-5.5.1-6.el8                  ################################# [100%]

# 查看是否安裝成功
[root@rhel8 ~]# rpm -q zsh
zsh-5.5.1-6.el8.x86_64 # 查看該包相關的文件
[root@rhel8 ~]# rpm -ql zsh

# 卸載包
[root@rhel8 ~]# rpm -e zsh 
[root@rhel8 ~]# rpm -q zsh
未安裝軟件包 zsh # 升級軟件包 # rpm -Uvh 軟件包
# rpm -Fvh 軟件包
選項說明: -U:如果該軟件沒有安裝,會自動幫你安裝 -F:如果該軟件包沒安裝,不會自動安裝

 

二、Yum源安裝

  yum源安裝需要配置好yum源才能進行安裝。這里也可以參考我的博客:https://i.cnblogs.com/posts/edit;postId=11788558

 

 

 2)配置本地倉庫

步驟1:掛載鏡像到本地系統

 

 

上面是虛擬機中已經掛載了,這里我重新手動掛載

# 掛載鏡像
[root@rhel8 ~]# mount -o ro /dev/sr0 /media/

# 查看掛載是否成功
[root@rhel8 ~]# df -h
文件系統               容量  已用  可用 已用% 掛載點 /dev/sr0               7.4G  7.4G     0  100% /media

步驟2:編輯redhat.repo文件,指定軟件的路徑

# 因為redhat8又來個軟件包BaseOS和AppStream
[root@rhel8 yum.repos.d]# vim local.repo
[BaseOS] name=BaseOS enabled=1 baseurl=file:///media/BaseOS/ gpgcheck=0 [AppStream] name=AppStream enable=1 baseurl=file:///media/AppStream/ gpgcheck=0

步驟3:查看是否成功

# 清空yum緩存
[root@rhel8 yum.repos.d]# yum clean all
Updating Subscription Management repositories. Unable to read consumer identity This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. 0 文件已刪除 # 創建yum緩存
[root@rhel8 yum.repos.d]# yum makecache

# 查看倉庫
[root@rhel8 yum.repos.d]# yum repolist 
Updating Subscription Management repositories. Unable to read consumer identity This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. 上次元數據過期檢查:0:00:55 前,執行於 2020年06月04日 星期四 12時44分23秒。 倉庫標識 倉庫名稱 狀態 AppStream AppStream 4,820 BaseOS                                        BaseOS                                                1,661

3)yum工具使用

 

注意:yum update謹慎使用

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM