关于 Linux中内网安装软件的一些笔记-阿里云开发者社区

开发者社区> 山河已无恙> 正文

关于 Linux中内网安装软件的一些笔记

简介: 可事实是,唯恐暴露才华不足的卑怯的畏惧,和厌恶钻研刻苦的惰怠,就是我的全部了。 ——中岛敦《山月记》
+关注继续查看

写在前面


  • 对于可以连接外网的服务器装软件,只要配置yum源就可以随便使用了
  • 但是对于内网来说,不能连接外网,一般情况下,管控平台只有上传的权限。尤其一些涉密的岗位,比如电力,电信,军工之类的。
  • 今天和小伙伴聊聊内网服务器如何装软件的问题。

可事实是,唯恐暴露才华不足的卑怯的畏惧,和厌恶钻研刻苦的惰怠,就是我的全部了。 ——中岛敦《山月记》
*

方法一、直接下载安装包

找一台有网机器安装 Nginx需要的软件包(尽量同版本的操作系统,最小化安装)

┌──[root@liruilongs.github.io]-[~]  
└─$ yum -y install nginx --downloadonly --downloaddir=/root/soft  #把Nginx需要的软件包下载到 /root/soft 下

检查一下

┌──[root@liruilongs.github.io]-[~]
└─$ cd /root/soft/
┌──[root@liruilongs.github.io]-[~/soft]
└─$ ls
nginx-1.20.1-9.el7.x86_64.rpm  nginx-filesystem-1.20.1-9.el7.noarch.rpm
┌──[root@liruilongs.github.io]-[~/soft]
└─$ 

把整个文件夹打包拷贝到内网环境,然后执行 rpm -ivh /xx/* 命令安装所有依赖包

┌──[root@liruilongs.github.io]-[~]
└─$ rpm -ivh /root/soft/*
warning: /root/soft/nginx-1.20.1-9.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:nginx-filesystem-1:1.20.1-9.el7  ################################# [ 50%]
   2:nginx-1:1.20.1-9.el7             ################################# [100%]
┌──[root@liruilongs.github.io]-[~]
└─$ systemctl start nginx
┌──[root@liruilongs.github.io]-[~]
└─$ curl http://127.0.0.1:80
<!DOCTYPE HTML PUBLIC "-//W3
。。。。

如果内网环境有 createrepo命令的话,把下载的东西拷贝过去,可以自定义yum源,通过yum的方式安装


┌──[root@liruilongs.github.io]-[~]
└─$ createrepo  -v /root/soft/
Spawning worker 0 with 1 pkgs
Spawning worker 1 with 1 pkgs
Worker 0: reading nginx-1.20.1-9.el7.x86_64.rpm
Worker 1: reading nginx-filesystem-1.20.1-9.el7.noarch.rpm
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Starting other db creation: Tue Nov  2 02:41:26 2021

▽
[nginx]
Ending other db creation: Tue Nov  2 02:41:26 2021
Starting filelists db creation: Tue Nov  2 02:41:26 2021
Ending filelists db creation: Tue Nov  2 02:41:26 2021
Starting primary db creation: Tue Nov  2 02:41:26 2021
Ending primary db creation: Tue Nov  2 02:41:26 2021
Sqlite DBs complete
┌──[root@liruilongs.github.io]-[~]
└─$ cd /root/soft/
┌──[root@liruilongs.github.io]-[~/soft]
└─$ ls
nginx-1.20.1-9.el7.x86_64.rpm  nginx-filesystem-1.20.1-9.el7.noarch.rpm  repodata
┌──[root@liruilongs.github.io]-[~/soft]
└─$ cd repodata/;ls
2a85d8bedd0e987fe0c492840e8d9e7194f1da556db1282b6b731cc0c6978ded-primary.sqlite.bz2
8fe41a398aa040ec1b69ea2d54fae6c91dda6964a51a737b9becfa05bb7504f4-other.sqlite.bz2
a8c56a126109fae47bdd4dfa6e33e8575bd9e660fc6826f6623fb8d08f1ce293-filelists.xml.gz
b5c57aa7aecbcfe4826a9e4c4dcb3c05193b0ed64e6858e4e755bc785003a009-primary.xml.gz
dbc9a1a851b14aeb972e05dac2b17a896848993ebbd494a01b566c75ba5d0ef8-other.xml.gz
ed1fa31928cf100748169e2b5ff1cb354b1c45a0b860f805830eb679872d38fd-filelists.sqlite.bz2
repomd.xml
┌──[root@liruilongs.github.io]-[~/soft/repodata]
└─$ cd ..;createrepo --update  ./
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
┌──[root@liruilongs.github.io]-[~/soft]
└─$ vim nginx.repo
┌──[root@liruilongs.github.io]-[~/soft]
└─$ cat nginx
cat: nginx: No such file or directory
┌──[root@liruilongs.github.io]-[~/soft]
└─$ cat nginx.repo
[nginx]
name=nginx
baseurl=file://root/soft
enabled=1
gpgcheck=0
priority=1
┌──[root@liruilongs.github.io]-[~/soft]
└─$

方法二、通过IOS挂载配置

iso挂载的方式,iso挂载方式这里可以使用不同的协议,但是内网,所以我们只能用file协议,前提将有包的IOS镜像拷贝到要装包的机器。当然,如果这个机器所在内网的其他机器有相关的包,可以使用httpftp协议。

挂载本地镜像文件。正常IOS文件一般会放到dev/ 文件夹下,需要把相关的文件挂载到指定的目录下,

[root@liruilongs.github.io ~]# mkdir /centos7 #创建挂载点
[root@liruilongs.github.io yum.repos.d]# mount /dev/CentOS-7-x86_64-DVD-1810.iso /centos/ #挂载镜像光盘
[root@liruilongs.github.io yum.repos.d]# ls /centos7/ #验证挂载结果

将yum的原本配置备份

[root@liruilongs.github.io ~]# cd /etc/yum.repos.d/ #进入yum的repo文件目录下
[root@liruilongs.github.io yum.repos.d]# mkdir oldrepo #创建目录
[root@liruilongs.github.io yum.repos.d]# ls
[root@liruilongs.github.io yum.repos.d]# mv CentOS-* oldrepo/ #将所有的.repo的文件移动到oldrepo目录下
[root@liruilongs.github.io yum.repos.d]# ls

第三步:配置本地yum源

[root@liruilongs.github.io ~]# vim /etc/yum.repos.d/centos7.repo #创建一个新的repo文件
[centos] #自定义名字,具有唯一性,随便定义
name=Centos7 #对软件源的描述信息
baseurl=file:///centos7 #指定yum服务端的访问路径
gpgcheck=0 # 0为不检测,1为检测,要更改为0,检测只是检测红帽官方打包的rpm包
enabled=1 #是否立即生效,1为是
[root@liruilongs.github.io ~]# yum clean all #清空客户端下的yum清单列表
[root@liruilongs.github.io ~]# yum repolist #重新加载服务端的清单列表

这样我们通过iso装包就配置好啦。之后就可以通过yum使用了

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
未来软件开发的主流方向:规则引擎 (Rule Engine)
规则引擎 (Rule Engine)介绍     规则引擎起源于基于规则的专家系统,而基于规则的专家系统又是专家系统的其中一个分支。专家系统属于人工智能的范畴,它模仿人类的推理方式,使用试探性的方法进行推理,并使用人类能理解的术语解释和证明它的推理结论。
929 0
【翻译】如何选择一个开源软件许可证 Choosing an OSS license doesn’t need to be scary
本文禁止转载~ 选择一个开源软件许可证并不需要很可怕 下列哪一项最能描述你的情况? 我想简单和宽容 MIT许可证是一个许可证,就是短了点。它让人们做任何他们想与你的代码,只要他们提供归属回你和不承担你的责任。
1087 0
Linux软件的安装和卸载
Linux软件的安装和卸载一直是困扰许多新用户的难题。在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实现。与其相类似,在Linux下有一个功能强大的软件安装卸载工具,名为RPM。
773 0
为何安装要先安装windows后安装linux_学习笔记。
时间:2017.12.21作者:李强参考:man,info,magedu讲义,万能的internet实验环境:VMware® Workstation 12 Pro ,Centos 6.9,Centos 7.4,SecureCRT Version 8.1.4声明:以下英文纯属个人翻译,英文B级,欢迎纠正,以下内容纯属个人理解,并没有对错,只是参考,盗版不纠,才能有限,希望不误人子弟为好。
587 0
+关注
山河已无恙
嘻嘻,希望可以好好生活下去 ^_^ ,CSDN博客专家,RHCE,CKA 认证
32
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载