CentOS Yum 源搭建


創建yum源服務,主要用到了兩個軟件createrepohttpd。前者是創建yum源索引的工具,后者是提供文件在線流浪的功能,當然,除了httpd之外,你也可以使用nginx替代。

createrepo

yum –y install createrepo 安裝建yum源倉庫的工具,可以用來建立yum倉庫索引

man createrepo 用途:

Create repomd (xml-rpm-metadata) repository

參數說明

-u  --baseurl <url>
 指定Base URL的地址
-o --outputdir <url> 
 指定元數據的輸出位置 
-x  --excludes <packages> 
指定在形成元數據時需要排除的包 
-i --pkglist <filename> 
指定一個文件,該文件內的包信息將被包含在即將生成的元數據中,格式為每個包信息獨占一行,不含通配符、正則,以及范圍表達式。 
-n --includepkg 
通過命令行指定要納入本地庫中的包信息,需要提供URL或本地路徑。 
-q --quiet 
安靜模式執行操作,不輸出任何信息.
-g --groupfile <groupfile> 
指定本地軟件倉庫的組划分,范例如下: createrepo -g comps.xml /path/to/rpms 注意:組文件需要和rpm包放置於同一路徑下。 
-v --verbose 
輸出詳細信息。 
-c --cachedir <path> 
指定一個目錄,用作存放軟件倉庫中軟件包的校驗和信息。 當createrepo在未發生明顯改變的相同倉庫文件上持續多次運行時,指定cachedir會明顯提高其性能。 
--update 
如果元數據已經存在,且軟件倉庫中只有部分軟件發生了改變或增減, 則可用update參數直接對原有元數據進行升級,效率比重新分析rpm包依賴並生成新的元數據要高很多。 
-p --pretty 
以整潔的格式輸出xml文件。 
-d --database 
該選項指定使用SQLite來存儲生成的元數據,默認項。

創建的目錄為:/data/mirrors/x86_64

執行命令:

createrepo /data/mirrors/x86_64 # 會默認在`/data/mirrors/x86_64`下創建repodata的索引目錄

當然,你也可以顯示的加一下參數,指定repodata的位置:

createrepo -qdo /data/mirrors/x86_64 /data/mirrors/x86_64 # -0 后面指定的是repodata索引目錄位置

當軟件倉庫中包含很多軟件包時,沒有必要每次都為每個軟件包重新創建元數據,浪費時間。可以執行createrepo --update /data/mirrors/x86_64更新索引。

驗證

配置上新增的源,執行命令查看源軟件列表:

yum list available

** 注意:及時源刷新OK,本地需要yum makecache才會顯示最新列表**

參考:

httpd

http文件服務器安裝:

yum install -y httpd

參數說明

ServerRoot     "/etc/httpd"  
#你的apache安裝目錄。其它指定的目錄如果沒有指定絕對路徑,則目錄是相對於該目錄。
ServerName www.xxx.com:端口號(默認是80) 
#主站點名稱(網站的主機名)。
ServerAdmin admin@126.com 
#管理員的郵件地址
DocumentRoot "/data/app" 
#主站點的網頁存儲位置
Directory 語句就是用來定義目錄的訪問限制的,這里可以看出它的標准語法,為一個目錄定義訪問限制。上例的這個設置是針對系統的根目錄進行的

配置文件在/etc/httpd/conf/httpd.conf

<Directory "/data/mirrors/x86_64">
    Options Indexes FollowSymLinks
    IndexOptions Charset=UTF-8
    IndexOptions NameWidth=*
    AllowOverride All 
    Order Deny,Allow
    Allow from all
    Require all granted
</Directory>

支持監聽多端口,配置對應不同目錄

除了監聽80端口之外,再新增監聽8080端口,同時,對應不同的目錄michael,站點配置如下:

Listen 8080
<virtualhost *:8080>
  ServerName www.example.com
  DocumentRoot /data/michael
  <Directory "/data/michael">
    Options Indexes FollowSymLinks
    IndexOptions Charset=UTF-8
    IndexOptions NameWidth=*
    AllowOverride All 
    Order Deny,Allow
    Allow from all
    Require all granted
  </Directory>
</virtualhost>

參考:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM