




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Linux操作系統與云計算
(基于華為openEuler)第6章軟件包管理程和俠程和生編著學習內容回顧-4.1案例引入-4.2目錄查看操作-4.3文件系統層次結構標準-4.4空目錄創建與刪除-4.5文件操作-4.6復制、刪除、移動、重命名-4.7硬鏈接和符號鏈接-4.8歸檔(壓縮與解壓縮)-4.9小結學習內容回顧-5.1案例引入-5.2用戶與用戶組的概念-5.3用戶管理-5.4用戶組管理-5.5文件權限管理-5.6提升權限-5.7用戶聊天工具*-5.8小結6.1案例引入案例6.1:全心全意為人民服務。思政教學目標:軟件包管理與源代碼管理都是社區對用戶提供的免費服務,這是一項長期艱辛的工作。目前國內這一塊非常空缺,沒有自己的軟件包管理機制。可以說,國內操作系統的落后,不是技術的缺失,而是服務的缺失。目前華為等極少數公司已經開始提供軟件源等服務。案例6.2:知重負重,攻堅克難。思政教學目標:為了能讓用戶輕松地安裝并使用各種軟件,軟件包管理器需要梳理全世界各種優秀的軟件包,解決它們之間的先后依賴關系。軟件包之間的關系錯綜復雜,相互依賴。一般來說,一個Linux發行版維護的軟件包超過50000個。源代碼管理更是創造性的將全世界最優秀的源代碼之間的依賴關系進行梳理。這種提供基于軟件或源碼服務本身確實是一項非常艱難沉重的工作。6.2軟件包簡介目前主流的軟件包管理工具包括:rpm/yum軟件包:主要在OpenEuler/RedHat系列發行版中使用。dpkg/apt軟件包:主要在Debian/Ubuntu系列發行版中使用。pkg軟件包:主要在FreeBSD中使用。zypper:主要在openSUSE發行版中使用。pacman:主要在ArchLinux發行版中使用。emerge:主要在GentooLinux發行版中使用。本章主要內容-6.1案例引入-6.2軟件包簡介-6.3前端軟件包管理-6.4軟件包管理工具-6.5源代碼安裝管理-6.6軟件包安裝實例-6.7小結6.3前端軟件包管理軟件包管理工具能夠解決本地安裝問題,集中管理,統一進行卸載、更新,但是不能解決安裝依賴關系。軟件包前端管理工具是在軟件包管理工具的基礎上,實現下載、驗證、自動解決安裝依賴關系,實現一個指令安裝完成一個軟件,是目前最主要的軟件包管理方式。6.3前端軟件包管理6.3.1yum/dnf6.3.2apt/apt-get6.3.3pkg6.3.1yum/dnfyum(YellowdogUpdater,Modified)是一個在OpenEuler、Fedora、RedHat、CentOS等發行版中的前端軟件包管理器。基于RPM包管理,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟件包,無需繁瑣地一次次下載、安裝。dnf(DandifiedYUM)是yum的增強版,新的發行版基本都使用dnf代替了yum,為了保持兼容性,建立了yum到dnf的一個軟鏈接。1.倉庫Base/OS(基礎/操作系統):這個倉庫包含了操作系統的核心軟件包,例如內核、系統庫以及最基本的系統工具。它提供了一個最小的安裝環境。Updates(更新):該倉庫包含操作系統核心軟件包的更新版本,通常包括修復漏洞、改進性能和新增功能的軟件包。更新倉庫用于保持操作系統的安全性和穩定性。Extras(額外):Extras倉庫包含一些額外的軟件包,這些軟件包不屬于操作系統的核心部分,但可能會對系統功能或用戶有用。這里包括一些常見的實用工具和應用程序。Debuginfo(調試信息):Debuginfo倉庫包含了用于調試操作系統和軟件包的符號和調試信息。它通常用于開發人員在進行調試時分析軟件包的問題。Source(源代碼):Source倉庫包含軟件包的源代碼,允許開發人員查看和修改源代碼。Everything(所有):這個倉庫包含了所有可用的軟件包,包括操作系統核心、額外的軟件包以及其他倉庫中的所有軟件包。EPEL(ExtraPackagesforEnterpriseLinux):EPEL是為RHEL(RedHatEnterpriseLinux)和CentOS等企業級Linux發行版提供的一個額外軟件包倉庫。它包含了一些不包括在官方倉庫中的軟件包,用于擴展系統的功能,是一個非常值得推薦啟用的一個倉庫。為了減輕軟件源服務器的壓力,軟件源中的倉庫的目錄和索引必須下載到本地才能被檢索到。2.本地檢索搜索軟件包信息都是在本地緩存中進行的。[例6.1]查詢“openjdk”軟件包。還可以搜索軟件包描述,從更多的描述內容中搜索,擴大搜索范圍,支持“*”通配符。[例6.2]搜索“openjdk”。provides反向查詢文件由哪個包提供,或者軟件包由哪個倉庫提供。[例6.3]反向查詢“java-17-openjdk-devel”是由哪個軟件源提供的。軟件名必須是完整的軟件名。顯示軟件包詳細信息,包括版本號、安裝大小、依賴關系、bug報告等信息。[例6.4]查詢“java-17-openjdk-devel”的詳細信息。3.安裝/卸載在線安裝或更新軟件包。yum還可以安裝或更新本地rpm格式軟件包,并能解決依賴關系。注意:本地安裝,必須指定軟件包路徑,當前工作目錄使用“./”表示,不可以省略。[例6.5]安裝開源免費的“httpd”服務。卸載軟件包使用remove。[例6.6]卸載“httpd”軟件包。4.更新系統通過“安裝/升級”軟件來更新系統,這種更新系統的方式可能會導致部分軟件的依賴關系出錯。通過“卸載/安裝/升級”來實現完全更新系統,即先卸載可升級軟件包,然后安裝最新軟件包的方式升級系統。這種方式能夠減少軟件包之間的依賴關系錯誤。6.3前端軟件包管理6.3.1yum/dnf6.3.2apt/apt-get6.3.3pkg6.3.2apt/apt-getapt/apt-get命令適用于deb包前端管理器,主要用于Debian/Ubuntu系列發行版自動從互聯網的軟件倉庫中搜索、安裝、升級、卸載軟件或系統。aptitude是涵蓋apt-get,apt-cache等字符界面的前端程序,即圖形化管理程序“新立得軟件包管理器”的字符界面。apt是對apt-get和aptitude的簡化,apt與apt-get基本通用,apt是作為新標準推薦使用的。目前,apt-get在自動化腳本中更具優勢;apt用于手動敲擊命令,apt默認啟用了某些適合交互式使用的選項,具有更好的人類可閱讀性。說明OpenEuler/CentOS系Debian/Ubuntu系安裝在線軟件包yuminstall<軟件名>aptinstall<軟件名>安裝本地軟件包yuminstall<./本地軟件包路徑>aptinstall<./本地軟件包路徑>卸載軟件包yumremove<軟件名>aptremove<軟件名>
aptpurge<軟件名>;不推薦卸載不再需要的自動安裝的軟件包yumautoremoveaptautoremove清除本地倉庫中過時軟件包的軟件包檢索文件yumautocleanaptautoclean完全清除本地倉庫的軟件包檢索文件yumcleanaptclean搜索軟件包描述yumsearch<正則表達式>
aptsearch<正則表達式>
根據軟件包名稱列出軟件包yumlist|grep<軟件名關鍵詞>aptlist|grep<軟件名關鍵詞>反向查詢文件由哪個包提供,或者軟件包由哪個倉庫提供yumprovides<文件名/軟件名關鍵詞>借助dpkg-S,或aptsearch實現顯示軟件包詳細信息,包括:版本號、安裝大小、依賴關系、bug報告等信息yuminfo<軟件名>aptshow<軟件名>在線檢查軟件包檢索文件更新并生成本地緩存yumcheck-updateaptupdate列出可更新的軟件包yumlistupdatesaptlist--upgradeable通過“安裝/升級”軟件來更新系統yumupdate
aptupgrade通過“卸載/安裝/升級”來更新系統yumupgrade
aptfull-upgrade查看幫助信息yumhelpapthelp查看版本信息yumversionaptversion6.3前端軟件包管理6.3.1yum/dnf6.3.2apt/apt-get6.3.3pkg6.3.3pkgFreeBSD中使用pkg作為的軟件包管理工具。說明OpenEuler/CentOS系FreeBSDPackages安裝在線軟件包yuminstall<軟件名>pkginstall<軟件名>安裝本地軟件包yuminstall<./本地軟件包路徑>pkginstall<./本地軟件包路徑>卸載軟件包yumremove<軟件名>pkgremove<軟件名>卸載不再需要的自動安裝的軟件包yumautoremovepkgautoremove清除本地倉庫中過時軟件包的軟件包檢索文件yumautocleanpkgclean-a-n完全清除本地倉庫的軟件包檢索文件yumcleanpkgclean搜索軟件包描述yumsearch<正則表達式>
pkgsearch<正則表達式>
根據軟件包名稱列出軟件包yumlist|grep<軟件名關鍵詞>pkginfo|grep<軟件名關鍵詞>反向查詢文件由哪個包提供,或者軟件包由哪個倉庫提供yumprovides<文件名/軟件名關鍵詞>pkgwhich<文件名/軟件名關鍵詞>顯示軟件包詳細信息,包括:版本號、安裝大小、依賴關系、bug報告等信息yuminfo<軟件名>pkginfo<軟件名>在線檢查軟件包檢索文件更新并生成本地緩存yumcheck-updatepkgupdate列出可更新的軟件包yumlistupdates通過“安裝/升級”軟件來更新系統yumupdate
pkgupgrade通過“卸載/安裝/升級”來更新系統yumupgrade
查看幫助信息yumhelppkghelp
pkghelp<子命令>查看版本信息yumversionpkgversion本章主要內容-6.1案例引入-6.2軟件包簡介-6.3前端軟件包管理-6.4軟件包管理工具-6.5源代碼安裝管理-6.6軟件包安裝實例-6.7小結6.4軟件包管理工具6.4.1rpm6.4.2dpkg6.4.1rpmrpm是RedHat軟件包管理工具(RedHatPackageManager)的縮寫。rpm原本是RedHatLinux發行版專門用來管理Linux各項軟件包的程序,由于它遵循GPL規則且功能強大方便,因而廣受歡迎。現在包括OpenEuler、CentOS等Linux發行版都有采用。rpm軟件包需要先下載到本地,然后才能安裝使用。1.安裝安裝使用“-i”選項;安裝時顯示安裝過程使用“-ivh”選項。[例6.8]安裝“httpd”本地軟件包。
安裝其中的一個依賴包。2.升級直接升級使用“-U”選項;升級時顯示升級過程使用“-Uvh”選項。[例6.9]升級安裝“httpd”軟件包。3.查詢“rpm-qa”列出當前全部已安裝的軟件包,包括yum/dnf前端安裝的軟件包。如果需要查詢特定安裝包,可以使用“grep”命令進行過濾。[例6.10]查詢已經安裝的“httpd”軟件包。“rpm-qi”顯示軟件包詳細信息,包括:版本號、安裝大小、依賴關系、bug報告等信息。[例6.11]查詢“httpd”軟件包的詳細信息。“rpm-qR”查詢軟件包的依賴關系。[例6.12]查詢“httpd”軟件包的依賴關系。“rpm-ql”查詢軟件包安裝后包含的文件列表。[例6.13]查詢“httpd”軟件包安裝后包含的文件列表。“rpm-qf”反向查詢文件由哪個軟件包提供。[例6.14]反向查詢文件/etc/httpd/conf.d/autoindex.conf由哪個軟件包提供。“rpm-qp[ilRf]”查詢未安裝的rpm安裝包的信息。[例6.15]查詢未安裝的rpm安裝包的信息。4.驗證驗證即查詢軟件所含的程序文件是否被修改。[例6.16]
5.卸載“rpm-e”卸載軟件,卸載前也需要先使用“rpm-qa|grep”查詢一下具體軟件包名稱。[例6.17]卸載“httpd”軟件包。6.4軟件包管理工具6.4.1rpm6.4.2dpkg6.4.2dpkgdpkg是類似rpm的Debian/Ubuntu系的軟件包管理器。說明OpenEuler/CentOS系Debian/Ubuntu系安裝/升級本地軟件包rpm-ivh<軟件文件名>dpkg-i<軟件文件名>本地安裝軟件依賴修正手動修正,或借助于yum本地安裝apt-get-finstall
在線修正,或借助于apt本地安裝卸載軟件包rpm-e<軟件名>
dpkg-r<軟件名>;卸載但并不清除配置信息
dpkg-P
<軟件名>;卸載并清除配置信息列出當前全部已安裝的軟件包rpm-qadpkg-l查詢軟件包完整軟件名rpm-qa|grep
<軟件名關鍵詞>dpkg-l|grep
<軟件名關鍵詞>顯示軟件包詳細信息,包括:版本號、安裝大小、依賴關系、bug報告等信息rpm-qi<軟件名>
rpm-qpi
<軟件文件名>;未安裝包文件查詢dpkg-s<軟件名>軟件包安裝后包含的文件列表rpm-ql<軟件名>
rpm-qpl<軟件文件名>
;未安裝包文件查詢dpkg-L<軟件名>
反向查詢文件由哪個包提供rpm-qf<文件名>
rpm-qpi
<軟件文件名>;未安裝包文件查詢dpkg-S<文件名>安裝包驗證rpm-V本章主要內容-6.1案例引入-6.2軟件包簡介-6.3前端軟件包管理-6.4軟件包管理工具-6.5源代碼安裝管理-6.6軟件包安裝實例-6.7小結6.5源代碼安裝管理源代碼編譯安裝過程一般包括以下幾個主要步驟。(1)CMake配置(cmake)(2)配置(configure)(3)編譯(make)(4)安裝(makeinstall)源代碼編譯安裝軟件一般步驟命令如下:[例6.18]源代碼方式安裝“httpd”軟件。一般情況下,編譯httpd源代碼的順序是:首先編譯apr,然后編譯apr-util,最后編譯httpd。(1)源代碼方式安裝apr庫。(2)以源代
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋪裝材料試驗相關試題及答案
- 信息摘錄三級數據庫考試試題及答案
- 公司行為規范管理制度
- 臺燈廠家儲存管理制度
- 工作職責授權管理制度
- 行政管理與智能化應用的結合試題及答案
- 衛生系統項目管理制度
- 發票系統單據管理制度
- 小區魚塘養護管理制度
- 工程公司公司管理制度
- CDFI醫師、技師彩超上崗證-單項選擇題(試題)
- 病理檢驗技術課程設計
- 世界歷史第二冊全部教案
- 市政道路及設施零星養護服務技術方案(技術標)
- 山東省青島市市北區2025屆數學七年級第一學期期末監測試題含解析
- 《中國心力衰竭診斷和治療指南2024》解讀(總)
- 北京市通州區2023-2024學年七年級下學期期末數學試題(無答案)
- 2024年江蘇省南京市玄武區玄武外國語學校八年級下學期物理期末模擬卷1
- 河砂、碎石組織供應、運輸、售后服務方案
- 華為企業架構設計方法及實例
- 免疫學實驗技術智慧樹知到期末考試答案章節答案2024年哈爾濱醫科大學大慶校區
評論
0/150
提交評論