centos7如何在沒有網絡的情況下安裝軟件


1.下載源碼,然后上傳到服務器上編譯安裝。編譯有問題會報錯,一般要么是缺包(比較多),要么是沖突(相對較少)。那就分析日志,缺包就找包,沖突就換包;找到包后再上傳到服務器上搞,周而復始,直到完成。

 

2.

RPM包安裝方式。先找到相關的RPM包,然后用rpm -ivh rpm包名 安裝。

大部分RPM可在http://rpmfind.net/ 上找到 

一般來講,該方案問可以很好的解決問題,但極端場景下也會缺包

RPM並不一定包含軟件所有的依賴,有時候可能一個軟件依賴了若干個RPM 

 

3.借助yum-plugin-downloadonly

准備1台和服務器最簡安裝了同版本Linux的機器,記為機器B,機器B需要能聯網 

##TIPS:可以是實體機、虛擬機或者Docker容器,看個人的喜好。

##建議用Docker准備,一分鍾就可以准備好了。 

 

在機器B上執行如下命令:

# 安裝yum-plugin-downloadonly插件

yum install -y yum-plugin-downloadonly

# 把<vsftpd>換成你想要的包名

yum install --downloadonly <vsftpd>

 

下載的軟件在:

/var/cache/yum/x86_64/7/base/packages/

該目錄里會存放你想安裝的軟件所需要的所有RPM包

將所有RPM包拷貝到服務器上安裝既可  rpm -ivh *.rpm  yum -y install *.rpm

#此方法下載可能會缺少依賴包,例如 yum install --downloadonly python2-pip 會缺少 python2-pip.noarch 0:8.1.2-14.el7 包

 

4.修改yum源為本地iso鏡像源  #因為沒有epel-release擴展源,可能有些包沒有

找一個依賴比較全的鏡像版本,這次使用CentOS-7-x86_64-DVD-1908.iso

#創建目錄

mkdir /media/CentOS

然后上傳鏡像文件CentOS-7-x86_64-DVD-1908.iso到/media

開始掛載鏡像

mount -t iso9660 /media/CentOS-7-x86_64-DVD-1908.iso /media/CentOS
# 此時可能會報錯,顯示信息如下
mount: /dev/loop0 is write-protected, mounting read-only
# 這時候報錯是因為我們上傳的鏡像沒有權限,只需要更改一下權限
chmod 777  CentOS-7-x86_64-DVD-1908.iso
# 再次執行就不會報錯了

 

鏡像掛載完成后如下操作

#切換目錄到 /etc/yum.repos.d/ 下
cd /etc/yum.repos.d/
#將除了 CentOS-Media.repo 之外的文件修改其文件名
mv CentOS-Base.repo CentOS-Base.repo.bak
mv CentOS-CR.repo CentOS-CR.repo.bak
mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
mv CentOS-fasttrack.repo CentOS-fasttrack.repo.bak
mv CentOS-Sources.repo CentOS-Sources.repo.bak
mv CentOS-Vault.repo CentOS-Vault.repo.bak
#修改 CentOS-Media.repo 文件
vim CentOS-Media.repo

 

修改文件為如下

 

 

#將其中的 baseurl 修改為
baseurl=file:///media/CentOS/
#啟用本地倉庫
enabled=1

 

這時候就可以測試了

yum -y install ftp ..........

————————————————————————————————————————————

精華版

mkdir /media/CentOS  #創建iso掛載點,並上傳鏡像文件到/media
mount -t iso9660 /media/CentOS-7-x86_64-DVD-1908.iso /media/CentOS  #掛載
cd /etc/yum.repos.d/ && mkdir repos.backup && mv ./*.repo repos.backup  #備份
cp -a repos.backup/CentOS-Media.repo ./ && sed -i 's/enabled=0/enabled=1/g' CentOS-Media.repo  #啟用CentOS-Media
yum clean all  #清除緩存
yum info vsftpd  #測試是否生效

 

 


免責聲明!

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



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