想必linux新手刚开始对于linux软件安装很茫然吧,不知到怎么安装,软件到底安装在哪里,如果我需要删除软件怎么删除,配置文件到哪里去找。

  想学习linux的话,最快上手的应该是Ubuntu,它特有的PPA和软件中心,让很多习惯了Windows的用户很是方便,但这些管理和安装细节都由系统自动处理的,有时候我们如果想对某些软件进行管理,就不知到如何下手。其实如果使用默认的安装方式,Ubuntu会使用自己的一套管理方式,文件的存放不是放在同一个目录,其实Linux之所以这么存放也是有原因的。我们知道在Windows下一般软件文件都放置在同一个目录,但Linux是将软件分类存放的,最典型的比如配置文件的存放很多都是放置在 /etc 下,正是这种分类存放的管理方式保证了Linux的高效。如果想了解具体系统目录的结构http://forum.ubuntu.org.cn/viewtopic.php?f=86&t=5483&start=0

  对于程序员来说,有时候很多软件很库是不能通过 apt-get install sofename 方式进行安装的,即使可以安装,使用Ubuntu默认的安装方式,管理起来是很麻烦的。所以我们要知道如果下载一个Linux软件包怎么进行编译和安装。

  通常安装软件主要分为 配置,编译,安装。【标准的软件安装包都有一个Readme或install安装文档】

 ./configure
make
make install

  如果顺利的话,以上三个步骤,可以正常运行,软件就安装成功。但是很多数情况下,每个步骤都可能出现错误。对于错误,如果你不知到错在哪里,你可以把错误的那一行复制下来,粘贴到谷歌(对于这种错误,你在百度里面你是绝对搜不出来的)里面,万能的谷歌总能帮你找到答案,你会发现靠谱的解决方案总是在 stackoverflow。当然前提是你会点英文,不要求多好,但是能理解大致意思就行了,实在不行,把一段英文全部输入到 有道 里面,然后自己在琢磨琢磨。一般来说大部分的错误都是 缺少某个 函数库。

  如果我们想要自己制定安装目录和参数值,我们就需要在第一步配置的时候,传入某些参数,至于如何设置可以输入 ./configure --help 会列出各个参数的含义,然后我们可以按照自己的喜好进行设置。

  下面以Nginx的安装进行讲解:

  我们将下载nginx压缩包进行解压

 cd nginx-1.4./
./configure --help

  我们可以看到终端会打印处 各个参数的含义。

  由于nginx有详细的安装文档http://nginx.org/en/docs/configure.html

  我们就对这些进行说明

--prefix=path — defines a directory that will keep server files. This same directory will also be used for all relative paths set by configure (except for paths to                 libraries sources) and in the nginx.conf configuration file. It is set to the /usr/local/nginx directory by default.
      指定安装的路径,默认安装在/usr/local/nginx下,一般软件都由这个选项  

  --sbin-path=path — sets the name of an nginx executable file. This name is used only during installation. By default the file is named prefix/sbin/nginx.
      指定软件执行文件的路径,也就是启动服务器的可执行文件,默认为   prefix/sbin/nginx  

   --conf-path=path — sets the name of an nginx.conf configuration file. If needs be, nginx can always be started with a different configuration file, by specifying it in         the command-line parameter -c file. By default the file is named prefix/conf/nginx.conf.
      指定服务器的配置文件,服务器可以以不同的配置文件启动,默认为   prefix/conf/nginx.conf,很多服务器软件默认都放置在 /etc/下面

--------------------------------------------------------------------------以下的一些选项都可以在配置文件中设置------------------------------------------------------------------------------------

  我们现在把nginx所有文件安装到一个目录 /usr/local/nginx下

./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module

  如果运行正确,进行编译,需要指出的是编译nginx需要两个库 pcre, zlib。你可以先对这两个库进行安装,如果不安装要在编译的时候在配置的时候要制定着两个库的路径

  如过系统中没有安装着两个库 请先下载这两个库,进行解压,在上一步的命令行中加入这两个参数,进行重新配置 --with-pcre=../pcre-4.4 --with-zlib=../zlib-1.1.3
 
然后编译,安装
 make
sudo make install

  安装成功后,使用 whereis 指令可以查看已安装软件的所有文件路径

 whereis nginx

  你发现所有的文件都在 /usr/local/nginx下。

  我们使用

sudo /usr/local/nginx/nginx

  直接启动nginx,输入 localhost 就可以看到运行结果了。

  关闭nginx
sudo /usr/local/nginx/nginx -s stop

 

  

Linux下软件的安装的更多相关文章

  1. Linux下软件常见安装方式

    pasting  分类: Linux2007-12-08 16:31 1909人阅读 评论(0) 收藏 举报 linuxredhat脚本文档managerfile        Linux下软件安装主 ...

  2. 笔记:Linux下软件的安装、CentOS更新yum源、LAMP环境搭建、kali软件管理

    一.Linux下软件的安装 方式:yum源 / rpm /源码安装 1.yum:(帮助管理员解决依赖关系) yum是通过分析rpm的包头数据后,根据各种软件的相关性质做出属性相对应的解决方案,然后可以 ...

  3. Linux下软件的安装与管理

    1.源码安装方式 2.RPM包方式安装 3.yum安装方式 4.二进制软件安装方式 1.源码安装方式 (1)下载.解压Apache源码: mkdir /apache #在根目录下创建一个apache目 ...

  4. linux下软件的安装与卸载

    一 软件安装包的类型 通常Linux应用软件的安装有五种:    1) tar+ gz包,如software-1.2.3-1.tar.gz.他是使用UNIX系统的打包工具tar打包的.    2) r ...

  5. 浅析linux下软件的安装

    Linux环境: CentOs 6.0 知识点介绍: 一.tarball安装 安装步骤: 将tarball文件在/usr/local/src目录解压缩 ./configure:这个步骤是建立makef ...

  6. 【OS_Linux】Linux下软件的安装与卸载

    1.Linux中软件安装包的分类 1) 一类是可执行的软件包,无需编译直接安装.在Windows中所有的软件包都是这种类型.安装完这个程序后,你就可以使用,但你看不到源程序.而且下载时要注意这个软件是 ...

  7. Linux 下软件的安装方法

    1:rpm 安装 ,rpm安装会有依赖问题,例如安装A,提示需要安装B 安装B需要安装C 格式: rpm -ivh [包名].rpm 2:yum 安装  特点:简单.易用.高校  缺点:不能定制 解决 ...

  8. linux下软件安装的方法

    linux下软件的安装与卸载   第一章   linux下安装软件,如何知道软件安装位置 注:一般的软件的默认安装目录在 jdk-1_6_0_14-linux-i586-rpm.bin    ←修改为 ...

  9. Linux Centos下软件的安装与卸载方法

    转载于: http://blog.csdn.net/zolalad/article/details/11368879 Linux下软件的安装与卸载   第一章   linux下安装软件,如何知道软件安 ...

随机推荐

  1. [置顶] IOS 基础入门教程

    IOS 基础入门教程 教程列表: IOS 简介 IOS环境搭建 Objective C 基础知识 创建第一款iPhone应用程序 IOS操作(action)和输出口(Outlet) iOS - 委托( ...

  2. Sencha Touch 和 jQuery Mobile 的比较

    Sencha Touch 和 jQuery Mobile 的比较 英文原文:Sencha Touch vs jQuery Mobile 标签: Sencha Touch jQuery Mobile 1 ...

  3. QT QObject::connect函数的学习

      从Qobject(QObject.h)源码中可以看到QObject::connect的定义是这样的: static bool connect(const QObject *sender, cons ...

  4. 他们都没告诉你适配 Android N 需要注意什么

    还记得 6.0 对 Apache Http 库的废除导致的应用崩溃吗?还记得 6.0 中 MAC id 始终返回为空导致的唯一 id 混合生成算法大幅失效吗? 1. Android 中 Java 的实 ...

  5. java取得整数部分 代码

    Pattern p1 = Pattern.compile("[0-9]*"); Matcher m1 = p1.matcher("100.0"); boolea ...

  6. 第二篇:python基础之文件读写

    python基础之文件读写   python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使 ...

  7. 使用CDN加载jQuery类库后备代码

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></ ...

  8. Html5新增的语义化标签(部分)

    2014年10月29日,万维网联盟宣布,经过接近8年的艰苦努力,html5的标准规范终于制定完成.这是互联网的一次重大变革,这也许是一个时代的来临! 总结一些h5新增的语义化标签,记录下来方便自己学习 ...

  9. xceed wpf datagrid

    <!--*********************************************************************************** Extended ...

  10. C#获取本机IP搜集整理7种方法

    今天打算试着写个小聊天程序,但是要用到获取本机IP,以前从没用过.摆渡百度了一会儿,出于贪心,想把各种获取本机IP的方法给找出来.摆渡+测试了几个小时,于是有了下面的成果,有点小累,但看到这些成果,也 ...