目录
软件包管理的地位
软件包管理在企业中是非常重要的,因为对于企业来说,可能要频繁的安装软件,升级软件。
Linux安装软件,正确的渠道是从软件的官方网站下载软件包安装。
Linux的软件包管理,因为linux的操作对象基本都是专业人员,可以选择源码包的安装方式或者二进制的安装方式。
源码包安装软件的好处就在于你可以更嗨源码,改成适合你的环境。另一个源码包安装的好处就是源码包相比于现有的编译好的二进制包更新,功能更多,一般在生产环境,特别是功能类服务器用的多。
我们的Linux分为多个发行版本,不同的发行版本对于软件包的管理命令或者管理方式是不同的,但是本质上几乎都是管理二进制的软件包
-
Linux所有发行版本里面最流行的三个
-
RHEL,Cent0S,Fedora:二进制包后缀名是以rpm结尾
-
openSUSE,SELS:二进制包的后缀名是以rpm结尾
-
Debian,Ubuntu:二进制包的后缀名是以deb结尾
-
本质上只要软件包的架构和cpu架构匹配就可以安装,而且都是二进制包。唯一不一样的就是可能需要额外安装匹配的软件包管理工具。
yum管理rpm包
yum是一个工具,yum的底层仍然是rpm,如果没有rpm,那么yum也是没有用的,yum诞生的目的就就是能够自动解决rpm的依赖关系。
所谓软件仓库,包含两部分,第一部分就是所有的软件包(rpm),第二部分指的就是所有的软件包的元数据元数据相当于所有软件包的名字和所有软件包的依赖关系。元数据文件远远小于整个仓库的文件大小。yum就是访问软件仓库的元数据,进而根据元数据里面的记录自动解决软件包的依赖关系。
yum仓库的搭建
yum并不能从0创建一个仓库的能力。仓库的本质是rpm包+repodata元数据。必须要现有rpm包和repodata元数据。yum才能所谓的“搭建”一个软件仓库。
仓库搭建的条件
条件1:rpm包 条件2:repodata 光盘里自带了rpm包和repodata,所以我们可以通过光盘搭建软件仓库,所谓搭建软件仓库,就是将rpm包和repodata放到一个位置,然后yum指定repodata的路径。
yum的配置文件是/etc/yum.config
yum的仓库文件目录是/etc/yum.repos.d/
,该目录是存放仓库文件的,仓库文件就是指向repodata所在的路径文件,仓库文件必须以.repo
结尾。
挂载镜像文件
镜像文件不仅可以装系统,里面还有软件仓库,我们只需将其挂载到本地就可以使用
[root@bogon ~]# mkdir iso
[root@bogon ~]# ll /dev/sr0
brw-rw----+ 1 root cdrom 11, 0 Feb 27 15:26 /dev/sr0
[root@bogon ~]# mount /dev/sr0 iso/
mount: /root/iso: WARNING: source write-protected, mounted read-only.
[root@bogon ~]# cp -rfv iso/AppStream/ /opt/
[root@bogon ~]# cp -rfv iso/BaseOS/ /opt/
仓库文件的语法
[root@bogon ~]# vim /etc/yum.repos.d/local.repo
[baseOS]
name = baseOS
baseurl = file:///opt/BaseOS # 这个地址指向的是repodata的目录
gpgcheck = 0 # gpgcheck是gpg签名是否开启的