背景
之前用的linux作業系統移植都是ubuntu,沒有用過redhat版本的linux,最近開始想學習redhan版本的linux,就從centos開始。在安裝完centos以後,第一個碰到的問題就是如何安裝軟體。之前在ubuntu中如何安裝軟體我已經寫了一篇部落格了,可以參考:ubuntu下安裝程式的三種方法 。下面開始將如何在centos下安裝軟體。
centos安裝軟體的命令
一、rpm包的安裝:
1.安裝一個包 # rpm -ivh 2.升級一個包 # rpm -Uvh 3.移走一個包 # rpm -e 4.安裝引數 --force 即使覆蓋屬於其它包的檔案也強迫安裝 --nodeps 如果該RPM包的安裝依賴其它包,即使其它包沒裝,也強迫安裝。 5.查詢一個包是否被安裝 # rpm -q < rpm package name> 6.得到被安裝的包的資訊 # rpm -qi < rpm package name> 7.列出該包中有哪些檔案 # rpm -ql < rpm package name> 8.列出伺服器上的一個檔案屬於哪一個RPM包 #rpm -qf 9.可綜合好幾個引數一起用 # rpm -qil < rpm package name> 10.列出所有被安裝的rpm package # rpm -qa 11.列出一個未被安裝進系統的RPM包檔案中包含有哪些檔案? # rpm -qilp < rpm package name>
二、rpm包的解除安裝:
rpm -qa | grep 包名 這個命令是為了把包名相關的包都列出來 rpm -e 檔名 這個命令就是你想解除安裝的軟體,後面是包名稱,最後的版本號是不用打的 例如: # rpm -qa | grep mysql mod_auth_mysql-2.6.1-2.2 php-mysql-5.3.9-3.15 mysql-devel-5.1.77-1.CenOS 5.2 mysql-5.0.77-1.CenOS 5.2 mysqlclient10-5.0.77-1.CentOS 5.2 libdbi-dbd-mysql-0.6.5-10.CentOS 5.2 # rpm -e mysqlclient
三、yum安裝:
# yum install 包名
四、yum解除安裝:
# yum -y remove 包名
配置本地yum源
參考文獻:
1、掛載系統安裝光碟(掛在本地光碟可以參考:CentOS5.5掛載本地ISO映象)
# mount /dev/cdrom /mnt/cdrom/
2、配置本地yum源
# cd /etc/yum.repos.d/
# ls
會看到四個repo 檔案
CentOS-Base.repo 是yum 網路源的配置檔案
CentOS-Media.repo 是yum 本地源的配置檔案
修改CentOS-Media.repo
# cat CentOS-Media.repo
# CentOS-Media.repo # # This repo is used to mount the default locations for a CDROM / DVD on # CentOS-5. You can use this repo and yum to install items directly off the # DVD ISO that we release. # # To use this repo, put in your DVD and use it with the other repos too: # yum --enablerepo=c5-media [command] # # or for ONLY the media repo, do this: # # yum --disablerepo=\* --enablerepo=c5-media [command] [c5-media] name=CentOS-$releasever - Media baseurl=file:///media/CentOS/ file:///mnt/cdrom/ file:///media/cdrecorder/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
在baseurl 中修改第2個路徑為/mnt/cdrom(即為光碟掛載點)
將enabled=0改為1
3、禁用預設的yum 網路源
將yum 網路源配置檔案改名為CentOS-Base.repo.bak,否則會先在網路源中尋找適合的包,改名之後直接從本地源讀取。
4、執行yum 命令
# yum install postgresql
關於repo 檔案的格式
所有repository 伺服器設定都應該遵循如下格式:
[serverid] name=Some name for this server baseurl=url://path/to/repository/
- serverid 是用於區別各個不同的repository,必須有一個獨一無二的名稱;
- name 是對repository 的描述,支援像$releasever $basearch這樣的變數;
- baseurl 是伺服器設定中最重要的部分,只有設定正確,才能從上面獲取軟體。它的格式是:
baseurl=url://server1/path/to/repository/ url://server2/path/to/repository/ url://server3/path/to/repository/
其中url 支援的協議有 http:// ftp:// file:// 三種。baseurl 後可以跟多個url,你可以自己改為速度比較快的映象站,但baseurl 只能有一個,也就是說不能像如下格式:
baseurl=url://server1/path/to/repository/ baseurl=url://server2/path/to/repository/ baseurl=url://server3/path/to/repository/
其中url 指向的目錄必須是這個repository header 目錄的上一級,它也支援$releasever $basearch 這樣的變數。
url 之後可以加上多個選項,如gpgcheck、exclude、failovermethod 等,比如:
[updates-released] name=Fedora Core $releasever - $basearch - Released Updates baseurl=http://download.atrpms.net/mirrors/fedoracore/updates/$releasever/$basearch http://redhat.linux.ee/pub/fedora/linux/core/updates/$releasever/$basearch http://fr2.rpmfind.net/linux/fedora/core/updates/$releasever/$basearch gpgcheck=1 exclude=gaim failovermethod=priority
其中gpgcheck,exclude 的含義和[main] 部分相同,但只對此伺服器起作用,failovermethode 有兩個選項roundrobin 和priority,意思分別是有多個url可供選擇時,yum 選擇的次序,roundrobin 是隨機選擇,如果連線失敗則使用下一個,依次迴圈,priority 則根據url 的次序從第一個開始。如果不指明,預設是roundrobin。