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

安装软件包的三种方法

  • rpm工具
  • yum工具
  • 源码包

rpm

rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。

yum

是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

源码包

源码包是开源的,比RPM包安装更自由,但是它安装更慢,更容易报错;RPM包是经过编译的,不能看到源代码,但是它安装更快,报错更容易解决,只有依赖性问题。

rpm包介绍

/dev/cdrom 挂载到 /mnt/

[root@yolks1 mnt]# mount /dev/cdrom  /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载

查看iso镜像内容

[root@yolks1 mnt]# ls
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL

将光驱挂载在/mnt下后我们列出mnt下的目录与文件,可以考到这些都是安装centos系统的所需文件,我们cd到Packages的文件下面看下,进入到该目录下后ls查看,我们可以看到rpm格式的安装包

yum-plugin-verify-1.1.31-42.el7.noarch.rpm
yum-plugin-versionlock-1.1.31-42.el7.noarch.rpm
yum-utils-1.1.31-42.el7.noarch.rpm
zenity-3.22.0-1.el7.x86_64.rpm
zip-3.0-11.el7.x86_64.rpm
zlib-1.2.7-17.el7.x86_64.rpm
zlib-devel-1.2.7-17.el7.x86_64.rpm
zsh-5.0.2-28.el7.x86_64.rpm
zziplib-0.13.62-5.el7.x86_64.rpm

这里以zsh-5.0.2-25.el7.x86_64.rpm,做讲解; zsh=包名 5.0.2=版本号 25.el7=发布版本号 x86_64=平台(表示系统是基于32位还是64位) rpm=后缀名

这里我使用的是centos7,centos7已经不区分64和32位了。

rpm工具用法

1.安装rpm : rpm -i[install]v[可视化]h[例如显示进度] *.rpm

#由于我已经在文件的当前目录下所以我实用输入了相对路径,如果不在包文件当前目录下,需要打上完整的绝对路径
[root@yolks1 Packages]# rpm -ivh zip-3.0-11.el7.x86_64.rpm 
准备中...                          ################################# [100%]
	软件包 zip-3.0-11.el7.x86_64 已经安装

2.升级rpm包 : -U(update)vh 新版本.rpm

[root@yolks1 Packages]# rpm -Uvh zip-3.0-11.el7.x86_64.rpm
准备中...                          ################################# [100%]
	软件包 zip-3.0-11.el7.x86_64 已经安装

3.卸载rpm包 : -e *.rpm [卸载的话有些rpm包依赖比较强,需要删除卸载依赖再继续卸载]

[root@yolks1 Packages]# rpm -e zip

4.查看安装过的rpm包

[root@yolks1 Packages]# rpm -qa

5.查询指定包是否已安装 : -q参数后跟包名

[root@yolks1 Packages]# rpm -q zip
未安装软件包 zip 
[root@yolks1 Packages]# rpm -q dhclient
dhclient-4.2.5-58.el7.centos.x86_64

6.列出包安装的文件 : -ql 包名

[root@yolks1 Packages]# rpm -ql dhclient
/etc/NetworkManager
/etc/NetworkManager/dispatcher.d
/etc/NetworkManager/dispatcher.d/11-dhclient
/etc/dhcp/dhclient-exit-hooks.d
/etc/dhcp/dhclient-exit-hooks.d/azure-cloud.sh
/etc/dhcp/dhclient.d
/usr/lib64/pm-utils/sleep.d/56dhclient
/usr/sbin/dhclient
/usr/sbin/dhclient-script
/usr/share/doc/dhclient-4.2.5
/usr/share/doc/dhclient-4.2.5/README.dhclient.d
/usr/share/doc/dhclient-4.2.5/dhclient.conf.example
/usr/share/doc/dhclient-4.2.5/dhclient6.conf.example
/usr/share/man/man5/dhclient.conf.5.gz
/usr/share/man/man5/dhclient.leases.5.gz
/usr/share/man/man8/dhclient-script.8.gz
/usr/share/man/man8/dhclient.8.gz
/var/lib/dhclient

7.查看某个命令是来自哪个rpm包 : -qf 参数后跟命令的绝对路径

[root@yolks1 Packages]# rpm -qf /usr/bin/ls
coreutils-8.22-18.el7.x86_64

还可以直接将查询绝对路径的命令用来查看 : 反引号 ‘ `` ’

[root@yolks1 Packages]# rpm -qf `which vim`
vim-enhanced-7.4.160-4.el7.x86_64

8.查看包信息 : -qi 包名

[root@yolks1 Packages]# rpm -qi dhclient
Name        : dhclient
Epoch       : 12
Version     : 4.2.5
Release     : 58.el7.centos
Architecture: x86_64
Install Date: 2018年05月25日 星期五 05时28分59秒
Group       : System Environment/Base
Size        : 483094
License     : ISC
Signature   : RSA/SHA256, 2017年08月10日 星期四 23时36分17秒, Key ID 24c6a8a7f4a80eb5
Source RPM  : dhcp-4.2.5-58.el7.centos.src.rpm
Build Date  : 2017年08月04日 星期五 14时07分15秒
Build Host  : c1bm.rdu2.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://isc.org/products/DHCP/
Summary     : Provides the ISC DHCP client daemon and dhclient-script
Description :
DHCP (Dynamic Host Configuration Protocol) is a protocol which allows
individual devices on an IP network to get their own network
configuration information (IP address, subnetmask, broadcast address,
etc.) from a DHCP server. The overall purpose of DHCP is to make it
easier to administer a large network.

To use DHCP on your network, install a DHCP service (or relay agent),
and on clients run a DHCP client daemon.  The dhclient package
provides the ISC DHCP client daemon.

yum工具用法

yum工具最大优势就在于可以联网去下载所需要的rpm包,然后自动安装,如果要安装的rpm包有依赖性关系,yum工具会帮我们依次安装所有相关的rpm包。

1.列出可用的rpm包 : yum list

[root@yolks1 Packages]# yum list
...... 省略n行
zip.x86_64                                      3.0-11.el7                          base     
zlib.i686                                       1.2.7-17.el7                        base     
zlib-devel.i686                                 1.2.7-17.el7                        base     
zlib-devel.x86_64                               1.2.7-17.el7                        base     
zlib-static.i686                                1.2.7-17.el7                        base     
zlib-static.x86_64                              1.2.7-17.el7                        base     
zsh.x86_64                                      5.0.2-28.el7                        base     
zsh-html.x86_64                                 5.0.2-28.el7                        base     
zziplib.i686                                    0.13.62-5.el7                       base     
zziplib.x86_64                                  0.13.62-5.el7                       base     
zziplib-devel.i686                              0.13.62-5.el7                       base     
zziplib-devel.x86_64                            0.13.62-5.el7                       base     
zziplib-utils.x86_64                            0.13.62-5.el7                       base

列出来的3列分别代表 : 名字 多少位的 : 版本号及平台版本号 : 仓库名字

查看仓库名字的来源 :查看yum配置文件

[root@yolks1 Packages]# ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo

查看具体来源文件 :

[root@yolks1 Packages]# cat /etc/yum.repos.d/CentOS-Base.repo

2.yum搜索安装包 :search 包名

[root@yolks1 Packages]# yum search vim

精准搜索使用 yum list |grep "vim"

3.yum安装rpm包 : yum install -y 包名

[root@yolks1 Packages]# yum install -y zip

4.列出可用的组

[root@yolks1 Packages]# yum grouplist
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.nju.edu.cn
 * extras: mirrors.nju.edu.cn
 * updates: mirrors.nju.edu.cn
Available Environment Groups:
   Minimal Install
   Compute Node
   Infrastructure Server
   File and Print Server
   Basic Web Server
   Virtualization Host
   Server with GUI
   GNOME Desktop
   KDE Plasma Workspaces
   Development and Creative Workstation
Available Groups:
   Compatibility Libraries
   Console Internet Tools
   Development Tools
   Graphical Administration Tools
   Legacy UNIX Compatibility
   Scientific Support
   Security Tools
   Smart Card Support
   System Administration Tools
   System Management
Done

安装组件

yum groupinstall 'Virtualization Host'

5.卸载rpm包,同时依赖的包也卸载

[root@yolks1 Packages]# yum remove zsh

6.升级更新rpm包 : 不指定包名默认升级全部

[root@yolks1 Packages]# yum update zsh

7.搜索包的相关

yum provides "/*/zsh"

yum搭建本地仓库

如果网络不允许的话我们就需要自己搭建本地环境的yum

1.挂载镜像到/mnt/目录下

[root@yolks1 Packages]# cd /mnt/
[root@yolks1 mnt]# ls
CentOS_BuildTag  EULA  LiveOS    RPM-GPG-KEY-CentOS-7          TRANS.TBL  isolinux
EFI              GPL   Packages  RPM-GPG-KEY-CentOS-Testing-7  images     repodata

2.备份相关目录和文件

[root@yolks1 mnt]# cp -r /etc/yum.repos.d  /etc/yum.repos.d.bak

3.进入到yum.repos.d目录下

[root@yolks1 mnt]# cd /etc/yum.repos.d
[root@yolks1 yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  CentOS-fasttrack.repo
CentOS-CR.repo    CentOS-Media.repo      CentOS-Vault.repo

4.删除目录下所有文件

[root@yolks1 yum.repos.d]# rm -rf ./*

5.编辑文件dvd.repo,写入以下内容

[dvd] # 指定仓库名称
name=install dvd # 描述性字段
baseurl=file:///mnt  #rpm包来源或路径,即光驱挂载的地方
enable=1 #是否可用,1为可用
gpgcheck=0 # 是否检查,0为不检查

6.清理软件源(缓存)

yum clean all

7.再次 yum list查看源

xterm.x86_64                                    295-3.el7                           dvd      
xulrunner.x86_64                                31.6.0-2.el7.centos                 dvd      
xvattr.x86_64                                   1.3-27.el7                          dvd      
xz-devel.x86_64                                 5.2.2-1.el7                         dvd      
yelp.x86_64                                     1:3.22.0-1.el7                      dvd      
yelp-libs.x86_64                                1:3.22.0-1.el7                      dvd      
yelp-tools.noarch                               3.18.0-1.el7                        dvd      
yelp-xsl.noarch                                 3.20.1-1.el7                        dvd      
yp-tools.x86_64                                 2.14-5.el7                          dvd      
ypbind.x86_64                                   3:1.37.1-9.el7                      dvd      
ypserv.x86_64                                   2.31-10.el7                         dvd      
yum-plugin-aliases.noarch                       1.1.31-42.el7                       dvd      
yum-plugin-changelog.noarch                     1.1.31-42.el7                       dvd      
yum-plugin-tmprepo.noarch                       1.1.31-42.el7                       dvd      
yum-plugin-verify.noarch                        1.1.31-42.el7                       dvd      
yum-plugin-versionlock.noarch                   1.1.31-42.el7                       dvd      
zenity.x86_64                                   3.22.0-1.el7                        dvd      
zlib-devel.x86_64                               1.2.7-17.el7                        dvd      
zsh.x86_64                                      5.0.2-28.el7                        dvd      
zziplib.x86_64                                  0.13.62-5.el7                       dvd

已经安装过的rpm包,带@符号标识

拓展

  1. yum保留已经安装过的包 http://www.360doc.com/content/11/0218/15/4171006_94080041.shtml
  2. 搭建局域网yum源http://blog.lishiming.net/?p=500

转载于:https://my.oschina.net/yolks/blog/1836026

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值