yum的私有云和内核升级
1.1)我们已经能够把现有的互联网上的仓库为我们使用,我们配好以后,就可以用yum实现软件的安装、卸载等。但是,目前来讲,我们使用yum安装卸载以后,有一个缺陷,就是我们安装的数据包,现在都是在互联网上,一个企业内部如果有成百上千的机器,每次装软件,难不成真的跑到互联网上装软件,本身安装任何一个软件包都跑到网上去装,会占用比较大的网络带宽,而且动不动网络就不稳定,所以这个影响效率.
2)事实上,有些公司不让你联网,在局域网中,那怎么去安装包哪?难不成像我这样整张光盘吗?当然整张光盘是可以的,但是仿佛回到了原始社会。所以我们需要在局域网里自己搭建仓库,搭好仓库以后,我们企业内部的这些机器就可以从自己搭的仓库中来安装包,现在问题来了,你怎么在公司内部搭建一个自己私有的仓库服务器?
3)事实上,私有仓库服务器的搭建只需要把那些作为仓库必要的数据准备好,作为仓库来讲,至少提供两种资源:第一,安装包;第二,repodata源数据。事实上,如果我们想搭建一个比如光盘里面的仓库,那这个很简单,把光盘拷过来就行了,因为光盘里面就带嘛,把光盘文件拷到我们某一个服务器上,当然光拷到这儿还不行,我们还需要通过三种网络协议,把这个数据给共享出来。配httpd很简单,就两步:第一步;第二步,把服务启动,就完事了。
2.演示:利用httpd协议搭建企业内部私有仓库
1)将centOS光盘挂在centOS8上(加一个光驱)
2)安装httpd包:
yum -y install httpd
3)启动前先需要初始化
1.关闭防火墙
[root@centos8 yum.repos.d]# systemctl disable --now firewalld Removed /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
2.关闭SELinux
[root@centos8 yum.repos.d]# vim /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
启动:
[root@centos8 yum.repos.d]# systemctl enable --now httpd Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
4)创建文件夹
[root@centos8 yum.repos.d]# cd /var/www/html [root@centos8 html]# ls [root@centos8 html]# mkdir centos/{7,8} -pv mkdir: created directory 'centos' mkdir: created directory 'centos/7' mkdir: created directory 'centos/8' [root@centos8 html]# tree centos/ centos/ ├── 7 └── 8 2 directories, 0 files
5)把光盘挂载:
[root@centos8 ~]# mount /dev/sr1 /var/www/html/centos/7 mount: /var/www/html/centos/7: WARNING: device write-protected, mounted read-only.
这个时候进到目录下看到的就是centos7的光盘
[root@centos8 ~]# ls /var/www/html/centos/7 CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7 EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
6)打开IP到浏览器,确认能不能访问
将路径复制下来回到7上,将自己的配置文件都注释掉。
[root@centos7 yum.repos.d]# yum repolist Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile repo id repo name status base CentOS 10,072 epel epel 13,720 extras extras 500 repolist: 24,292
3.搭建8的:
[root@centos8 ~]# mount /dev/sr0 /var/www/html/centos/8 mount: /var/www/html/centos/8: WARNING: device write-protected, mounted read-only.
4.但是这个中间实际上有一个潜在的问题,我们刚才搭的时候都是光盘的,是现成的,那事实上,我们有的时候可能手上只有rpm包,没有元数据,没有repodata怎么办?
实际上很简单,源数据是可以用命令创建的,比方说:
1)建立一个文件夹,这个文件夹来放仓库:
[root@centos8 /var/www/html/centos 765]#mkdir /data/testrepo
2)然后把仓库的包给它拷过去:
\cp /misc/cd/Packages/* /data/testrepo -v
3)现在我们已经把这些包拷过来了,但是里面没有源数据,怎么办,很简单,我们直接创建源数据:
createrepo .
如果这个命令就安装一下:
yum -y install createrepo
那么这个文件夹就可以当仓库里了。
5.还有epel源,怎么把互联网上的epel源的仓库拿过来在公司内部来搭建?我们可以把互联网上的epel源把它上万个包下载下来,在你的本机创建,怎么下载呢?
1)先把epel源先配好
2)用yum repolist 确认一下是否有epel源:
3)刚才我们已经提前把httpd服务器装好了,我们希望在/var/www/html,创建一个epel源的公司内部用的仓库,怎么用?执行这条命令:
dnf reposync --repoid=epel --download-metadata -p /var/www/html
这条命令就是从我们epel源的仓库下载,连接到它内部指定的路径,从互联网上把那些包,包括源数据下载下来,下哪呢?下载在-p 后的/var/www/html这个路径下,这就是我们刚才说的,网站存放网页的路径,然后下完以后,这时候你会发现,它会在这个目录下生成一个子目录叫epel,然后将来我们指定路径,这就是仓库路径.
解析下载过程:这个时候他就会连接互联网,利用我系统自带的epel源的配置,从上面去下载包。
4)此时,已经出现一个epel目录
已经有源数据了,包括这包已经下载一部分了,这个仓库就可以用了。
5)打开浏览器,这个时候就可以配成centos8的epel源了,这就可以用了。
总结:这就是公司内部搭建一个企业内部的epel源,实际上就是把它下载下来。
6.1)yum不仅可以实现这个一个包一个包安装,他的卸载的话有可能会存在一个问题:
比如:
yum -y install httpd
你会发现因为依赖关系,它会装上9个包,其中8个有依赖关系。我卸载的时候会不会把8个依赖关系的包卸了呢?
yum remove httpd -y
发现并不会,它只卸掉自己,就是它所依赖关系的那个包,它不卸。
逻辑是这样的:httpd安装的时候依赖这个包,它是建立在这8个包基础上的,那么你安装的时候必须把这8个包装上,那你卸的时候,你卸它,你把8个包也卸了,万一是不是还有别的软件依赖这8个包哪,所以它就不给你卸。
2)如果你卸不干净,这有个方法:
yum history
history:是看你的历史的
[root@centos7 ~]# yum history info 16
看第16个编号干了啥。
yum history undo 16
undo:取消,这个就是取消第十步,第十步多装了五个包,取消第十步,就是卸载五个包。
再用yum history查看
发现第17步就是刚刚发生的。
3)当然说我这个卸错了,不应该卸:
yum history redo 16
redo:就是重复操作。
或者
yum history undo 15
4)centos8卸的时候会把所有包都给你卸了,而centOS7只卸一个
7.1)利用yum还有一个功能:它可以实现包组的管理。
包组是把若干个包组合在一起,形成一些包的分类,这叫包组。平常用的不多,如果你装包组的话,包组里的所有包就都装上了,这样的话,无形中装的东西会比较多。
2)列出所有包组的名称:
yum group list
3)安装包组:
yum group install "Minimal Install"
注意:因为这个包组名称有空格,所以需要我们用双引号引起来,这时候,它才认为这是一个包的名称。
8.还有一个问题就是缓存:
1)yum在安装的时候,它实际上会自动地把源数据缓存下来。
查看源数据缓存在哪:
centos8:
ll /var/lib/dnf/
centos7:
cat /etc/yum.conf
2)怎么消除缓存:
yum clean all
注意:yum同一时间只能使用一个
并没有清干净,之所以留下来了清不了,是因为它是根据你的配置文件来清的,你配置文件改了,那它有些东西删不了了,如果删不了,没关系,你用rm命令删了它:
再看看我们仓库有什么,
再/var/lib/yum中:
缓存嘛,大不了下次用再给你缓存下来了
9.查看当前格式:
[root@centos8 /var/www/html 830]#runlevel N 5
10.切换到图形模式:
init 5
11.1)关于yum:我们想知道某一个文件来自于那个包,rpm -qf可以查,但是这个命令有一个要求就是这个文件必须已经有了。那事实上,我们有的时候这个文件根本就没有,比如说:源码编译安装的时候,它有时候会报,说缺一个文件,那么你这个文件,就要装这个包才行,所以换句话说,你要通过没有装的这个文件知道它的名字,获取它的报是哪个包,把这个包装上才能解决问题,那么rpm就不行了,那怎么做,用:
yum provides
这个是很有意义的,这个命令可以通过获取一个没有装生成一个文件,然后获取它的所谓的包的名称。
2)例子:
3)不过需要注意的是:有的时候,他不一定能真的查到,因为这里没写路径:
发现不写路径查不出来,可是我们又不知道它的路径,怎么办?有一个方法:写通配符:
12.1)对于yum来讲,关键你要知道yum的配置文件挂载,包括怎么去建公司内部的yum仓库
2)总结一下,yum的要求掌握的子命令:
repolist、install、remove、info、list、clean all、provides
13.如何升级内核?(联网)
方法一:可以从内核官网下载,要求会编译安装
方法二:利用第三方的rpm包 网站:http://elrepo.org/tiki/HomePage
装完发现在/etc/yum.repo.d/中多了一个elrepo.repo的文件
加all显示禁用的仓库,发现里面里有一个kernel仓库被禁用了,所以要启用它:
vim elrepo.repo
现在我们想装内核,我们也不知道内核叫啥,就写通配符:
yum list *kernel*
我们看一看包括kernel名称的所有列表,ml是测试版,lt是长期技术支持版,就安装稳定的,我们装上:
yum install kernel-lt.x86_64
我们装上以后就意味着我们的内核是直接就升级成新版本了吗,并不是,它相当于我们有两个内核并存,你想用哪个就选哪个,所以在启动的时候就可以选了。
uname -r 看内核版本
2)卸载内核:
若在使用中,是不让卸的
我们换一个内核登录再卸载:
14.不联网升级内核
推荐这些文章:
1. 安装 EPEL repo
root@gateway:~# yum install epel-release
2. 安装 remi-repo
root@gateway:~# yum install http://rpms.remirepo.net/enterprise/rem...
镜像下载、域名解析、时间同步请点击 阿里云开源镜像站
1 YUM简介
1.1 YUM简介
CentOS使用yum和dnf 解决rpm的包依赖关系。
YUM:rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具,CentOS 8 使用dnf代替了yum,不过保留了和yum的兼容性,配置也是通用的。
...
一 更新yum源
1 [root@localhost ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2 [root@localhost ~]# rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-4....
[root@centos8-hkping /]#vim /etc/yum.repos.d/Centos-8.repo
[BaseOS]
name=CentOS-$releasever - Base
baseurl=http://mirrors.cloud.tencent.com/centos/$releasever/BaseOS/$ba...
1、查看当前内核版本
$ uname -r
3.10.0-514.el7.x86_64
$ uname -a
Linux k8s-master 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ cat ...
环境:Centos7
步骤:
方式一(推荐):
1.备份源
2.获取源
3.clean|makecache
4.安装EPEL源
5.clean|makecache
方式二:
脚本方式
方式一:
(1).备份源
我们需要先...
yum软件包管理
yum(软件仓库):提供众多软件包的仓库,并自动解决软件包之间复杂依赖关系
yum常用命令:
yum repolist #列出仓库可用软件包
yum list 软件包名 #查看系统中提供的软件包(包含未安装的软件包)
yum install 软件包名 #安装软件包,-y自动回答yes
yum u...
创建Freeswitch私有yum源仓库并安装Freeswitch
本文基于 Centos 7.9, Freeswitch依赖的epel源,必须联网才可以使用。
官方推荐的rpm安装方式:
yum install -y https://files.freeswitch.org/repo/yum/centos-release/freeswitch-release-repo-0-1.noar...
1,确定光盘连接
2,创建一个目录 用于做挂载点 mkdir /mnt/dvd
3,挂载 mount /dev/cdrom /mnt/dvd
4,进入yum客户端配置的本地文件 cd/etc/yum.repos.d
移动原有数据到挂载点 mkdir bak mv *.repo ...
NextCloud 17.0.1 升级到NextCloud 23.0.0
NextCloud 版本过低使用时间过长,想升级一下。
问题记录及参考文档
本次采用离线升级(在线不能下载)
官网下载https://nextcloud.com/install/# 23.0.0最新版本
升级 NextCloud 之前,首先要考虑备份数据库,除非数据库并不那么重要,可以不用备份数据库。比如我自己使用的 Nex...
文章链接:https://www.dianjilingqu.com/50972.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。