zoukankan      html  css  js  c++  java
  • ubuntu下安装软件的三种方法

    在ubuntu当中,安装应用程序常用的三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种。

    apt-get方法

    使用apt-get install来安装应用程序算是最常见的一种安装方法了,比如我要安装build-essential这个软件,使用以下,他会帮我把所有的依赖包都一起安装了。

    sudo apt-get install build-essential

    执行上述命令以后,我们可以看到一下信息,The following extra packages will be installed:表示所有需要再安装的依赖包。

    复制代码
    sudo apt-get install build-essential
    [sudo] password for enadmin: 
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following extra packages will be installed:
      binutils cpp cpp-4.6 dpkg-dev fakeroot g++ g++-4.6 gcc gcc-4.6
      libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl
      libc-bin libc-dev-bin libc6 libc6-dev libdpkg-perl libgomp1 libmpc2 libmpfr4
      libquadmath0 libstdc++6-4.6-dev linux-libc-dev manpages-dev
    Suggested packages:
      binutils-doc cpp-doc gcc-4.6-locales debian-keyring g++-multilib
      g++-4.6-multilib gcc-4.6-doc libstdc++6-4.6-dbg gcc-multilib autoconf
      automake1.9 libtool flex bison gdb gcc-doc gcc-4.6-multilib
      libmudflap0-4.6-dev libgcc1-dbg libgomp1-dbg libquadmath0-dbg
      libmudflap0-dbg binutils-gold glibc-doc libstdc++6-4.6-doc
    The following NEW packages will be installed:
      binutils build-essential cpp cpp-4.6 dpkg-dev fakeroot g++ g++-4.6 gcc
      gcc-4.6 libalgorithm-diff-perl libalgorithm-diff-xs-perl
      libalgorithm-merge-perl libc-dev-bin libc6-dev libdpkg-perl libgomp1 libmpc2
      libmpfr4 libquadmath0 libstdc++6-4.6-dev linux-libc-dev manpages-dev
    The following packages will be upgraded:
      libc-bin libc6
    2 upgraded, 23 newly installed, 0 to remove and 101 not upgraded.
    Need to get 36.3 MB of archives.
    After this operation, 83.6 MB of additional disk space will be used.
    Do you want to continue [Y/n]? y

    apt-get常用的的各种参数:

    apt-get install xxx 安装xxx  。如果带有参数,那么-d 表示仅下载 ,-f 表示强制安装  
    apt-get remove xxx 卸载xxx  
    apt-get update 更新软件信息数据库  
    apt-get upgrade 进行系统升级  
    apt-cache search 搜索软件包  


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

    apt-get理论上是要求能够联网,但是如果制作了本地源,就不需要联网,制作本地源 可以参考:ubuntu制作本地源

     

     

    dpkg安装deb包

    在 Ubuntu 系统上安装软件很方便,使用 sudo apt-get install xxx 即可,但是如果在不能连接互联网的情况下,如何安装或升级软件呢?这里给大家介绍一种使用 dpkg 工具完成软件安装或升级的方法。 

    首先,第一步,你得知道你想安装软件的名字,然后根据相应平台下载相应版本的 deb 包。可以在 http://packages.ubuntu.com/ 或者 http://archive.ubuntu.com/ubuntu/pool/main/ 中找到你所需要的 deb 包,并下载。 
    以查找 4.6 版本 C 编译器为例,查找页面可能如下: 
    http://packages.ubuntu.com/precise/g++ ] 

    这里写图片描述


      [ http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.6/ ]

    这里写图片描述


    然后,第二步,如果你很清楚你即将安装的 deb 包所需的依赖,可以顺便把依赖的 deb 包下载下来。不用担心,上述网站会把每个 deb 包所需的依赖列出来,但是也不必把所有依赖 down 下来,因为 ubuntu系统本来就安装好了大部分基础的库和工具。 
    最后,第三步,使用 sudo dpkg -i <package.deb> 命令安装相应的软件包。如果安装过程中提示“未安装软件包 xxx”之类的错误,可以重复上述操作,直至安装成功。


    注意事项: 
    1、查找的 deb 包一定要准确,不仅仅是指文件名,还有平台和版本。 
    2、上述网站查找 deb 包时,可能只会列出下一级依赖或并未列出所有依赖,所以安装过程可能需要一点耐心。 
    3、安装结束,如果你想确定是否安装成功,或者安装的版本不对,你想卸载 deb 包,请参考下面命令。

    【 dpkg 命令解析 】

    1)安装软件
    命令行:dpkg -i <.deb file name>
    示例:dpkg -i avg71flm_r28-1_i386.deb
    
    2)安装一个目录下面所有的软件包
    命令行:dpkg -R
    示例:dpkg -R /usr/local/src
    
    3)释放软件包,但是不进行配置
    命令行:dpkg –unpack package_file 如果和-R一起使用,参数可以是一个目录
    示例:dpkg –unpack avg71flm_r28-1_i386.deb
    
    4)重新配置和释放软件包
    命令行:dpkg –configure package_file
    如果和-a一起使用,将配置所有没有配置的软件包
    示例:dpkg –configure avg71flm_r28-1_i386.deb
    
    5)删除软件包(保留其配置信息)
    命令行:dpkg -r
    示例:dpkg -r avg71flm
    
    6)替代软件包的信息
    命令行:dpkg –update-avail <Packages-file>
    
    7)合并软件包信息
    dpkg –merge-avail <Packages-file>
    
    8)从软件包里面读取软件的信息
    命令行:dpkg -A package_file
    
    9)删除一个包(包括配置信息)
    命令行:dpkg -P
    
    10)丢失所有的Uninstall的软件包信息
    命令行:dpkg –forget-old-unavail
    
    11)删除软件包的Avaliable信息
    命令行:dpkg –clear-avail
    
    12)查找只有部分安装的软件包信息
    命令行:dpkg -C
    
    13)比较同一个包的不同版本之间的差别
    命令行:dpkg –compare-versions ver1 op ver2
    
    14)显示帮助信息
    命令行:dpkg –help
    
    15)显示dpkg的Licence
    命令行:dpkg –licence (or) dpkg –license
    
    16)显示dpkg的版本号
    命令行:dpkg –version
    
    17)建立一个deb文件
    命令行:dpkg -b direc×y [filename]
    
    18)显示一个Deb文件的目录
    命令行:dpkg -c filename
    
    19)显示一个Deb的说明
    命令行:dpkg -I filename [control-file]
    
    20)搜索Deb包
    命令行:dpkg -l package-name-pattern
    示例:dpkg -I vim
    
    21)显示所有已经安装的Deb包,同时显示版本号以及简短说明
    命令行:dpkg -l
    
    22)报告指定包的状态信息
    命令行:dpkg -s package-name
    示例:dpkg -s ssh
    
    23)显示一个包安装到系统里面的文件目录信息
    命令行:dpkg -L package-Name
    示例:dpkg -L apache2
    
    24)搜索指定包里面的文件(模糊查询)
    命令行:dpkg -S filename-search-pattern
    
    25)显示包的具体信息
    命令行:dpkg -p package-name
    示例:dpkg -p cacti

    另外,关于 dpkg 的用法,可以查看 http://man.linuxde.net/dpkg

      

    根据Ubuntu中文论坛上介绍,使用apt-get方法安装的软件,所有下载的deb包都缓存到了/var/cache/apt/archives目录下了,所以可以把常用的deb包备份出来,甚至做成ISO工具包、刻盘,以后安装Ubuntu时就可以在没有网络环境的情况下进行了。下面的命令是拷贝archives这个目录到/var/cache/apt/目录下,替换原有的archives

    enadmin@ubuntu-server:~/ftp$ sudo cp -r archives/ /var/cache/apt/

     

    make install源代码安装

    如果要使用make安装的话,那么必须得安装build-essential这个依赖包,安装方法已经在前面说过了。在安装完毕以后,我们就可以进行源码安装。源码安装大致可以分为三步骤:(./configure)–> 编译(sudo make) –> 安装(sudo make install)。
    1. 配置:这是编译源代码的第一步,通过 ./configure 命令完成。执行此步以便为编译源代码作准备。常用的选项有 --prefix=PREFIX,用以指定程序的安装位置。更多的选项可通过 --help 查询。也有某些程序无需执行此步。
    2. 编译:一旦配置通过,可即刻使用 make 指令来执行源代码的编译过程。视软件的具体情况而定,编译所需的时间也各有差异,我们所要做的就是耐心等候和静观其变。此步虽然仅下简单的指令,但有时候所遇到的问题却十分复杂。较常碰到的情形是程序编译到中途却无法圆满结束。此时,需要根据出错提示分析以便找到应对之策。
    3. 安装:如果编译没有问题,那么执行 sudo make install 就可以将程序安装到系统中了。
    下面以安装nagios为例进行说明。
    复制代码
    //1.解压缩
    tar -zxf nagios-4.0.2.tar.gz  
    //2.进入目录
    cd nagios-4.0.2
    //3.配置
    ./configure --prefix=/usr/local/nagios     
    //4.编译
    make all
    //5.安装
    make install && make install-init && make install-commandmode && make install-config
    复制代码
  • 相关阅读:
    【JZOJ4616】二进制的世界
    【JZOJ4665】数列
    【JZOJ4811】排队
    2017.08.19【NOIP提高组】模拟赛B组 经济编码
    浅谈匈牙利算法
    2017.08.18【NOIP提高组】模拟赛B组 恭介的法则(rule)
    2017.08.18【NOIP提高组】模拟赛B组 沙耶的玩偶(doll)
    2017.08.15【NOIP提高组】模拟赛B组 单足跳
    2017.08.15【NOIP提高组】模拟赛B组 生日聚餐
    2017.08.12【NOIP提高组】模拟赛B组 巴比伦
  • 原文地址:https://www.cnblogs.com/zhuochong/p/9722123.html
Copyright © 2011-2022 走看看