【Linux网络】工作环境救急——关于yum安装的5个花式操作

目录

1、只下载不安装,离线安装软件

2、自行打包创建元数据

第一步:先准备好nginx的软件包,放在一个文件夹下

第二步:在本地下载createrepo命令软件,用于创建元信息,这个一定是对包的上一级目录使用命令,这里需要去到根,对根下面的data目录操作,生成服务端需要的内容

第三步:模拟优盘(这里用远程拷贝)给到另一台主机,假设另一台主机删除所有的yum源,然后创建用优盘的内容写软件的yum配置文件

第四步:测试下载

3、同步网络上的仓库,下载到本地

4、升级内核

5、误删rpm包,如何救急

6、总结


1、只下载不安装,离线安装软件

用法:没有网的环境下,有一台主机或只想要把一种软件的相关依赖关系等软件全部下载下来,以及createrepo命令的软件包,给另一台没有网的主机上安装软件;

注意:一定要去最小化安装去下载,要不然软件包不全!!

这是我想要下载的nginx的所有依赖关系的软件包,指定放在了/data/Packages中

2、自行打包创建元数据

环境:首先自研公司的包并不在网络源,也不在本地光驱的yum仓库,那么客户强行要求使用yum安装,该如何解决?

模拟解决思路:使用yum安装的前提是由服务端,服务端的必要条件是Packages和repodata (软件包和元信息),那么现在模拟有关于nginx的一批软件包,然后实验生成关于nginx包的yum仓库

第一步:先准备好nginx的软件包,放在一个文件夹下

复制代码
一定一定是最小化安装 获取的软件包才比较全
[root@mini ~]# mkdir /data
[root@mini ~]# cd /data/
[root@mini data]# mkdir Packages
[root@mini data]# yum install nginx --downloadonly --downloaddir=/data/Packages/

第二步:在本地下载createrepo命令软件,用于创建元信息,这个一定是对包的上一级目录使用命令,这里需要去到根,对根下面的data目录操作,生成服务端需要的内容

第三步:模拟优盘(这里用远程拷贝)给到另一台主机,假设另一台主机删除所有的yum源,然后创建用优盘的内容写软件的yum配置文件

第四步:测试下载

3、同步网络上的仓库,下载到本地

复制代码
mkdir /data
cd /data/
yum install epel-release 
reposync -r epel -p /data/
yum -y install createrepo
createrepo -v /data/epel

原本想要通过这种方法下载拷贝到Windows真机电脑,但是文件太大了,建议还是在官网去下载吧,这种针对base源也是一样适用!!

4、升级内核

两种方法:编译安装(非常的麻烦),另一种是有一家公司已经解决了这个问题,需要去下载

复制代码
这是网址:
http://elrepo.org/tiki/HomePage

centos7的yum仓库下载命令
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
复制代码
[root@localhost yum.repos.d]#yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
[root@localhost yum.repos.d]#ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  elrepo.repo
[root@localhost yum.repos.d]#vim elrepo.repo 
[root@localhost yum.repos.d]#yum list *kernel*

5、误删rpm包,如何救急

复制代码
chroot /mnt/sysimage
cd /run/install/repo/Packages/
ls |grep rpm-
找到对应的rpm的软件包
rpm -ivh rpm-4.11.3-25.el7.x86_64  --root=/mnt/sysimage
exit

不知道哪个无聊的家伙,会删掉rpm,真是无聊,但是为了实验,我们还是模拟试试吧

6、总结

①深刻理解yum的服务端的两个必要条件,在创建元信息的时候,一定是在Packsges目录的上上级别目录,如createrepo -v data ,这里的 Packsges是data的子目录,这样创建出来的repodata也会自动存在data的子目录,否则不生效!!

②建议在没网环境下,先将软件的yum服务端的资料都准备好(有Packsges和repodata后),并测试成功以后,再拷贝到没网的机器上,这样效率和排错更容易!!

③升级内核的时候需要将内核的repo配置文件中的enable开启;

相关推荐
M78佐菲2 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法
Brilliantwxx2 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
不怕犯错,就怕不做3 小时前
git prune 自动删除本地记录中那些远程已经不存在的分支引用
linux·服务器·git
richdata3 小时前
商品数字化不是先做大数据,而是先把数据变成可用决策
大数据·运维·数据治理·商品数字化·智能补货·ai商品决策
weixin_416667964 小时前
【无标题】
运维·服务器·网络
予昊4 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
一池秋_5 小时前
arm低配linux设备,桌面应用冷启动提速方法
linux·运维·arm开发
惜离殇5 小时前
从零开始的敲代码生活--Linux应用软件(文件操作基础1)
linux·c语言·文件操作·标准io
上海云盾-小余6 小时前
流量攻击复盘:为什么 WAF 完好,业务依旧瘫痪
运维·服务器·网络
IT大白鼠6 小时前
Docker 私有仓库管理:Harbor 企业级仓库搭建与镜像全生命周期管理
运维·docker·容器