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

相关推荐
棉晗榜4 分钟前
Linux中.NET读取excel组件,不会出现The type initializer for ‘Gdip‘ threw an exception异常
linux·c#·.net·excel
小狮子安度因7 分钟前
Linux上的各种查询
linux·运维·服务器
Yz987639 分钟前
Hive安装-内嵌模式
大数据·linux·数据仓库·hive·hadoop·hdfs·bigdata
多练项目1 小时前
公开仓库改私有再配置公钥后Git拉取仍需要输入用户名的问题
运维·git
cqbzcsq2 小时前
Nginx简易配置将内网网站ssh转发到外网
运维·nginx·ssh
SmallBambooCode2 小时前
【人工智能】阿里云PAI平台DSW实例一键安装Python脚本
linux·人工智能·python·阿里云·debian·脚本·模型训练
纯小白是我2 小时前
CentOS 7系统中更改YUM源为阿里云的镜像源
linux·阿里云·centos
嵌入式Linux,2 小时前
BUG: scheduling while atomic
linux·运维·服务器·bug
小兔子酱#2 小时前
【Linux 29】传输层协议 - UDP
linux·运维·服务器·网络·网络协议·udp
CYRUS_STUDIO2 小时前
Android下的系统调用 (syscall),内联汇编syscall
android·linux·汇编语言