linux下载软件包

news/2024/11/16 11:28:50/

linux下载软件包

linux下只有两种软件包

  • 源码包(tar 压缩包,如有.tar.gz 和.tar.bz2)
  • 二进制包(rpm) centos下 (除了rpm还有srpm,srpm 包为未编译过的 rpm 包,需要以 rpm 管理的方式编译,然后以 rpm 的安装方式安装)

RPM包操作

rpm 包全称为Redhat Package Manager,是依赖 cpu 架构的,常见的格式

  • noarch.rpm 不依赖于 CPU, 可以在所有计算机上安装

  • i386.rpm 基于 Intel 386 CPU,这些 RPM 包可以在所有 Intel 兼容计算机上安装

  • i486.r pm 用于带 Intel 486 CPU 的计算机(随时)

  • i586.rpm 用于带 Intel 586 CPU 的计算机

  • i686.rpm 用于带 Intel 686 CPU 的计算机

  • ia64.rpm 用于带 Intel ltanium 64 位 CPU 的计算机

  • alpha.rpm 用于带 HP Alpha CPU 的计算机,最初是 DEC 公司开发的

  • nthlon.rpm 基于 AMD Athlon CPU

  • ppc.rpm 用于带 Apple Powe rPC CPU 的计算机

  • s390.rpm 用于基于 S/390 CPU 的 IBM 服务器

  • sparc.rpm 用于带 Sun 系统公司 SPARC CPU 的计算机

rpm安装

rpm -ivh 包全名
-------
-i     install安装
-v     verbose显示详细信息
-h     显示安装进度
--force  强制安装,即使覆盖其他包的文件也要安装
--nodeps  当要安装的rpm包依赖其他包时,即使其他包没有安装,也要安装这个包

rpm包升级

rpm -Uvh  包全名
------
-U    升级安装

rpm包卸载

# 多个包的话,空格隔开
rpm -e 包名

rpm包查询

# 查询是否安装
rpm -q 包名

#
 查询包的相关信息
rpm -qi 包名

#
 查询系统上所有安装的包
rpm -qa

#
 查询软件包的文件列表
rpm -ql 包名

#
 查询某个文件属于哪个包
rpm -qf 文件名

------------------
-i  info信息
-a  all所有
-l  list文件列表
-f  file文件

srpm 包的安装

源代码 RPM 包的结尾通常是.src.rpm

rpm -i 包名 

cd /usr/src/redhat/SPECS

#
 编译完之后,/usr/src/redhat/RPM/i386/目录下,有一个新的 rpm 包,这个是编译好的二进制文件。
rpmbuild -bb 打出来的specs文件
# 安装
rpm -i 新的rpm包名 

由于rpm安装软件包时比较麻烦,各个包之间的依赖需要去人工下载,所以一般使用yum来或者apt在线安装,可以进行自动检测软件依赖问题

高级安装

yum安装软件包

yum的源配置文件保存在/etc/yum.repos.d文件夹中,默认使用的是CentOS-Base.repo,yum是Redhat所特有的安装RPM程序包的工具,在使用RPM安装某一个程序包时可能会因为该程序包依赖另一个程序包而无法安装,yum可以连同依赖的程序包一起安装

我在使用系统自带的yum源文件时发现无法访问那些网站,所以去找了个搜狐的镜像源,将原本的baseurl的前半部分换为http://mirrors.sohu.com/

如:baseurl=http://mirrors.sohu.com/centos/ basearch/

查询
# 查询yum源服务器上的所有软件包
yum list

#
 查询是否包含某个软件包
yum list 包名

yum search 关键字
安装
yum -y install 包名
-------
install  安装
-y  自动回答yes
升级
yum -y update 包名
-------
update  升级
-y  自动回答yes
卸载
yum remove 包名

卸载需要谨慎,会把依赖该包的所有包都卸载掉

软件组操作
yum grouplist

yum groupinfo

yum -y groupinstall 组名

apt安装软件包

apt全称Advanced Package Tool,一般使用两个命令,apt-get:用于执行和软件包安装有关的所有操作;apt-cache:用于查找软件包的相关信息

下载安装
# 更新当前apt-get缓存中的软件包信息,安装前执行该命令以保证获得的软件包是最新的
apt-get update
# 安装软件包
apt-get install 包名
#获取软件源代码
apt-get source 包名
卸载
# 卸载特定的软件包
apt-get remove 包名
# 删除所有已下载的包文件
apt-get clean
查询
# 搜索软件包列表中的特定的软件包,可以搜索所有该字的软件包
apt-cache search 部分包名

#
 列出软件包的依赖关系
apt-cache denpens 包名
安装源

apt的安装源都在/etc/apt/sources.list

deb http://mirrors.cloud.aliyuncs.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.cloud.aliyuncs.com/ubuntu/ xenial main restricted universe multiverse

源码包安装

首先下载源码包的压缩包,解压之后进入目录

第一步 配置

先执行

./configure --prefix=安装到的目录位置

该命令使编译前检测系统环境是否符合安装要求,把系统环境的检测结果以及用户提供的相关参数生成赌赢的Makefile文件,后续的安装过程都会依赖该文件。

第二步 编译

如果检测成功,则继续执行

make

该命令的作用是调用gcc编译器,读取上述Makefile文件中的信息进行系统软件编译,编译是为了把源码程序转换成linux可执行的文件

第三步 安装

如果编译出错执行

make clean

清空编译内容

如果编译没有出错,执行

make install

编译安装

卸载

make uninstall

https://zhhll.icu/2021/linux/包管理/linux下载软件包/

本文由 mdnice 多平台发布


http://www.ppmy.cn/news/1010171.html

相关文章

训练强化学习的经验回放策略:experience replay

经验回放:Experience Replay(训练DQN的一种策略) 优点:可以重复利用离线经验数据;连续的经验具有相关性,经验回放可以在离线经验BUFFER随机抽样,减少相关性; 超参数:Rep…

SSE技术和WebSocket技术实现即时通讯

文章目录 一、SSE1.1 什么是SSE1.2 工作原理1.3 特点和适用场景1.4 API用法1.5 代码实现 二、WebSocket2.1 什么是WebSocket2.2 工作原理2.3 特点和适用场景2.4 API用法2.5 代码实现 三、SSE与WebSocket的比较 当涉及到实现实时通信的Web应用程序时,两种常见的技术选…

Tomcat 编程式启动 JMX 监控

通过这篇文章,我们可以了解到,利用 JMX 技术可以方便获取 Tomcat 监控情况。但是我们采用自研的框架而非大家常见的 SpringBoot,于是就不能方便地通过设置配置开启 Tomcat 的 JMX,——尽管我们也是基于 Tomcat 的 Web 容器&#x…

JAVA实现二分法查找算法

现实生活中经常会遇到将具有某个特征的元素选择出来,并找出对应的位置。 现在来一个小测验,在以数组【1,4,8,3,0,7,56】中找到8所在的位置,很明显大家可以通过直观的感受…

Linux 系统编程 开篇/ 文件的打开/创建

从本节开始学习关于Linux系统编程的知识! 学习Linux的系统编程有非常多的知识点,在应用层面,很重要的一点就是学习如何“用代码操作文件来实现文件创建,打开,编辑等自动化执行” 那如何自动化实现对文件的创建&#…

学python的心得体会1000字,学python的心得体会2000字

这篇文章主要介绍了学python的心得体会2000字,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。 1. 初学者应该从简单的练习开始,先掌握基本的语法和概念,…

【网络基础实战之路】基于三个分公司的内网搭建并连接运营商的实战详解

系列文章传送门: 【网络基础实战之路】设计网络划分的实战详解 【网络基础实战之路】一文弄懂TCP的三次握手与四次断开 【网络基础实战之路】基于MGRE多点协议的实战详解 【网络基础实战之路】基于OSPF协议建立两个MGRE网络的实验详解 PS:本要求基于…

6年资深测试整理,接口测试总结,你不知道的都在这了...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 接口测试 是测试…