rpm和yum的安装和部署
rpm:在Linux中,rpm
是 Red Hat Package Manager 的缩写,这是一个强大的包管理工具,用于安装、卸载、更新、查询和验证 RPM 包。RPM 包是以 .rpm
为扩展名的软件包,主要用于基于 Red Hat 的Linux发行版,如 Fedora、Red Hat Enterprise Linux (RHEL) 和 CentOS,以及这些系统的衍生系统。
安装rpm包
rpm -ivh package_name.rpm
卸载rom包
rpm -e package_name
更新rpm包
rpm -Uvh package_name.rpm
查询 rpm 包信息
rpm -qi package_name
验证 rpm 包
rpm -V package_name
列出已安装的 rpm 包
rpm -qa
rpm
工具常与 yum(Yellowdog Updater, Modified) 一起使用,yum是一个更高级的包管理工具,它自动处理依赖关系并从指定的仓库中下载包。
yum:
在Linux中,yum
是Yellowdog Updater, Modified的缩写,是一个基于RPM的命令行前端包管理器。广泛用于RHEL(Red Hat Enterprise Linux)、CentOS和Fedora等基于Red Hat的Linux发行版中,用来管理软件包的安装、更新、卸载和管理依赖关系。
yum通过使用在线仓库来自动解决包的依赖问题,并从仓库中提取包进行安装或更新。这样,用户就不需要手动下载和解决依赖,大大简化了软件管理任务。
安装软件包
yum install package_name
更新软件包(补充:如果不指定软件包名称,yum update
将更新所有已安装的软件包)
yum update package_name
卸载软件包
yum remove package_name
列出所有可用的软件包
yum list available
搜索软件包
yum search keyword
清除缓存(包括软件包以及头文件等)
yum clean all
查看所有已安装的软件包
yum list installed
yum能够自动处理依赖关系,使得在基于Red Hat的系统上管理软件包变得非常简便。随着新一代的包管理工具如DNF的出现,yum逐渐被更先进的工具所替代,但在很多系统中它仍然非常重要和常用。
rpm和yum的区别:
1.基本概念
(1) RPM (Red Hat Package Manager)**:RPM是一个包管理系统,用于安装、卸载、更新、查询和验证以.rpm
为扩展名的软件包。RPM直接处理这些软件包文件,但不解决软件之间的依赖关系
(2)YUM (Yellowdog Updater, Modified)**:YUM是一个基于RPM的软件包管理工具,主要用于自动更新和管理依赖关系。YUM在处理软件包时,会自动解决包之间的依赖问题,是通过网络从指定的仓库下载并安装软件包的
2.依赖性解决
(1) RPM:不自动解决依赖关系。如果安装的RPM包依赖于其它未安装的包,RPM会报告缺失依赖,但不会自动安装这些依赖包
(2) YUM:自动解决依赖关系。当安装或更新一个包时,YUM会自动找到并安装所有必需的依赖包,简化了软件管理过程
3.仓库和网络
(1)RPM:通常使用本地的.rpm文件进行操作,并不直接支持从网络仓库下载软件包
(2)YUM:工作时自动从网络仓库下载软件包和依赖,可以管理多个仓库
4.使用场景
(1)RPM:适合用于安装本地下载的rpm软件包,或者在不需要自动解决依赖关系的情况下管理软件包
(2)YUM:适合于需要自动处理软件及其依赖安装的场景,以及需要维护和更新安装在系统上的软件包
用yum安装以后有个很特殊的文件
vim /etc/yum.conf
这是yum的主配置文件不是仓库文件。仓库文件只是告诉你yum的仓库在哪里和仓库有关的文件叫仓库文件。
打开以后主要是知道前两行的意思:
cachedir= 缓存目录。用yum安装软件包会保存到这个后面跟着的路径里面
keepcache= 保持缓存。1是开启缓存功能0是关闭缓存功能(如果用光盘做仓库就不需要在意这一点)当这个包可以保存到本地的时候就可以用这个了。后面的了解即可。就不一一介绍了。
架构一般都是一致性的比如我用的都是X86版本那么后面跟的就也是X86的版本了。这些都是沿用了英特尔的cpu。但是话又说回来了也不是所有人都是用到这个架构,还有些使用专用架构就比如华为。华为用的就是自研的鲲鹏。手机和电脑用到的也不一样。用到的系统不一样架构也不一样
如何搭建自己的yum仓库
如果我想弄一个本局域网的仓库
先用本地光盘做仓库用yum的方式装一个vsftpd(y是同意安装)装完以后先到
cd /var/ftp
这个目录下。这个目录是ftp的目录
先开启服务器
systemctl rtart vsftpd
在关闭防火墙(关闭防火墙需要等一会)
systemctl srop firewalld
想访问的话打开资源管理器在路径的地方输入自己的IP地址
这里就用我的192.168.10.101代替这样就可以找到了。如果touch一个文件aa在这是刷新一下就会出来。在这个文件下在创建一个目录
mkdir cenons7
创建这个是用于把所有的包拷贝到这里面(仓库之所以是仓库就是因为有数据才是仓库)
拷贝的代码
cp -rf * /var/ftp/cenons7 cp -rf 所有的包拷贝到 /根目录下的/文件中的/自己创建的包中
关于cp命令的补充
-a:功能等价于cp命令的参数组合 -l:对源文件建立链接而非复制文件
-b:覆盖目标文件前先进行备份 -p:保留目标文件或目录的所有信息
-d:复制链接文件时,将目标文件也建立成链接文件 -r:递归复制所有子文件
-f:若目标文件已存在会直接覆盖 -s:对源文件建立软连接,而非复制文件
-i:若目标文件已存在,则会询问是否覆盖文件 -v:显示执行过程详细信息显示
这样你就会简单的创建仓库了。
使用方法
vim /etc/yum.repos.d/CentOS-Media.repo
CentOS-Media.repo该目录下的yum文件打开
之前是用光盘做仓库的现在改成192.168.10.101做仓库。修改里面的
baseurl=file:///192.168.10.101、centos7(修改file:///后面的就行了)写好以后保存退出就行
yum clean all
清理缓存
在安装一个软件包
yum -y install httpd
然后就可以查看了