- # 删除原yum源
- rm -rf /etc/yum.repos.d/*
-
- # wget命令下载: wget [options] [url]
- wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
-
- # 清除yum缓存
- yum clean all
-
- # 缓存阿里云镜像
- yum makecache
# yum install --downloadonly --downloaddir=/usr/local/httpd/ mod_ssl openssl
/usr/local/httpd/ 为指定下载的目录,mod_ssl openssl为目标软件。
yum –downloadonly会只下载RPM包不安装,同时会把依赖的包都下载下来,注意如虚拟机已经安装了依赖包,则不会下载,因此务必确保虚拟机的纯净(如果有方案可以下载已经有的依赖包,欢迎告知)。
yum localinstall /usr/local/httpd/*.rpm -y vim
参考网站:yum离线安装_yum离线安装命令_牧夫的博客-CSDN博客
或者构建本地yum库来安装。
需要说明的是,为了在目标机构建软件源,createrepo是必不可少的模块,因此需要在虚拟机上下载createrepo相关模块。
# yum install --downloadonly --downloaddir=/usr/local/httpd/createrepo/ createrepo
一般会下载三个包,一个是createrepo,另外两个是依赖包。
安装createrepo
在目标机安装createrepo:
# rpm -ivh deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
# rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
# rpm -ivh createrepo-0.9.9-24.el6.noarch.rpm
createrepo构建本地软件源
假设安装包在目标机的/home/user/rpms/目录下。
# createrepo /home/user/rpms
修改yum软件源
移除现有的软件源
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bk
开启本地软件源
# vim /etc/yum.repos.d/CentOS-Media.repo
在baseurl增加一行:
=file:home/user/rpms/
然后修改: enabled=1
这样就可以使yum采用本地源安装软件。
使用yum正常安装软件即可。
# yum install demo
如果用的是纯净的虚拟机环境,并且和目标机保持一致,那么依赖包就会都安装,yum安装就会很顺利。除非个别包会有依赖冲突,A依赖B,B又依赖A,导致无法安装,此时可以用rpm命令强制安装其中一个,再用yum安装软件即可。
# rpm -ivh demo.rpm --nodeps --force
如果安装中出现类似下面的错误:
Package fglrx-glc22-4.1.0-3.2.5.i586.rpm is not signed
需要加个 --nogpgcheck 参数。
yum localinstall fglrx-glc22-4.1.0-3.2.5.i586.rpm --nogpgcheck