第3天-軟件包的安裝與管理_第1頁
第3天-軟件包的安裝與管理_第2頁
第3天-軟件包的安裝與管理_第3頁
第3天-軟件包的安裝與管理_第4頁
第3天-軟件包的安裝與管理_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件包的安裝與管理了解Linux應用程序的組成軟件包管理概述RPM包的管理二進制包普通軟件源碼包的編譯安裝方法使用YUM來管理軟件包Linux應用程序與命令的關系Linux應用程序組成內部命令外部應用程序兩種形式的命令操作方法相同Linux外部應用程序外部應用程序(ls、mount、rpm、gcc等等)Shell包括包括cd、pwd等內部命令等內部命令Linux內核內核Linux應用程序組成可執(zhí)行程序可執(zhí)行程序可執(zhí)行程序配置文件配置文件配置文件幫助文件幫助文件幫助文件庫文件庫文件庫文件文件位置 系統命令:一般在/bin和/sbin目錄中,或為Shell內部指令 應用程序:通常在/usr/bin

2、和/usr/sbin目錄中主要用途 系統命令:完成對系統的基本管理工作,例如IP配置工具 應用程序:完成相對獨立的其他輔助任務,例如網頁瀏覽器適用環(huán)境 系統命令:一般只在字符操作界面中運行 應用程序:根據實際需要,有些程序可在圖形界面中運行運行格式 系統命令:一般包括命令字、命令選項和命令參數 應用程序:通常沒有固定的執(zhí)行格式文件類型文件類型保存目錄保存目錄普通執(zhí)行程序文件普通執(zhí)行程序文件 /usr/bin 服務器執(zhí)行程序文件和管理程序文件服務器執(zhí)行程序文件和管理程序文件 /usr/sbin 應用程序配置文件應用程序配置文件 /etc 日志文件日志文件 /var/log 應用程序文檔文件應用程

3、序文檔文件 /usr/share/doc 應用程序手冊頁文件應用程序手冊頁文件 /usr/share/man 在Linux系統中,用戶可以直接編譯軟件的源代碼來安裝軟件,也可以使用軟件包管理器來安裝或管理軟件,它與直接從源代碼安裝相比,軟件包管理有著下面的優(yōu)點:易于更新已安裝的軟件包;易于保護配置文件;易于跟蹤已安裝文件RHEL6使用的軟件包管理器一般有兩個:1、RPM包管理器;2、YUM包管理器。封裝類型封裝類型說明說明rpm軟件包軟件包 擴展名為擴展名為“.rpm” deb軟件包軟件包 擴展名為擴展名為“.deb” 源代碼軟件包源代碼軟件包 一般為一般為“.tar.gz”、“.tar.bz

4、2”等格式的壓縮包等格式的壓縮包包含程序的原始代碼包含程序的原始代碼提供安裝程序的軟件包提供安裝程序的軟件包 在壓縮包內提供在壓縮包內提供install.sh、setup等安裝程序等安裝程序或以或以“.bin”格式的單個執(zhí)行文件提供格式的單個執(zhí)行文件提供綠色免安裝的軟件包綠色免安裝的軟件包 在壓縮包內提供已編譯好的執(zhí)行程序文件在壓縮包內提供已編譯好的執(zhí)行程序文件解開壓縮包后的文件即可直接使用解開壓縮包后的文件即可直接使用RPM全稱是Red Hat Package Manager(Red Hat包管理器)。在Linux操作系統中,軟件包的安裝其實是文件的拷貝,即把軟件所用的各個文件拷貝到特定目錄

5、。當然RPM安裝軟件包,也不例外。但RPM更“先進”一些,因為它在安裝前,還會執(zhí)行檢查軟件包的依賴(Dependency)、檢查軟件包的沖突(Conflicts)。最后才將軟件包里面的相關文件解出并存放到相應位置。rpm包管理器的概述rpm軟件的命名rpm包的安裝rpm包的卸載rpm包的升級rpm的查詢rpm包的檢查rpm的校驗rpm在Redhat Linux中,其rpm包的命名規(guī)則為:軟件名-版本號-釋出號.體系號.rpm例: zsh-4.2.6-1.i386.rpmzsh為軟件名;4.2.6為版本號 (4為主版本號、2為次版本號、6為修訂版本號) ;1為釋出號(發(fā)布號);rpm為擴展名rp

6、m包的安裝通過RPM來安裝軟件包的指令與語法如下:rpm 安裝選項-i 安裝一個以前從未安裝過的軟件包。例如:rpm i zsh-4.2.6-1.i386.rpm其它配用選項-v 將安裝過程打印在屏幕上;-h 以hash字符“#”顯示安裝進度條;通過RPM來卸載軟件包的指令與語法如下:rpm 卸載選項-e 卸載一個已經安裝過的軟件包。例如:rpm e zsh注意rpm對一個未安裝的軟件包進行操作,參數為軟件包名。rpm對一個已經安裝過的軟件包進行操作,參數為軟件名。通過RPM來升級軟件包的指令與語法如下:rpm 升級選項-U 對一個已經安裝的舊版本軟件包進行升級(如果以前沒有安裝過此包則安裝它

7、)。-F 對一個已經安裝的舊版本軟件包進行升級。其它配用選項-force 強制執(zhí)行,它與-Uvh組合使用可重新安裝某個已經安裝的軟件包當中丟失的文件。-nodeps:安裝、升級或卸載軟件時,忽略依賴關系 rootlocalhost # rpm -q lynxlynx-2.8.5-28.1rootlocalhost # rpm -e lynxrootlocalhost # rpm -q lynxpackage lynx is not installedrootlocalhost # rpm -ivh lynx-2.8.5-28.1.i386.rpmwarning: lynx-2.8.5-28.1

8、.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186Preparing. # 100% 1:lynx # 100%安裝lynx軟件包同時顯示安裝進度卸載lynx軟件包rootlocalhost # rpm -i wget-1.10.2-3.2.1.i386.rpmrootlocalhost # rpm -q wgetwget-1.10.2-3.2.1rootmail # rpm -Uvh /media/cdrom/wget-1.10.2-7.el5.i386.rpmwarning: /media/cdrom/wget-1.10.2

9、-7.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186Preparing. # 100% 1:wget # 100%rootlocalhost # rpm -q wgetwget-1.10.2-7.el5升級wget軟件包被依賴的軟件包需要先安裝同時指定多個.rpm包文件進行安裝依賴其他程序的軟件包需要先卸載同時指定多個軟件名進行卸載vim-commonvim-enhanced依賴于依賴于忽略依賴關系結合“-nodeps”選項,但可能導致軟件異常通過RPM來查詢的指令與語法如下:rpm 查詢選項q 軟件名:查詢某一個RP

10、M包是否已安裝qi 軟件名:查詢某一個RPM包的詳細信息ql 軟件名:列出某RPM包中所包含的文件qf 文件名:查詢某文件屬于哪一個RPM包qa :列出當前系統所有已安裝的包qip 軟件包:列出未安裝RPM包的詳細信息qlp 軟件包:列出未安裝RPM包中的文件rootlocalhost # rpm -q bashbash-3.1-16.1rootlocalhost # rpm -qa | grep bashbash-3.1-16.1rootlocalhost # rpm -qf /usr/bin/vimvim-enhanced-7.0.109-3rootlocalhost # rpm -ql

11、dhcp/etc/dhcpd.conf/etc/rc.d/init.d/dhcpd查詢是否已安裝有bash軟件包查詢vim是由哪個軟件包安裝的查詢dhcp軟件包安裝的文件列表rootlocalhost # rpm -qpi lynx-2.8.5-28.1.i386.rpmwarning: lynx-2.8.5-28.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186Name : lynx Relocations: (not relocatable)Version : 2.8.5 Vendor: Red Hat, Inc.Rel

12、ease : 28.1 Build Date: 2006年07月13日 星期四 14時10分20秒rootlocalhost Server# rpm -qpl lynx-2.8.5-28.1.i386.rpm/etc/lynx-site.cfg/etc/lynx.cfg查詢lynx軟件安裝包的摘要信息查詢lynx安裝包中的文件列表從互聯網上下載的軟件包,我們應該對下載的軟件包進行檢查。通過RPM來檢查軟件包的指令與語法如下:rpm 檢查選項-K檢查RPM包的GPG簽名注意在檢查之前應該先導入紅帽官方的GPG KEY文件。GPG KEY文件在官方的安裝光盤上與系統中都有。rpm -import

13、/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release當一個軟件包被安裝后,用戶可以對其進行檢驗,以檢測軟件是否被用戶修改過。通過RPM來校驗軟件包的指令與語法如下:rpm 校驗選項-V 校驗軟件;-Va 校驗所有軟件校驗出被修改地方S 文件大小;M 文件權限與類型;5 MD5求和;U 文件的所屬用戶;G 文件的所屬組;T 更改時間開放源代碼與應用程序的編譯安裝編譯前的配置編譯與安裝 Linux 上面的套件幾乎都是經過 GPL 的授權,所以每個套件幾乎均提供原始程序代碼,并且您可以自行修改該程序代碼,以符合您個人的需求。什么是開放源碼、編譯器與可執(zhí)行文件? 一個

14、文件能不能被執(zhí)行看的是有沒有可執(zhí)行的那個權限( 具有 x 權限 ),不過,Linux 系統上真正認識的可執(zhí)行文件其實是二進制檔案( binary file ) 。 使用文書處理器(例如vi) 來進行程序的撰寫,寫完的程序就是所謂的原始程序代碼,這個程序代碼檔案其實就是一般的純文字文件( text file )。在完成這個原始碼檔案的編寫之后,再來就是要將這個檔案編譯成為操作系統看的懂得 binary file !而要編譯自然就需要編譯器來動作,經過編譯器的編譯之后,就會產生一支可以執(zhí)行的 binary file 。 所謂的原始程序代碼,其實就是一些寫滿了程序代碼的純文本文件,所謂的 Tarba

15、ll 檔案,其實就是將套件的所有原始碼檔案先以 tar 打包,然后再以壓縮技術來壓縮,通常最常見的就是以 gzip 來壓縮了。所以 tarball 檔案一般的附檔名就會寫*.tar.gz。 Tarball 套件解壓縮之后,里面的檔案通常就會有:原始程序代碼檔案偵測程序檔案( 可能是 configure 或 config 等檔名 )本套件的簡易說明與安裝說明( INSTALL 或 README )。將 Tarball 由廠商的網頁下載下來; 將 Tarball 解開,產生很多的原始碼檔案; 開始以 gcc 進行原始碼的編譯( 會產生目標文件 object files ); 然后以 gcc 進行函

16、式庫、主、子程序的連結,以形成主要的 binary file; 將上述的 binary file 以及相關的設定文件安裝至自己的主機上面。 打印Hello World 以c語言來寫一個程序,在屏幕上打印出hello world字樣,首先要確保你已經安裝了c語言的編譯環(huán)境gcc,若沒有則需要先安裝可以通過rpm qa |grep gcc 來查找是否安裝步驟:1、編寫原始代碼 vi hello.c#include int main(void) printf(“hello world n”);2、將原始的c代碼程序編譯成可執(zhí)行的二進制文件gcc hello.c這個時候在本目錄下會產生一個名為a.ou

17、t的執(zhí)行文件,gcc不帶參數,默認生成的3、執(zhí)行該文件 ./a.out會看到效果開發(fā)者開發(fā)者用戶用戶 make 的功能是可以簡化編譯過程里面所下達的指令,同時還具有很多很方便的功能!make 會主動的去判斷每個目標文件相關的原始碼檔案,并直接予以編譯,最后再直接進行連結的動作! Tarball 安裝的基本步驟:1、將 tarball 檔案在 /usr/local 目錄下解壓縮;2、進入新建立的目錄底下,去查閱 INSTALL 與 README 等相 關檔案內容;3、根據 INSTALL/README 的內容察看并安裝好一些相依的套 件( 非必要 );4、執(zhí)行./configure 以自動偵測程

18、序( configure 或 config )偵測 作業(yè)環(huán)境,并建立 Makefile 這個檔案;5、執(zhí)行make,以 make 這個程序并使用該目錄下的 Makefile 做 為他的參數設定檔,來進行 make ( 編譯或其它 )的動作; 6、執(zhí)行make install以 make 這個程序,并以 Makefile 這個參 數設定檔,依據 install 這個標的( target )的指定來安裝到正 確的路徑!編譯前配置安裝應用程序二進制代碼makemake install./configure源代碼安裝 指將源代碼文件在本機編譯成二進制文件的安裝過程通常所具備的幾個步驟為:1 下載 以源

19、代碼方式發(fā)布的軟件包通常是以.tar.gz、.tar.bz2 或 .tgz擴展名結尾的單個壓縮文檔2 解包tar -zxvf=*.tar.gz 、*.tgztar -jxvf=*.tar.bz23 閱讀必要的文檔 解包源代碼之后,可以進入解包的目錄并檢查其中的內容。最好是能找到所有與安裝有關的文檔。通常,這一信息可以在位于主源代碼目錄的 README 或 INSTALL 文件中找到。 另外,可以查找 README.platform 和 INSTALL.platform 文件,這里的 platform 通常是特定操作系統或計算機架構的名稱。4 配置./configureeg:./configur

20、e -prefix=/usr/local/mysql 配置過程完成后,配置腳本將它所有的配置數據存儲在一個名為 config.cache 的文件中。如果在更新系統配置后需要再次運行 ./configure,請確保您先執(zhí)行 $rm config.cache 命令;否則配置腳本將只使用舊的設置而不重新檢查系統。5 編譯并安裝make/編譯make check/檢查make install/安裝,需要root權限 make clean /卸載一:什么是標準的源碼包呢? 就是解壓后里面有兩個文件:README 和Makefile二:安裝源碼包1 先解壓 tar -jxvf mplayer-1.0.20

21、060415.tar.bz22 然后進入該目錄 執(zhí)行: ./configure -prefix=/usr/local/程序名3 編譯: make4 安裝: make install5 進入:/usr/local/程序名 就可以執(zhí)行該程序一:什么是標準的源碼包呢? 就是解壓后里面有兩個文件:configure 和Makefile二:安裝源碼包1 先解壓 tar -jxvf mplayer-1.0.20060415.tar.bz22 然后進入該目錄 執(zhí)行: ./configure -prefix=/usr/local/程序名3 編譯: make4 安裝: make install5 進入:/usr

22、/local/程序名 就可以執(zhí)行該程序一:如果后綴是.bin則表示是二進制文件,直接可以 執(zhí)行,如果沒有執(zhí)行權限,這個時候就需要給一 個權限chmod -u+x 包名。二:為了執(zhí)行方便 我們給程序建立一個快接方式: ln -s 程序的執(zhí)行路徑 /root/.gnome-desktop/三:如果其他非標準的軟件包,則需要根據安裝說明 來安裝。在LInux系統中,擴展名為.bin的文件是二進制文件,它也是源程序經編譯后得到的機器語言。有一些軟件可以發(fā)布為以.bin為后綴的安裝包。安裝很簡單,將下載下來的*.bin文件加上可執(zhí)行的權限,然后輸入其路徑便可以執(zhí)行安裝。下面以流媒體播放器RealONE

23、for Linux為例來安裝二進制軟件包。下載二進制包:http:/ 755 RealPlayer11GOLD.bin./RealPlayer11GOLD.binYUM概述YUM客戶端配置YUM安裝YUM升級YUM卸載YUM查詢yum是Yellow dog Updater Modified的簡稱yum的關鍵之處是要有可靠的repository,顧名思義,這是軟件的倉庫,它可以通過http或ftp共享出來,也可以是本地軟件池。在軟件倉庫中包括了所有RPM包的頭信息(header)描述,比如依賴性等??蛻舳嗽诘谝淮伟惭b的時候就會去下載header文件并加以分析,這樣才能自動地從服務端下載相關軟件,

24、并一條龍地完成安裝任務。yum客戶端的配置文件放在本地的/etc/yum.repos.d/*.repo配置文件的格式為倉庫名1name=倉庫描述 baseurl=倉庫位置enabled=0/1(0:不激活配置;1:激活此配置) gpgcheck=0/1(0:安裝前不對RPM包檢測1:返之)gpgkey=GPG文件的位置BASEname=Red Hat Enterprise Linux Serverbaseurl=54/pub/rhel6/dvd enabled=1gpgcheck=1gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release首先確保自己的系統上安裝了一下軟件包 yum-3.2.19-18.el5 yum-security-1.1.16-13.el5 yum-updatesd-0.9-2.el5 yum-rhn-plugin-0.5.3-30.el5 yum-metadata-parser-1.1.2-2.el5安裝后會在在/etc/yum.repos.d/下生

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論