Linux下软件安装和卸载

在Windows下,我们安装软件基本上是先到网上下载软件的安装包,通常是以.exe和.msi为后缀的文件,然后双击安装包,之后就可以按照软件安装向导一步步进行安装了,但在Linux下,软件的安装方式截然不同。总的来说,Linux下软件常见的安装方式主要有三种:一是源码安装,二是安装包安装,三是命令安装。


1、源码安装

Linux下很多软件发布的时候都没有打包成安装包的形式,通常是直接发布源码,源码文件后缀名一般为.zip或tar.gz形式。常见的源码压缩格式已经解压命令如下图所示:

想要安装这些软件,首先需要到软件官网下载源码压缩文件,下载完成之后安装步骤如下:

(1)解压命令 源码压缩文件名

(利用对应的解压命令对源码压缩文件进行解压)

(2)cd 解压后的源码目录

(进入解压之后的源码目录)

(3)./configure --prefix=/usr/local/软件名称

(为编译做准备,--prefix参数是指明软件安装目录的,一般情况下软件都安装在/usr/local目录下,同时指明安装目录可以方便以后卸载软件)

(4)make

(编译软件)

(5)make intsall

(安装软件)

以这种方式安装的软件,卸载软件时,只要删除软件安装目录即可,执行命令rm -rf /usr/local/软件名称。


除了上面最常见的情况,还有RedHat公司也会以源码形式发布软件,不过源代码软件包后缀一般为.src.rpm,安装过程如下:

生成安装包:rpm -rebuild *.src.rpm

进入安装包生成目录:cd /usr/src/dist/RPMS

安装软件:详见第二部分安装包安装


2、安装包安装 

除了源码安装之外,一些软件提供商还会将软件直接发布成安装包的形式,这样用户就不必自行编译安装了,大大简化了安装软件的工作。通常Linux厂商软件包的格式分为如下两大类: 

(1)RedHat系列:Redhat、Centos、Fedora等RedHat系列Linux系统软件安装包是rpm格式,即以.rpm为后缀,查看、安装、升级、卸载命令分别如下: 

查看是否已经安装: rpm -q package_version.rpm

安装:rpm -ivh package_version.rpm 

升级:rpm -Uvh package 

卸载:rpm -e package

(package_version.rpm为安装包名称,package为安装之后的软件名称)


(2)Debian系列:Debian、Ubuntu等Debian系列Linux系统软件安装包是deb格式,即以.deb为后缀,安装、卸载命令分别如下:

安装:dpkg -i package_version.deb

移除:dpkg -r package 

完全清除一个已安装软件:dpkg -P package>(在移除基础上还删除配置文件) 

(package_version.deb为安装包名称,package为安装之后的软件名称)


除了这常见的两大系列之后,还有苹果公司Mac电脑的OS X系统,其软件安装包的形式为:.dmg或.pkg,直接双击即可进行安装,较为简单。


3、命令安装 

有些时候,软件安装不是那么简单,有的软件安装首先需要其他许多项目的安装,此外还有版本依赖问题,如果全靠手工去找齐所有依赖性进行安装之后,再来安装软件,比较费时费力,成功率也不高。于是Linux厂商们又提供了另一种安装方式,命令安装。

所谓命令安装,即在计算机联网情况下,进入终端模式,输入相应的命令加上要安装的软件包名,系统则会主动下载软件包进行安装,如果软件有其他依赖项,系统也会自动去下载安装,这样就大大减轻了安装的工作。 

命令安装也分为几种,如下所示: 

(1)Redhat系列,使用yum 

更新yum:yum update

列出所有已安装的软件包:yum list install

查看软件包xxx信息:yum info xxx

查找软件包xxx:yum search xxx

安装xxx软件包:yum install xxx

移除xxx软件包:yum remove xxx

更新所有rpm软件包:yum update

更新xxx软件包:yum update xxx


(2)Debian系列,使用apt-get 

更新apt-get:apt-get update

搜索软件包xxx:apt-cache search xxx

获取包xxx的信息:apt-cache show xxx

安装xxx软件包:apt-get install xxx

移除xxx软件包:apt-get remove xxx

删除包xxx,包括删除配置文件等:apt-get remove package -- purge

更新所有deb软件包:apt-get upgrade

更新xxx软件包:apt-get upgrade xxx 


(3)OS X系列,使用brew 

更新brew:brew update

搜索软件包xxx:brew search xxx

获取包xxx的信息:brew info xxx

安装xxx软件包:brew install xxx

移除xxx软件包:brew uninstall xxx

更新所有软件包:brew upgrade

更新xxx软件包:brew upgrade xxx 


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/312944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为WPF, UWP 及 Xamarin实现一个简单的消息组件

友情提示:阅读本文大概需要8分钟。欢迎大家点击上方公众号链接关注我,了解新西兰码农生活本文目录:1. 介绍2. Message - 消息3. Subscription - 订阅4. MessageHub - 消息总线4.1 Subscribe - 订阅4.2 Unsubscribe - 取消订阅4.3 Publish - 发…

Mac(OS X)安装、配置并使用MySQL数据库

1、MySQL安装包下载 MySQL Community Server下载地址:http://dev.mysql.com/downloads/mysql/,下载完毕之后安装文件如下所示: 2、MySQL安装 双击安装文件进行安装,出现如下界面: 双击窗体中的“mysql-5.7.10-osx10.9-…

用ASP.NETCore构建可检测的高可用服务

一、前言2019 中国 .NET 开发者峰会(.NET Conf China 2019)于2019年11月10日完美谢幕,校宝在线作为星牌赞助给予了峰会大力支持,我和项斌等一行十位同事以讲师、志愿者的身份公司参与到峰会的支持工作中,我自己很荣幸能…

Mac(OS X)使用brew安装软件

在Linux下,常用的软件包管理工具有RedHat系的yum和Debian系的apk-get,对于Mac的OS X系统来说,同样有这样的形式的软件包管理工具,即:brew。 brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能…

SonarQube系列二、分析dotnet core/C#代码

来源:https://www.cnblogs.com/7tiny/p/11342902.html【前言】本系列主要讲述sonarqube的安装部署以及如何集成jenkins自动化分析.netcore项目。目录如下:SonarQube系列一、Linux安装与部署SonarQube系列二、分析dotnet core/C#代码SonarQube系列三、如何…

Eclipse使用Maven插件创建Web项目时出错:Could not resolve archetype org.apache.maven.archetypes

问题描述: 在Eclipse下,使用Maven插件创建Web项目时出错,错误提示如下: 错误信息: Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webapp:1.0 from any of the configured repositories. …

ASP.NET Core快速入门(第2章:配置管理)--学习笔记

点击蓝字关注我们课程链接:http://video.jessetalk.cn/course/explore良心课程,大家一起来学习哈!任务9:配置介绍命令行配置Json文件配置从配置文件文本到c#对象实例的映射 - Options 与 Bind配置文件热更新框架设计:C…

怎么写技术简历?

作者:zollty,资深程序员和架构师,私底下是个爱折腾的技术极客,架构师社区合伙人!纯手打,个人多年经验总结。(本人的简历,历年来效果都不错,从校招到高端技术岗位、大厂技…

C# 代码中调用 Javascript 代码段以提高应用程序的配置灵活性(使用 Javascript .NET 与 Jint)...

一般来说,我们需要在开发应用软件的配置文件中,添加一些参数,用于后续用户根据实际情况,自行调整。配置参数,可以放在配置文件中、环境变量中、或数据库表中(如果使用了数据库的话)。通常,配置数据&#xf…

Code Runner for VS Code 突破 1000 万下载量!支持运行超过 40 种语言

记得三年多前,韩老师那时还在写 PHP(是的,没错!在微软写 PHP),同时需要写 Python 和 Node.js 。所以在那时,支持多种语言的 VS Code 已经是笔者的主力编辑器了。唯一不足的是,韩老师…

Firefox UI已迁移至Web Components

这不是一项一蹴而就的工程,Mozilla 开发者表示团队花费了大约两年的时间,采用“增量更新”的方式才逐渐将 Firefox UI 迁移至使用 Web Components 构建。Mozilla 开发者 Brian Grinstead 在博客宣布,经过多年的努力,他已在几个星期…

.Net线程同步技术解读

C#开发者(面试者)都会遇到lock(Monitor),Mutex,Semaphore,SemaphoreSlim这四个与锁相关的C#类型,本文期望以最简洁明了的方式阐述四种对象的区别。什么是线程安全教条式理解如果代码在多线程环境中运行的结果与单线程运行结果一样…

.NET使用VS2010开发Web Service

Web Service是一个面向服务的架构(SOA),不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。基于.NET平台,可以使用Visual Studio来开…

Java 开发Web Service的几种方式

webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录。 1.Axis2 Axis是apache下一个开源的webservice开发组件,出现的算是比较早了,也比较成熟。这里主要介绍Axiseclipse开发webservi…

动手造轮子:实现简单的 EventQueue

动手造轮子:实现简单的 EventQueueIntro最近项目里有遇到一些并发的问题,想实现一个队列来将并发的请求一个一个串行处理,可以理解为使用消息队列处理并发问题,之前实现过一个简单的 EventBus,于是想在 EventBus 的基础…

【.NET Core 跨平台 GUI 开发】第二篇:Gtk# 布局入门,初识HBox 和 VBox

这是 Gtk# 系列博文的第二篇。在上一篇博文《编写你的第一个 Gtk# 应用》中,我们提到“一个 Gtk.Window 只能直接包含一个部件”。这意味着,在不做其他额外操作的情况下,如果你向一个 GtkWindow 中添加了一个 GtkLabel (就像上一篇…

Java开发Web Service的几种解决方案

转自:http://blog.csdn.net/zolalad/article/details/25158995 Java开发中经常使用到的几种WebService技术实现方案 随着异构系统互联需求的不断增加,WebService的重要性也日益彰显出来。凭借webservice,我们可以实现基于不同程序语言的项目的…

【.NET Core 跨平台 GUI 开发】第一篇:编写你的第一个 Gtk# 应用

本文是【.NET Core 跨平台 GUI 开发】系列博文的第一篇。该系列博文是一个关于 Gtk# 跨平台应用开发的初级随笔集合。该随笔集合介绍了 GTK 和 Gtk# 的基本信息以及开发方法,并展示了如何使用 .NET Core 技术栈开发基于 Gtk# 的跨平台 GUI 程序。博文假设你已经对 C…

ASP.NET Core快速入门(第4章:ASP.NET Core HTTP介绍)--学习笔记

点击蓝字关注我们课程链接:http://video.jessetalk.cn/course/explore良心课程,大家一起来学习哈!任务22:课程介绍1.HTTP 处理过程2.WebHost 的配置与启动3.Middleware 与管道4.Routing MiddleWare 介绍任务23:Http请求…

Java使用JWS API开发Web Service

JAX-WS,即Java API for XML Web Service,是Java开发基于SOAP协议的Web Service的标准。使用JWS API就可以直接开发简单的Web Service应用。 一、创建Web Service 打开Eclipse,新建一个Java Project,如下图所示: 新建了…