linux中軟件的安裝 linux中軟件的安裝主要有兩種形式:一種是直接下載源代碼包自行編譯後安裝;另外一種直接獲取rpm軟件包進行安裝。 不管是經過哪一種途徑安裝的軟件都具備如下4個特色: 1. 都具備配置文件,經過設置配置文件來改變程序啓動時的運行特徵; 2. 都具備二進制的程序主體; 3. 都自帶庫文件,共程序主體進行調用; 4. 都自帶幫助文件,對程序的使用方法進行說明。 軟件的安裝路徑: 除了自行下載源碼編譯安裝的軟件能夠自定義安裝路徑以外,rpm包的安裝都是按照軟件自身預設的安裝路徑進行安裝。主要有如下幾類: 1. / :系統根目錄,在此安裝的文件一般是os在運行時須要調用到得程序; 2. /usr :此目錄下的通常狀況下是提供基本服務的軟件。 3. /usr/local :此目錄下通常狀況下是用戶自行安裝的第三方軟件。 系統相關: i.配置文件路徑:/etc ii.二進制文件路徑:/bin、/sbin iii:庫文件路徑:/lib 系統提供功能服務相關: i:配置文件路徑:/etc ii:二進制文件路徑:/usr/bin、/usr/sbin iii:庫文件:/usr/lib 第三方軟件: i:配置文件路徑/usr/local/etc、/usr/local/APP/etc ii:二進制文件路徑:/usr/local/bin、/usr/local/sbin iii:庫文件:/usr/local/lib 說明文件主要都存放在:/usr/share/man和/usr/local/share/man 下面就詳細說一說到底如何在linux上安裝軟件: 二進制軟件包的安裝 [root@server155 axel-2.4]#./configure The strip option is enabled. This should not be a problem usually, but on some systems it breaks stuff. Configuration done: Internationalization enabled. Debugging disabled. Binary stripping enabled [root@server155 axel-2.4]# make [root@server155 axel-2.4]# make install 總共3個命令即完成二進制程序的安裝。 使用RPM對軟件包進行安裝: rpm 是redhat package manger的縮寫,是由redhat公司提供的軟件包管理器。 經常使用的功能: 查詢 rpm –q -qa 查詢全部本機安裝過的包 -q PACKAGENAME 查詢已安裝軟件包的版本 eg :rpm –qa #顯示本機裝過的軟件包 rpm –qa | grep 「xxx」 查詢xxx名的軟件包 -ql PACKAGENAME 列出此安裝包生成了那些文件 -qc PACKAGENAME 列出此安裝包生成了哪些配置文件 -qd PACKAGENAME 列出此安裝包生成了那些文檔 -qf FILENAME 查看文件是由那些安裝包產生的 -qi PACKAGENAME 查看軟件包信息 安裝 rpm –ivh PACKAGENAME -i 安裝對應軟件包 -vh 顯示安裝讀條 --nodeps 忽略依賴關係安裝 卸載 rpm -e PACKAGENAME 卸載軟件包 --nodeps 忽略依賴關係卸載 升級 rpm -Uvh PACKAGENAME 安裝過的直接升級;不然直接安裝新版本 -Fvh PACKAGENAME 只對安裝過的軟件升級 校驗 rpm –V PACKAGENAME 校驗已經安裝過的文件是否被人修改過 注意:rpm的安裝查詢是基於rpm生成的數據庫,數據庫的重建通常使用rpm –rebuilddb 和rpm –initdb,前者直接重建後者則是在未檢測到當前數據庫是才建立;rpm在安裝時會產生日誌文件,/root/install.log文件中記載了安裝記錄。 使用yum軟件升級器進行安裝: yum是Yellowdog Updater Modified 的縮寫,它是一種基於自身軟件庫的安裝。 它能夠經過查詢軟件庫中的連接ftp:// http:// file:///在遠程服務器或者指定的本地文件庫中獲取要安裝的軟件包。可見軟甲庫的配置在yum的使用中是很是重要的一環。 yum庫文件的配置: 經過/etc/yum.conf和/etc/yum.repos.d目錄下的、且已.repo結尾的文件進行對yum軟件庫的設置。 配置文件的具體格式: [倉庫名] name=字符串 #起標示做用 baseurl= {ftp://|http://|file:///}軟件庫的連接 gpgcheck={0|1} #下載到軟件包以後是否進行校驗 eg: [base] name=Instructor Server Repository baseurl=ftp://instructor.example.com/pub/Server gpgcheck=0 yum的經常使用功能: 軟件包安裝 yum install PROGRAMNAME1 PROGRAMNAME2 PROGRAMNAME3… 軟件包升級 yum update PROGRAMNAME 軟件包安裝狀況查詢 yum list {installed|available|PROGRAMNAME|all} installed 查詢已經安裝過的軟件包 available 查詢在軟件庫中可安裝還沒有安裝的的軟件包 PROGRAM 按具體名稱查詢安裝過的軟件包 all 顯示有全部安裝過的、未安裝過的軟件包 軟件包卸載 yum remove PROGRAMNAME 清除軟件列表緩存 yum clean all #查詢信息從軟件庫同步到本地緩存,此命令用於清除 查看文件關聯的軟件包 yum provides FILENAME #FILENAME須要提供文件的絕對路徑 eg: [root@server28 myscript]# yum provides /boot/grub Loaded plugins: rhnplugin This system is not registered with RHN. RHN support will be disabled. Importing additional filelist information grub-0.97-13.5.i386 : GRUB - the Grand Unified Boot Loader. Repo : base Matched from: Filename : /boot/grub grub-0.97-13.5.i386 : GRUB - the Grand Unified Boot Loader. Repo : installed Matched from: Other : Provides-match: /boot/grub 查看軟件包信息: yum info PROGRAMNAME eg: [root@server28 myscript]# yum info grub Loaded plugins: rhnplugin This system is not registered with RHN. RHN support will be disabled. Installed Packages Name : grub Arch : i386 Version : 0.97 Release : 13.5 Size : 1.0 M Repo : installed Summary : GRUB - the Grand Unified Boot Loader. URL : http://www.gnu.org/software/grub/ License : GPL Description: GRUB (Grand Unified Boot Loader) is an experimental boot loader : capable of booting into most free operating systems - Linux, FreeBSD, : NetBSD, GNU Mach, and others as well as most commercial operating : systems. 使用本地軟件包文件進行安裝: yun localinstall 軟件包的絕對路徑 組件包安裝: yum groupinstall GROUPPROGRAMNAME 組件包查詢: yum grouplist GROUPPROGRAMNAME 組件包刪除: yum groupremove GROUPPROGRAMNAME 組件包信息查詢:yum groupinfo GROUPPROGRAMNAME