Yum 是通過分析RPM的標頭數據后,根據各軟件的依賴關系制作出有依賴關系時的的解決方案,然后可以自動處理軟件的依賴性問題,以解決軟件安裝或移除與升級的問題。
由于發行版必須要先釋放軟件,然后將軟件放置于yum服務器上面,以提供用戶端用來安裝與升級。因此,我們想要使用yum的功能時,必須要先找到適合的yum server才行。事實上,CentOS在釋放軟件的時候已經制作好了yum源,只要能夠連上Internet,就可以使用yum。在這里,向大家介紹一下yum本地倉庫的配置。
制作本地yum源有兩種方式:第一種直接使用光盤鏡像,不過此方法只適用于本機;第二種創建本地yum倉庫,使用http或ftp等方式向外部yum repository。
第一種:如何使用光盤作為yum repository
1、先將光盤掛載到指定位置,例如:創建/media/cdrom這個目錄用來作為掛載點,mount /dev/sr0 /media/cdrom。在這里要提一下/misc/cd這個特殊的目錄,cd到這個目錄下,光盤會自動掛載的該目錄下。在CentOS6中已經默認安裝此功能,而7中我們需要安裝autofs:
#安裝autofs
#啟用autofs服務
#將其設置為開機自啟
通過df我們可以看到光盤的掛載情況:
2、在/etc/yum.repos.d/目錄下創建.repo為后綴名的配置文件,基本內容如下所示(因為CentOS在釋放軟件的時候已經制作好了yum源,在這里我們可以將/etc/yum.repos.d/下的所有文件進行備份,然后將其刪除):
第二種:創建本地yum倉庫
如果你作為一個企業的管理人員,為了方便公司內部網絡中的服務器安裝軟件,同時也節省網絡帶寬,此時可以在公司內部創建一個yum倉庫。此處以CentOS6為例(CentOS7步驟與6基本相同):
ftp服務:
1、首先安裝并啟用vsftpd服務
yum -y install vsftpd 安裝vsftpd
service vsftpd start 啟用vsftpd服務 (在7中 用 systemctl start vsftpd)
chkconfig vsftpd start 將其添加至開機啟動項(在7中用systemctl enable vsftpd)
iptables -F 清空防火墻規則
service iptables stop (在7中用systemctl stop iptables)
chkconfig iptables off 不將防火墻開機自啟(在7中用systemctl disable firewalld.service)
2、打開ftp服務器的目錄:cd /var/ftp/pub/
3、創建一個app目錄用來存放rpm包:mkdir app
4、安裝createrepo工具:yum install createrepo
5、復制rpm包到 app目錄下:cp /misc/cd/Packages /var/ftp/pub/app/
6、創建rpm元數據存儲庫:createrepo /var/ftp/pub/app/
7、此時訪問ftp://你的CentOS6的地址就可以了
http服務:
因為httpd服務安裝好會有一個歡迎界面,要不顯示此頁面可注釋/etc/httpd/conf.d/welcome.conf 里的所有行
在這里要提一下,rpm包的存放位置在/var/www/html
以ftp服務為例創建yum庫:
注意,ftp地址要到存在repodata的目錄
yum命令的使用:
yum [options] [command] [package…]
repolist [all|enable|disabled] 顯示倉庫列表
list [available|installed|updates]
顯示程序包
install package1 [package2]
[…] 安裝程序包
reinstall package 重新安裝
update package 升級安裝
downgrade package 降級安裝
check-update 檢查可用升級
remove | erase package 卸載程序包
info package 查看程序包的信息
provides | whatprovides feature1 … 查看指定的特性(可以是某文件)是由哪個包提供的
clean all 清理本地緩存
查看yum的歷史:
history [info|list|packages-list|packages-info]
撤銷對應的第#個歷史中命令
history undo #
查看對應的第#個歷史的信息
history info #
包組的管理:
groupinstall group1(包組的名字中存在空格,要用” ”,在這里不區分大小寫)
groupremove group1 卸載包組
grouplist group1顯示包組的列表
yum的命令行選項:
–nogpgcheck:不進行gpg 檢查
-y:自動回答“yes”
-q:靜默模式
yum有一些內置變量,用于保存當前平臺的相關信息:
$releasever:當前的CentOS的版本
$basearch:基礎平臺 例如i386(32位)、x86_64
如可在yum的配置文件中適當使用:
例如:定義baseurl路徑時 baseurl= http://172.18.0.1/fedora-epel/$releasever /$basearch /
其實際路徑為http://172.18.0.1/fedora-epel/6/x86_64/
源代碼編譯安裝程序
源碼安裝首先依賴于環境的支持,即編譯開發工具、以及各個被依賴到的程序包的開發組,另外還需要定制的編譯參數來進行編譯安裝
1、編譯開發工具(包組)有:
Development tools
Server Platform Development
Desktop Platform Development
Debug Tools
2、被依賴的程序包的開發組件:
(1)、編譯安裝被依賴的程序
(2)、安裝相關程序的名稱中包含devel的子包
源代碼程序中會將程序分隔保存在多個文件中,文件間或許存在依賴關系,因此,編譯時可能需要按照特定次序進行編譯;此時,一般會使用項目管理工具(通常也會稱為構建工具GNU make)對其進行管理;構建工具會調用合適的編譯器,并根據配置文件(Makefile)中定義的次序對源代碼文件進行編譯。需要注意的是:
1、每個項目的程序員開發完成某版本后,會使用autoconf為程序代碼生成一個腳本文件:configuer;其功能:此腳本會收集當前系統上的開發環境中所依賴的各組件的版本、特性等,并檢查所依賴的環境是否能滿足,最后會根據Makefile.in文件生成一個makefile文件;
2、每個項目的開發員開發完成某個版本后,會使用automake為程序代碼生成一個makefile模板文件,即Makefile.in。
編譯安裝過程如下:
1、運行configure腳本;
Configure腳本的運用:
–help:查看幫助信息;
–prefix=/path/:指定默認安裝路徑
–sysconfdir=/path/ :指定配置文件的安裝路徑
–with/without-CAPABILITY : 依賴/不依賴的程序包
–enable/disable-FEATURE : 啟用/禁用某個特性
運行過程中會需要手動安裝依賴包,將提示缺少的包后加上-devel 手動安裝(yum)即可
2、運行make命令,完成項目構建;
3、運行make install命令,完成安裝。
原創文章,作者:Immortals、zcy,如若轉載,請注明出處:http://www.www58058.com/74673