软件包管理以及如何创建本地yum仓库

注:该文章中“+”等于 空格。“跟” = 无空格。

  • 安装:
    安装分两种命令,rpm -ivh 和 yum install。两者除了在解决依赖关系上存在差异,其他并无不同。

  • 安装分两种形式,本地镜像安装和联网安装。
    1.本地镜像安装
    将装有软件包的光盘(路径/dev/cdrom),挂载(mount)到一个目录。然后就可以通过rpm -ivh +目录+软件包的名称 进行安装。
    2.联网安装:配置yum源,然后使用yum安装。

1.、RPM:软件包管理器。

rpm下载安装,升级,卸载和查询

  • 安装
    -rpm - ivh:安装软件包。例:rpm - ivh+目录 或 软件包链接。 但是rpm -ivh 有个最大的弊端是存在依赖关系,需要挨个解决。
    什么是依赖关系?即如需安装A,可是需要B作为前置条件,但是B又需要C,等等。解决起来非常麻烦。故而 yum install 诞生了
  • 升级: rpm -Uvh
  • 卸载: rpm -e
  • 查询:
    rpm -q:查看指定软件包是否安装
    rpm -qa:查看系统中已安装的所有软件包也可指定软件包名字进行过滤。
    rpm -qi:查看指定命令或软件的详细信息
    rpm -ql:查询指定软件包把文件解压在哪个位置
    rpm -qc:查询指定软件包的配置文件所在位置
    rpm -qf:查询绝对路径的命令是哪个软件包提供的。但是如果我的绝对路径中没有相关命令,便会导致查询不到对应的安装包,yum可以解决。

yum:软件保管理器,可以通过互联网下载rpm格式的安装包进行安装,自动处理之间的的依赖关系

如何建立yum仓库

执行yum的过程中需要牵扯到一些文件,这些文件就是.repo文件,存放在/etc/yum.repos.d/中,而这些文件就是软件包仓库文件,也就是说执行yum时,yum会根据这些文件内的链接自行搜索,适配,下载。这个链接就被称之“源”,源所指向位置有一堆rpm包,这些存放软件包的地方就被称之为“仓库”,换言之,只要将这个文件里的链接配置好,就是增加了一个yum仓库。

基础源:Base,提供基础的软件包
扩展源:epel,提供第三方软件。比如:nginx
官方源:nginx

  • 配置源有两种方法:
    1.手动编辑配置文件/etc/yum.reops.d/ 下载一个文件到指定位置。
    步骤:手动建立仓库,第一步,使用vim创建一个**.repo**格式的文件到/etc/yum.reops.d/,然后将官方提供的源配置代码粘贴到该文件中,保存。运行yum repolist查看仓库是否开启。注意!不要直接粘贴到vim编辑器中,防止被吞首字母。

    2.官方提供一个 release.rpm包,当把这个安装释放后,会自动释放一个**.repo放到文件到/etc/yum.reops.d/**目录中。

    • 步骤:
      1.首先找到需要安装的release.rpm软件包,复制链接。
      2.通过rpm -ivh +链接或使用yum install +链接,下载并将自动创建一个.repo文件解压到/etc/yum.repo.d/中。
      3.也可以通过wget的方式下载到本地,然后通过rpm -ivh 进行解压。
      4.yum repolist 列出本地目前在用仓库,使用yum repolist all 列出 本地所有仓库。
      5.使用yum-config-manager --disable(关闭仓库),yum-config-manager --enable(开启仓库)(也可以通过修改repo文件中的enable选项,来开启或关闭仓库)
      也可以通过wget的方式下载到本地,然后通过rpm -ivh 进行解压。
  • wget:联网下载软件包, 例:wget+软件包链接 = 下载到当前目录,仅下载不安装。如需下载到指定目录,可用 -O 指定, 例:wget -O /etc/yum.repo.d/CentOS-Base.repo+网络地址(通过镜像市场查找)

  • yum install:下载安装,升级,卸载和查询

    下载安装:
    yum install + 软件包名称或链接地址 -y
    yum localinstall:用来自动解决本地rpm包的依赖,yum install 是在下载的过程中自动解决依赖,但是如果文件过大,可能导致中断,所以可以通过wget下载到本地,可是这样就无法通过 yum install 来解决依赖,这时就用到了 yum localinstall,分析软件包有哪些依赖,先解决依赖再进行安装。
    yum reinstall:重新安装

    卸载:
    yum remove -y:一般不卸载,因为软件包存在各种依赖关系,所以卸载软件包可能导致命令不可用。
    升级:
    yum update + 软件包名称 -y :不指定软件包 就是升级所有软件包,甚至可能升级内核,所以一定要指定软件包
    查询:
    yum list:查询所有仓库的所有软件包,会把所有仓库的软件包都列出来。
    yum list installed:查询系统中已安装的软件包。
    yum provides:查看在已配置的联网仓库中,该命令或软件来自哪个软件包。
    yum repolist :查看当前有多少仓库在用。
    yum repolist all :查看一共有多少仓库,包含禁用的。

  • yum history
    查看软件包的安装卸载记录。
    info+编号=查看该软件包的操作记录信息。
    undo+编号=撤销操作。
    1、yum history
    2、yum history info 编号
    3、yum history undo 编号

  • yum.conf:yum下载 的配置文件。在/etc/目录中,可修改是否缓存软件包。keepcache=0 ,,将0改为1。

  • yum clean all:清除所有软件包的缓存
    yum clean packages :清楚缓存的软件包,不清楚已安装的。

  • rpm -qa列出所有本机上安装的rpm包, yum list 查询的是yum服务器端所提供的rpm包,所以yum list installed查询到的是存在本机建立的联网仓库中已安装的软件包。

把光盘做成本地yum仓库

1、有个一个光盘,且光盘中有软件包。
2、将光盘的数据拷贝到服务器上。
3、为对应的目录建立仓库数据文件?
4、修改配置文件,配置服务器的yum,将安装的源指向到本地目录。

1.将光盘 挂载到 系统中。

mount /dev/cdrom/ /mnt/

2.将光盘里的Packages里面的文件拷贝到自建的文件夹中,注:Centos8的仓库在AppStream和BaseOs中,光盘中有几个仓库,就将几个仓库的包都拷贝到同一目录。

cp /mnt/AppStream/Packages/*.rpm 指定文件夹

3.将其建立成仓库的数据文件,需要使用createrepo,使其成为一个索引。
使用:createrepo+指定文件夹,!!!每次仓库更新都要执行一次,
4、自建一个.repo的文件

  • 自建步骤:
vim /etc/yum.repos.d/local.repo
		[repo-local]
		仓库名称
		name = This Local Repo Database
		仓库描述
		baseurl = file:///data/base
		使用协议,file本地协,前面两个斜杠是协议自带的
		enable = 1
		启用这个仓库
		gpgcheck = 0
		是否校验软件包,光盘的不用校验,互联网的需要校验(1=是,0=否)

5、yum makecache 建立对应的缓存。 yum有很多源,大多是网络上的,makecache建立一个缓存,以后用install时就在缓存中搜索,提高了速度。yum makecache知识来源 如果上一步使用的 yum-config-manager --enable + 索引目录(开启仓库),便不需要执行该操作。

6、建立完成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值