在離線環境安裝Linux軟件,遇到依賴特別多的軟件的時候,幾乎無法安裝,一直尋找一個方便、有效的方式解決這個問題,不要侷限,不要繁瑣(文件式的本地源就比較侷限,其實此文和文件式原理同樣),這篇文章所寫的方式,暫時是我發現最簡便有效的方式,此方式一樣適用於zypper、apt源。若是你在安裝軟件的時候和我有一樣的苦惱,但願此方法可以幫到你。html
首先,咱們須要瞭解如下yum源的原理。在CentOS7下,yum源的文件所有保存在如下目錄:node
/etc/yum.repos.d
隨便找一個文件,發現裏面的內容相似:nginx
[cloudera-cdh5] # Packages for Cloudera's Distribution for Hadoop, Version 5, on RedHat or CentOS 7 x86_64 name=Cloudera's Distribution for Hadoop, Version 5 baseurl=https://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/5/ gpgkey =https://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/RPM-GPG-KEY-cloudera gpgcheck = 1
有效的內容其實就key-value鍵值對內容。vim
name=名稱,能夠隨意填寫 baseurl=一個url路徑 gpgkey = gpg密鑰的地址 gpgcheck = 是否檢查,若是0表示不檢查,1表示檢查
說白了,咱們須要搭建一個http服務。考慮到個人網絡環境,我將服務搭建在我Win10母機上面,這樣我全部虛擬機就都能訪問了。局域網其餘電腦一樣可以訪問。centos
第一步:下載CentOS的Everything鏡像(很大,10GB左右,畢竟包含了太多rpm包,但當你使用後,你會發現一切都是值得的)。網絡
http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1804.iso
第二步:加載文件app
若是你硬盤足夠多,將iso文件解壓到特定目錄,若是你剩餘硬盤空間並很少,那麼推薦你直接右鍵->裝載(Win10系統特有),以下:oop
第三步:安裝nginx(Windows下)url
http://nginx.org/en/download.html
第四步:編輯nginx配置文件(本人用的是1.13.6版)3d
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 localhost; location / { autoindex on; root J:/;(這裏請換成你的實際目錄路徑) index index.html index.htm; } } }
第五步:啓動nginx
一切搞定後,雙擊nginx啓動服務,而後訪問:http://127.0.0.1
第六步:建立yum repo文件
[root@node1 ~]# vim /etc/yum.repos.d/local.repo
[local] name=local #在虛擬機網絡環境中,母機地址是這個 baseurl=http://192.168.100.1 #是否可用,1表示可用,0表示不可用 enabled=1 gpgcheck=1 gpgkey=http://192.168.100.1/RPM-GPG-KEY-CentOS-7
第七步:禁用其餘repo文件
編輯其餘repo文件,將enabled設置爲0
…… enabled=0 ……
第七步:yum相關
#清理無用源 yum clean all #查看列表中是否存在 yum repolist #實際安裝一個軟件試試看,好比httpd yum install httpd
總結:由於本地源(嚴格說應該是本地http源),因此速度很是快,體驗仍是很不錯的。一樣既然nginx能夠,那麼httpd天然也能夠。既然Windows能夠搭建,那麼Linux天然也能夠搭建。其實原理很簡單,理解其中的原理後,自由變通便可。