为什么80%的码农都做不了架构师?>>>
安装软件包的三种方法
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]# lsCentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7EFI images Packages RPM-GPG-KEY-CentOS-Testing-7EULA isolinux repodata TRANS.TBL
将光驱挂载在/mnt下后我们列出mnt下的目录与文件,可以考到这些都是安装centos系统的所需文件,我们cd到Packages的文件下面看下,进入到该目录下后ls查看,我们可以看到rpm格式的安装包
yum-plugin-verify-1.1.31-42.el7.noarch.rpmyum-plugin-versionlock-1.1.31-42.el7.noarch.rpmyum-utils-1.1.31-42.el7.noarch.rpmzenity-3.22.0-1.el7.x86_64.rpmzip-3.0-11.el7.x86_64.rpmzlib-1.2.7-17.el7.x86_64.rpmzlib-devel-1.2.7-17.el7.x86_64.rpmzsh-5.0.2-28.el7.x86_64.rpmzziplib-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 dhclientdhclient-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/lscoreutils-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 dhclientName : dhclientEpoch : 12Version: 4.2.5Release: 58.el7.centosArchitecture: x86_64Install Date: 05月25日 星期五 05时28分59秒Group : System Environment/BaseSize : 483094License: ISCSignature : RSA/SHA256, 08月10日 星期四 23时36分17秒, Key ID 24c6a8a7f4a80eb5Source RPM : dhcp-4.2.5-58.el7.centos.src.rpmBuild Date : 08月04日 星期五 14时07分15秒Build Host : c1bm.Relocations : (not relocatable)Packager : CentOS BuildSystem <>Vendor: CentOSURL : /products/DHCP/Summary: Provides the ISC DHCP client daemon and dhclient-scriptDescription :DHCP (Dynamic Host Configuration Protocol) is a protocol which allowsindividual devices on an IP network to get their own networkconfiguration information (IP address, subnetmask, broadcast address,etc.) from a DHCP server. The overall purpose of DHCP is to make iteasier 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 packageprovides 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.el7basezlib.i686 1.2.7-17.el7 basezlib-devel.i686 1.2.7-17.el7 basezlib-devel.x86_64 1.2.7-17.el7 basezlib-static.i686 1.2.7-17.el7 basezlib-static.x86_641.2.7-17.el7 basezsh.x86_64 5.0.2-28.el7 basezsh-html.x86_64 5.0.2-28.el7 basezziplib.i6860.13.62-5.el7 basezziplib.x86_64 0.13.62-5.el7 basezziplib-devel.i6860.13.62-5.el7 basezziplib-devel.x86_64 0.13.62-5.el7 basezziplib-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.repoCentOS-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 grouplistFailed to set locale, defaulting to CLoaded plugins: fastestmirrorThere is no installed groups file.Maybe run: yum groups mark convert (see man yum)Loading mirror speeds from cached hostfile* base: mirrors.* extras: mirrors.* updates: mirrors.Available Environment Groups:Minimal InstallCompute NodeInfrastructure ServerFile and Print ServerBasic Web ServerVirtualization HostServer with GUIGNOME DesktopKDE Plasma WorkspacesDevelopment and Creative WorkstationAvailable Groups:Compatibility LibrariesConsole Internet ToolsDevelopment ToolsGraphical Administration ToolsLegacy UNIX CompatibilityScientific SupportSecurity ToolsSmart Card SupportSystem Administration ToolsSystem ManagementDone
安装组件
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]# lsCentOS_BuildTag EULA LiveOS RPM-GPG-KEY-CentOS-7TRANS.TBL isolinuxEFI GPL Packages RPM-GPG-KEY-CentOS-Testing-7 imagesrepodata
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]# lsCentOS-Base.repo CentOS-Debuginfo.repo CentOS-Sources.repo CentOS-fasttrack.repoCentOS-CR.repo CentOS-Media.repoCentOS-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_64295-3.el7 dvdxulrunner.x86_64 31.6.0-2.el7.centos dvdxvattr.x86_641.3-27.el7dvdxz-devel.x86_64 5.2.2-1.el7dvdyelp.x86_64 1:3.22.0-1.el7 dvdyelp-libs.x86_64 1:3.22.0-1.el7 dvdyelp-tools.noarch 3.18.0-1.el7 dvdyelp-xsl.noarch 3.20.1-1.el7 dvdyp-tools.x86_64 2.14-5.el7dvdypbind.x86_643:1.37.1-9.el7 dvdypserv.x86_642.31-10.el7dvdyum-plugin-aliases.noarch 1.1.31-42.el7 dvdyum-plugin-changelog.noarch 1.1.31-42.el7 dvdyum-plugin-tmprepo.noarch 1.1.31-42.el7 dvdyum-plugin-verify.noarch 1.1.31-42.el7 dvdyum-plugin-versionlock.noarch 1.1.31-42.el7 dvdzenity.x86_643.22.0-1.el7 dvdzlib-devel.x86_64 1.2.7-17.el7 dvdzsh.x86_64 5.0.2-28.el7 dvdzziplib.x86_64 0.13.62-5.el7 dvd
已经安装过的rpm包,带@符号标识
拓展
yum保留已经安装过的包 /content/11/0218/15/4171006_94080041.shtml搭建局域网yum源/?p=500如果觉得《安装软件包的三种方法 rpm包介绍 rpm工具用法 yum工具用法 yum搭建本地仓库...》对你有帮助,请点赞、收藏,并留下你的观点哦!