• 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  #测试是否生效

     
  • 相关阅读:
    [LeetCode] 143. 重排链表
    [LeetCode] 342. 4的幂
    [LeetCode] 1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?
    [LeetCode] 148. 排序链表
    [LeetCode] 525. 连续数组
    [LeetCode] 160. 相交链表
    [LeetCode] 134. 加油站
    [LeetCode] 474. 一和零
    CentOS 升级 OpenSSH
    AWS 证书取消挂靠
  • 原文地址:https://www.cnblogs.com/shenyuanhaojie/p/14033531.html
Copyright © 2020-2023  润新知