【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开启;

相关推荐
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒1 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux
蝎子莱莱爱打怪4 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes