dpkg安装软件流程_DPKG命令与软件安装、APT[通俗易懂]

dpkg安装软件流程_DPKG命令与软件安装、APT[通俗易懂]====Linux软件包====Linux系统中,软件通常以源代码或者预编译包的形式提供。软件的源代码通常需要编译为二进制代码才可使用,安装比较耗时。用户可以自行调节编译选项,决定需要的功能或组件,或者针对硬件平台作一些优化预编译包通常由软件发布者进行编译,用户只要将预编译包拷贝到系统中即可。考虑到预编译包的通用性,预编译包一般不会针对某种硬件平台优化,所包含的功能和组件也是通用的组合。ubunt…

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

====Linux软件包====

Linux系统中,软件通常以源代码或者预编译包的形式提供。

软件的源代码通常需要编译为二进制代码才可使用,安装比较耗时。用户可以自行调节编译选项,决定需要的功能或组件,或者针对硬件平台作一些优化

预编译包通常由软件发布者进行编译,用户只要将预编译包拷贝到系统中即可。考虑到预编译包的通用性,预编译包一般不会针对某种硬件平台优化,所包含的功能和组件也是通用的组合。

ubuntu系统中,软件通常以deb格式的包发布,它是一种预编译包

====Linux DPKG命令====

deb包命令遵循如下约定:

soft_ver-rev_arch.deb

soft:软件包名称

ver:软件版本号

rev:ubuntu修订版本号

arch:目标架构名称

使用dpkg命令来管理deb包

dpkg -i :安装deb软件包

dpkg -r : 删除软件包

dpkg -r -P :连同配置文件一起删除

dpkg -I : 查看软件包信息

dpkg -L : 查看包内文件

dpkg -l : 查看系统中已安装软件包信息

dpkg-reconfigure xxx 重新配置软件包

同时安装多个软件包:

dpkg -i aaa.deb bbb.deb ccc.deb

====Linux apt命令====

如果一个软件依赖关系过于复杂,使用dpkg安装就不是一个明智的选择,这个时候就需要用到apt软件包管理系统。apt可以自动检查依赖关系,通过您预设的方式来获得相关软件包,并且自动安装和配置它

apt至少需要一个软件信息数据库和至少一个存放大量deb的软件仓库,我们称之为“源”,源可以是网络服务器、CD或者本地仓库,需要修改/etc/apt/sources.list文件,使apt系统能够连接到源。

apt系统主要包括apt-get和apt-cache等命令:

apt-get install xxx :安装xxx

-d 仅下载

-f 强制安装

apt-get remove xxx :卸载xxx

apt-get update :更新软件信息数据库

apt-get upgrade :进行系统升级

apt-cache search :搜索软件包

建议经常使用 sudo apt-get update 命令来更新您的软件信息数据库

====源码包====

在少数情况下,例如某软件没有以deb包的格式发布,或者需要定制适合自己的软件,可以通过编译源代码的方式安装它。

源码目录中通常有一个 configure 脚本,用来配置即将开始的编译过程。您可以执行它

sudo ./configure [–prefix=/usr/loca/xxx ……]

它会自动检测软件的编译环境和依赖关系,并且生成 Makefile 文件。

使用带参数的命令 ./configure –help ,或者阅读 INSTALL 文件,查看该脚本允许的参数。例如使用

–prefix=/usr/local/xxx 参数,将软件的安装目录设定为 /usr/local/xxx/ 。(如果一定要将软件安装在单独目录下,建议您安装在这里)

使用make命令,系统会根据Makefile文件中的设定,通过make工具调用编译器和所需的资源文件,将源代码编译成目标文件

再调用make install命令,make工具会自动连接目标文件和库文件,将最终生成的文件拷贝到Makefile文件设定的路径中,并完成更改文件的的属性,删除残留文件的活动

编译安装完成后,为了更方便使用它,需要给程序的可执行文件做一个符号链接

sudo ln -sf /usr/local/xxx/可执行文件 /usr/local/bin/可执行文件

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

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

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


相关推荐

  • oracle 字段类型修改_数据库修改字段

    oracle 字段类型修改_数据库修改字段Oracle修改字段类型有一个表名为tb,字段段名为name,数据类型nchar(20)。1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:altertabletbmodify(namenvarchar2(20));2、假设字段有数据,则改为nvarchar2(20)可以直接执行:altertabletbmodify(namen

    2022年9月6日
    3
  • c和java的区别_java与c的区别

    c和java的区别_java与c的区别Java和C都是指令式语言(ImperativeLanguage),不同的是Java有面向对象(OO)成分在里面,而C是完全面向过程的,C的高级版本C++、C#支持面向对象。另外一个不同是,Java跨平台,既不同的操作系统都可以通过JVM来解释Java程序,而C、C++、C#则是与平台相关的,有些指令只在某些操作系统中才能执行。(推荐学习:java课程)具体原因是,Java是解释型语…

    2022年7月8日
    21
  • Java中WebService实例

    Java中WebService实例WebServices是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。WebService的关键技术和规则:1.XML:描述数据的标准方法.2.SOAP:表示信息交换的协议(简单对象访问协议).3.WSDL:Web服务描述语言.4.UDDI:通用描述、发现与集成,他是一种独立于平台,基于XML语言的用于在互联网上描述商务的协议。一、利用JDKweb服务api实现,这里使用基于SOAPmessage的WebService:1.首先创

    2022年7月21日
    10
  • 网页连接opc服务器,远程连接opc服务器

    网页连接opc服务器,远程连接opc服务器远程连接opc服务器内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。远程连接opc服务器相关内容使用Mac版MicrosoftRem…

    2022年6月20日
    28
  • 令人比较失落的IT圈子-关于华为裁员

    令人比较失落的IT圈子-关于华为裁员早在几年前就有人说过程序员在35岁以后如果不做管理就很难混了,如今由于近日的华为事件被炒得沸沸扬扬,显然让这多年前人们的猜测变成了现实,我今年也正好到了这个该“退休”的年龄,所以就想趁机悔恨一番。首先,澄清的一点就是,我并无意诋毁这个IT行业,我只是希望大家可以更加清除的认清这个行业。       什么叫做管理,在程序员的思维里,做管理其实很简单,就是从写代码到不写代码,哪怕是写PPT,只要不写

    2022年7月25日
    32
  • 北京航空航天博士生的待遇_北航博士补贴涨到3500

    北京航空航天博士生的待遇_北航博士补贴涨到3500第二十四条博士后在站期间的工资及其他相关待遇,按照国家有关规定执行。博士后在站期满,工资停发,住房公积金及住房补贴随之停发。第二十五条企业博士后的工资、住房等福利待遇由与我校签订协议的联合培养单位负责。在职博士后的工资、住房等待遇由原所在单位或合作导师负责。第二十六条博士后在站期间,学校为非在职博士后建立住房公积金,并为暂时没有租赁到公寓的非在职博士后发放住房补贴1000元/月。博士后公寓的…

    2025年7月2日
    2

发表回复

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

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