操作系統(tǒng)與云計算(基于華為openEuler)(微課版)06.軟件包管理_第1頁
操作系統(tǒng)與云計算(基于華為openEuler)(微課版)06.軟件包管理_第2頁
操作系統(tǒng)與云計算(基于華為openEuler)(微課版)06.軟件包管理_第3頁
操作系統(tǒng)與云計算(基于華為openEuler)(微課版)06.軟件包管理_第4頁
操作系統(tǒng)與云計算(基于華為openEuler)(微課版)06.軟件包管理_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Linux操作系統(tǒng)與云計算

(基于華為openEuler)第6章軟件包管理程和俠程和生編著學(xué)習(xí)內(nèi)容回顧-4.1案例引入-4.2目錄查看操作-4.3文件系統(tǒng)層次結(jié)構(gòu)標(biāo)準(zhǔn)-4.4空目錄創(chuàng)建與刪除-4.5文件操作-4.6復(fù)制、刪除、移動、重命名-4.7硬鏈接和符號鏈接-4.8歸檔(壓縮與解壓縮)-4.9小結(jié)學(xué)習(xí)內(nèi)容回顧-5.1案例引入-5.2用戶與用戶組的概念-5.3用戶管理-5.4用戶組管理-5.5文件權(quán)限管理-5.6提升權(quán)限-5.7用戶聊天工具*-5.8小結(jié)6.1案例引入案例6.1:全心全意為人民服務(wù)。思政教學(xué)目標(biāo):軟件包管理與源代碼管理都是社區(qū)對用戶提供的免費服務(wù),這是一項長期艱辛的工作。目前國內(nèi)這一塊非??杖保瑳]有自己的軟件包管理機制??梢哉f,國內(nèi)操作系統(tǒng)的落后,不是技術(shù)的缺失,而是服務(wù)的缺失。目前華為等極少數(shù)公司已經(jīng)開始提供軟件源等服務(wù)。案例6.2:知重負(fù)重,攻堅克難。思政教學(xué)目標(biāo):為了能讓用戶輕松地安裝并使用各種軟件,軟件包管理器需要梳理全世界各種優(yōu)秀的軟件包,解決它們之間的先后依賴關(guān)系。軟件包之間的關(guān)系錯綜復(fù)雜,相互依賴。一般來說,一個Linux發(fā)行版維護(hù)的軟件包超過50000個。源代碼管理更是創(chuàng)造性的將全世界最優(yōu)秀的源代碼之間的依賴關(guān)系進(jìn)行梳理。這種提供基于軟件或源碼服務(wù)本身確實是一項非常艱難沉重的工作。6.2軟件包簡介目前主流的軟件包管理工具包括:rpm/yum軟件包:主要在OpenEuler/RedHat系列發(fā)行版中使用。dpkg/apt軟件包:主要在Debian/Ubuntu系列發(fā)行版中使用。pkg軟件包:主要在FreeBSD中使用。zypper:主要在openSUSE發(fā)行版中使用。pacman:主要在ArchLinux發(fā)行版中使用。emerge:主要在GentooLinux發(fā)行版中使用。本章主要內(nèi)容-6.1案例引入-6.2軟件包簡介-6.3前端軟件包管理-6.4軟件包管理工具-6.5源代碼安裝管理-6.6軟件包安裝實例-6.7小結(jié)6.3前端軟件包管理軟件包管理工具能夠解決本地安裝問題,集中管理,統(tǒng)一進(jìn)行卸載、更新,但是不能解決安裝依賴關(guān)系。軟件包前端管理工具是在軟件包管理工具的基礎(chǔ)上,實現(xiàn)下載、驗證、自動解決安裝依賴關(guān)系,實現(xiàn)一個指令安裝完成一個軟件,是目前最主要的軟件包管理方式。6.3前端軟件包管理6.3.1yum/dnf6.3.2apt/apt-get6.3.3pkg6.3.1yum/dnfyum(YellowdogUpdater,Modified)是一個在OpenEuler、Fedora、RedHat、CentOS等發(fā)行版中的前端軟件包管理器。基于RPM包管理,能夠從指定的服務(wù)器自動下載RPM包并且安裝,可以自動處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包,無需繁瑣地一次次下載、安裝。dnf(DandifiedYUM)是yum的增強版,新的發(fā)行版基本都使用dnf代替了yum,為了保持兼容性,建立了yum到dnf的一個軟鏈接。1.倉庫Base/OS(基礎(chǔ)/操作系統(tǒng)):這個倉庫包含了操作系統(tǒng)的核心軟件包,例如內(nèi)核、系統(tǒng)庫以及最基本的系統(tǒng)工具。它提供了一個最小的安裝環(huán)境。Updates(更新):該倉庫包含操作系統(tǒng)核心軟件包的更新版本,通常包括修復(fù)漏洞、改進(jìn)性能和新增功能的軟件包。更新倉庫用于保持操作系統(tǒng)的安全性和穩(wěn)定性。Extras(額外):Extras倉庫包含一些額外的軟件包,這些軟件包不屬于操作系統(tǒng)的核心部分,但可能會對系統(tǒng)功能或用戶有用。這里包括一些常見的實用工具和應(yīng)用程序。Debuginfo(調(diào)試信息):Debuginfo倉庫包含了用于調(diào)試操作系統(tǒng)和軟件包的符號和調(diào)試信息。它通常用于開發(fā)人員在進(jìn)行調(diào)試時分析軟件包的問題。Source(源代碼):Source倉庫包含軟件包的源代碼,允許開發(fā)人員查看和修改源代碼。Everything(所有):這個倉庫包含了所有可用的軟件包,包括操作系統(tǒng)核心、額外的軟件包以及其他倉庫中的所有軟件包。EPEL(ExtraPackagesforEnterpriseLinux):EPEL是為RHEL(RedHatEnterpriseLinux)和CentOS等企業(yè)級Linux發(fā)行版提供的一個額外軟件包倉庫。它包含了一些不包括在官方倉庫中的軟件包,用于擴展系統(tǒng)的功能,是一個非常值得推薦啟用的一個倉庫。為了減輕軟件源服務(wù)器的壓力,軟件源中的倉庫的目錄和索引必須下載到本地才能被檢索到。2.本地檢索搜索軟件包信息都是在本地緩存中進(jìn)行的。[例6.1]查詢“openjdk”軟件包。還可以搜索軟件包描述,從更多的描述內(nèi)容中搜索,擴大搜索范圍,支持“*”通配符。[例6.2]搜索“openjdk”。provides反向查詢文件由哪個包提供,或者軟件包由哪個倉庫提供。[例6.3]反向查詢“java-17-openjdk-devel”是由哪個軟件源提供的。軟件名必須是完整的軟件名。顯示軟件包詳細(xì)信息,包括版本號、安裝大小、依賴關(guān)系、bug報告等信息。[例6.4]查詢“java-17-openjdk-devel”的詳細(xì)信息。3.安裝/卸載在線安裝或更新軟件包。yum還可以安裝或更新本地rpm格式軟件包,并能解決依賴關(guān)系。注意:本地安裝,必須指定軟件包路徑,當(dāng)前工作目錄使用“./”表示,不可以省略。[例6.5]安裝開源免費的“httpd”服務(wù)。卸載軟件包使用remove。[例6.6]卸載“httpd”軟件包。4.更新系統(tǒng)通過“安裝/升級”軟件來更新系統(tǒng),這種更新系統(tǒng)的方式可能會導(dǎo)致部分軟件的依賴關(guān)系出錯。通過“卸載/安裝/升級”來實現(xiàn)完全更新系統(tǒng),即先卸載可升級軟件包,然后安裝最新軟件包的方式升級系統(tǒng)。這種方式能夠減少軟件包之間的依賴關(guān)系錯誤。6.3前端軟件包管理6.3.1yum/dnf6.3.2apt/apt-get6.3.3pkg6.3.2apt/apt-getapt/apt-get命令適用于deb包前端管理器,主要用于Debian/Ubuntu系列發(fā)行版自動從互聯(lián)網(wǎng)的軟件倉庫中搜索、安裝、升級、卸載軟件或系統(tǒng)。aptitude是涵蓋apt-get,apt-cache等字符界面的前端程序,即圖形化管理程序“新立得軟件包管理器”的字符界面。apt是對apt-get和aptitude的簡化,apt與apt-get基本通用,apt是作為新標(biāo)準(zhǔn)推薦使用的。目前,apt-get在自動化腳本中更具優(yōu)勢;apt用于手動敲擊命令,apt默認(rèn)啟用了某些適合交互式使用的選項,具有更好的人類可閱讀性。說明OpenEuler/CentOS系Debian/Ubuntu系安裝在線軟件包yuminstall<軟件名>aptinstall<軟件名>安裝本地軟件包yuminstall<./本地軟件包路徑>aptinstall<./本地軟件包路徑>卸載軟件包yumremove<軟件名>aptremove<軟件名>

aptpurge<軟件名>;不推薦卸載不再需要的自動安裝的軟件包yumautoremoveaptautoremove清除本地倉庫中過時軟件包的軟件包檢索文件yumautocleanaptautoclean完全清除本地倉庫的軟件包檢索文件yumcleanaptclean搜索軟件包描述yumsearch<正則表達(dá)式>

aptsearch<正則表達(dá)式>

根據(jù)軟件包名稱列出軟件包yumlist|grep<軟件名關(guān)鍵詞>aptlist|grep<軟件名關(guān)鍵詞>反向查詢文件由哪個包提供,或者軟件包由哪個倉庫提供yumprovides<文件名/軟件名關(guān)鍵詞>借助dpkg-S,或aptsearch實現(xiàn)顯示軟件包詳細(xì)信息,包括:版本號、安裝大小、依賴關(guān)系、bug報告等信息yuminfo<軟件名>aptshow<軟件名>在線檢查軟件包檢索文件更新并生成本地緩存yumcheck-updateaptupdate列出可更新的軟件包yumlistupdatesaptlist--upgradeable通過“安裝/升級”軟件來更新系統(tǒng)yumupdate

aptupgrade通過“卸載/安裝/升級”來更新系統(tǒng)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<正則表達(dá)式>

pkgsearch<正則表達(dá)式>

根據(jù)軟件包名稱列出軟件包yumlist|grep<軟件名關(guān)鍵詞>pkginfo|grep<軟件名關(guān)鍵詞>反向查詢文件由哪個包提供,或者軟件包由哪個倉庫提供yumprovides<文件名/軟件名關(guān)鍵詞>pkgwhich<文件名/軟件名關(guān)鍵詞>顯示軟件包詳細(xì)信息,包括:版本號、安裝大小、依賴關(guān)系、bug報告等信息yuminfo<軟件名>pkginfo<軟件名>在線檢查軟件包檢索文件更新并生成本地緩存yumcheck-updatepkgupdate列出可更新的軟件包yumlistupdates通過“安裝/升級”軟件來更新系統(tǒng)yumupdate

pkgupgrade通過“卸載/安裝/升級”來更新系統(tǒng)yumupgrade

查看幫助信息yumhelppkghelp

pkghelp<子命令>查看版本信息yumversionpkgversion本章主要內(nèi)容-6.1案例引入-6.2軟件包簡介-6.3前端軟件包管理-6.4軟件包管理工具-6.5源代碼安裝管理-6.6軟件包安裝實例-6.7小結(jié)6.4軟件包管理工具6.4.1rpm6.4.2dpkg6.4.1rpmrpm是RedHat軟件包管理工具(RedHatPackageManager)的縮寫。rpm原本是RedHatLinux發(fā)行版專門用來管理Linux各項軟件包的程序,由于它遵循GPL規(guī)則且功能強大方便,因而廣受歡迎?,F(xiàn)在包括OpenEuler、CentOS等Linux發(fā)行版都有采用。rpm軟件包需要先下載到本地,然后才能安裝使用。1.安裝安裝使用“-i”選項;安裝時顯示安裝過程使用“-ivh”選項。[例6.8]安裝“httpd”本地軟件包。

安裝其中的一個依賴包。2.升級直接升級使用“-U”選項;升級時顯示升級過程使用“-Uvh”選項。[例6.9]升級安裝“httpd”軟件包。3.查詢“rpm-qa”列出當(dāng)前全部已安裝的軟件包,包括yum/dnf前端安裝的軟件包。如果需要查詢特定安裝包,可以使用“grep”命令進(jìn)行過濾。[例6.10]查詢已經(jīng)安裝的“httpd”軟件包?!皉pm-qi”顯示軟件包詳細(xì)信息,包括:版本號、安裝大小、依賴關(guān)系、bug報告等信息。[例6.11]查詢“httpd”軟件包的詳細(xì)信息?!皉pm-qR”查詢軟件包的依賴關(guān)系。[例6.12]查詢“httpd”軟件包的依賴關(guān)系?!皉pm-ql”查詢軟件包安裝后包含的文件列表。[例6.13]查詢“httpd”軟件包安裝后包含的文件列表?!皉pm-qf”反向查詢文件由哪個軟件包提供。[例6.14]反向查詢文件/etc/httpd/conf.d/autoindex.conf由哪個軟件包提供?!皉pm-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

<軟件名>;卸載并清除配置信息列出當(dāng)前全部已安裝的軟件包rpm-qadpkg-l查詢軟件包完整軟件名rpm-qa|grep

<軟件名關(guān)鍵詞>dpkg-l|grep

<軟件名關(guān)鍵詞>顯示軟件包詳細(xì)信息,包括:版本號、安裝大小、依賴關(guān)系、bug報告等信息rpm-qi<軟件名>

rpm-qpi

<軟件文件名>;未安裝包文件查詢dpkg-s<軟件名>軟件包安裝后包含的文件列表rpm-ql<軟件名>

rpm-qpl<軟件文件名>

;未安裝包文件查詢dpkg-L<軟件名>

反向查詢文件由哪個包提供rpm-qf<文件名>

rpm-qpi

<軟件文件名>;未安裝包文件查詢dpkg-S<文件名>安裝包驗證rpm-V本章主要內(nèi)容-6.1案例引入-6.2軟件包簡介-6.3前端軟件包管理-6.4軟件包管理工具-6.5源代碼安裝管理-6.6軟件包安裝實例-6.7小結(jié)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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論