![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iM5MDZlJTO3AjN0gDMzgTMzQGN0QTMwITOjNjYiBDOj9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
1 軟體管理者 之 RPM
linux軟體的中央倉庫 --> 需要什麼軟體 聯網 找就完事
RPM的全稱為Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下軟體包的軟體。
RPM 是以一種資料庫記錄的方式(/var/lib/rpm/ 目錄下)來将你所需要的軟體安裝到你的 Linux 系統的一套管理機制。目前 Fedora, CentOS, SuSE 等等知名的開發商都是用RPM。
優點:1)RPM 内含已經編譯過的程式與配置檔案等資料,可以讓使用者免除重新編譯的困擾;
2)RPM 在被安裝之前,會先檢查系統的硬碟容量、作業系統版本等,可避免檔案被錯誤安裝;
3)RPM 檔案本身提供軟體版本資訊、相依屬性軟體名稱、軟體用途說明、軟體所含檔案等資訊,便于了解軟體; maven --> 直接依賴與間接依賴 spring-context -->6個
4)由于軟體的資訊都已經記錄在 Linux 主機的資料庫上,很友善查詢、更新與解除安裝; --> maven --> 中央倉庫(阿裡) --> settings.xml rpm軟體也有自己的代理中央軟體庫(阿裡)
缺點:1) 軟體檔案安裝的環境必須與打包時的環境需求一緻或相當;
2) 需要滿足軟體的相依屬性需求;
3)解除安裝時需要特别小心,最底層的軟體不可先移除,否則可能造成整個系統的問題! lnmp --> rpm --> 你隻提供軟體的名字 到底人家安裝了啥 其實你要不細心的話你都不知道
題外話 壓縮包也是安裝軟體的方式 它就沒有這麼多内部細節 但是必須要配置環境變量
由于RPM隻是記錄依賴關系資訊,但不是自動安裝依賴軟體的YUM 可以自動安裝依賴軟體。
yum 指令 來進行rpm包的安裝 --> ****.rpm
本地的rpm --> rpm -ivh ****.rpm JDK
安裝線上的rpm包 我們采用的是 yum指令來進行安裝 yum是管理你的rpm的一個統一指令 --> 隻要是網絡的rpm yum 如果是本地 rpm -ivh
2 用yum安裝常用軟體
2.1 yum 簡介
yum 是一個在Fedora 和RedHat 以及SUSE 中的Shell 前端軟體包管理器。
基于RPM 包管理,能夠從指定的伺服器自動下載下傳RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載下傳、安裝。
yum提供了查找、安裝、删除某一個、一組甚至全部軟體包的指令,而且指令簡潔而又好記。
機制:
1)将RPM 裡面的所有的軟體資訊都拽過去, 軟體倉庫。
2)根據提供的軟體資訊,配置好依賴關系,并将每個軟體放庫裡
3)将要裝的軟體,生成個清單清單, 拿着清單清單去 軟體庫裡拿安裝檔案,進行安裝。
安裝過程: D → B → C → A
yum
options:可選,選項包括-h(幫助),-y(當安裝過程提示選擇全部為"yes"),-q(不顯示安裝的過程)等等。
command:要進行的操作。
package操作的對象。
yum 常用指令:1)列出所有可更新的軟體清單指令:yum check-update
2)更新所有軟體指令:yum update
3)僅安裝指定的軟體指令:yum install <package_name>
4)僅更新指定的軟體指令:yum update <package_name>
5)列出所有可安裝的軟體清單指令:yum list
6)删除(解除安裝)軟體包指令:yum remove <package_name>
7)查找軟體包 指令:yum search <keyword>
8)清除緩存指令:
yum clean all
2.2 配置阿裡雲 yum 源
1)安裝sz rz工具,用于以後用rz sz上傳下載下傳檔案yum
2)下載下傳 repo 檔案 檔案下載下傳位址: http://mirrors.aliyun.com/repo/Centos-7.repo
3)用 rz 将下載下傳的 Centos-7.repo 檔案上傳到Linux系統的某個目錄下 4)備份并替換系統的repo檔案cp
5)執行yum源更新指令
yum
配置完畢。
2.3 安裝常用軟體
yum install -y openssh-server vim gcc gcc-c++ glibc-headers bzip2-devel lzo-devel curl wget openssh-clients zlib-devel autoconf automake cmake libtool openssl-devel fuse-devel snappy-devel telnet unzip zip net-tools.x86_64 firewalld systemd
openssh:SSH協定 --依賴--> openssl:加密軟體
curl :利用URL文法在指令行方式下工作的開源檔案傳輸工具
wget :下載下傳工具
zlib、snappy-devel、unzip、zip:壓縮工具
autoconf、automake、cmake、fuse-devel:源代碼編譯相關
libtool:動态庫
如果安裝失敗,可以嘗試用 yum -reinstall 覆寫安裝
yum reinstall -y openssh-server vim gcc gcc-c++ glibc-headers bzip2-devel lzo-devel curl wget openssh-clients zlib-devel autoconf automake cmake libtool openssl-devel fuse-devel snappy-devel telnet unzip zip net-tools.x86_64 firewalld systemd