zoukankan      html  css  js  c++  java
  • 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下安装程序的三种方法 by -鸣人-

    Ubuntu 下 apt-get 更新源推荐

    Ubuntu修改apt-get源(这篇文章讲解了source的一些配置)

    因为对apt/apt-get用的比较多——绝大部分,因此,下面做了一个统计:

    apt开头的命令有哪些、apt命令的子命令有哪些、apt-get的子命令有哪些……另外,apt-cache也是非常有用的命令,自己展示简单地试用了一下。

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

    Debian是不是太厉害了?

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

    参考链接:

    【Ubuntu】aptitude命令详解

    5款最适合新手的包管理器

    你需要知道的包管理器(Package Manager)

    原来,包管理器在很多系统、平台中都有使用啊!微软的、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下通过源码编译安装程序

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

    Linux 下三种方式设置环境变量(这篇文章中有安装JDK的示例)

    查找安装位置

    安装方式有了,配置环境变量也有了,最后,想知道程序安装在哪里了吗?whereis、which等,下面的文章还介绍使用find、dpkg、locate、mongo来查找,但孤尚未试过。

    参考链接:

    ubuntu16.04查看软件的安装位置

    后记

    经过一下午的努力,大概知道了Ubuntu下怎么安装软件、怎么配置环境变量PATH、怎么查找软件安装位置了,剩下的,就要靠动手实践来熟悉了。

    任务:安装MySQL、Kafka、RabbitMQ、Apache、Nginx、Memcached等各种软件吧;

    对了,自己对Linux真的不熟悉,各个文件夹、文件的作用都“忘记了”——曾经也学过,看来,还需要补补;

    还有就是各种Linux命令,今天还学了一个wc命令,统计字数、行数的,很有用!

    下午看了几个配置文件,好像完全不知道里面的代码什么意思,只记得,很久很久之前,自己也有花时间专门学过Bash编程的,只是……也要补补啊!

    熟悉Linux,一个很艰巨的任务!否则,怎么玩Python呢!

  • 相关阅读:
    Mongodb $in $or 性能比较
    c# mongo 数组里对象更新
    C# mongodb $set或$addToSet批量更新很慢原因
    docker 使用
    Ubuntu 下更简单的防火墙 Uncomplicated Firewall
    Docker 介绍及安装
    linux 内核分析工具 Dtrace、SystemTap、火焰图、crash等
    golang 中处理大规模tcp socket网络连接的方法,相当于c语言的 poll 或 epoll
    golang 对struct进行Serialize的方法,即将存取二进制文件到struct的方法
    golang 中创建daemon的方法
  • 原文地址:https://www.cnblogs.com/luo630/p/9361945.html
Copyright © 2011-2022 走看看