linux程序的安裝以及rpm、yum的使用

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





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章