• 【开发笔记】- yum离线安装


    本方案基本思路是在一个可以联网的系统中下载rpm安装包,然后传到无法联网的目标操作系统,建立安装源,进行安装。为了减少不必要的麻烦,在本地用虚拟机安装一个和目标操作系统一模一样的但是没有安装任何额外软件的系统,用于下载各种安装包和依赖包。

    配置本地环境

    在虚拟机内配置yum只下载RPM包而不安装,这里要使用–downloadonly选项,需要先安装yum-plugin-downloadonly。

    # yum install yum-plugin-downloadonly

    在本地环境下载rpm安装包

    # yum install --downloadonly --downloaddir=/tmp RPM_Name 

    /tmp 为指定下载的目录,RPM_Name为目标软件。
    yum –downloadonly会只下载RPM包不安装,同时会把依赖的包都下载下来,注意如虚拟机已经安装了依赖包,则不会下载,因此务必确保虚拟机的纯净(如果有方案可以下载已经有的依赖包,欢迎告知)。

    然后可以使用localinstall进行本地安装:

    # yum localinstall fglrx-glc22-4.1.0-3.2.5.i586.rpm

    或者构建本地yum库来安装。

    需要说明的是,为了在目标机构建软件源,createrepo是必不可少的模块,因此需要在虚拟机上下载createrepo相关模块。

    # yum install --downloadonly --downloaddir=/tmp createrepo 

    一般会下载三个包,一个是createrepo,另外两个是依赖包。

    上传rpm安装包到目标机

    采用scp 或者 pscp.exe(Windows下)等方式将rpm安装包文件上传到目标机,并修改权限为可执行(chmod 755 RPM_Name)。

    在目标机构建本地软件源

    安装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
  • 相关阅读:
    新版ubuntu中打开终端的方法和安装ssh 的方法
    HTML中利用404将老域名重定向到新域名
    KeelKit 1.0.3500.25185
    如何制作VSPackage的安装程序
    一副漫画:IE6滚回你老家去
    “表单控件”与“实体类”
    VS2005中得到 Web页面 或 窗体的 IDesignerHost
    一句SQL搞定分页
    CodeDom Assistant CodeDom的强大工具, 有些BUG修正了下,发到CodePlex,大家有需要的可以看看
    VS2005 出现 The OutputPath property is not set for this project. 错误的解决方法
  • 原文地址:https://www.cnblogs.com/juihai/p/12081188.html
Copyright © 2020-2023  润新知