软体的安装升级与移除.ppt

上传人:本田雅阁 文档编号:3302805 上传时间:2019-08-10 格式:PPT 页数:64 大小:1.38MB
返回 下载 相关 举报
软体的安装升级与移除.ppt_第1页
第1页 / 共64页
软体的安装升级与移除.ppt_第2页
第2页 / 共64页
软体的安装升级与移除.ppt_第3页
第3页 / 共64页
软体的安装升级与移除.ppt_第4页
第4页 / 共64页
软体的安装升级与移除.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《软体的安装升级与移除.ppt》由会员分享,可在线阅读,更多相关《软体的安装升级与移除.ppt(64页珍藏版)》请在三一文库上搜索。

1、1,軟體的安裝升級與移除,Linux軟體安裝簡介 原始碼安裝 以 RPM 指令管理套件 使用 Yum 線上安裝、移除與更新套件 Linux 軟體下載網站,2,Linux軟體安裝簡介,原始碼壓縮檔 RPM封裝檔,3,原始碼壓縮檔,優點(彈性及自由化): 可自行修改原始碼 可以自訂安裝的設定 缺點: 需要知道如何編譯及安裝 需要編譯的相關軟體 安裝後查詢不易 難度較高,4,RPM封裝檔,優點 不需安裝編譯的相關軟體 簡單、方便升級 提供套件查詢、驗證功能 缺點 比較原始碼的安裝方式,較缺乏彈性,5,原始碼安裝,下載的檔案解開之後,有下列 2 種檔案格式: 原始碼格式:軟體以原始碼方式散播,通常以

2、C 或 C+ 等程式語言寫成。您需要安裝 gcc 及 make 等套件才可編譯程式。至於編譯及安裝的方式,請參考該程式目錄下的 README 或 INSTALL 說明檔。,6,原始碼安裝,執行檔格式:軟體以執行檔 (二進位) 的方式散播,因此下載時,請注意您的作業系統版本及 CPU 種類。以 Apache 軟體為例,除了提供原始碼下載之外,也提供了執行檔下載。執行檔以 CPU 區分成 i686 (IBM 相容 PC)、PowerPC (如麥金塔). ;而 Linux 作業系統的類別中,分別對 Red Hat Linux 及 Slackware Linux 做了最佳化。至於安裝的方式,請參考該程

3、式目錄下的說明檔。,7,原始碼安裝,以下載 ntp 的原始碼為例,說明如何編譯及安裝。 下載網址 http:/linux.vbird.org/linux_basic/0520source/ntp-4.2.4p7.tar.gz,8,原始碼安裝,瀏覽 README 說明檔之後,我們得知編譯及安裝步驟分為下列 3 部分 (大致上原始碼的安裝程式都是如此,但請仍以說明檔為主):,9,原始碼安裝,1. ./configure:執行程式目錄下的指令稿,偵測目前系統的環境,及產生編譯程式時所需的相關設定檔。若加上 -prefix 參數可以指定要將程式安裝在何處。 2. make:編譯程式。 3. make

4、install:安裝編譯好的程式,需以 root 身份執行。,10,原始碼安裝,執行以下指令編譯及安裝:,11,以 RPM 指令管理套件,RPM 的全名是 Red Hat Package Manager,它是由 Red Hat 公司所開發的一個開放性程式套件管理系統。 由於 Red Hat 公司鼓勵其他開發廠商以此格式發行他們的軟體,因此目前 RPM 除了可以在本 Linux 發行版上運作外,也可以在許多其他的 Linux 發行版及 Unix 平台上執行。,12,rpm 指令概念說明,為了讓易於區別,底下我們將整個 RPM 套件管理系統簡稱為 RPM,將管理 RPM 套件管理系統的程式稱為 r

5、pm 程式或 rpm 指令,而將能夠被 rpm 程式處理的安裝套件稱為 RPM 套件。其關係可用下圖表示:,13,rpm 指令概念說明,14,rpm 指令概念說明,使用 RPM 套件管理系統具有下列優點,而這也是 RPM 套件管理系統的設計目標: 易於安裝、升級與移除套件 有強大的查詢功能 能夠進行套件驗證 支援套件以原始碼形式發行,15,rpm 指令的操作方法,RPM 套件通常以 xxx.rpm 的格式命名,例如 rhviewer-3.10a-13.i386.rpm。其中包含了套件名稱 (rhviewer)、版本 (3.10a)、次版本 (13) 及平台 (i386),不過並不是所有套件的作

6、者都會根據這個格式來命名。 除了建構安裝套件外,rpm 指令具有 5 種基本的操作模式,包含套件的:安裝、移除、升級、查詢及驗證。我們可以使用 rpm -help 指令獲得完整的細節及參數:,16,rpm 指令的操作方法,在安裝、移除及更新套件時,必須取得 root 的權限,而查詢及驗證套件時則不用。,17,套件安裝,使用 rpm 指令的安裝模式可以將套件內 所有的元件放至系統中的正確路徑,安裝套件的指令是: 以此指令安裝時,會顯示套件的名稱 (不一定會與檔名相同),並顯示 # 號以指示安裝程序正在進行中。,18,套件安裝,rpm 指令還能透過 FTP 或 HTTP 來進行遠距的套件安裝或查詢

7、。使用方式與在本機上並無太大不同,只要在檔案前加上適當的 URL 位址即可,例如: 在安裝套件時,有時會出現要安裝的套件已經安裝過、某個檔案已被其他的套件安裝,或是不同套件之間有相依性的問題,以下分別詳細說明。,19,重複安裝套件,要重複安裝一個原本就已經安裝的套件時,rpm 指令會顯示出類似下面的錯誤訊息: 如果您確定要安裝此套件,可以在命令列中加上 -replacepkgs 參數,使rpm 指令忽略錯誤訊息,取代原有套件:,20,套件中某個檔案已被其他套件 安裝,如果要安裝的套件中,有某個檔案已被其他套件安裝於系統中,則 rpm 指令會顯示錯誤的訊息: 要 rpm 指令忽略此訊息直接取代舊

8、檔案,可使用 -replacefiles 參數:,21,不同套件之間的相依性,有些 RPM 套件會與其他的 RPM 套件有相依性,這些套件通常要別的套件已先安裝於系統中才能正常執行。當您試圖要安裝這類 RPM 套件,則 rpm 指令會列出其所需的相關套件:,22,不同套件之間的相依性,比較好的解決方式是將其所需要的套件先安裝好,以上例來說,先安裝rhviewer 套件之後,再安裝 rhpainter 套件即可。此外,也可以加上 -nodeps 參數來略過相依性檢查,不過這樣強行安裝的結果可能會使套件不能正常執行。,23,套件移除,移除模式會將指定的套件元件全部刪除,但會保留已更改過的設定檔。移

9、除 RPM 套件的指令如下: 要注意的是,這裡必須使用套件的名稱 “rhviewer“ 或 “rhviewer-3.10a-13“,而不是使用當初安裝套件時所用的檔名 “rhviewer-3.10a-13.i386.rpm“。,24,套件移除,如果在移除套件時出現類似下列訊息,代表移除套件會破壞其他套件的套件相依性: 此時您必須先移除 rhpainter 套件後,才能接著移除 rhviewer。或者您也可以使用 -nodeps 參數,即可忽略此訊息而強行移除套件,不過這樣可能會導致其他套件無法正常執行。,25,套件升級,升級模式會安裝使用者所指定的更新版本,並移除已安裝於系統中的相同套件。升級

10、套件的指令如下: 升級模式的運作方式是將系統中的舊版本移除,再安裝新版本。您也可以使用升級模式取代安裝模式來安裝新版本。因為在沒有舊版本的情況下,使用 -U 這個參數仍可正常運作。,26,套件升級,以 rpm 指令升級套件時,如果有舊版的套件存在於系統中,則會看到如下的訊息: 這是 rpm 指令特有的設定檔智慧型升級訊息。因為有些套件的設定檔格式在不同版本間並不相容,因此 rpm 指令會將舊的設定檔加 .rpmsave 副檔名儲存,並安裝新的設定檔,您可以在套件安裝後立即比較新舊設定檔,以決定是否要換回原來的設定。,27,套件升級,升級模式下的錯誤除了包含移除與安裝模式下的錯誤外,還有一個比較

11、特別的是,當使用者試圖安裝一個比現有套件更舊的套件時,會顯示如下訊息: 若決心要將套件 “升級“ 到較舊的版本,可使用 -oldpackage 參數:,28,套件更新,前面所講 rpm 指令的 5 種工作模式中,並不包含更新模式,主要是因為更新模式可算是升級模式的另一種使用方式。更新套件的指令如下: rpm 指令在更新模式下會檢查在指令列中所指定的套件是否比系統中原有的套件來得新。如果情況屬實,rpm 指令會自動更新指定套件。反之,若系統中並沒有指定套件的較舊版本,rpm 指令並不會安裝此套件。,29,套件更新,而在升級模式下,不管系統中是否有較舊的版本,rpm 指令都會安裝指定的套件。 如果

12、您從網路下載了許多的套件,且想更新所有已經安裝在系統中的套件 (未曾安裝的套件則不安裝),可以執行以下指令: 如此 RPM 就會為我們更新所有系統中已存在的套件。,30,套件查詢,想要取得 RPM 套件的相關資訊可以使用查詢模式,使用 -q 參數可查詢一個已安裝的套件內容。如執行 rpm -q rhviewer 指令將顯示 rhviewer 套件的套件名稱、版本及次版本:,31,套件查詢,在查詢模式中可用套件指定參數配合查詢: 也可以再加上資訊選擇參數來決定所要顯示的資訊:,32,套件查詢,33,套件查詢,我們可以結合 -qi 參數得到一般性套件資訊: 對於顯示檔案列表的 -l 參數,還可加上

13、 -v 參數以獲得較完整的資訊,其輸出格式類似 ls -l 指令的結果。,34,套件驗證,要驗證目前系統中的檔案是否與原始套件相符,可使用驗證模式。-V 參數可用來驗證套件的正確性。驗證模式會比較原始套件資訊及目前系統中的檔案資訊,包括每個檔案的大小、MD5 (一種加密方式) checksum、權限、型別、擁有者及所屬的檔案群組。 在驗證模式中也可以使用上一節所提到的套件指定參數來指定特別的套件。例如:,35,套件驗證,在上例中前 3 個指令會比較 RPM 組態資料庫與目前系統中的檔案;而第4 個指令則是比較原始 .rpm 檔的內容與目前系統中的檔案,適用於 RPM 組態資料庫毀損或遭人修改的

14、狀況下。,36,套件驗證,在驗證後沒有任何輸出,表示套件正常。如有不一致的地方,RPM 會顯示錯誤碼。下表列出可能的錯誤碼及其代表的意義:,37,rpm 指令常用的查詢實例,這裡舉幾個例子,加深您對 rpm 指令的了解: 查詢套件所安裝的檔案:安裝某個套件之後,常常困擾人的是,不曉得這個套件究竟被裝到哪裡去。此時只要執行 rpm -ql 套件名稱 指令即可,例如:,38,rpm 指令常用的查詢實例,查詢是否刪除套件檔案:當您誤刪了某些檔案,又不知道到底刪掉些什麼時,只要執行 rpm -Va 指令即可對系統做完整的套件驗證,得知是否刪除了某些套件檔案。 查詢檔案屬於哪個套件:遇到一些不認得的檔案

15、,想要知道這個檔案是否屬於某個套件,可執行 rpm -qf /完整路徑/檔案名稱 指令查詢。 驗證套件的正確性:上兩個例子可以結合使用,例如您懷疑某個程式 (如 vi) 有問題,而想對該程式進行驗證,可以執行 rpm -Vf /bin/vi 指令。,39,查詢套件的相關說明文件:想要取得某個程式套件 (如 ispell) 的更多資訊,可執行 rpm -qdf /usr/bin/ispell 以得知這個程式所屬的說明文件有那些,其輸出如下:,rpm 指令常用的查詢實例,40,如何解決套件相依性及 查詢未安裝檔案所屬套件,若您安裝此 Linux 發行版時,不是選擇安裝所有的套件;或是自行從網路下載

16、了各種套件 ,在安裝這些套件時,常常會遇到一些相依性的問題。例如欲安裝書附光碟中的 PHP 套件,可能會遇到以下狀況:,41,如何解決套件相依性及 查詢未安裝檔案所屬套件,為了正確安裝 PHP 套件,必須先安裝缺少的檔案,但是要怎麼知道安裝哪些套件才會有這 2 個檔案呢?您可至 http:/ 分別搜尋 “libcurl.so.3”、“php-pear” 這些關鍵字,由搜尋結果可以得知它們分別屬於 curl、phppear 套件。 如此您只要由光碟或網站中取得此 2 個套件,先行安裝即可。不過,在安裝這些套件的過程中,可能還會遇到其他套件相依性的問題。此時,同樣請依此方法解決。,42,如何解決套

17、件相依性及 查詢未安裝檔案所屬套件,有時候兩個套件之間可能會發生互相需要的情形,例如前面安裝 PHP 套件時,rpm 指令要求先行安裝 php-pear 套件,可是當安裝 php-pear 套件,卻又顯示需要 PHP 套件:,43,如何解決套件相依性及 查詢未安裝檔案所屬套件,這樣不就發生無解的無限迴圈嗎?此時請將這兩個 RPM 套件檔放在同一個目錄內,如下使用萬用字元同時安裝即可:,44,使用 Yum 線上安裝、移除與更新套件,Yum (Yellow dog Updater,Modified) 為此 Linux 發行版內建的強大套件管理工具,具有線上安裝、移除、與更新套件的功能,其最為人稱道

18、的特點在於它能自動判斷並解決 RPM 套件的相依性問題。 Yum 可說是全自動化的套件管理工具,可以幫我們省下不少安裝與更新套件的時間。,45,變更 Yum 的套件儲藏庫,Yum 預設使用的官方網站為 套件的儲藏庫 (Repository),當您想要使用 yum 指令安裝某個套件時,只要指定套件名稱,Yum 就會自動到儲藏庫下載該套件檔,並且會同時尋找其他需要的檔案一起下載,然後再進行安裝。 由於 CentOS 的官方網站位於美國,其他國家使用者連線時的網路速度可能不佳,加上全世界可能同時有上千台主機需要下載檔案,所以網路塞車的情形大概是無法避免的。,46,變更 Yum 的套件儲藏庫,建議將儲

19、藏庫改為距離您最近的映射站,增加檔案下載的效率,同時也能減少官方網站的負荷。 在此將 CentOS 的套件儲藏庫位置,指定到台灣的映射站。首先開啟 /etc/yum.repos.d/CentOS-Base.repo 檔並如下修改:,47,變更 Yum 的套件儲藏庫,base 1.將mirrorlist 那段前面加上 # 註解起來(預設的國外伺服器) #mirrorlist=xxxxxxxxxxxxxxxxxxx #gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 2.將baseurl,gpgkey 修改成下面這樣 baseurl=http:/f

20、tp.ncnu.edu.tw/Linux/CentOS/$releasever/os/$basearch/ baseurl=http:/ftp.ncnu.edu.tw/Linux/CentOS/$releasever/updates/$basearch/ gpgkey=http:/ftp.ncnu.edu.tw/Linux/CentOS/RPM-GPG-KEY-CentOS-6 update 1.將mirrorlist 那段前面加上 # 註解起來(預設的國外伺服器) #mirrorlist=xxxxxxxxxxxxxxxxxxx #gpgkey=file:/etc/pki/rpm-gpg/RP

21、M-GPG-KEY-CentOS-6 2.將baseurl,gpgkey 修改成下面這樣 baseurl=http:/ftp.ncnu.edu.tw/Linux/CentOS/$releasever/os/$basearch/ baseurl=http:/ftp.ncnu.edu.tw/Linux/CentOS/$releasever/updates/$basearch/ gpgkey=http:/ftp.ncnu.edu.tw/Linux/CentOS/RPM-GPG-KEY-CentOS-6,執行 # yum update 即可開始使用ftp.ncnu.edu.tw的yum來昇級,48,使

22、用 Yum 線上安裝套件,使用 yum 指令安裝套件的語法如下: 以安裝 PHP 套件為例,為您示範 yum 指令的線上安裝功能:,49,使用 Yum 線上安裝套件,安裝 php 套件,50,使用 Yum 線上安裝套件,51,使用 Yum 線上安裝套件,52,使用 Yum 線上安裝套件,使用 yum 指令安裝套件是不是很輕鬆又簡單呢?,53,使用 Yum 移除套件,使用 yum 指令移除套件的語法如下: 以移除 httpd 套件為例,為您示範 yum 指令移除套件的功能:,54,使用 Yum 移除套件,55,使用 Yum 移除套件,使用 yum 指令移除套件和安裝套件一樣輕鬆簡單。如果使用 r

23、pm 指令,要手動先行移除 10 個套件,然後才能移除 httpd 套件,兩者的效率有很大的差別。,56,使用 Yum 查詢與搜尋套件,使用 yum 指令時只需要指定名稱便可以安裝套件,不過要如何知道有哪些套件可以安裝呢?如果您要查詢目前系統未安裝,但是儲藏庫內有的套件,請如下操作:,57,使用 Yum 查詢與搜尋套件,如果您想要查詢該套件的介紹時,則執行 yum info 套件名稱 即可觀看套件介紹。 當您不清楚套件名稱時,可以使用關鍵字搜尋套件,語法為 yum search 關鍵字。例如要想尋找與 DNS 相關的套件,便可執行 yum search DNS 指令搜尋。,58,使用 Yum

24、線上更新套件,yum 指令更新套件的語法為: 在更新套件前,可執行下面指令檢查目前系統中是否有需要更新的套件:,59,使用 Yum 線上更新套件,看來已經有很多套件需要更新了,以更新 bind 套件為例,為您解說如何更新套件:,60,使用 Yum 線上更新套件,61,使用 Yum 線上更新套件,若您想要一次更新系統內所有套件,則可以執行下面指令: Yum 還提供了自動更新的功能,每天深夜主動檢查並下載新版本的套件加以更新。如果您想要使用此功能,請執行下面指令開啟:,62,使用 Yum 線上更新套件,若想要關閉自動更新功能,則請執行 /etc/rc.d/init.d/yum stop; chkc

25、onfig yum off。,63,Linux 軟體下載網站,當您腦中出現 “在 Linux 上若是有這種軟體該有多好啊!“ 的念頭時,恰巧又會寫程式,千萬不要捲起袖子就開始寫了。除非您非常有創意,否則在您想到之前,可能早就有人想到且開始實做了。因此您不需要重複發明輪胎,在此介紹 2 個大型的軟體開發專案網站:,64,Linux 軟體下載網站,http:/ http:/ 這 2 個網站裡面有許多的開發專案在進行,您只要輸入想找的關鍵字搜尋,或是依照分類尋找,通常都可以找到您想要的軟體,而且大都不只一個。 上面提到的網站,有時某軟體專案只提供原始碼下載,若您想尋找是否有RPM 套件,可到 http:/ 搜尋,因為可能有其他的發行版或是熱心人士將它包裝成 RPM 套件了。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1