centos7离线安装软件和软件包组

需求:

  • 在一个只有内网的服务器中安装某些需要进行源码编译的软件,并且该软件具有大量的依赖,最坑的是服务器只安装了基本的软件,现在需要手动将Development Tools软件包组安装到该服务器,然后完成所需软件的编译安装。

常用的离线安装软件的方法:

  1. 使用源码编译安装
    缺点:太麻烦,各种失败
  2. RPM包安装方式,在http://rpmfind.net/找到需要的包,然后rpm -ivh rpm包名 安装
    缺点:如果软件依赖的包太多,太繁琐
  3. 使用具有相同环境的主机导出安装包,然后在离线服务器进行安装
    缺点:需要有相同版本的联网主机,可以用Docker搞
    对于需求来说,第三种方式比较适合

以下是在相同版本联网主机导出单个软件(比如:vsftpd)及其依赖包的方法:

在联网上执行如下命令:
# 安装yum-plugin-downloadonly插件
yum install -y yum-plugin-downloadonly
# 把vsftpd换成你想要的包名,该命令将软件所有包下载到指定的文件夹中,即使这些包已经安装过
yum install --downloadonly --downloaddir /tmp/vsftpd/  vsftpd 
将所有RPM包拷贝到内网服务器上安装既可。如果安装过程中提示xxx已安装是否需要覆盖,全部选否。
该工具并不适用于 yum groupinstall 。默认情况下,这个插件将会下载仓库中最新可用的软件包,可以通过指定版本号来下载某个特定的软件版本。

以下是在相同版本联网主机导出软件包组(比如:Development Tools)的方法:

# 安装yum-utils
yum install yum-utils
#下载软件但不下载依赖包
yumdownloader httpd 
#下载软件同时也下载依赖包
yumdownloader --resolve --destdir=/root/mypackages/ httpd 
不像 Downloadonly 插件,Yumdownload 可以下载软件包组。
yumdownloader "@Development Tools" --resolve --destdir /data/yum-pkgs/dev-tools/
yumdownloader --resolve --destdir=/data/yum-pkgs/createrepo/ createrepo
yumdownloader --resolve --destdir=/data/yum-pkgs/yum-utils/ yum-utils

虽然我们拿到了所有的包,但是还存在一个问题,大量的包(几十个或更多)如何快速的安装?
解决方法:在内网主机配置自己的软件源,并建立自定义的软件包组
先将从所有包上传到内网主机/data/yum-pkgs目录,然后将createrepo和yum-utils使用rpm命令安装到内网主机
#创建源
createrepo -v /data/yum-pkgs/dev-tools/
#添加源配置文件
vi /etc/yum.repos.d/Dev-Tool.repo
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=file:///data/yum-pkgs/dev-tools/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

以下是使用工具自定义包组的方法(假设Diy Development tools包组只有gcc):
#使用工具生成自定义包组的配置文件, --mandatory指定必要的软件包,--optional可选软件包, yum-groups-manager是yum-utils工具集中工具
#此方法需要自己配置大量的软件包,只是自定义软件包组的例子,可以跳过
yum-groups-manager -n "Diy Development tools" --id=diy-dev-tools  --save=diy-dev-tools.xml --mandatory gcc shell  
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE comps PUBLIC "-//Red Hat, Inc.//DTD Comps info//EN" "comps.dtd">
<comps> 
	<group>
		<id>diy-dev-tools</id>
		<default>false</default>
		<uservisible>true</uservisible>
		<display_order>1024</display_order>
		<name>Diy Development tools</name>
		<description></description>
		<packagelist>
			<packagereq type="mandatory">gcc</packagereq>
		</packagelist>
	</group>
</comps>
加入到仓库
createrepo -g  /data/yum-pkgs/diy-dev-tools.xml /data/yum-pkgs/dev-tools
#清理一下yum源缓存
yum clean all
#重新list一下
yum repolist

# 查看现在的软件包组
yum gourplist
#安装自定义软件包组
yum groupinstall "diy-dev-tools"

可以获取系统字段的gourp配置:

搜索/var/cache/yum/x86_64/7/*/*comps.xml.gz,以下命令都需要替换成自己搜索到的文件
在xxx-comps.xml.gz中搜索Development tools即可。
#根据行号获取,所需数据在1629-1819
less -N bc140c8149fc43a5248fccff0daeef38182e49f6fe75d9b46db1206dc25a6c1c-c7-x86_64-comps.xml.gz  
#获取配置,并自定义
zcat bc140c8149fc43a5248fccff0daeef38182e49f6fe75d9b46db1206dc25a6c1c-c7-x86_64-comps.xml.gz| head -n 1819| tail -n $((1819-1629+1)) >/data/yum-pkgs/diy-dev-tools.xml

createrepo -g  /data/yum-pkgs/diy-dev-tools.xml /data/yum-pkgs/dev-tools

#清理一下yum源缓存
yum clean all
#重新list一下
yum repolist

yum grouplist 
yum groupinfo "Diy Development Tools"

其它命令:
createrepo --update local-yum/          # 更新本地源
createrepo local-yum/                   # 重新生成metadata
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在CentOS 7上进行Flask的离线安装,你需要使用以下步骤: 1. 首先,你需要先下载Flask的安装。你可以在Flask的官方网站上下载最新版本的安装。将安装下载到你的本地机器上。 2. 在CentOS 7上安装Python。CentOS 7默认安装了Python 2.7,你可以使用以下命令来检查是否已经安装了Python:`python --version`。如果Python未安装,你可以使用以下命令来安装Python:`sudo yum install python`。 3. 接下来,你需要安装pip,它是Python的管理器。你可以使用以下命令来安装pip:`sudo yum install python-pip`。 4. 现在,使用以下命令来安装Flask的依赖项:`sudo pip install Jinja2 Werkzeug Flask`。 5. 打开终端,进入你下载Flask安装的目录。将安装解压缩到一个目录中。 6. 进入解压缩目录,使用以下命令来安装Flask:`sudo python setup.py install`。 7. 安装完成后,你可以使用以下命令来验证Flask是否已成功安装:`python -c "import flask; print(flask.__version__)"`。如果成功安装,将会显示Flask的版本号。 以上是在CentOS 7上离线安装Flask的步骤。请确保你的机器可以连接到互联网来下载安装和依赖项。 ### 回答2: 在CentOS7离线安装Flask,需要以下步骤: 1. 首先,在一台联网的机器上下载Flask的离线安装以及其依赖的所有软件包。可以从Flask的官网或者项目仓库中找到可用的离线安装,并将其下载到本地。 2. 将下载好的离线安装及其依赖软件包拷贝到目标CentOS7机器上,可以通过U盘、光盘等物理介质进行传输,或者使用网络传输工具如scp进行文件传输。 3. 在CentOS7机器上,使用终端进入安装所在的目录,运行以下命令进行安装: ```shell sudo yum install <安装名称> --nogpgcheck ``` 其中,<安装名称>指的是Flask的离线安装及其依赖软件包的名称。 4. 安装过程可能需要一些时间,等待安装完成后,可以通过以下命令验证是否安装成功: ```shell flask --version ``` 如果显示Flask的版本信息,则安装成功。 5. 安装完成后,可以根据具体需要,配置和使用Flask。可以创建一个简单的Flask应用来测试,可以参考Flask的官方文档或者在线教程学习更多有关Flask的用法。 需要注意的是,离线安装Flask时,可能会遇到依赖软件包的问题,需要确保所有依赖软件包都已经安装,并且版本符合要求。同时,建议在安装过程中保持网络连接,以便在遇到依赖问题时能够及时下载并安装缺失的软件包。 ### 回答3: 在CentOS 7上进行离线安装Flask,您可以按照以下步骤进行操作: 1. 首先,您需要在一台联网的机器上下载Flask及其依赖的所有软件包。可以使用pip或其他工具来下载,并将它们保存在本地的某个目录中。 2. 将保存软件包的目录复制到CentOS 7机器上,确保目录及其文件可读取。 3. 打开终端并登录到CentOS 7机器上。进入软件包的目录。 4. 使用rpm命令安装Flask及其依赖的软件包。例如,如果您的Flask软件包为flask.tar.gz,则运行以下命令: ``` rpm -ivh flask.tar.gz ``` 5. 安装过程将解压缩Flask软件包并安装所需的依赖软件包。根据您的系统设置和软件包大小,此过程可能需要一些时间。 6. 当安装完成后,您可以验证是否成功安装了Flask。打开终端并输入以下命令: ``` python ``` 7. 在Python解释器中,导入Flask模块并查看是否成功导入: ``` >>> import flask ``` 如果没有出现错误信息,则说明Flask已成功安装。 通过按照以上步骤进行操作,您可以在CentOS 7上离线安装Flask并开始使用它来开发和运行网络应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值