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

简介: 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
  1. 修改其他几个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
  1. 修改光盘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
  1. 查询是否yum服务器中是否包含某个软件包
[root@localhost ~]# yum list 包名
  1. 搜索关键字
[root@localhost ~]# yum search 关键字
  1. 查询指定软件包信息
[root@localhost ~]# yum info 包名
  1. 查询包含指定内容的软件包,如果我们想安装某个命令
[root@localhost ~]# yum provides 关键字

安装

[root@localhost ~]# yum install -y 包名

更新

[root@localhost ~]# yum -y update 包名

卸载

[root@localhost ~]# yum remove 包名


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
19天前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
21天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
116 20
|
15天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
140 7
|
22天前
|
Unix Linux 编译器
UNIX/Linux 上的安装
UNIX/Linux 上的安装。
40 2
|
2月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
81 4
|
2月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
69 5
|
2月前
|
Unix Linux Shell
linux入门!
本文档介绍了Linux系统入门的基础知识,包括操作系统概述、CentOS系统的安装与远程连接、文件操作、目录结构、用户和用户组管理、权限管理、Shell基础、输入输出、压缩打包、文件传输、软件安装、文件查找、进程管理、定时任务和服务管理等内容。重点讲解了常见的命令和操作技巧,帮助初学者快速掌握Linux系统的基本使用方法。
83 3
|
2月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
89 2
|
2月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
62 3
|
2月前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
256 0

热门文章

最新文章