Linux 软件安装以及管理

这篇具有很好参考价值的文章主要介绍了Linux 软件安装以及管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本篇主要记录常用的软件安装和管理方式,主要是 yum/rpm/dnf/apt/pip;大致都是一样的,主要是部分软件提供了解决依赖的功能;内容不包括源码安装,源码安装情况相对比较复杂,后续有时间再补充。

约定:
    案例所用模板软件均为 python
    案例所用模板命令均为 dig

一、 RPM

Linux安装软件,一般分为两种,一种是源码编译或者解压安装,另外的就是rpm包的安装了,yum /dnf/apk  等命令,是在rpm的基础上增加了解决依赖的功能

安装

很多时候,软件都是有依赖的,所以需要多个包依次安装或者同时安装,这也是为什么需要yum 

rpm -ivh python.rpm              # 安装rpm包
rpm -ivh --nodeps python.rpm     # 强行安装,不检查依赖
    
    -i|--install     安装
    -U|--upgrade     更新
    
    -v               打印详情
    -h, --hash       打印进度条,具体是通过hash打印,没仔细了解

查询

rpm 的数据存储在rpmdb 中,如下提供的是一些常用的rpm软件的查询方式

以下参数需配合-q使用
    -q, --query             查询,其他查询命令均需要搭配-q使用
    -a, --all                        query/verify all packages
        rpm -qa|grep python
        rpm -qa python
    -c, --configfiles                list all configuration files
        rpm -qc samba-common 需要有配置文件的软件才有返回值
    -d, --docfiles                   list all documentation files
        rpm -qd python
    -dump                            查看可以导出的文件
        rpm -q --dump python
    -l, --list                       list files in package
        rpm -ql python
    -s, --state                      display the states of the listed files
        rpm -qs python
    -R                               查询软件依赖
        rpm -qR python
    -f, --file                       查询命令所属rpm,命令需全路径
        rpm -qf /bin/python
    -i                               查询rpm包的信息,包含编译时间和安装时间
        rpm -qi python 

卸载

卸载尽量使用yum卸载!尽量避免强制卸载!!特别是依赖多且不清楚用途的软件!

千万别强制卸载glibc,如果glibc版本不对,可以升级或降级

rpm -e python.rpm                卸载rpm包,如有依赖会卸载失败
rpm -e --nodeps python.rpm       强行卸载,不检测依赖,非必要不建议使用(可能导致系统挂掉)

测试

--test                           don't install, but tell if it would work or not

二、yum

yum 是一个常用的软件管理软件,能看到是基于python开发的一个脚本,主要是能解决软件包的依赖问题,系统python解释器是会影响到yum命令的

# file /bin/yum
/bin/yum: Python script, ASCII text executable

在RHEL 8版本开始自带dnf ,大致用法是一样的,dnf 是 yum 的更现代、更强大的替代品,它提供了许多 yum 所没有的功能,例如事务支持、原子更新、高级查询、软件包组和模块支持、Snap 和 Flatpak 支持以及增强的安全性。

查询

有时候需要通过命令查询软件,provides 就很有用了

查询软件信息
    yum info python
查询命令所属软件,或者软件全名
    yum provides dig
    yum provides python*
搜索软件包
    yum search python
查询可用repo
    yum repolist
查询软件依赖
    yum deplist python

安装

安装某个软件或某些软件

安装软件 支持多个软件 空格隔开 -y 可以自动确认
    yum install python
更新
    yum update python
降级 这个在包名或版本不一样时有用
    yum downgrade python
重新安装
    yum reinstall python

安装当前目录下的所有软件,并解决依赖问题(前提是,该目录只有rpm包,没有其他文件),在某些软件需要一整套安装的时候

yum install *

下载

因为yum可以解决依赖,还有yum源,所以在某些网络不通的情况,我们可以通过yum解决依赖问题并下载所有相关的包,用来在网络不通的主机上安装软件

下载yum源上面的包到本地,并下载相关依赖包,目录要写全(不能写.代替当前目录)
yumdownloader --resolve docker-engine-17.05.0.ce-1.el7.centos.x86_64.rpm --destdir /tmp/docker_rpm

安装下载的rpm包,进入下载目录或者复制的目录
    cd /tmp/docker_rpm
    yum install *

配置

yum calen all 清理元数据缓存
yum makecache 生成元数据缓存
yum load-transaction /path/to/xxx.nnEh_l.yumtx 加载未完成的事务

# ls -l /etc/yum.repos.d
这个目录下,所有.repo 后缀的都是yum源配置文件,可以支持多个源

# /etc/yum.conf    
配置文件,配置日志缓存等策略

# /var/cache/yum/ 
缓存位置,这个一般也不看

三、dnf

这软件确实比yum高级,还支持别名 dnf alias add rm=remove ,目前看到在Redhat系列 8版本的系统上才会自带,基础用法和yum一样

man dnf
Cache Files
    /var/cache/dnf
Main Configuration
    /etc/dnf/dnf.conf
Repository
    /etc/yum.repos.d/

基本照着yum用就行了,yum源也是共用的,后续有需要补充再加进来

四、apt

 不常用,所以就简单记录一下

apt 与 yum的区别

1、apt 常用于 Debian 和 Ubuntu 等基于 Debian 的 Linux 发行版,而 yum 常用于 Red Hat Enterprise Linux (RHEL)、CentOS 和 Fedora 等基于 Red Hat 的 Linux 发行版

2、apt 使用 .deb 包格式,而 yum 使用 .rpm 包格式,.deb 包是 Debian 软件包管理系统 (dpkg) 的原生包格式,而 .rpm 包是 Red Hat Package Manager (RPM) 的原生包格式

3、apt 可用的大多数软件都是免费的而且数量多,而 yum 可用的大多数软件都是商业软件

4、apt 使用 `apt-get` 命令来安装软件包,而 yum 使用 `yum` 命令来安装软件包文章来源地址https://www.toymoban.com/news/detail-815855.html

常用方式

命令
apt-get update            更新软件包列表
apt-get install           安装软件包
apt-get remove            卸载软件包
apt-get purge             卸载软件包及其所有依赖项
apt-get clean             清理下载的软件包
apt-get autoremove        卸载不再需要的软件包
apt-get upgrade           升级所有已安装的软件包
apt-get dist-upgrade      升级所有已安装的软件包及其依赖项
参数
-y      自动回答所有问题,默认值为“no”
-f      修复损坏的依赖关系
-v      详细模式,显示安装或卸载软件包的详细信息
-s      模拟模式,不实际安装或卸载软件包

到了这里,关于Linux 软件安装以及管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux精讲系列】——yum软件包管理

    📚lovewold少个r博客主页     ⚠️ 本文重点 : Linux系统软件包管理工具yum讲解 😄 每日一言 :踏向彼岸的每一步,都是到达彼岸本身。 前言  Linux系统下的软件下载方式 yum 查看软件包 如何安装软件 如何卸载软件 yum下载源 更换yum源(以阿里云为例) 下载新的 CentOS-Base.re

    2024年02月08日
    浏览(53)
  • 「Linux系列」了解下Linux apt(软件包管理器)

    apt (Advanced Package Tool)是Debian及其衍生版(如Ubuntu)中的软件包管理工具,用于处理包的自动检索、安装、升级和删除。 apt 提供了一个命令行界面,用于执行各种包管理任务,使得用户可以轻松地管理他们的Linux系统上的软件包。 apt(Advanced Package Tool)是Debian及其衍生版(

    2024年04月13日
    浏览(30)
  • 软件测试基础知识整理(八)- 软件缺陷

    目录 一、软件缺陷 1.1 缺陷定义 1.2 缺陷判定标准 1.3 软件缺陷产生的原因 1.4 软件缺陷产生的根源 1.5 软件缺陷信息  1.5.1 缺陷状态 1.5.2  缺陷严重程度  1.5.3 缺陷优先级 1.6 缺陷报告模板 1.7 缺陷报告注意事项 1.8 缺陷跟踪流程 1.9 缺陷数据分析关注的问题  软件或者程序中

    2024年02月06日
    浏览(47)
  • 软件设计师(五)软件工程基础知识

    软件开发和维护过程中所遇到的各种问题称为“软件危机”。 软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,其目的是提高软件生产率、提高软件质量、降低软件成本。 计算机软件是指计算机系统中的程序及其文档。

    2024年02月14日
    浏览(41)
  • 软件测试基础知识

    本人通过在哔哩哔哩学习以下视频,学习过程中自己整理的关于软件测试基础知识的所有笔记,大家可以用作参考! 软件测试基础入门到项目实战 什么是软件:控制计算机硬件工作的工具 软件测试的定义:使用 技术 手段 验证 软件是否满足使用需求 软件测试的目的: 减少

    2024年02月02日
    浏览(31)
  • Elasticsearch系列-基础知识

    Elasticsearch是一个开源的分布式搜索和分析引擎,它能够快速地存储、搜索和分析大量的数据。 特点 分布式:Elasticsearch采用分布式架构,可以水平扩展,支持无缝添加节点,提高了系统的可用性和性能。 实时性:Elasticsearch能够实时地存储、搜索和分析数据,支持实时索引和

    2024年02月09日
    浏览(39)
  • Ribbon基础知识以及相关配置

    1、什么是Ribbon Ribbon 是 Netflix 发布的一个负载均衡器,有助于控制HTTP和TCP客户端行为在 SpringCloud 中,Nacos一般配合Ribbon进行使用,Ribbon提供了客户端负载均衡的功能,Ribbon利用从Nacos中读取到的服务信息,在调用服务节点提供的服务时,会合理的进行负载。 在SpringCloud中可以

    2024年02月10日
    浏览(38)
  • 数字电路基础知识系列(六)之LC滤波器的基础知识

    LC滤波器,是指将电感(L)与电容器 ©进行组合设计构成的滤波电路,可去除或通过特定频率的无源器件。电容器具有隔直流通交流,且交流频率越高越容易通过的特性。而电感则具有隔交流通直流,且交流频率越高越不易通过的特性。因此,电容器和电感是特性完全相反的被

    2024年02月03日
    浏览(80)
  • 【软件测试】基础知识第一篇

    软件测试就是验证软件产品特性是否满足用户的需求 。 那需求又是什么呢?在多数软件公司,会有两种需求,一种是用户需求,一种是软件需求: 用户需求 :可以简单理解为甲方提出的需求,该需求一般比较简略 软件需求 :或者叫功能需求,该需求会详细描述开发人员必

    2023年04月14日
    浏览(47)
  • 2023美赛基础知识以及如何入门

    报名截止时间: 北京时间2023年2月17日00:00 比赛时间: (北京时间:2023年2月17日,早晨6:00点,星期五)至(北京时间:2023年2月21日,上午9:00,星期二) 提交截止日期: (北京时间:2023年2月21日,上午10:00,星期二) 比赛结果: 结果将于2023年5月20日或之前发布。 报名

    2024年02月01日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包