linux上安装软件详细步骤(开关安装方法图解)

软件安装及管理一.软件的类型二.Tar包安装、升级、卸载(必须会)三.RPM软件包安装及管理(必须会)四.脚本安装、升级、卸载五.SRPM包安装(知道就行,很少用)一.软件的类型1.软件是指计算机系统中的程序及其文档程序必须装入机器内部才能工作文档一般是给人看的,不一定装入机器软件是用户与硬件之间的接口界面系统软件和应用软件2.应用程序与系统命令的关系文件位置系统命令:…

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

软件安装及管理

一.软件的类型
二.Tar包安装、升级、卸载(必须会)
三.RPM软件包安装及管理(必须会)
四.脚本安装、升级、卸载
五.SRPM包安装(知道就行,很少用)

一.软件的类型
1.软件是指计算机系统中的程序及其文档
程序必须装入机器内部才能工作
文档一般是给人看的,不一定装入机器
软件是用户与硬件之间的接口界面
系统软件和应用软件

2.应用程序与系统命令的关系
文件位置
系统命令:一般在/bin和/sbin目录中,或为Shell内部指令
应用程序:通常在/usr/bin和/usr/sbin目录中
主要用途
系统命令:完成对系统的基本管理工作,例如IP配置工具
应用程序:完成相对独立的其他辅助任务,例如网页浏览器
适用环境
系统命令:一般只在字符操作界面中运行
应用程序:根据实际需要,有些程序可在图形界面中运行
运行格式
系统命令:一般包括命令字、命令选项和命令参数
应用程序:通常没有固定的执行格式
3.典型应用程序的目录结构
在这里插入图片描述
注意:
1.上表格是RPM安装后的目录结构,并不是tar包的,tar包安装的文件都有单独的安装目录(该安装目录一般在/usr/local/目录下),安装目录下也会有上表格所示的子目录

4.常见的软件包封装类型
在这里插入图片描述
注意:TAR软件包也有.tar.xz的
注意:

1.源代码安装就是tar包安装,源代码就是别人开发好的软件程序,没有加密,直接公布出来了。源代码不能直接运行,必须将源代码编译成可执行的二进制文件才可以运行,所以源代码安装比较麻烦,需要编译。
2.Rpm包不是源代码,它是将源代码编译完成后,再去做成rpm包发布出来.

5.使用源代码安装软件的优点
获得最新的软件版本,及时修复bug
根据用户需要,灵活定制软件功能
6.应用场合举例
安装较新版本的应用程序时
自由软件的最新版本大都以源码的形式最先发布
当前安装的程序无法满足需要时
编译安装可由用户自行修改、定制功能
需要为应用程序添加新的功能时
用户可以重新配置、自由修改源代码,加入新的功能

2.Tar包安装、升级、卸载(必须会)
编译安装源代码包
注意:源代码安装的时候一般都是压缩后的
1.Tarball 封包:
.tar.gz 和 .tar.bz2 格式居多,也有.tar.xz的
软件素材参考:http://sourceforge.net
源代码下载推荐去官网下载,也可以去第三方下载http://sourceforge.net
2.完整性校验
md5sum校验工具
计算MD5校验和,并与官方提供的值相比较,判断是否一致
校验如下:md5sum 压缩包,将生成的md5sum码和官网的比较,判断是否一致,如果一样说明没问题,如果不一样需要重新去下载。
在这里插入图片描述
3.确认源代码编译环境
需安装支持 C/C++程序语言的 编译器
gcc-4.1.1-52.el5、gcc-c+±4.1.1-52.el5
make-3.81-1.1.i386 ……有些源代码安装只需要gcc-4.1.1-52.el5,可以没有gcc-c+±4.1.1-52.el5,但是必须有make-3.81-1.1.i386
在这里插入图片描述
注意:
1.rpm -qa 查看所有已安装的软件包
在这里插入图片描述
4.源代码安装三部曲:
在这里插入图片描述
第一部曲:步骤2:配置,通过配置指定安装目录,安装模块等,可以通过选项只安装需要的,这一步还会检查编译环境是否满足,如果这一步没有报错就可以进行下一步了,如果这一步报错了,必须解决好了才可以进行下一步,后面的步骤也是这样
第二部曲:步骤3:编译,将源代码文件编译成可执行的二进制文件
第三部曲:步骤4:安装,创建安装目录,将编译好的二进制文件复制到相应的目录
三部曲做完后就可以去测试软件了,如果软件可以用了,就安装成功了。

编译安装注意事项
每一步骤成功执行是下一个步骤的基础
TAR包升级
利用patch命令打补丁(不是简单的使用该命令就可以升级,需要安装官网提供的步骤去一步步升级)
TAR包卸载
直接删除安装文件夹
少数软件执行make uninstall

安装httpd服务器 —— 编译安装
需要事先下载好软件包,校验安装包是否完整
1. 解包
tar zxvf httpd-2.2.20.tar.gz -C /usr/src/
2. 编译前的配置
cd /usr/src/httpd-2.2.20
./configure –prefix=/usr/local/apache (–prefix指定安装目录,不指定安装目录也会有默认安装目录)
3. 编译(make)并安装(make install)
make && make install
4. 启动httpd服务
/usr/local/apache/bin/apachectl start

注意:httpd是一个提供web服务的服务器软件,在服务器上安装该软件,该服务器就可以对外提供web服务了.也是市场上使用最多的web服务器软件.

总结一下:
源代码安装步骤:

1.获取源代码安装包
2.校验安装包的完整性
3.解压
4.进入解压出来的目录,查看README或者INSTALL文件,这两个文件中会告诉安装 方法
5.配置 ./configure
6.编译 make
7.安装 make install
8.测试安装是否成功

注意:
1.如何将windows中的包复制到Linux中呢?
借助xshell软件的
2.习惯将源代码安装包放在/usr/local/src/目录下

安装httpd软件具体步骤:
1.上传软件包,需要三个软件包
在这里插入图片描述
2.解压
在这里插入图片描述
3.进入解压后的目录,配置
在这里插入图片描述
发现没有apr,所以先安装apr
4.安装apr
解压 tar xf tar-1.5.2.tar.bz2
进入目录解压后目录 cd arp-1.5.2
看readme文件
配置 ./configure –prefix=/usr/local/apr
在这里插入图片描述
发现报错,没有gcc,所以需要安装gcc,一般在Linux中自带gcc软件包,所以首先确保光盘已连接,然后挂载
在这里插入图片描述
在这里插入图片描述
找到软件包之后安装gcc
在这里插入图片描述
安装失败,gcc需要依赖cloog-ppl和cpp=4.4.7-17.el6,所以一起安装
在这里插入图片描述
发现又有依赖软件


注意:
经验:当看到lib这样的文件时,这样的软件包一般来自于开发软件包,开发软件包就是软件名称中带有devel的,例如
在这里插入图片描述

在这里插入图片描述

由于依赖ppl开头的文件,所以一起安装ppl,如果有以ppl开头的软件包名称中含有devel的软件包就安装该软件包,如果没有以ppl开头的软件包名称中含有devel的软件包就安装名称中不含有devel的软件包,同样安装mpfr-开头的文件,以此类推,安装所有被依赖的软件包,不用考虑被依赖软件包的安装顺序,只要安装上就可以了,如下:
在这里插入图片描述
在这里插入图片描述

所有被依赖软件全部安装完了,继续安装apr软件,回到刚才解压后的目录,继续刚才的配置命令,如下:
在这里插入图片描述
等待一段时间后,如下:
在这里插入图片描述
看最后一部分是正常退出,没有报错,配置完成了,继续下一步,编译(在解压后的目录下).如下:
在这里插入图片描述
一段时间后,如下:
在这里插入图片描述
还是看最后一部分,没有报错,正常退出,继续下一步,安装,如下:
在这里插入图片描述
这一步很快,完成之后如下:
在这里插入图片描述

安装好apr了,返回继续安装httpd,返回httpd解压后的目录,配置,如下:
在这里插入图片描述
在这里插入图片描述

现在报apr-util没有的错,下面安装apr-util,如下:
在这里插入图片描述
发现readme中没有安装步骤,所以安装三部曲安装,如下,配置:
在这里插入图片描述
报错:找不到apr,提示可以通过–with-apr指定apr,根据提示指定,如下:
在这里插入图片描述
等待一段时间后,然后make,如下:
在这里插入图片描述

再等待一段时间后,然后,安装,如下:
在这里插入图片描述
在这里插入图片描述
Apr-util安装完成了.继续安装httpd,回到解压后的目录,配置,如下:

在这里插入图片描述
在这里插入图片描述
报错:pcre-config没找到,libpcre没找到,libpcre光盘里面有,去光盘里面找
在这里插入图片描述
发现pcre-config不是软件包,没有,也没有libpcre软件包,所以我们根据经验删除lib,找pcre包,找到了两个,按照经验安装带有devel的,如下:
在这里插入图片描述
pcre安装完成,继续安装httpd,配置,如下:
在这里插入图片描述
等待一段时间后,终于配置完成了,编译,如下:

在这里插入图片描述
在这里插入图片描述

等待一段时间后(这次等待时间较长),编译成功了,安装,如下:

在这里插入图片描述
在这里插入图片描述
等待一会后,安装完成,如下:
在这里插入图片描述

安装完成了,进入安装目录,生成了子目录,如下:
在这里插入图片描述
要运行该软件,需要就找到运行文件,它的运行文件在bin目录下,bin目录下的apachect1就是它的运行文件,可以启动该服务,启动之后就可以访问该web服务了,如下:
在这里插入图片描述
关闭防火墙,service iptables stop,在浏览器地址栏中输入该虚拟机IP地址,就可以访问了,如下:
在这里插入图片描述

此时说明httpd已经安装好了,可以工作了.在httpd的安装子目录中,htdocs是存放浏览页面的。

三、RPM软件包安装及管理

1.RPM包管理工具
RPM Package Manager
由Red Hat公司提出,被众多Linux发行版所采用,以前的R代表红帽公司,现在不只是代表红帽了。
建立统一的数据库文件,详细记录软件包安装、卸载等变化信息,能够自动分析软件包依赖关系
RPM软件包
软件素材参考:http://rpmfind.net
一般命名格式:

                     bash-3.2-24.el5.i386.rpm

在这里插入图片描述
注意:Rpm包需要通过rpm命令安装,卸载,升级
2.RPM包安装管理软件
主要功能

  1. 查询RPM软件、包文件的相关信息
  2. 安装、升级、卸载RPM软件包
  3. 维护RPM数据库信息

3.查询RPM软件信息
查询已安装的RPM软件信息
格式:rpm -q[子选项] 软件名
用法:结合不同的子选项 完成不同查询
-qa:查看系统中已安装的所有RPM软件包列表,不能查询源代码编译的
-qi:查看指定软件的详细信息,例如rpm -qi bash
-ql:查询指定软件包所安装的目录、文件列表 例如:rpm -ql bash
-qc:仅显示指定软件包安装的配置文件
-qd:仅显示指定软件包安装的文档文件
查询文件/目录属于哪个RPM软件
格式:rpm -qf 文件或目录名
在这里插入图片描述

查询未安装的RPM包文件
格式:rpm -qp[子选项] RPM包文件
用法:结合不同的子选项 完成不同查询
-qpi:通过.rpm包文件查看该软件的详细信息
-qpl:查看.rpm安装包内所包含的目录、文件列表
-qpc:查看.rpm安装包内包含的配置文件列表
-qpd:查看.rpm安装包内包含的文档文件列表

在这里插入图片描述
4.安装或升级RPM软件
格式:rpm [选项] RPM包文件…
用法:不同选项适用于不同情况
-i:安装一个新的rpm软件包
-U:升级某个rpm软件,若原本未装,则进行安装
-F:更新某个rpm软件,若原本未装,则放弃安装(更新推荐使用)
卸载指定的RPM软件
格式:rpm -e 软件名,例如rpm -e tree
注意:如果想要看到安装或者升级的详细信息可以加vh选项.
升级bash详细过程如下:
在这里插入图片描述

5.安装和升级rpm包软件辅助选项
辅助选项
–force:强制安装所指定的rpm软件包
–nodeps:安装、升级或卸载软件时,忽略依赖关系 (一般不这样做,危险)
-h:以“#”号显示安装的进度
-v:显示安装过程中的详细信息

安装、升级、卸载RPM软件包
在这里插入图片描述
在这里插入图片描述

6.RPM包依赖关系
安装有依赖关系的多个软件时
被依赖的软件包需要先安装
同时指定多个.rpm包文件进行安装
卸载有依赖关系的多个软件时
依赖其他程序的软件包需要先卸载
同时指定多个软件名进行卸载
忽略依赖关系
结合“–nodeps”选项,但可能导致软件异常
维护RPM数据库
RPM数据库:/var/lib/rpm目录下(可以定时备份)
故障原因
非正常关机、误删除运行中的程序文件
RPM数据文件被误写或删除
当RPM数据库损坏时,需要进行数据库重建
格式:rpm –rebuilddb或者 rpm –initdb(虽然这两个命令可以重建数据库,但是不靠谱,很容易重建失败)

四、脚本安装、升级、卸载
脚本安装软件
脚本安装步骤
如果没有执行权限,需要给文件加上可执行属性:chmod +x filename
执行命令:./filename,执行安装脚本进行安装。
注意查看readme帮助文件

五、SRPM包安装
RPM的缺点
安装的环境必须与打包时的环境需求一致或相当;
需要满足套件的相依属性需求;
卸载时需要特别小心,最底层的套件不可先移除,否则可能造成整个系统的问题!
SRPM
SRPM 文件里面含有源代码( Source Code )
SRPM 的文件名是以 ***.src.rpm 这种格式来命名
需要编译生成RPM包后才能进行安装

使用rpmbuild命令安装SRPM包
选项:
–rebuild
进行‘编译’与‘打包’的动作,最后会产生 RPM 的软件包,但是产生的 RPM 软件包并没有安装到系统上。最后通常会发现一行字体:
Wrote: /usr/src/redhat/RPMS/i386/pkgname.i386.rpm
–recompile
rebuild 仅‘编译并打包’而已,而 recompile 不但进行编译跟打包,还同时 进行‘安装’了!
命令范例:
# rpmbuild –rebuild rp-pppoe-3.5-32.1.src.rpm

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127983.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • a标签,下划线的操作

    a标签,下划线的操作a标签当如下时,不显示下划线<a>没链接的a标签</a>这种情况如何添加下划线呢值 描述none 默认。定义标准的文本。underline 定义文本下的一条线。overline 定义文本上的一条线。line-through 定义穿过文本下的一条线。blink 定义闪烁的文本。inherit 规定应该从父元素继承text-decoration属性的值。text-decoration:underline;a标签如下,会正常显示<ahref=”ht

  • 用Python实现Linux tree命令

    用Python实现Linux tree命令早就耳闻python功能强大,互联网领域运用广泛,Scrapy爬虫框架、OpenStack云存储架构都是用Python实现的。最近下定决心,开始学习Python。先参考网上的demo写一个小例子,实现linuxtree命令。#!/usr/bin/pythonimportos,sys,stringclassXXXTree:def__init__(self):

  • Java反射访问私有成员

    Java反射访问私有成员

  • 微信第三方开发者答网友问 微信创业靠谱吗

    微信第三方开发者答网友问 微信创业靠谱吗一、基础常识1、所谓的第三方开发,就是腾讯公众平台内开放的开发者模式。用户可以根据个人不同的需求开发不同的功能。2、开发模式后,有两个需要我们去填写的东西:一个是ur,一个是token;简单的解释一下就是:url地址,第三方平台的地址;token是通往地址的接口。3、第三方的开发什么?就是一些功能模块。第三方是一个平台,微信公众平台管理也是一个平台。而url就是一个一条链接

  • dvwa靶场教程_web漏洞靶场

    dvwa靶场教程_web漏洞靶场?DVWA靶场的概括:???DVWA是一个入门的Web安全学习靶场(包含:暴力激活成功教程,命令注入,文件包含,文件上传,不安全的验证码,SQL注入,跨站脚本,xss等.)提供给想学Web安全的人进行学习.

  • python 和 java 到底该学哪个?

    python 和 java 到底该学哪个?随着互联网的高速发展,越来越多的人选择加入到IT行业,而近年来,编程语言界也可以说是百花齐放……那么,对于刚入行的小伙伴来讲,到底选择哪种编程语言学习更好呢?是一直独占鳌头的Java,还是后来居上的Python,或者近两年一直很热门的大数据、人工智能呢?在做选择前,我们首先要现有个概念认知,就是Java、Python和所谓大数据、人工智能,并不是一个同类。Java、Python是计算机的编程语…

发表回复

您的电子邮箱地址不会被公开。

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