Linux环境下软件安装

下载——解压缩:

把得到的目录放到一个不碍事的目录,我们可以设置隐藏目录:

查看可执行程序:

如何变成系统命令?

PATH:一个可执行程序只要放到这些目录中任何一个就可以,就可以变成系统识别的命令,当然可以建立符号链接:

注:最后的subl是链接名,只需要敲subl就可以进入sublime。

自己下载源码安装:

在自由软件基金会上下载hello,然后安装:

安装开源软件的步骤是固定的,如下:

./configure

Make

sudo make install

执行hello程序,正常输出

Git clone

依赖库安装

进入源码目录

Make

注:得到二进制输出,运行的实际上是下面第一行。

Sudo make install执行的是下面的指令,即在bin目录下安装可执行文件

注:用户自己安装依赖,很麻烦。还有就是手动安装的过多,忘记安装的位置,在卸载的时候很麻烦。因此我们可以把这些安装过程的基本信息保存起来,这就是包管理的基本思想。

deb包

Ubuntu中常用软件都是打包成deb包,然后再安装。

这样我们就会省心多了。教程:happycasts14.

装包:

一个包安装好之后,会在系统的包管理数据库中留下丰富的信息。

列举系统安装过的所有deb包:

这样输出内容会很多,可以使用一下命令查找某一个:

查看包在系统中安装了哪些文件:

查看某一文件来自哪个包:

可以看出是google-choremo-stable提供了chrome这个文件。

在实际中使用的是apt-get,在底层包含了dpkg这个命令。

软件仓库

在开源系统中,软件一般都是通过源码发布,ubuntu官方会定期拿到源码并且打造成deb文件供用户下载。并且他们会在自己的服务器上搭建一个软件仓库,把deb包放上去,我需要下载包就很方便了:

删除软件可以使用:apt-get remove git

但是如果想把配置文件一起删除,则使用:

apt-get purge git

有时候我们知道安装什么软件,但是软件名称不是很清楚:

apt-catch search

注:上面第一行指令输出会比较多。第二行指令输入两次tab会自动补全可能的包并显示(即列举备选项)。

依赖

tig的安装需要先安装git,如果之前没安装git。apt-get会自动处理依赖关系,在安装tig时安装git。

有时候ubuntu仓库软件更新不及时的时候,我们又需要最新版本,这是需要手动安装。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )