Linux如何下载安装软件超详细解析

网上很多Linux下载软件的方法,看了很多帖子感觉Linux下载软件的方式有很多,每个人都有自己的习惯,对于一个新手来说及其不友好,有时候会看的很蒙。在这里做出总结。

大家好,又见面了,我是你们的朋友全栈君。

一、简介

网上很多Linux下载软件的方法,看了很多帖子感觉Linux下载软件的方式有很多,每个人都有自己的习惯,对于一个新手来说及其不友好,有时候会看的很蒙。在这里做出总结。

二、简单原理

Linux可以识别的包

只有懂得原理才能无懈可击,万变不离其宗。

1、源码包

源代码包{

 优点:
  开源:如果有足够能力,可以修改源代码
  可以自由选择所需的功能
  软件是编译安装,所以更加适合自己的系统,更加稳定也效率高
  卸载方便:直接删除文件夹
 缺点:
  安装过程步骤较多,尤其是安装较大的软件集合(如:LAMP环境搭建),容易出现拼写
  错误
  编译时间较长,安装比二进制安装时间长
  因为是编译安装,安装过程中一旦报错新手很难解决
}

2、rpm包

二进制包:与源代码区别就是源代码包经过编译成为机器能直接识别的二进制包{

 优点:
  包管理系统简单,只需要几个命令就可以实现包的安装、升级、查询和卸载
  安装速度比源码包快
 缺点:
  经过编译,不可以看到源代码
  功能选择不如源代包灵活
  依赖性
}

RPM包管理-rpm命令管理

下面的是一个软件的包名

httpd-2.2.15-15.e16.contos.1.i686.rpm

  • httpd:软件包名
  • 2.2.15:软件版本
  • 15:软件发布的次数
  • el6.centos:适合的Linux平台
  • i686:适合的硬件平台
  • rpm:rpm包扩展名

依赖性

提到软件安装,不得不说的就是软件具有依赖性:通俗了讲就是一个软件要运行起来必须要依赖其他的软件或程序。
感觉很像:在Win上玩游戏需要下载很多的Visual C++ 2005什么的。

  • 在Linux中依赖形式种类
    1)树形依赖:a->b->c
    a依赖b;b依赖c;
    2)环形依赖:a->b->c->a(这种安装相对复杂)
    a依赖b;b依赖c;c又依赖a;
  • 提供一个可以查询依赖的网站
    我们在安装时候它提示:缺少***so.数字结尾的都是库依赖
    查询依赖(www.rpmfind.net)

默认安装位置

RPM默认安装路径:

/etc 一些设置文件放置的目录如/etc/crontab
/usr/bin 一些可执行文件
/usr/lib 一些程序使用的动态函数库
/usr/share/doc 一些基本的软件使用手册与帮助文档
/usr/share/man 一些man page文件

三、获取软件的方法

1、ftp文件传输软件

2、wget直接网站下载

详情查看:https://blog.csdn.net/weixin_42119415/article/details/100551739

四、Linux查询软件是否安装

使用:
rpm -q 包名
	选项:
		-q(query)			查询
		-a(all)			所有

五、Linux的软件安装方法

注意:在安装源码包前一定要有gcc编译器
阅读下面yum安装gcc很方便。
一起输入命令,回车执行命令

1、rpm源码包安装

(1)安装

注意这里必须是包全名

使用:
rpm -ivh 包全名
	选项:
		-i(install)		安装
		-v(verbose)		显示详细信息
		-h(hash)			显示进度
		--nodeps			不检测依赖性

(2)升级

注意:这里可以不用包全名,U要大写

使用:
rpm -Uvh 包名
	选项:
		-U(upgrade)			升级

(3)卸载

注意:这里可以不用包全名

使用:
rpm -e 包名
	选项:
		-e(erase)				卸载
		--nodeps				不检查依赖性

(5)RPM包安装位置

默认安装:

RPM包默认安装路径 文件含义
/etc 配置文件安装目录
/usr/bin 可执行的命令安装目录
/usr/lib 程序所使用的函数库保存位置
/usr/share/doc 基本的软件使用手册保存位置
usr/share/man 帮助文件保存位置

2、yum安装,方便便捷,依赖自动解决

(1)查询可用软件列表

yum list
yum search 关键字

(2)安装

yum会自动安装依赖,很方便

yum -y install 包名
	选项:
		install				安装
		-y					自动回答yes

(3)升级

此时注意如果不加包名:会出现把所有软件包都升级包括Linux内核,但是Linux升级完成后需要在本地进行配置,如果是远程服务器管理的话,你会出现服务器永远启动不了

yum -y updata 包名
	选项:
		updata				升级
		-y					自动回答yes

(4)卸载

yum卸载会把依赖也卸载,要注意

yum -y remove 包名
	选项:
		remove				卸载
		-y					自动回答yes

3、解压后直接使用

解压完最好先看README.md,或者找一找网上的教程
例如:
压缩格式的软件
使用对应压缩命令,把软件解压后直接使用

>1
.tar压缩格式
	压缩:
	tar 选项[-zcf] [压缩后文件名] [目录]
		-c					打包
		-v					显示详细信息
		-f					指定文件名
		-z					打包同时压缩
	解压:
	tar -zxvf 包名
		-x					解包
		-v					显示详细信息
		-f					指定解压文件
		-z					解压缩
>2
.zip压缩格式
	压缩:
	zip 选项[-r] [压缩后文件名] [文件或目录]
		-r					压缩目录
	解压:
	基本格式:unzip [选项] file[.zip]
  -Z        以形如 ls -l 的格式显示目标文件内容
  -Z1        仅显示压缩文件内容的文件名
  -l        显示压缩文件中包括时间、占用空间和文件名等信息
  -t        在内存中解压文件并进行文件的完整性校验(CRC校验)
  -f        将磁盘上已经存在且内容新于对应磁盘文件的压缩内容解压出来
  -n        解压缩时不覆盖已存在的文件(而是跳过)
  -q        安静模式,仅解压缩而不输出详细信息
  -d dir      将文件解压至dir指定的文件夹中
>3
.bz2压缩格式
	压缩:
	bzip2 选项[-k] [文件]
		-k						产生压缩文件后保留原文件
	解压:
	bzip2 选项[-k] [文件]
	指令选项:(默认功能为压缩)
		-k						产生压缩文件后
		-c						将输出写至标准输出
		-d						进行解压操作
		-v						输出压缩/解压的文件名和压缩比等信息
		-k						在压缩/解压过程中保留原文件
		-digit					digit部分为数字(1-9),代表压缩速度,digit越小,
								则压缩速度越快,但压缩效果越差,digit越大,
								则压缩速度越慢,压缩效果越好。默认为6.
>4
.gz压缩格式
基础格式: gzip [Options] file1 file2 file3
  指令选项:(默认功能为压缩)
  -c							将输出写至标准输出,并保持原文件不变
  -d							进行解压操作
  -v							输出压缩/解压的文件名和压缩比等信息
  -digit						digit部分为数字(1-9),代表压缩速度,digit越小,
  								则压缩速度越快,但压缩效果越差,
  								digit越大,则压缩速度越慢,压缩效果越好。
  								默认为6.

我是文文,问题请指正

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127870.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 嵌入式debian没有lsusb命令解决

    嵌入式debian没有lsusb命令解决问题 bash lsusb commandnotfo 解决

    2025年7月7日
    4
  • Windows系统下JBOSS服务器下载安装

    Windows系统下JBOSS服务器下载安装Windows系统下JBOSS服务器下载安装JDK的安装Jboss的介绍Jboss下载Jboss安装JDK的安装首先安装JDK,配置环境变量(PATH,CLASSPATH,JAVA_HOME)。可以参照:Windows环境下JDK安装与环境变量配置Jboss的介绍JBOSS是EJB的服务器,就像Tomcat是JSP服务器一样,就是服务器的一种。JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用,而不用支付费用。Jboss的详细介绍可以参照:jboss的百度百科。Jboss下载Jbo

    2022年10月3日
    2
  • 大数据学习方法:大数据采集,大数据分析,大数据存储就该这样学!

    大数据学习方法:大数据采集,大数据分析,大数据存储就该这样学!大数据采集01—概览02—相关延展系统日志数据的采集 Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用。它够从各种日志源上收集日志,存储到一个中央存储系统上,以便于进行集中的统计分析处理。Scribe为日志的“分布式收集,统一处理”提供了一个可扩展的、高容错的方案。(老师收学生信息表,需要班长代理收集的例子)。…

    2022年5月4日
    54
  • Python+Selenium面试题(附详细解答)

    Python+Selenium面试题(附详细解答)一、选择题(1分18题,共18分)1.下面哪些关于自动化测试的说法是错误的:(ACD)A.自动化测试可以完全取代手工测试B.自动化测试可以大幅度减少测试团队的工作量C.性能测试不能自动化D.自动化测试能够发现大量的新缺陷2.下列哪种是Python元组的定义方式?(ABCD)A.([2,3],1) B.(1,) C.(1,{“name”:”sex”}) D….

    2022年6月20日
    57
  • JAVA学习–getInstance「建议收藏」

    JAVA学习–getInstancepublicstaticDBConnectinstance; publicstaticDBConnectgetInstance(){ if(instance==null){  instance=newDBconnect(); } returninstance;…

    2022年4月14日
    56
  • MySQL: Hash索引优缺点

    MySQL: Hash索引优缺点优点:因为索引自身只需存储对应的哈希值,所以索引的结构十分紧凑,这也让哈希索引查找的速度非常快缺点:1、不能避免读取行哈希索引只包含哈希值和行指针,而不存储字段值,所以不能使用索引中的值来避免读取行。不过,访问内存中的行的速度很快,所以大部分情况下这一点对性能的影响并不明显。2、无法用于排序哈希索引数据并不是按照索引值顺序存储的,所以也就无法用于排序。3、无法使用部分索…

    2022年5月26日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号