安装软件包的三种方法,rpm包介绍,rpm工具用法,yum工具用法,yum搭建本地仓库

安装软件包的三种方法

  • 三种方法分别是:rpm包,yum工具,源码包
  • rpm包相似windows的安装程序
  • 可是有一个问题,有时候要安装rpm包 A
  • 是须要一些依赖包才能安装的,好比rpm包 B
  • 若是不先安装依赖包,rmp包B,是不能安装rpm包A的
  • 因此比较繁琐

  • yum工具的好处是,使用yum工具安装rpm包A的时候
  • yum工具能够自动安装依赖包,rpm包 B
  • 因此就很方便

  • 源码包就是用编程语言写的程序文件
  • 须要把程序文件用编译软件编译成二进制文件
  • 才可使用

rpm 包介绍

  • 如图,点击虚拟机光盘图标,选择链接
  • 如图,使用命令将 cdrom 设备文件挂载到 /mnt/ 目录下面
  • 写保护是由于用户不能对cdrom进行写入操做
  • 上图能够看到,进入/mnt/目录,看到的文件就是光驱里面的内容
  • cd Packages/ 进入 Packages 目录
  • 使用ls命令
  • 能够看到许多以 .rpm 结尾的文件,这些都是rpm包
  • 第一个箭头是指包名称
  • 第二个箭头是版本号,第三个箭头是次版本号,第四个箭头是再次的版本号
  • 第五六个箭头是发布版本号
  • 第七个箭头是平台位数,32或者64位,这里是64位的
  • 64位系统能够安装32位的包,可是32位系统不能安装64位的包

rpm工具用法

  • 参数 -ivh , i是install,v是可视化,h是人性化的显示
  • 使用以上参数来安装 rpm 包
  • 使用上图命令安装一个rpm包
  • 由于要安装的包在当前目录下,因此直接写包名称,若是在别的目录,能够写绝对路径
  • 参数 v 就是显示安装过程,参数 h 就能够显示安装进度,也就是说百分比
  • 参数 i 就是安装指令

  • rpm包版本旧了,有新的版本
  • 因此要升级一个rpm包,能够把 -ivh 换成 -Uvh
  • U 就表示升级

  • 想卸载一个包,可使用 rpm -e 包名
  • 这里包文件名称是,zsh + 后面的版本号发布平台号文件后缀等
  • 卸载的时候,只须要使用包名 zsh,后面的不用加,后面加了就错了
  • rpm -e zsh 参数 e 就表明卸载
  • 卸载的时候,没有任何信息提示,这表示卸载没有问题
  • 若是卸载出现问题,才会出现信息提示

  • 使用 rpm -qa 查看已经安装的rpm包的列表
  • 随意删除一个rpm包 ppp
  • 出现错误提示,不能删除
  • 由于 ppp 包是后面的 Network 包的依赖包
  • 因此要删除ppp包,须要先删除Network包

  • rpm -q 包名 能够查询是否安装了这个包
  • 如图,rpm -q zsh 显示未安装软件包
  • rpm -q python 显示了包文件名,这就表示这个包安装了

  • 参数 -qi 能够显示包的详细信息,i表明info
  • 如图,使用命令 rpm -qi vim-enhanced 后
  • 下面都是关于 vim-enhanced 包的详细信息

  • 使用参数 -ql 能够查看包安装了哪些文件
  • 如图,能够看到,下面显示的文件列表就是安装这个包后,这个包里面包含的文件

  • 使用参数 -qf 能够查看一个文件是由哪一个包安装的
  • 这里使用 rpm -qf /usr/bin/vim 查看/usr/bin/vim这个文件是由哪一个包安装的
  • 下面显示 vim-enhanced 就表示,这个文件是由这个包安装的
  • 上图是一种用法,使用反引号,就是 ~ 键那个点,把 which cd 命令括起来
  • 这样能够把 which 命令执行的结果做为参数赋予 rpm -qf 命令使用
  • which cd 获得一个绝对路径的结果,这个结果就是 rpm -qf 的参数
  • 若是 which ls 则不行,由于ls是一个别名,返回的不仅有绝对路径,还有别的信息
  • 因此不能 which 一个别名,由于返回的结果不是只有绝对路径,做为参数会出现错误
  • 如图,这样就能够查看到 cd 文件是由哪一个包安装的了

yum工具用法

  • 使用rpm包安装的方法,安装一个包 A ,可能会有不少依赖包
  • 须要先把依赖包都安装完,才能够安装包 A
  • 使用 yum 工具安装能够自动安装包 A 所需的依赖包,很是方便
  • 使用方法就是,yum install 包名 ,不须要加后面的版本号等信息
  • 而后就会自动把全部依赖包安装好后,再安装这个包

  • yum list 能够显示yum能够安装的包列表
  • 第一列是包名,第二例是版本号和平台版本号,第三列是仓库名
  • 使用 cat /etc/yum.repos.d/CentOS.Base.repo 查看配置文件
  • 配置文件内,能够找到[base],这就是仓库名
  • 查看rpm包列表的时候,包信息的第三列是仓库名
  • 仓库名是base,表示这个包都存放在base仓库里面
  • 如图,base仓库的网络地址就在这个位置,访问这个网址,就能够访问base仓库

  • yum还有搜索功能
  • yum search vim 能够搜索跟vim有关的包
  • 下面的列表就是全部跟包含vim关键字的包,无论大小写都会被搜索到
  • 可是这样就不够精确
  • 可使用上图方法更精确的搜索
  • 符号 | 是管道符,能够把前一个命令的结果做为后一个命令的参数使用
  • yum list 搜索出来yum全部能够安装的包的列表
  • 将这个列表做为参数给与后一个命令
  • grep 'vim' 是一个过滤指令,grep能够过滤字符串
  • 这里能够把yum list 返回列表里面的包名含有 vim 的包过滤出来
  • 并且有颜色高亮显示

  • 通常yum安装包的时候,系统会询问是否安装
  • 若是不想系统询问是否安装,而是让系统直接安装
  • 可使用 yum install -y 包名
  • 这样系统就会自动安装,不会询问

  • 查看yum能够安装的组
  • 若是想要安装某一个组
  • 可使用上图命令
  • yum groupinstall 组名
  • 组名若是只是一个字符串,直接写上去就好了
  • 若是是两个字符串,中间有空格,那么就须要用‘’括起来

  • 使用 yum remove 包名
  • 能够在卸载包的同时,把包的依赖包的一块儿卸载
  • 因此比较危险
  • 不过能够自动的卸载依赖包,不须要把依赖包一个个卸载掉

  • yum update 包名
  • 就能够升级一个包
  • 若是不加包名,直接使用 yum update
  • 那么就会把系统里面全部的包都进行升级
  • 通常这个操做是刚安装完系统就要作的
  • 若是系统已经在运行一下服务,这个操做升级以后
  • 可能致使出现一些不兼容的问题
  • 因此在使用服务的系统就不要进行这个操做了

  • 使用一个命令的时候,发现没法使用
  • 说明没有安装这个包,可是又不知道包的名字
  • 可使用 yum provides "/*/vim" 搜索包含这个文件的包
  • "/*/vim" 其中 * 是通配符
  • 表示根目录 / 到 /vim 文件之间的任意路径
  • 就是从根目录 / 开始通过任意路径后能够找到/vim文件
  • yum provides 能够找到含有符合以上条件的文件的包

yum 搭建本地仓库

  • 若是不能链接网络,yum就没法使用
  • 由于yum会从仓库里面下载包
  • 可是仓库是一个网址,不能链接网络就连不上仓库的网址
  • 因此搭建一个本地仓库,能够在不能链接网络的时候链接本地仓库
  • 前面将光驱挂载到/mnt/下面
  • 光驱里面Packages目录里面都是rpm包
  • 能够把这个目录做为一个仓库

  • 先把 yum.repos.d 复制一份,并命名为 yum.repos.d.bak
  • 由于要对这个目录进行操做,万一出现问题能够改回来
  • cd 进入 yum。repos.d 目录
  • 使用 rm -rf ./* 把当前目录清空

  • 而后编辑一个 dvd.repo 文件,如下是内容
  • name就是一个名字,没什么实际意义
  • baseurl 就是仓库地址,能够分为两部分 file:// 和 /mnt ,地址就在/mnt目录
  • enable 表明是否可用,1表明可用,0表明不可用
  • 若是改为0,那么这个仓库就不能用了
  • gpgcheck 表明是否须要检测
  • 设置为0,表明不须要检测

  • 这个操做能够清除缓存
  • 而后使用命令 yum list 查看包列表
  • 能够看到,第三列仓库名是dvd,也就是刚才设置的仓库
  • 把 yum list 返回的列表传给 less 命令,就能够一页一页的查看这个列表
  • 列表前面的信息,能够看到,第三列带有 @ 符号,这表明这个包已经安装了
  • 如今,就能够从这个仓库里面安装包了
相关文章
相关标签/搜索