1. 程式人生 > >redhat更新yum源進行軟體線上安裝

redhat更新yum源進行軟體線上安裝



###yum安裝


* YUM是Redhat Linux線上安裝更新及軟體的工具,但是這是RHEL5的收費功能,如果沒有購買Redhat的服務時不能使用RHEL5的更新源的,會提示註冊。由於CentOS是從Redhat演化而來的免費Linux版本,因此可以利用CentOS的yum更新源來實現RHEL5的YUM功能。


* 配置方法如下:檢查yum是否安裝,預設情況下都是安裝好的,總共4各包


[[email protected] /]# rpm -qa |grep yum
yum-3.2.22-20.el5
yum-security-1.1.16-13.el5
yum-metadata-parser-1.1.2-3.el5
yum-updatesd-0.9-2.el5
yum-rhn-plugin-0.5.4-13.el5


###更新yum源


* 修改/etc/yum.conf檔案,用下面程式碼全部覆蓋。定義yum更新源,這裡使用的是上海交大的CentOS更新源

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#
[main]

cachedir=/var/cache/yum

keepcache=1

debuglevel=2

logfile=/var/log/yum.log

pkgpolicy=newest

distroverpkg=redhat-release

tolerant=1

exactarch=1

obsoletes=1

gpgcheck=1

plugins=1

[base]
name=CentOS-5-Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever5&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://ftp.sjtu.edu.cn/centos/5/os/$basearch/
gpgcheck=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
#released updates
[update]
name=CentOS-5-Updates
#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=updates
baseurl=http://ftp.sjtu.edu.cn/centos/5/updates/$basearch/
gpgcheck=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
#packages used/produced in the build but not released
[addons]
name=CentOS-5-Addons
#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=addons
baseurl=http://ftp.sjtu.edu.cn/centos/5/addons/$basearch/
gpgcheck=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
#additional packages that may be useful
[extras]
name=CentOS-5-Extras
#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=extras
baseurl=http://ftp.sjtu.edu.cn/centos/5/extras/$basearch/
gpgcheck=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-5-Plus
#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=centosplus
baseurl=http://ftp.sjtu.edu.cn/centos/5/centosplus/$basearch/
gpgcheck=0
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
#contrib - packages by Centos Users
[contrib]
name=CentOS-5-Contrib
#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=contrib
baseurl=http://ftp.sjtu.edu.cn/centos/5/contrib/$basearch/
gpgcheck=0
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
# vi dag.repo
[dag]
name=Dag RPM Repository for RHEL5
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el5/en/$basearch/dag/
enabled=1
gpgcheck=0
gpgkey=http://ftp.riken.jp/Linux/dag/packages/RPM-GPG-KEY.dag.txt]




* 修改yum.conf配置檔案中[main]部分的引數詳細說明如下:




        [main] //main開頭的塊用於對客戶端進行配置,在main後也可以指定yum源(不推薦這樣做),與/etc/yum.repo.d中指定yum源相同


cachedir=/var/cache/yum
#cachedir:yum更新軟體時的快取目錄,預設設定為/var/cache/yum
keepcache=[1 or 0]


#設定 keepcache=1,yum 在成功安裝軟體包之後保留快取的標頭檔案 (headers) 和軟體包。預設值為 keepcache=0 不儲存


debuglevel=2
#debuglevel:Debug資訊輸出等級,範圍為0-10,預設為2
logfile=/var/log/yum.log
#logfile:存放系統更新軟體的日誌的目錄。使用者可以到/var/log/yum.log檔案去查詢自己在過去的日子裡都做了哪些更新。
pkgpolicy=newest
#包的策略。一共有兩個選項,newest和last,這個作用是如果你設定了多個repository,而同一軟體在不同的repository中同時存在,yum應該安裝哪一個,如果是newest,則yum會安裝最新的那個版本。如果是last,則yum會將伺服器id以字母表排序,並選擇最後的那個伺服器上的軟體安裝。一般都是選newest。
distroverpkg=redhat-release
#指定一個軟體包,yum會根據這個包判斷你的發行版本,預設是redhat-release,也可以是安裝的任何針對自己發行版的rpm包。
tolerant=1
#如果值為1,則yum會忽略任何的有關包的錯誤。舉例來說,當執行yum來安裝baz時,如果baz包已經安裝在系統中了,則yum會繼續重複安裝baz,而不會報錯。預設值為1。
exactarch=1
#設定為1,則yum只會安裝和系統架構匹配的軟體包,例如,yum不會將i686的軟體包安裝在適合i386的系統中。預設為1
retries=20
#網路連線發生錯誤後的重試次數,如果設為0,則會無限重試。預設值為6
obsoletes=1
#此選項在進行發行版跨版本升級的時候會用到。
gpgcheck=1
#有1和0兩個選擇,分別代表是否是否進行gpg校驗。這個選項如果設定在[main]部分,則對每個repository都有效。預設值為0.
plugins = 1 //是否啟用外掛,預設1為允許,0表示不允許




* 修改完yum.conf檔案,使用下列命令進行配置。


yum clean all    清楚快取
yum makecache    更新生成快取


###使用yum安裝軟體


1. 用YUM安裝刪除軟體


* 注:Yum( Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟體包管理器。基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。 


* 在系統中新增刪除軟體是常事,yum同樣可以勝任這一任務,只要軟體是rpm安裝的。安裝的命令是,yum install xxx,yum會查詢資料庫,有無這一軟體包,如果有,則檢查其依賴衝突關係,如果沒有依賴衝突,那麼最好,下載安裝;如果有,則會給出提示,詢問是否要同時安裝依賴,或刪除衝突的包,你可以自己作出判斷。刪除的命令是,yum remove xxx,同安裝一樣,yum也會查詢資料庫,給出解決依賴關係的提示。


- 用YUM安裝軟體包命令:


yum install xxx


- 用YUM刪除軟體包命令:


yum remove xxx


2. 用YUM查詢軟體資訊


* 我們常會碰到這樣的情況,想要安裝一個軟體,只知道它和某方面有關,但又不能確切知道它的名字。這時yum的查詢功能就起作用了。
你可以用 yum  search keyword這樣的命令來進行搜尋,比如我們要則安裝一個Instant Messenger,但又不知到底有哪些,這時不妨用yum search messenger這樣的指令進行搜尋,yum會搜尋所有可用rpm的描述,列出所有描述中和messeger有關的rpm包,於是我們可能得到gaim,kopete等等,並從中選擇。有時我們還會碰到安裝了一個包,但又不知道其用途,我們可以用yum info packagename這個指令來獲取資訊。


  使用YUM查詢軟體包命令:


yum search


  列出所有可安裝的軟體包命令:


yum list


  列出所有可更新的軟體包命令:


yum list updates


  列出所有已安裝的軟體包命令:


yum list installed


  列出所有已安裝但不在 Yum Repository 內的軟體包命令:


yum list extras


  列出所指定的軟體包命令:


yum list


###Ubuntu中的高階包管理方法apt-get


* apt-get的一大好處是極大地減小了所謂依賴關係惡夢的發生機率(dependency hell),即使是陷入了dependency hell,apt-get也提供了很好的援助手段。通常 apt-get 都和網上的壓縮包一起出沒,從網際網路上下載或是安裝。


- apt方式安裝:


1. 開啟一個終端,su -成root使用者;
2. apt-cache search soft 注:soft是您要找的軟體的名稱或相關資訊
3. 假如2中找到了軟體soft.version,則用apt-get install soft.version命令安裝軟體 注:只要您能夠上網,只需要用apt-cache search查詢軟體,用apt-get install軟體


* 常用的APT命令引數


apt-cache search package 搜尋包
apt-cache show package 獲取包的相關資訊,如說明、大小、版本等
sudo apt-get install package 安裝包
sudo apt-get install package - - reinstall 重新安裝包
sudo apt-get -f install 修復安裝"-f = --fix-missing"
sudo apt-get remove package 刪除包
sudo apt-get remove package - - purge 刪除包,包括刪除配置檔案等
sudo apt-get update 更新源sudo apt-get upgrade 更新已安裝的包
sudo apt-get dist-upgrade 升級系統
sudo apt-get dselect-upgrade 使用 dselect 升級
apt-cache depends package 瞭解使用依賴
apt-cache rdepends package 是檢視該包被哪些包依賴
sudo apt-get build-dep package 安裝相關的編譯環境
apt-get source package 下載該包的原始碼
sudo apt-get clean && sudo apt-get autoclean 清理無用的包
sudo apt-get check 檢查是否有損壞的依賴


###其他軟體安裝技巧


1. linux下安裝軟體,如何知道軟體安裝位置


>注:一般的軟體的預設安裝目錄在/usr/local或者/opt裡,可以到那裡去找找.


* 指令名稱:whereis


* 功能介紹:在特定目錄中查詢符合條件的檔案。這些檔案的烈性應屬於原始程式碼,二進位制檔案,或是幫助檔案。


* 語法格式:whereis [-bfmsu][-B <目錄>...][-M <目錄>...][-S <目錄>...][檔案...]


* 常用引數說明:


 -b  只查詢二進位制檔案。
 -B <目錄>  只在設定的目錄下查詢二進位制檔案。
 -f  不顯示檔名前的路徑名稱。
 -m  只查詢說明檔案。
 -M <目錄>  只在設定的目錄下查詢說明檔案。
 -s  只查詢原始程式碼檔案。
 -S <目錄>  只在設定的目錄下查詢原始程式碼檔案。
 -u  查詢不包含指定型別的檔案。


* 應用:#whereis  軟體名   -->檢視軟體安裝路徑
* #which  軟體名     -->軟體軟體的執行路徑


2. 通過rpm包管理器安裝的軟體:


- rpm包
 
* 可以用命令:


#rpm –ql 包名           如 rpm -ql gcc 來檢視gcc的檔案都安裝到哪裡去了
#rpm -qa | grep 包名   來檢視有沒有安裝這個包 ,
#rpm -qa              檢視全部已經安裝的包名


- deb包
 
* 可以用命令:


#dpkg -L 包名 檢視如 dpkg -L gcc 來檢視gcc的檔案。
#dpkg -l | grep 包名  來檢視有沒有安裝某個包 ,
# dpkg -l            是檢視全部包的


* 其他更多Linux下軟體安裝方法技巧參考[http://blog.chinaunix.net/uid-28769209-id-4257451.html]:http://blog.chinaunix.net/uid-28769209-id-4257451.html