Linux入门基础——软件包的安装

软件包安装

软件包管理简介

软件包分类

软件包的分类

  • 源码包
  • 二进制包

源码包

🎈源码包优点:

  • 开源,如果有足够的能力,可以根据自己的需要修改代码
  • 可以自由选择所需的功能
  • 软件是编译安装,所以更加适合自己的系统,更加稳定效率也更高
  • 卸载方便

🎈源码包缺点:

  • 安装过程的步骤较多,容易出现错误
  • 编译的时间较长,安装的时间比二进制包时间长
  • 编译安装,一旦出现错误一般人很难解决

二进制包

分类:DPKG包、RPM包

🚀二进制包的优点:

  • 安装简单
  • 安装速度快

🚀二进制包的缺点:

  • 经过编译,不能看见源码
  • 功能选择不够灵活
  • 依赖性

RPM包管理——RPM命令管理

RPM包的命名规则

httpd-2.4.6-80.el7.centos.x86_64.rpm
  • httpd:软件包名
  • 2.4.6:软件版本
  • 80:软件发行次数
  • el7.centos:软件发行商
  • x86_64:适合的硬件平台
  • rpm:RPM包的扩展名

RPM包的依赖性

  1. 树形依赖 a->b->c

    在使用rpm来安装RPM包时,会因为RPM包的依赖性而导致失败,所以要按顺序安装,安装c需要先安装b,安装b需要先安装a,卸载的时候要先卸载a,在卸载b,最后卸载c

  2. 环形依赖 a->b->c->a

    当遇见环形依赖时,有些人就会认为这是一个死局,毕竟无论如何从环形依赖当中跳出来,其实解决方法很简单——把软件包a、b、c、用一条命令同时安装就能解决环形依赖问题

  3. 函数库依赖

    当出现函数库依赖时,前往依赖查询网站:www.rpmfind.net搜索报错提示中的函数库名,并且安装就可以解决。

RPM包的安装与升级

RPM包一般都有系统默认的安装路径,而源码包一般要手工指定安装路径(/usr/local)

安装路径含义
/etc配置文件安装目录
/usr/bin可执行命令安装目录
/usr/lib程序所用的函数库保存位置
/usr/share/doc基本的软件使用手册保存位置
/usr/share/man帮助文件保存位置
[root@localhost~]# rpm -ivh 包全名
#包全名,注意含有包全名的路径要使用绝对路径
	-i:安装(install)
	-v:显示更详细的信息(verbose)
	-h:打印#,显示安装进度(hash)
	--nodeps:不检测依赖性安装
	--replacefiles:替换文件安装,若已经安装的软件包的部分文件损坏,可以使用这个命令修复
	--replacepkgs:替换软件包安装,将软件包重复安装一遍
	--force:强制安装
	--test:测试安装,不会安装,只是检测一下依赖性
	--prefix:指定安装路径
[root@localhost~]# rpm -Uvh 包全名
	-U:升级安装,若没有则先安装再升级(upgrade)
[root@localhost~]# rpm -Fvh 包全名
	-F:升级安装,没有就不安装(freshen)

RPM包的查询

[root@localhost~]# rpm 选项 查询对象

[root@localhost~]# rpm -q 包名
	-q:查询(query)

[root@localhost~]# rpm -qa
#查询系统中所有安装软件包

[root@localhost~]# rpm -qi 包名
	-i:查询软件信息(information)
	
[root@localhost~]# rpm -ql 包名
	-l:列出软件包中的所有文件列表和软件所安装的目录(list)
	
[root@localhost~]# rpm -qlp 包全名
	-p:查询没有安装的软件包的信息(package)
	
[root@localhost~]# rpm -qf 系统文件名
	-f:查询系统文件属于哪个软件包(file)
	
[root@localhost~]# rpm -qR 包名
	-R:查询软件包的依赖性(requires)

RPM包的卸载

[root@localhost~]# rpm -e 包名
	-e:卸载(erase)
	--nodeps:不检测依赖性

不检测依赖性的话,会导致其他的软件包无法使用,不建议使用

RPM包的校验

[root@localhost~]# rpm -V 已安装的包名
	-Va:校验所有已安装的软件包(verify)
	-Vf 系统文件名:校验某个系统文件

RPM包管理——yum在线管理

yum源的搭建

yum源既可以是网络yum源,也可以是本地光盘作为yum源。

网络yum源服务器搭建

在网络正常的情况下,Centos的yum是可以直接使用的。yum源配置文件保存在/etc/yum.repos.d目录中,文件的拓展名一定是*.repo*

[root@localhost ~]# 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  CentOS-x86_64-kernel.repo

默认情况下CentOS-Base.repo文件生效

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
······

文件里有五个yum源容器,这里以第一个为例

  • [base]:容器名称,一定要放在[]中
  • name:容器说明
  • mirrorlist:镜像站点,这个可以注释掉
  • baseurl:我们的yum源服务器的地址,默认官方地址,可以修改为你喜欢的yum源地址
  • enabled:此容器是否生效,若不写或等于1说明生效,若等于0则说明不生效
  • gpgcheck:代表RPM数字证书是否生效
  • gpgkey:数字证书公钥保存位置
本地yum源搭建
  1. 挂载光盘

    [root@localhost~]# mount /dev/cdrom /mnt/cdrom
    
  2. 修改其他几个yum源配置文件的拓展名,让他们失效,主要修改拓展名“.repo”

    [root@localhost~]# cd /etc/yum.repos.d/
    [root@localhost yum.repos.d]# mv Centos-Base.repo Centos-Base.repo.bak
    [root@localhost yum.repos.d]# mv Centos-Debuginfo.repo Centos-Debuginfo.repo.bak
    [root@localhost yum.repos.d]# mv Centos-Vault.repo Centos-Vault.repo.bak
    
  3. 修改光盘yum源配置文件CentOS-Media.repo

    [root@localhost yum.repos.d]# vim CentOS-Media.repo 
    [c7-media]
    name=CentOS-$releasever - Media
    baseurl=file:///mnt/cdrom
    #地址为光盘挂载地址
    #        file:///media/cdrom/
    #       file:///media/cdrecorder/
    gpgcheck=1
    enabled=1
    #让这个配置文件生效
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    

常用yum命令

查询
  1. 查询所有软件包

    [root@localhost ~]# yum list
    
  2. 查询是否yum服务器中是否包含某个软件包

    [root@localhost ~]# yum list 包名
    
  3. 搜索关键字

    [root@localhost ~]# yum search 关键字
    
  4. 查询指定软件包信息

    [root@localhost ~]# yum info 包名
    
  5. 查询包含指定内容的软件包,如果我们想安装某个命令

    [root@localhost ~]# yum provides 关键字
    
安装
[root@localhost ~]# yum install -y 包名
更新
[root@localhost ~]# yum -y update 包名
卸载
[root@localhost ~]# yum remove 包名
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿瑾~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值