第5周第1课:安装软件包、rpm、yum

7.1 安装软件包的三种方法

  1. RPM工具

RPM(Redhat Package Manager)软件包管理器,是以一种数据库记录的方式将用户所需要的套件安装到Linux主机的一套管理程序。RPM包是预先在Linux机器上编译好并打包好的文件,安装快捷。缺点是安装环境必须与编译环境一致或相当;包与包之间存在着相互依赖的情况,卸载包时需要先把依赖的包卸载,如果依赖的包是系统所必须的,就不能卸载这个包,否则系统会崩溃。

  1. yum工具

yum(Yellow dog Updater Modified)的宗旨是自动化地升级、安装和删除RPM软件包,收集RPM软件包的相关信息,检查依赖性并且一次安装所有依赖的软件包,无须繁琐地一次次安装。

  1. 源码包

在Linux下安装源码包是最常用的。安装源码包,需要把源代码编译成可执行的二进制文件。用户可以修改这些源代码的自定义功能,然后再根据需求编译。

7.2 rpm包介绍

设置光驱并挂载

如果你的虚拟机光驱中还有系统安装盘镜像,可以通过执行如下命令把光驱挂载到/mnt目录下。先检查一下VMware右下角的小光驱图标是否点亮,如果没有,点击一下,再点击“连接”就可以点亮它。当挂载光驱后,会在/mnt/Packages目录下看到很多后缀为.rpm的文件,这些文件就是RPM包。

[root@greenfinch Packages]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        22G  1.3G   21G    6% /
devtmpfs        2.4G     0  2.4G    0% /dev
tmpfs           2.4G     0  2.4G    0% /dev/shm
tmpfs           2.4G  8.6M  2.4G    1% /run
tmpfs           2.4G     0  2.4G    0% /sys/fs/cgroup
/dev/sda1       197M  109M   88M   56% /boot
tmpfs           480M     0  480M    0% /run/user/0
[root@greenfinch Packages]# mount /dev/cdrom /mnt/      ## 挂载光驱
mount: /dev/sr0 写保护,将以只读方式挂载
[root@greenfinch Packages]# ls /mnt/
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL

[root@greenfinch Packages]# ls      ## 查看 Packages 目录的内容
yum-3.4.3-150.el7.centos.noarch.rpm
yum-langpacks-0.4.2-7.el7.noarch.rpm
yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
yum-plugin-aliases-1.1.31-40.el7.noarch.rpm
yum-plugin-changelog-1.1.31-40.el7.noarch.rpm
yum-plugin-fastestmirror-1.1.31-40.el7.noarch.rpm
yum-plugin-tmprepo-1.1.31-40.el7.noarch.rpm
yum-plugin-verify-1.1.31-40.el7.noar
……            ## 文件很多,不再一一列出。

rpm包格式:包名、版本号、发布版本号、平台

7.3 rpm工具用法

  • rpm命令中常用组合选项的含义:
  • [ ] rpm -ivh 包名:-i表示安装, -v表示可视化, -h显示安装进度
  • [ ] rpm -U 包名:Upgrade,升级软件包
  • [ ] rpm -e 包名:卸载软件包
  • [ ] rpm -qa:查询所有已安装的软件包
  • [ ] rpm -q 包名:查询指定的“包名”是否安装
  • [ ] rpm -qi 包名:查询指定包的信息
  • [ ] rpm -ql 包名:列出包安装的文件
  • [ ] rpm -qf 文件绝对路径:查看一个文件是由哪些包安装的。

见下面的例子:当不知道其绝对路径时,使用which命令查询。

[root@greenfinch Packages]# rpm -qf `which cd`
bash-4.2.46-20.el7_2.x86_64
[root@greenfinch mnt]# which cd       ## which命令用于查找并显示给定命令的绝对路径
/usr/bin/cd
[root@greenfinch mnt]# rpm -qf /usr/bin/cd ## 通过其绝对路径查询到其安装包
bash-4.2.46-20.el7_2.x86_64

上例中使用了反引号`。先执行“which cd”命令,其次将“which cd”的结果作为“rpm -qf”的参数执行该命令。

反引号的作用就是将反引号内的Linux命令先执行,然后将执行结果赋予变量。即,在命令行上把Linux命令放在反引号中,这个命令会首先被执行,然后将其结果作为为该命令行的一个参数。

7.4 yum工具用法

  • 列出所有rpm包:yum list

从左向右:第一列是包名,第二列是版本号,第三列是库信息。如果已安装,最右侧的库信息将显示@base、@updates或者@anaconda。如果未安装,则显示base或者anaconda;如果RPM包已安装但需要升级,则显示updates。

yum的配置文件:/etc/yum.repos.d/CentOS-Base.repo。该文件里有rpm包所在库base的镜像地址信息。

  • 搜索rpm包:yum search。使用该命令搜索时会列出所有包含关键词的信息,不精确,为了只搜索相关rpm包,可用如下方法(其中的grep意为过滤):
[root@greenfinch mnt]# yum list |grep 'vim'
vim-common.x86_64                          2:7.4.160-1.el7_3.1         @updates 
vim-enhanced.x86_64                        2:7.4.160-1.el7_3.1         @updates 
vim-filesystem.x86_64                      2:7.4.160-1.el7_3.1         @updates 
vim-minimal.x86_64                         2:7.4.160-1.el7             @anaconda
golang-vim.noarch                          1.3.3-2.el7_0               extras   
protobuf-vim.x86_64                        2.5.0-8.el7                 base     
vim-X11.x86_64                             2:7.4.160-1.el7_3.1         updates  
vim-minimal.x86_64                         2:7.4.160-1.el7_3.1         updates 
  • 安装rpm包:yum install [-y] [RPM包名]

如果不加-y选项,则会以与用户交互的方式安装。首先是列出需要安装的RPM包,然后会问用户是否需要安装,输入Y则安装,输入N则不安装。

  • 卸载rpm包:yum remove [-y] [包名]

说明:-y选项将活力与用户的交互,直接操作。该命令卸载时会将目标文件所依赖的所有包同时删除,所以要看清楚,不要加-y选项。

  • 升级rpm包:yum update [-y] [包名]

说明: 不加包名,会升级系统内所有包以及系统本身。慎用!

  • 列出rpm包组:yum grouplist

  • 安装rpm包组:yum groupinstall [-y] [包的组名]

  • yum provides:通过已知命令名称来搜索其rpm包名。

示例:[root@greenfinch mnt]# yum provides "/*/vim"

说明:该命令位置不确定,所以进行搜索时使用*这个通配符来代表其路径。

7.5 yum搭建本地仓库

当Linux系统不能联网,无法搜索网络上的yum源时,可以通过创建本地仓库,用Linux系统光盘的镜像文件,制作一个本地的yum源。关键步骤如下:

  1. 挂载镜像 mount /dev/cdrom /mnt
  2. cp -r /etc/yum.repos.d /etc/yum.repos.d.bak    ## 备份yum的原repos.d文件
  3. rm -rf /etc/yum.repos.d/*             ## 删除.repo文件
  4. vim /etc/yum.repos.d/dvd.repo  ## 创建一个本地源文件
  5. 在dvd.repo文件下增加如下内容:
  • [dvd]
  • name=install dvd
  • baseurl=file:///mnt            ## 本地仓库地址
  • enable=1
  • gpgcheck=0
  • yum clean all 清除缓存

配置完成后便可直接使用yum安装所需要的rpm包。如果不想使用本地yum源,需要删除/etc/yum.repos.d/dvd.repo文件,并恢复原来的配置文件。

转载于:https://my.oschina.net/greenfinch/blog/1604231

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值