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

相关推荐
码农君莫笑11 分钟前
Blazor项目中使用EF读写 SQLite 数据库
linux·数据库·sqlite·c#·.netcore·人机交互·visual studio
dessler26 分钟前
Docker-如何启动docker
运维·docker·云原生·容器·eureka
zhy2956326 分钟前
【DOCKER】基于DOCKER的服务之DUFS
运维·docker·容器·dufs
无为之士32 分钟前
Linux自动备份Mysql数据库
linux·数据库·mysql
小蜗牛慢慢爬行38 分钟前
有关异步场景的 10 大 Spring Boot 面试问题
java·开发语言·网络·spring boot·后端·spring·面试
秋名山小桃子41 分钟前
Kunlun 2280服务器(ARM)Raid卡磁盘盘符漂移问题解决
运维·服务器
与君共勉1213842 分钟前
Nginx 负载均衡的实现
运维·服务器·nginx·负载均衡
MARIN_shen44 分钟前
Marin说PCB之POC电路layout设计仿真案例---06
网络·单片机·嵌入式硬件·硬件工程·pcb工艺
岑梓铭1 小时前
(CentOs系统虚拟机)Standalone模式下安装部署“基于Python编写”的Spark框架
linux·python·spark·centos
努力学习的小廉1 小时前
深入了解Linux —— make和makefile自动化构建工具
linux·服务器·自动化