yum源工做原理:實質是更換下載地址html
******** yum倉庫服務端搭建 ********python
系統環境nginx
服務端:10.0.0.61web
[root@m01 ~]# cat /etc/redhat-release centos
CentOS release 6.8 (Final)瀏覽器
[root@m01 ~]# uname -r緩存
2.6.32-642.el6.x86_64服務器
一、安裝createrepo軟件:app
yum -y install createrepoide
二、建立yum倉庫目錄
mkdir -p /application/yum/centos6/x86_64/
# ===> 模仿公網下面的yum目錄結構
cd /application/yum/centos6/x86_64/
rz # ===> 上傳rpm包到此目錄,此目錄下面還能夠包括文件夾
#獲取rpm軟件包的幾種方法:
a、本身製做的rpm包
b、yumdownloader pcre-devel openssl-devel #只下載不安裝
c、平時yum安裝軟件時不刪除安裝包
#cat /etc/yum.conf
keepcache=1
#安裝包目錄:/var/cache/yum/x86_64/
三、初始化repodata索引文件
** 初始化 ===> 給rpm包作個目錄,索引,第一次更新
createrepo -pdo /application/yum/centos6/x86_64/ /application/yum/centos6/x86_64/
第一個目錄:yum倉庫的源路徑
第二個目錄:索引存放的路徑
------------------------------------------------------------------------
[root@m01 x86_64]# createrepo -pdo /application/yum/centos6/x86_64/ /application/yum/centos6/x86_64/
Spawning worker 0 with 2 pkgs
Workers Finished
Gathering worker results
------------------------------------------------------------------------
** 每加入一個rpm包就要更新一下,初始化以後更新執行如下命令:
createrepo --update /application/yum/centos6/x86_64/
四、提供yum服務
# 能夠用Apache或Nginx提供web服務,但用Python的http模塊更簡單,適用於內網環境
注意:先把Nginx關閉,防止80端口衝突!
啓動命令:
cd /application/yum/centos6/x86_64/ &&\
python -m SimpleHTTPServer 80 &>/dev/null &
# 能夠經過瀏覽器輸入本機IP查看 10.0.0.61
成功:有「repodata」目錄,裏面是rpm包的索引
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
============= nginx配合yum倉庫 =============
## 修改nginx.conf配置文件:
[root@m01 conf]# cat nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name yum.etiantian.org;
location / {
root /application/yum/centos6/x86_64;
autoindex on;
index index.html index.htm;
}
}
}
/application/nginx/sbin/nginx -t
/application/nginx/sbin/nginx -s reload
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
******** yum倉庫客戶端使用 ********
一、客戶端配置
cd /etc/yum.repos.d/ # ====> yum配置文件的目錄
mkdir yum_bak # ====> 建立新目錄,用來存放原來的源
mv *repo yum_bak # ====> 移除原來的源
cat >>yum.repo<<EOF # ===> 新建文件
[yum] # ===> yum源名稱
name=Server # ===> name隨便
baseurl=http://10.0.0.61 # ===> yum源服務器IP地址
enable=1 # ===> 激活yum源;0是不使用
gpgcheck=0 # ===> 校驗機制;內網的就不須要(不去除,要給rpm包加密)
EOF
yum clean all # ===> 清空本機已有yum緩存
yum list # ===> 列表顯示yum倉庫
二、客戶端測試
yum -y install name