Ubuntu下软件安装方式、PATH配置、查找安装位置
Ubuntu 18.04,
安装方式
目前孤知道的Ubuntu下安装软件方式有3种(命令):
1.make
2.apt/apt-get
3.dpkg
方式1基于软件源码安装,需要经历配置(可选)、编译、安装,获取源码可以直接从软件官网下载,或者,使用wget命令下载;
方式2可以安装Ubuntu的软件源(sources)中的软件,在配置文件/etc/apt/sources.list中有定义软件源,可以修改、添加自己的,其中,deb开头的为deb安装包,deb-src开头的为源码,需要注意的是,软件源的配置(URL后面部分)需要根据自己的Ubuntu版本进行,配置完软件源后,需要使用update更新(抱歉自己理解的不是很透彻,更新到哪里呢?);
方式3来自Debian系统,而Ubuntu源于Debian,用于安装deb安装包,没有使用过,貌似deb安装包可以在Ubuntu下双击打开进行安装(第4种安装方式吗?);
实践:
前面使用源码安装Redis时,并没有执行./configure、make install,直接解压后执行make即可,这与其Makefile文件中制定的流程有关系;
参考资料:
Ubuntu修改apt-get源(这篇文章讲解了source的一些配置)

因为对apt/apt-get用的比较多——绝大部分,因此,下面做了一个统计:
apt开头的命令有哪些、apt命令的子命令有哪些、apt-get的子命令有哪些……另外,apt-cache也是非常有用的命令,自己展示简单地试用了一下。

下面展示RHEL、Debian类系统的安装进化:最初都是从源码包安装,后来,Debian现行一步开发了安装包管理系统,然后,大发展。

Debian是不是太厉害了?
还有一个aptitude,要是加上这个工具,就是第4种安装方式了!不过,Ubuntu中默认没有安装,自己更是从未使用过,看网文介绍,它挺厉害的。
参考链接:

原来,包管理器在很多系统、平台中都有使用啊!微软的、Google的~~还有一个很著名的系统CentOS,其用到的包管理器叫做yum,没用过。
配置环境变量PATH
疑问:
前面使用make安装了下载的Redis 4.0.10,可是,Redis的相关命令都存在于源文件包的src下,启动Redis服务器和客户端需要使用./src/redis-server、./src/redis-cli命令,必须要添加“./”表明执行当前目录下的命令。这就和自己期望的不一致了,希望直接输入命令执行。在Windows中是将命令所在目录添加到path环境变量中,在Windows中呢?也是需要添加到环境变量中,但环境变量的名称是大写的PATH,可以使用echo $PATH获得其当前值:

之前使用sudo apt-get install安装的MongoDB的命令却已经存在于PATH中的/usr/bin中了:

当然,这个问题也和Redis的Makefile文件的编写有关系,其完全可以在Makefile文件中设置环境变量的,但它没有。
参考链接:

Linux环境变量文件environment, profile, bashrc含义

Linux 下三种方式设置环境变量(这篇文章中有安装JDK的示例)
查找安装位置
安装方式有了,配置环境变量也有了,最后,想知道程序安装在哪里了吗?whereis、which等,下面的文章还介绍使用find、dpkg、locate、mongo来查找,但孤尚未试过。
参考链接:
后记
经过一下午的努力,大概知道了Ubuntu下怎么安装软件、怎么配置环境变量PATH、怎么查找软件安装位置了,剩下的,就要靠动手实践来熟悉了。
任务:安装MySQL、Kafka、RabbitMQ、Apache、Nginx、Memcached等各种软件吧;
对了,自己对Linux真的不熟悉,各个文件夹、文件的作用都“忘记了”——曾经也学过,看来,还需要补补;
还有就是各种Linux命令,今天还学了一个wc命令,统计字数、行数的,很有用!
下午看了几个配置文件,好像完全不知道里面的代码什么意思,只记得,很久很久之前,自己也有花时间专门学过Bash编程的,只是……也要补补啊!
熟悉Linux,一个很艰巨的任务!否则,怎么玩Python呢!
Ubuntu下软件安装方式、PATH配置、查找安装位置的更多相关文章
- 基于Ubuntu下以Docker方式gitlab软件的部署
基于Ubuntu下以Docker方式gitlab软件的部署 目录 基于Ubuntu下以Docker方式gitlab软件的部署 1.安装Docker Compose 1.1 下载curl 1.2 安装c ...
- Ubuntu下软件安装的几种方式,apt,dpkg工具的使用
通常 Linux 上的软件安装主要有四种方式: 在线安装 从磁盘安装deb软件包 从二进制软件包安装 从源代码编译安装 这几种安装方式各有优劣,而大多数软件包会采用多种方式发布软件,所以我们常常需要全 ...
- Ubuntu下软件的搜索与安装
本文为笔者原创,首发于简书(点击这里查看). 小白玩转linux的第一个拦路虎就是软件的安装了.本文结合自己在Ubuntu14.04下软件安装经验做一个总结. 1.如何搜索软件? apt-cache ...
- linux下软件的种类和对应的安装及卸载的方式
转: 一个Linux应用程序的软件包中可以包含两种不同的内容: 1)一种就是可执行文件,也就是解开包后就可以直接运行的.在Windows中所 有的软件包都是这种类型.安装完这个程序后,你就可以使用,但 ...
- ubuntu下搭建android开发环境核心篇安装AndroidStudio、sdk、jdk
本文系转载http://blog.csdn.net/lsyz0021/article/details/52215996 一.安装前的准备 1.1.如果你还没有安装ubuntu 14.04 LTS系统, ...
- Ubuntu下的Selenium爬虫的配置
在服务器Ubuntu系统上跑爬虫,爬虫是基于Selenium写的,遇到好几个问题,现在这里记录一下. 1. 安装环境 阿里云,Ubuntu16.04,因为没有界面,所以远程命令行操作.爬虫是基于Sel ...
- ubuntu下的数据库和python存储库安装——MySQL,MongoDB,Redis
MySQL 的安装 sudo apt-get updatesudo apt-get install -y mysql-server mysql-client 启动.关闭和重启MySQL 服务的命令如下 ...
- ubuntu下firefox浏览器flash player插件的安装
自从装了双系统后,ubuntu下的音乐软件只能选择网页播放器了,这无疑是需要播放插件的,这个插件就是falsh player. 当初使用usb启动盘安装的,在安装的过程中还会报找不到CD-rom的错, ...
- Ubuntu 下 Galera cluster for MySQL 集群安装
mysql galera cluster官网:http://galeracluster.com/documentation-webpages/ 相关安装教程:(不一定管用) http://blog.c ...
随机推荐
- 51nod 1206 Picture 矩形周长求并 | 线段树 扫描线
51nod 1206 Picture 矩形周长求并 | 线段树 扫描线 #include <cstdio> #include <cmath> #include <cstr ...
- 【bzoj2806】 Ctsc2012—Cheat
http://www.lydsy.com/JudgeOnline/problem.php?id=2806 (题目链接) 题意 给出M个字符串组成“标准库”.定义L表示将一个字符串分成若干段,每一段的长 ...
- Unity官方实例教程 Roll-a-Ball
与unity的transform组件相处的挺久了,最近项目不太忙,决定好好打下unity的基础.那么从Roll-a-Ball这个简单游戏开始吧! 1.先创建一个球体游戏对象,改名为Player,tra ...
- Docker registry私有仓库(七)
Docker registry私有仓库搭建基本几步流程(采用nginx+认证的方式) 1. 申请免费的ssl证书 https://buy.wosiqn.com/free 2. 设置nginx ssl证 ...
- Hadoop生态圈-Hive快速入门篇之Hive环境搭建
Hadoop生态圈-Hive快速入门篇之Hive环境搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据仓库(理论性知识大多摘自百度百科) 1>.什么是数据仓库 数据 ...
- Docker 基础知识
Docker Docker 是什么 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是 ...
- JSP中九大内置对象+request对象的属性介绍和如何应用
JSP的九大内置对象requestresponseApplicationconfigoutpagepageContextsessionException默认没有,需要进行在Page指令下进行isErr ...
- Javascript 浮点计算问题分析与解决
分析 JavaScript 只有一种数字类型 Number ,而且在Javascript中所有的数字都是以IEEE-754标准格式表示的. 浮点数的精度问题不是JavaScript特有的,因为有些小数 ...
- python---基础知识回顾(十)进程和线程(协程gevent:线程在I/O请求上的优化)
优点:使用gevent协程,可以更好的利用线程资源.(基于线程实现) 需求:使用一个线程,去请求多个网站的资源(注意,请求上会有延时)<实际上是去请求了大量的网站信息,我们使用了多线程,只不过每 ...
- 动态规划:POJ No 2385 Apple Catching
#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> ...